Hey Leute,
wollte euch mal an einer kleinen Zukunftsmusik-Idee teilhaben lassen:
Während ich mit einem anderen Arduino Bastler über den ESP8266 gefachsimpelt habe, und dieser jene Firmware-Updates über das WLAN macht, kam mir die Idee:
WLAN... braucht so viel Strom dass der Controller nicht vom Bus versorgt werden kann. Wieso also nicht das Update über den Bus machen?!
Die Theorie sieht wie folgt aus:
Wir erweitern unser Programmierprotokoll um weitere Nachrichten um häppchenweise eine neue Firmware-Datei auf den ESP8266 angetriebenen KNX Controller zu schieben. Dieser reicht die so erhaltenen Daten an seinen bereits existierenden OTA Updatemechanismus weiter und aktualisiert sich so selbst...
Mal davon abgesehen dass ich noch ausrechnen muss wie lange so eine Update-Übertragung dauern würde (wir haben ja nur 12 byte pro Telegramm für solche Späße), hätte das den Vorteil dass man gänzlich ohne Zusatzhardware im laufenden Betrieb eine neue Version der Firmware einspielen könnte. Auch aus der Ferne.
UND: Wenn wir uns einen Programmieradapter mit sogenannten Pogo-Pins basteln würden, könnten wir die für den ESP8266 angetriebenen Controller benötigten ESP12 Module ohne viel Aufwand Vorab mit einem vorbereiteten KNX-OTA-Sketch versehen. D.h. ich lötet nur noch fertig zusammen und könntet ohne Programmieradapter und dergleichen euer KNX Gerät in Betrieb nehmen.
Aber wo es auch Vorteile gibt, gibt es natürlich auch Nachteile:
* Die Sache ist nicht 100% trivial in der Entwicklung. Da müsste schon ein wenig Zeit für investiert werden
* Das ganze ginge bis auf weiteres nur mit dem ESP8266 Controller. Die ganzen herkömmlichen, AVR basierten Arduinos wären außen vor. Denn diese würden einen separaten Bootloader benötigen. Und der wäre für die normalen AVRs (328p,m 32u4, ...) sicherlich zu groß. Einzig der Arduino Zero mit seinem Cortex M0+ "könnte" da mitspielen, wenn man denn einen Bootloader dafür schreiben kann (zu der Kategorie von Embedded-Entwickler zähle ich leider noch nicht).
Wie gesagt, ist alles noch Zukunftsmusik. Bis dato haben wir ja noch keinen einzigen ESP8266 mit KNX in Betrieb genommen (warte noch auf meine Platinen und Bauteile...).
Gruß
Alex
wollte euch mal an einer kleinen Zukunftsmusik-Idee teilhaben lassen:
Während ich mit einem anderen Arduino Bastler über den ESP8266 gefachsimpelt habe, und dieser jene Firmware-Updates über das WLAN macht, kam mir die Idee:
WLAN... braucht so viel Strom dass der Controller nicht vom Bus versorgt werden kann. Wieso also nicht das Update über den Bus machen?!
Die Theorie sieht wie folgt aus:
Wir erweitern unser Programmierprotokoll um weitere Nachrichten um häppchenweise eine neue Firmware-Datei auf den ESP8266 angetriebenen KNX Controller zu schieben. Dieser reicht die so erhaltenen Daten an seinen bereits existierenden OTA Updatemechanismus weiter und aktualisiert sich so selbst...
Mal davon abgesehen dass ich noch ausrechnen muss wie lange so eine Update-Übertragung dauern würde (wir haben ja nur 12 byte pro Telegramm für solche Späße), hätte das den Vorteil dass man gänzlich ohne Zusatzhardware im laufenden Betrieb eine neue Version der Firmware einspielen könnte. Auch aus der Ferne.
UND: Wenn wir uns einen Programmieradapter mit sogenannten Pogo-Pins basteln würden, könnten wir die für den ESP8266 angetriebenen Controller benötigten ESP12 Module ohne viel Aufwand Vorab mit einem vorbereiteten KNX-OTA-Sketch versehen. D.h. ich lötet nur noch fertig zusammen und könntet ohne Programmieradapter und dergleichen euer KNX Gerät in Betrieb nehmen.
Aber wo es auch Vorteile gibt, gibt es natürlich auch Nachteile:
* Die Sache ist nicht 100% trivial in der Entwicklung. Da müsste schon ein wenig Zeit für investiert werden
* Das ganze ginge bis auf weiteres nur mit dem ESP8266 Controller. Die ganzen herkömmlichen, AVR basierten Arduinos wären außen vor. Denn diese würden einen separaten Bootloader benötigen. Und der wäre für die normalen AVRs (328p,m 32u4, ...) sicherlich zu groß. Einzig der Arduino Zero mit seinem Cortex M0+ "könnte" da mitspielen, wenn man denn einen Bootloader dafür schreiben kann (zu der Kategorie von Embedded-Entwickler zähle ich leider noch nicht).
Wie gesagt, ist alles noch Zukunftsmusik. Bis dato haben wir ja noch keinen einzigen ESP8266 mit KNX in Betrieb genommen (warte noch auf meine Platinen und Bauteile...).
Gruß
Alex
Kommentar