Update Overview.md

This commit is contained in:
HomeSpan 2020-11-21 13:13:21 -06:00 committed by GitHub
parent 3cd1c52796
commit 787f23649a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 31 additions and 2 deletions

View File

@ -2,9 +2,38 @@
*Note: This page references a lot of HomeKit HAP terminology. If you are new to HomeKit development, you may want to start by first reviewing the [HomeKit Primer](HomeKitPrimer.md) page.* *Note: This page references a lot of HomeKit HAP terminology. If you are new to HomeKit development, you may want to start by first reviewing the [HomeKit Primer](HomeKitPrimer.md) page.*
HomeSpan is an Arduino-style C++ library designed for ESP32 devices to take on the role of a *HAP Accessory Server*, which allows the device to be paired to, and communicate with, any *HAP Client*, such as Apple's Home App on an iPhone, iPad, or Mac. HomeSpan is an Arduino-style C++ library designed for ESP32 devices to take on the role of a *HAP Accessory Server* (i.e. a HomeKit Device), which allows the device to be paired to, and communicate with, any *HAP Client*, such as Apple's Home App on an iPhone, iPad, or Mac.
There are three primary components of HomeSpan:
1. **The HomeSpan API** - a collection of objects, methods, and functions you implement inside an Arduino-style sketch to create your HomeKit device.
1. **The HomeSpan Command-Line Interface (CLI)** - a series of diagnostics that HomeSpan outputs to the Arduino Serial Monitor, and a series of command you can enter into the Serial Monitor to request more diagnostic information, to perform some basic housekeeping functions (e.g. a Factory Reset), and to configure the device with WiFi Credentials and a HomeKit Setup Code.
1. **An End-User Environment** - allows an end-user to configure a standalone HomeSpan device using only a simple Control Button and the device's Status LED
### Creating a HomeSpan Sketch
The structure of a HomeSpan sketch is as follows:
```C++
#include "HomeSpan.h" // include the HomeSpan library
void setup() {
Serial.begin(115200); // start the Serial interface
/// HOMESPAN SETUP CODE ///
} // end of setup()
void loop(){
/// HOMESPAN LOOP CODE ///
} // end of loop()
```
There are three primary functions of HomeSpan. The first is to implement all the required HomeKit protocols needed for you to define and then expose one or more HAP Accessory Objects, each with their own HAP Services and HAP Characteristics
Need to discuss development environment Need to discuss development environment