We have a working ESP32 based device, developed using the Arduino core (with the Arduino IDE). We need to add the following network functionality:
- We need to be able to configure the network with the "ESP Touch" or "ESP8266 smart config" mobile apps. The ssid/pass should be permanently stored, and automatically used on the next reboot.
- The device should http post to a defined URL once every few seconds, posting the values of some 20 internal variables. The response from the server contains the same variables, which should be updated if the values differ. The binary format of the request will be provided.
- We need a OTA update function that downloads a binary ESP image from a predefined URL, and burns it to flash. If the update is successful, it should reboot into the new image.
We cannot provide physical access to the device, but all the schematics and documentation are available. The code is hosted on bitbucket/github, access to it will be provided.