From 8314b0bf1a54f37814e923da848934a9ea26e962 Mon Sep 17 00:00:00 2001 From: Hieromon Ikasamo Date: Mon, 29 Jul 2019 18:02:42 +0900 Subject: [PATCH] Adds the OTA Update documentation (continues) --- mkdocs/apiupdate.md | 30 +++++++++++- mkdocs/images/serverupdate.gif | Bin 0 -> 85215 bytes mkdocs/images/updated.png | Bin 0 -> 6938 bytes mkdocs/images/updatelist.png | Bin 0 -> 26415 bytes mkdocs/images/updatemenu.png | Bin 0 -> 10456 bytes mkdocs/images/updating.png | Bin 0 -> 7482 bytes mkdocs/otabrowser.md | 4 +- mkdocs/otaserver.md | 82 +++++++++++++++++++++++++++------ 8 files changed, 100 insertions(+), 16 deletions(-) create mode 100644 mkdocs/images/serverupdate.gif create mode 100644 mkdocs/images/updated.png create mode 100644 mkdocs/images/updatelist.png create mode 100644 mkdocs/images/updatemenu.png create mode 100644 mkdocs/images/updating.png diff --git a/mkdocs/apiupdate.md b/mkdocs/apiupdate.md index 8afe1cf..2a9f71e 100644 --- a/mkdocs/apiupdate.md +++ b/mkdocs/apiupdate.md @@ -3,5 +3,33 @@ ### AutoConnectUpdate ```cpp -AutoConnectUpdate(const String& host, const uint16_t port, const String& uri, const int timeout, const uint8_t ledOn)) +AutoConnectUpdate(const String& host, const uint16_t port, const String& uri, const int timeout, const uint8_t ledOn) ``` +
+
**Parameters**
+
hostUpdate server address
+
portPort number. **AUTOCONNECT_UPDATE_PORT**
+
uri
+
timeout**AUTOCONNECT_UPDATE_TIMEOUT** +
ledOnActive signal to light the LED ticker during the update. specifies **HIGH** or **LOW** +
+ +## Public member functions + +### attach + +### enabled + +### handleUpdate + +### isEnabled + +### status + +## Public member variables + +### host + +### port + +### uri diff --git a/mkdocs/images/serverupdate.gif b/mkdocs/images/serverupdate.gif new file mode 100644 index 0000000000000000000000000000000000000000..b09811f3ad3a6e1b34134552084353836a5b7f88 GIT binary patch literal 85215 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 z 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 literal 0 HcmV?d00001 diff --git a/mkdocs/images/updated.png b/mkdocs/images/updated.png new file mode 100644 index 0000000000000000000000000000000000000000..d2e6c6e949d4bc7f05eec070d37917ce6efe287b GIT binary patch literal 6938 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 Pi6C_qZRL`Cwom^9Kt(aq literal 0 HcmV?d00001 diff --git a/mkdocs/images/updating.png b/mkdocs/images/updating.png new file mode 100644 index 0000000000000000000000000000000000000000..f167817ac734a80eac94fa1f8882a4fbc62012ad GIT binary patch literal 7482 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 diff --git a/mkdocs/otaserver.md b/mkdocs/otaserver.md index 7d1a2b3..96ba865 100644 --- a/mkdocs/otaserver.md +++ b/mkdocs/otaserver.md @@ -12,12 +12,58 @@ There are various implementations of update servers that provide binary sketch f ### How to embed AutoConnectUpdate to your sketch +To embed the AutoConnectUpdate class into your sketch, basically follow these steps: + +1. Declare an ESP8266WebServer object. (In ESP32, as WebServer) +2. Declare an AutoConnect object with an ESP8266WebServer object. +3. Declare an [AutoConnectUpdate](apiupdate.md) object. +4. Invokes [AutoConnect::begin](api.md#begin) function. +5. Attach the AutoConnectUpdate object to AutoConnect using [AutoConnectUpdate::attach](apiupdate.md#attach) function. +6. Invokes [AutoConnect::handleClient](api.md#handleclient) function in the `loop()`. + +```cpp +#include +#include +#include + +ESP8266WebServer server; // Step #1 +AutoConnect portal; // Step #2 +AutoConnectUpdate update("192.168.0.100", 8000); // Step #3 + +void setup() { + if (portal.begin()) { // Step #4 + update.attach(portal); // Step #5 + } +} + +void loop() { + portal.handleClient(); // Step #6 +} +``` + + + +### Behavior of the AutoConnectUpdate class + +A sketch incorporating the AutoConnectUpdate class has an extended menu item as **UPDATE** in the AutoConnect menu. **UPDATE** as menu item will be attached by the AutoConnectUpdate automatically. The UPDATE menu first requests the [update server](#update-server-for-the-autoconnectupdate-class) from the ESP module for a [**catalog list**](otaserver.md#2-the-catalog-list-content) of updatable binary sketch files. The update server sends back the catalog list of stored binary sketch files to the ESP module as a client. The AutoConnectUpdate class displays this list as a custom Web page[^1] on the browser. + +[^1]: You can scroll horizontally on the browser to see the timestamp and file size that the catalog list contains. + + + + +The substance of the available firmware list is a custom Web page by AutoConnectAux, and you can select the target binary sketch file with the radio button (AutoConnectRadio). A progress bar is displayed indicating the update status when the update starts, and the ESP module will automatically reset and the new firmware will launch when updating finished. + + + + +The AutoConnectUpdate class performs the above series of operations in conjunction with the update server. All you need to do is attach the AutoConnectUpdate class to AutoConnect and execute the [AutoConnect::handleClient](api.md#handleclient) function. ### Update server for the AutoConnectUpdate class -AutoConnect provides the update server scripts implemented in Python. This server script is implemented to fit with the AutoConnectUpdate class as a client agent for updating and separated for Python2 or Python3 environments.[^1] +You need an update server to update the binary sketch in the ESP module using the AutoConnectUpdate class. AutoConnect provides the update server scripts implemented in Python. This server script is implemented to fit with the AutoConnectUpdate class as a client agent for updating and separated for Python2 or Python3 environments.[^2] -[^1]: The folders containing the script: +[^2]: The folders containing the script: For Python2: *AUTOCONNECT\_LIBRARY\_PATH*/src/updateserver/python2 For Python3: *AUTOCONNECT\_LIBRARY\_PATH*/src/updateserver/python3 @@ -34,23 +80,31 @@ updateserver.py [-h] [--port PORT] [--bind IP_ADDRESS] [--catalog CATALOG] [--lo !!! example "updateserver.py usage" - python - + 1. Python + First, prepare a Python environment. It is also possible with a tiny single-board computer like the [raspberry pi](https://www.raspberrypi.org/). Popular distributions such as Ubuntu for Linux include Python. You can easily set up a Python 2 or 3 environment. If you are using a Mac, you already have the Python 2 environment. macOS is equipped with Python 2.7 by default. In the case of Windows OS, it is necessary to install the Python environment intentionally. Please refer to the [Python official page](https://wiki.python.org/moin/BeginnersGuide/Download) to install Python in your environment. + 2. command line example + For example, to start the update server on the host with IP address 172.16.1.10 using 8080 port[^3], execute the following command: ```bash python updateserver.py --port 8080 --bind 172.16.1.10 --catalog bin --log debug - ``` + ``` + In this example assumes that the binary sketch files are deployed under the path `bin` from the current directory. + +[^3]: The port of the update server and the port used by the AutoConnectUpdate class must be the same. + +!!! note "Limitations of the updateserver.py" + The updateserver.py script equips only the minimum facility because it assumes a private small OTA platform without identifying individual modules and version restrictions etc. To operate a larger OTA platform, it is necessary to identify the individual ESP module and to consider version control and security. ### HTTP contents and the sequence for the AutoConnectUpdate class The handshake with the AutoConnectUpdate class has two requirements: -- The update server notifies the catalog list of updatable binary files which stored in the update server to the client agent. [^2] -- Send an updating binary file and MD5 hash to a client in response to URI request (HTTP GET). [^3] +- The update server notifies the catalog list of updatable binary files which stored in the update server to the client agent. [^4] +- Send an updating binary file and MD5 hash to a client in response to URI request (HTTP GET). [^5] -[^2]: The **client agent** is an instance of the AutoConnectUpdate class. -[^3]: The client agent will send its URI request to the update server. +[^4]: The **client agent** is an instance of the AutoConnectUpdate class. +[^5]: The client agent will send its URI request to the update server. -Above requirements will be implemented on along the HTTP protocol. The AutoConenctUpdate class requests an update server to notify the client for a catalog list of binary sketch files using an HTTP URL query string. The specifications of the HTTP query and the contents of the catalog list to be returned are as follows: +Above requirements will be implemented on along the HTTP protocol. The AutoConnectUpdate class requests an update server to notify the client for a catalog list of binary sketch files using an HTTP URL query string. The specifications of the HTTP query and the contents of the catalog list to be returned are as follows: #### 1. HTTP URL query for the catalog list of the updatable @@ -93,7 +147,9 @@ The above JSON object is one entry. The actual catalog list is an array of this #### 3. The binary sketch file used for updating -### Behavior of the AutoConnectUpdate class - - +