COC am Raspberry Pi flashen

Aus FHEMWiki
Version vom 1. Juli 2014, 23:17 Uhr von BastianW (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Vorausetzung == * Raspberry pi * Busware COC == Aktuelle Firmware kontrollieren == Ob ein Flashen überhaupt notwendig ist lässt sich feststellen indem m…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Vorausetzung

  • 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:

  • 1.) Anmelden am FHEM
  • 2.) Öffnen der FHEM config
  • 3.) Suchen nach dem COC namen. In meinem Falle sieht der benötigte Eintrag wie folgt aus:
define COC CUL /dev/ttyAMA0@38400 4624
  • 4.) 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

  • 1.) FHEM Server anhalten
/etc/init.d/fhem stop
  • 2.) Eine Sudo session öffnen
sudo -s
  • 3.) 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 das aktuelle Flash file herunter und speichert es im tmp Verzeichniss

  • 4.) Den COC zurücksetzten und folgendes (line by line) 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
  • 5.) Anschließend kann der COC geflasht werden via:
avrdude -p atmega1284p -P /dev/ttyAMA0 -b 38400 -c avr109 -U flash:w:/tmp/COC.hex