COC am Raspberry Pi flashen
Um (die aktuelle) CUL Firmware auf einen COC zu bringen, kann/muss man den COC am Raspberry Pi flashen.
Vorausetzung
Erforderliche Hardware:
- Raspberry Pi
- Busware COC
Aktuelle Firmware kontrollieren
Ob ein Flashen überhaupt notwendig ist, lässt sich feststellen, indem man das Changelog (http://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/CHANGED) und die momentan installierte Firmware kontrolliert.
An die aktuelle Firmware vom COC kommt man wie folgt:
- Anmelden an der Fhem Weboberfläche
- Öffnen der Fhem Konfiguration
- Suchen nach dem COC Namen. In meinem Falle sieht der benötigte Eintrag wie folgt aus:
define COC CUL /dev/ttyAMA0@38400 4624
- In das Textfeld im FHEM nun folgendes eingeben
get COC raw V
Wenn die angezeigte Firmware älter als im Changelog ist, kann man sie updaten.
Firmware updaten/flashen
Zum flashen der Firmware müssen die folgenden Schritte ausgeführt werden:
- Fhem Server stoppen
/etc/init.d/fhem stop
- Flashtool installieren
sudo apt-get install -y avrdude
- Eine Sudo session öffnen
sudo -s
- Aktuelle Firmware herunterladen. Bei Geräten mit "nur Funk" muss folgendes ausgeführt werden
sudo wget http://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/Devices/COC/COC.radio_only.hex?format=raw -O /tmp/COC.hex
bei dem anderen COC folgendes:sudo wget http://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/Devices/COC/COC.hex?format=raw -O /tmp/COC.hex
Dies läd die aktuelle Flashdatei herunter und speichert sie im Verzeichnistmp
- Den COC zurücksetzen und folgendes (Zeile für Zeile!) ausführen:
if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
if test ! -d /sys/class/gpio/gpio18; then echo 18 > /sys/class/gpio/export; fi
echo out > /sys/class/gpio/gpio17/direction
echo out > /sys/class/gpio/gpio18/direction
echo 0 > /sys/class/gpio/gpio18/value
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio18/value
- Anschließend kann der COC geflasht werden mit:
avrdude -p atmega1284p -P /dev/ttyAMA0 -b 38400 -c avr109 -U flash:w:/tmp/COC.hex
- Fhem Server wieder starten mittels
/etc/init.d/fhem start