Merge branch 'dev1.1.5' of https://github.com/HomeSpan/HomeSpan into dev1.1.5
This commit is contained in:
commit
3bd615bc8b
|
|
@ -18,11 +18,11 @@ This is because HomeSpan checks that a sketch has been compiled with OTA partiti
|
||||||
|
|
||||||
* The name of the device HomeSpan uses for OTA is the same as the name you assigned in your call to `homeSpan.begin()`. If you have multiple devices you intend to maintain with OTA, use `homeSpan.begin()` to give them each different names so you can tell them apart when selecting which one to connect to from the Arduino IDE.
|
* The name of the device HomeSpan uses for OTA is the same as the name you assigned in your call to `homeSpan.begin()`. If you have multiple devices you intend to maintain with OTA, use `homeSpan.begin()` to give them each different names so you can tell them apart when selecting which one to connect to from the Arduino IDE.
|
||||||
|
|
||||||
* Use the `homeSpan.setSketchVersion()` method to set a version name or number for your sketch. If specified, HomeSpan will include the sketch version name/number as part of its HAP MDNS broadcast. This allows you determine which version of a sketch is running on a remote HomeSpan device, even if you can't plug it into a serial port for use with the Arduino Serial Monitor. In addition to the sketch version name/number, HomeSpan also broadcasts two other useful fields: the version number of the HomeSpan library used when the sketch was compiled, and a field indicating whether or not OTA is enabled for the sketch. See [HomeSpan MDNS](MDNS.md) for details on this broadcast and how to browse its data.
|
* Use the `homeSpan.setSketchVersion()` method to set a version for your sketch (see the [HomeSpan API](Reference.md) for details). If specified, HomeSpan will include the sketch version as part of its HAP MDNS broadcast. This allows you determine which version of a sketch is running on a remote HomeSpan device, even if you can't plug it into a serial port for use with the Arduino Serial Monitor. In addition to the sketch version, HomeSpan also includes two other fields in its MDNS broadcast: the version number of the HomeSpan *library* used to compile the sketch, and a field indicating whether or not OTA is enabled for the sketch. See [HomeSpan MDNS](MDNS.md) for details.
|
||||||
|
|
||||||
* Always test out a new sketch on a local device connected to your computer before uploading it to a remote device via OTA. If the sketch doesn't operate as * expected, you can always upload the previous version, unless the new sketch causes crashes that continously reboot HomeSpan. If HomeSpan can't run the OTA code, you won't be able to upload any sketches via OTA and you'll need to connect the device to a computer for programming via the serial port instead.
|
* If a sketch you've uploaded with OTA does not operate as expected, you can continue making modifications to the code and re-upload again. Or, you can upload a prior version that was working properly. However, this assumes that the sketch you uploaded does not have major problems, such as causing a kernel panic that leads to an endless cycle of device reboots. If this happens, HomeSpan won't be able to run the OTA Server code, and further OTA updates will *not* ne possible. Instead, you'll have to connect the device through a serial port to upload a new, working sketch. **For this reason you should always fully test out a new sketch on a local device connected to your computer *before* uploading it to a remote, hard-to-access device via OTA.**
|
||||||
|
|
||||||
* The ESP32 supports automated rollbacks that are designed to restore a device with a previouslt-working sketch under exactly these circumstances. However, the current Arduino-ESP32 library does not support this feature.
|
* The ESP32 itself supports "automated" rollbacks that are designed to restore a device with a previously-working sketch if the latest sketch causes a reboot before being able to set a self-test flag verifiying the code is operating correctly. However, the version of the ESP32-IDF library (3.2.3) used by the latest version of the Arduino-ESP32 Library (1.0.4, at the time of this posting) does not support this feature.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue