Looking for an experienced arduino software developer with experience in libraries, Firmwares, TCP/IP, DNS, WiFi, HTML, C++, MQTT Integration of varios Arduino Sketches together with different Hardware modules.
Oportunity to work in a very exciting Startup project about a completely new product.
Tasks which are to be developed in this Job.
1) Automated and manual software updates for an Arduino Mega2560 in two ways:
A) An ESP8260 connected to an arduino Mega2560 with level shifter, connects to an internet server and checks for updates. If new sketch is available downloads it from server to an SD card.
B) when the ESP8260 detects a new update on the SD card its programs the Arduino Mega2560 with the new sketch. This SD card with the updated sketch can have been inserted manually, or have been downloaded like described in point A)
Note that Arduino Mega is 5 volt and ESP8266 is 3 Volt. Also Arduino Mega programing protocol is STK500v2 not the same as STK500v1. Files to update the Mega are in .hex format (precompiled). The Arduino Maga2560 takes care of the machine sensorse etc.. The ESP8266 will take care of communications and updates of the Arduino Mega2560 but also runs its own software, and must be able tu update itself to when new software is available.
2) A configuration webpage stored on the SD card should be launched by the ESP8266 started in both AP and STA mode at same time. Configuration webpage should be accesible on both AP and STA modes. Once the user sets parameters in configuration webpage the configuration parameters should be written to a configuration file on the SD card. Sd card should be shared by arduino Mega2560 and ESP8266 on SPI bus. The webpage has to autoupdate in case there is a new version like in point 1) A)
3)MQTT communication with Broker server to send messages to mobile phones have to be adapted, to also store logs of messages from the ESP8266´s on database on server.
All the developments should be clear programing with comments describing every block of code describing what it does and why. Also detailed drawings with connections between modules should be described.
Suggestions are welcome :)
In a second stage Mobile app will be developed.