Update 30.12.2015: Es sind noch einige Jeelinks (komplett zusammengelötet und getestet) verfügbar! Beitrag über Jeelink für Temperatursensoren lesen!
Bei der Aktualisierung der Software für den Jeelink-(Clone) kann unter verschiedenen Möglichkeiten wählen. Entweder mit dem Arduino-Entwicklungsumgebung mit einem PC oder Mac oder auch unter Fhem.
Da in letzter Zeit Probleme mit den Jeelinks-Clones (genauer dem USART-Chip FTDI) aufgetreten sind, zeige ich Euch hier mal die Möglichkeit, neue Software direkt am Herzen – also bei Fhem selber – direkt zu flashen.
Die Zutaten:
- Ein lauffähiges Fhem
- Einen Jeelink oder Jeelink-Clone (ich zeige es Euch mit dem Jeelink-Clone)
- Einen installierten Jeelink
- Etwas Linux-Kenntnisse
Los gehts:
Zunächst sollte mein mit Update Fhem auf dem neuesten Stand bringen. Die Flash-Funktionalität existiert erst seit einigen Monaten. Nicht jeder aktualisiert die Fhem-Software ständig, frei nach dem Motto: Never touch a running System. Bei der Gelegenheit sollte man, wenn man viel bastelt, doch lieber eine Testumgebung mit einem zweiten Raspberry Pi aufbauen. Das ist nicht teuer, schont die Nerven und gibt ein sicheres Gefühl. Backups sollten zumindest einmal im Monat durchgeführt werden. Damit meine ich auch ein Backup des SD-Images.
Nach dem Update geht man auf die Konsole und installiert mit
apt-get install avrdude
die benötigte Software zum Flashen. Nach einer gefühlten halben Stunde (unter Raspberry Pi) kann man sie benutzen.
Die avrdude-Software ist die Flashing-Software für den Arduino Nano.
Anschließend geht man in die Eigenschaften des Jeelink-Moduls.
Um nun die neueste Software für Lacrosse-Temperatursensoren zu flashen, wählt man oben das Dropdown-Menü flash an und tippt in dem nebenstehenden Textfeld LaCrosse (siehe Foto) ein. Hier ist auf Groß-und Kleinschreibung zu achten. Anschließend auf Set klicken. Es erfolgt bei angeschlossenem Jeelink der Flashvorgang. Standardmäßig würde ich alle anderen am USB-Port vorhandenen Transceiver und Devices vorher entfernen um ein unkontrolliertes Flashen eines falschen Bausteins zu vermeiden. Für ein Update bei PCA 301 Steckdosen (derzeitig nur für die original Jeelinks möglich, Steckdosen gibt es unter anderem bei amazon.de: PCA301 Steckdosen
Im Logfile unter Fhem sieht man nun das Ergebnis des Flash-Vorgangs.
flashing JeeLink jeelinkcross
detected Firmware: LaCrosse
hex file: ./FHEM/firmware/JeeLink_LaCrosse.hex
port: /dev/ttyUSB0
log file: ./log/JeeLinkFlash.log
jeelinkcross closed
command: avrdude -p atmega328P -c arduino -b 57600 -P /dev/ttyUSB0 -D -U flash:w:./FHEM/firmware/JeeLink_LaCrosse.hex 2>./log/JeeLinkFlash.log
--- AVRDUDE ---------------------------------------------------------------------------------
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f
avrdude: reading input file „./FHEM/firmware/JeeLink_LaCrosse.hex“
avrdude: input file ./FHEM/firmware/JeeLink_LaCrosse.hex auto detected as Intel Hex
avrdude: writing flash (16676 bytes):
Writing | ################################################## | 100% 5.42s
avrdude: 16676 bytes of flash written
avrdude: verifying flash memory against ./FHEM/firmware/JeeLink_LaCrosse.hex:
avrdude: load data flash data from input file ./FHEM/firmware/JeeLink_LaCrosse.hex:
avrdude: input file ./FHEM/firmware/JeeLink_LaCrosse.hex auto detected as Intel Hex
avrdude: input file ./FHEM/firmware/JeeLink_LaCrosse.hex contains 16676 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 4.23s
avrdude: verifying …
avrdude: 16676 bytes of flash verified
avrdude done. Thank you.
— AVRDUDE ———————————————————————————
jeelinkcross opened
Blog-Leser berichteten mir aber, das bei den Standard-Einstellungen der Flash Vorgang nicht funktioniert.
Die Fehlermeldung sieht dann so aus:
avrdude: stk500_getsync(): not in sync: resp=0xfe
Hier dann die Attribut-Zeile mit folgende Parameter bearbeiten,
avrdude -p atmega328P -c arduino -b 57600 -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
auf attr klicken, dann oben in dem Textfeld save eintippen und nochmals versuchen.
Nach erfolgtem Flash-Vorgang ist der Jeelink sofort wieder betriebsbereit. Mit der Methode hat man immer eine aktuelle Jeelink-Version und man braucht sich nicht um irgendwelche Treiberinstallation von FTDI, CH240 etc zu kümmern. Wenn man einen CH240 auf seinem kompatiblen Arduino-Nano hat, kann sich vielleicht diesen Beitrag über die Installation von CH240 für den Mac mal von mir durchlesen.
Wer noch einen Jeelink-Clone benötigt oder einen Arduino Nano kann mich kurz anschreiben (->Impressum).
Wer kein Fhem zur Verfügung hat, kann natürlich auch von der Konsole flashen, über Putty einloggen und folgendes eingeben:
sudo avrdude -p atmega328P -c arduino -P /dev/ttyUSB0 -b 57600 -D -U flash:w:/opt/fhem/FHEM/firmware/JeeLink_LaCrosse.hex 2>/opt/fehm/log/JeeLinkFlash.log
Die Quellen zu den Dateien stehen hier: http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/arduino/