COC am Raspberry Pi flashen: Unterschied zwischen den Versionen

Aus FHEMWiki
(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…“)
 
(Überarbeitet, Wikifiziert, Kategorien angepasst)
Zeile 1: Zeile 1:
Um (die aktuelle) [[CUL]] Firmware auf einen [[COC]] zu bringen, kann/muss man den [[COC am Raspberry Pi flashen]].
== Vorausetzung ==
== Vorausetzung ==
* Raspberry pi
Erforderliche Hardware:
* [[Raspberry Pi]]
* Busware COC
* Busware COC


== Aktuelle Firmware kontrollieren ==
== 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.
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:
An die aktuelle Firmware vom COC kommt man wie folgt:
 
# Anmelden am Fhem
*1.) Anmelden am FHEM
# Öffnen der Fhem [[Konfiguration]]
*2.) Öffnen der FHEM config
# Suchen nach dem COC Namen. In meinem Falle sieht der benötigte Eintrag wie folgt aus:<br><code>define COC CUL /dev/ttyAMA0@38400 4624</code>
*3.) Suchen nach dem COC namen. In meinem Falle sieht der benötigte Eintrag wie folgt aus:
# In das Textfeld im FHEM nun folgendes eingeben<br><code>get COC raw V</code>
<nowiki>define COC CUL /dev/ttyAMA0@38400 4624</nowiki>
*4.) In das Textfeld im FHEM nun folgendes eingeben
 
<nowiki>get COC raw V</nowiki>


Wenn die angezeigte Firmware älter als im Changelog ist, kann man sie updaten.
Wenn die angezeigte Firmware älter als im Changelog ist, kann man sie updaten.


== Firmware updaten/flashen ==
== Firmware updaten/flashen ==
Zum flashen der Firmware müssen die folgenden Schritte ausgeführt werden:


*1.) FHEM Server anhalten
# Fhem Server stoppen<br><code>/etc/init.d/fhem stop</code>
<nowiki>/etc/init.d/fhem stop</nowiki>
# Eine Sudo session öffnen <br><code>sudo -s</code>
 
# Aktuelle Firmware herunterladen. Bei Geräten mit "nur Funk" muss folgendes ausgeführt werden <br><code>sudo wget http://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/Devices/COC/COC.radio_only.hex?format=raw  -O /tmp/COC.hex</code> <br>bei dem anderen COC folgendes:<br><code>sudo wget http://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/Devices/COC/COC.hex?format=raw  -O /tmp/COC.hex</code> <br>Dies läd die aktuelle Flashdatei herunter und speichert sie im Verzeichnis <code>tmp</code>
*2.) Eine Sudo session öffnen
# Den COC zurücksetzen und folgendes (Zeile für Zeile!) ausführen: <br /><!--
<nowiki>sudo -s</nowiki>
--><code>if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi </code><br /><!--
 
--><code>if test ! -d /sys/class/gpio/gpio18; then echo 18 > /sys/class/gpio/export; fi </code><br /><!--
*3.) Aktuelle Firmware herunterladen. Bei Geräten mit "nur Funk" muss folgendes ausgeführt werden
--><code>echo out > /sys/class/gpio/gpio17/direction </code><br /><!--
<nowiki>sudo wget http://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/Devices/COC/COC.radio_only.hex?format=raw  -O /tmp/COC.hex</nowiki>
--><code>echo out > /sys/class/gpio/gpio18/direction </code><br /><!--
bei dem anderen COC folgendes:
--><code>echo 0 > /sys/class/gpio/gpio18/value </code><br /><!--
<nowiki>sudo wget http://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/Devices/COC/COC.hex?format=raw  -O /tmp/COC.hex</nowiki>
--><code>echo 0 > /sys/class/gpio/gpio17/value </code><br /><!--
Dies läd das aktuelle Flash file herunter und speichert es im tmp Verzeichniss
--><code>sleep 1 </code><br /><!--
 
--><code>echo 1 > /sys/class/gpio/gpio17/value </code><br /><!--
*4.) Den COC zurücksetzten und folgendes (line by line) ausführen
--><code>sleep 1 </code><br /><!--
 
--><code>echo 1 > /sys/class/gpio/gpio18/value </code><br />
<nowiki>if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
# Anschließend kann der COC geflasht werden mit: <br /><!--
if test ! -d /sys/class/gpio/gpio18; then echo 18 > /sys/class/gpio/export; fi
--><code>avrdude -p atmega1284p -P /dev/ttyAMA0 -b 38400 -c avr109 -U flash:w:/tmp/COC.hex</code></li>
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</nowiki>
 
*5.) Anschließend kann der COC geflasht werden via:
<nowiki>avrdude -p atmega1284p -P /dev/ttyAMA0 -b 38400 -c avr109 -U flash:w:/tmp/COC.hex</nowiki>


[[Kategorie:HOWTOS]]
[[Kategorie:HOWTOS]]
[[Kategorie:COC]]
<!-- (neue aber unnötige bzw. nicht sinnvolle) Kategorie-Einträge "COC" und "Flashen" entfernt; bitte ggf. erst auf der Seite FHEMWiki_Diskussion:ÜberFHEMWiki diskutieren -->
[[Kategorie:Flashen]]

Version vom 2. Juli 2014, 10:10 Uhr

Um (die aktuelle) CUL Firmware auf einen COC zu bringen, kann/muss man den COC am Raspberry Pi flashen.

Vorausetzung

Erforderliche Hardware:

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 Konfiguration
  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

Zum flashen der Firmware müssen die folgenden Schritte ausgeführt werden:

  1. Fhem Server stoppen
    /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 die aktuelle Flashdatei herunter und speichert sie im Verzeichnis tmp
  4. 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
  5. Anschließend kann der COC geflasht werden mit:
    avrdude -p atmega1284p -P /dev/ttyAMA0 -b 38400 -c avr109 -U flash:w:/tmp/COC.hex