Hallo zusammen,
ich habe einen Raspberry Pi (Model B - 512MB) mit COC Erweiterung. Um es einfach zu halten verwende ich erstmal das busware Image (http://files.busware.de/RPi/README.raspbian).
Montage und Installation liefen problemlos. COC Modul aufgesetzt (bis es klickt). Image mit dd auf die SD Karte kopiert. Das OS fährt hoch, auch der fhem Server läuft. COC Test ist erfolgreich (hexdump -C /sys/bus/i2c/devices/0-0050/eeprom).
Allerdings wird der von mir verwendete Sensor nicht erkannt.
Im fhem log steht, dass der COC nicht initialisiert werden kann (Cannot init /dev/ttyAMA0, ignoring it).
Hier das Log:
2014.01.11 15:43:19 1: Including fhem.cfg
2014.01.11 15:43:23 3: telnetPort: port 7072 opened
2014.01.11 15:43:25 3: WEB: port 8083 opened
2014.01.11 15:43:25 3: WEBphone: port 8084 opened
2014.01.11 15:43:25 3: WEBtablet: port 8085 opened
2014.01.11 15:43:27 3: Opening COC device /dev/ttyAMA0
2014.01.11 15:43:27 3: Setting COC baudrate to 38400
2014.01.11 15:43:27 3: COC device opened
2014.01.11 15:43:36 1: Cannot init /dev/ttyAMA0, ignoring it
2014.01.11 15:43:36 1: usb create starting
2014.01.11 15:43:39 3: Opening CUL device /dev/ttyAMA0
2014.01.11 15:43:39 3: Setting CUL baudrate to 38400
2014.01.11 15:43:39 3: CUL device opened
2014.01.11 15:43:39 1: usb create end
2014.01.11 15:43:39 2: SecurityCheck: WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Restart fhem for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2014.01.11 15:43:39 0: Server started (version Fhem 5.3 (DEVELOPMENT), $Id: fhem.pl 1996 2012-10-20 07:11:56Z rudolfkoenig $, pid 2045)
Habe ich was falsch gemacht oder vergessen?
Vielen Dank! Jens
Habe auch den COC. Das er hin und wieder nicht zurverlässig in den "Initialized" geht ist normal(?) würd ich jetzt behaupten. Prüfe mal folgendes:
-Sitzt der COC richtig http://busware.de/tiki-index.php?page=COC_Installation es darf kein spalt am GPIO sein. Bei mir musste ich am COC etwas wegraspeln damit er über den Anschluss des Pi passt (wohl bei allen 512MB Versionen so)
-fhem aktuell? ->"update check" oben eingeben, enter wenn dort neu Dateien auftauchen würd ich auch "update" machen.
-hast du das in der "Start" -Sektion von /etc/init.d/fhem stehen ("nano /etc/init.d/fhem" ausführen)? Sollte eigentlich, da Busware Image:
'start')
echo "Resetting / booting COC (868MHz extension)..."
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 1 > /sys/class/gpio/gpio18/value
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo "Starting fhem..."
perl fhem.pl fhem.cfg
RETVAL=$?
;;
wenn nein, eintragen ("sudo nano /etc/init.d/fhem) pi durchbooten. Das bewirk das reset und booten des COC beim FHEM-Start. Das kanst du ach in der shell eingeben um ihn zu reseten.
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 1 > /sys/class/gpio/gpio18/value
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
-Welche firmware hast du auf dem COC? aktuell ist V 1.57. Kannst du über "sudo hexdump -C /sys/bus/i2c/devices/0-0050/eeprom" oder in FHEM sehen. Wenn nein, flashen
http://busware.de/tiki-index.php?page=COC_Installation unter "uploading COC firmware"
Sollte aber aktuell sein, wenn du den COC von Busware erst gekauft hast.
Das ist auch noch sehr wichtig, sollte aber beim Image von Busware auch schon so sein, prüfen schadet nicht
ZitatTo free-up the serial line used by COC remove any references to ttyAMA0 in:
/etc/inittab - comment or delete: T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
/boot/cmdline.txt - and reboot!
Leider ist das Imgae von der Busware-Seite was Raspbian angeht veraltet (Buswareimage ist aus Oktober Kernel 3.6, aktuell ist 2014-01-07 Kernel 6.10)
Musst du wissen ob du updatest. Ich habe z.B. die Lernelpatches nicht installiert weil sie älter als der aktuelle Kernel sind, muss aber damit leben kein 1-wire, eeprom und hw-clock zu haben.
Ich weiss nicht ob die Kernelpatches trotzdem mit dem aktuellen Image laufen...
Danke für die schnelle Antwort.
re Zusammenbau: Der Spalt ist geschossen. Allerdings frage ich mich, wo man ggf etwas wegraspeln soll. Das scheint alles super zu passen (siehe Fotos).
https://www.dropbox.com/s/h92ytqxsrt71ddk/IMG_5669.jpg
https://www.dropbox.com/s/0jkm8ms5t2xlelv/IMG_5670.JPG
re fhem update: Ein Update hatte ich gemacht, nachdem das mit dem unveränderten busware Image nicht funktionierte. War danach aber auch nicht besser. 'version' ergibt:
# $Id: fhem.pl 4603 2014-01-10 12:28:58Z rudolfkoenig $
# $Id: 00_CUL.pm 4530 2014-01-02 13:56:09Z rudolfkoenig $
# $Id: 01_FHEMWEB.pm 4605 2014-01-10 14:33:50Z rudolfkoenig $
# $Id: 92_FileLog.pm 4607 2014-01-10 15:01:13Z rudolfkoenig $
# $Id: 99_SUNRISE_EL.pm 4537 2014-01-03 08:28:59Z rudolfkoenig $
# $Id: 99_Utils.pm 3595 2013-08-05 05:38:48Z tobiasfaust $
# $Id: 99_XmlList.pm 1840 2012-09-12 13:52:08Z rudolfkoenig $
# $Id: 98_autocreate.pm 4234 2013-11-17 10:19:41Z rudolfkoenig $
# $Id: 91_notify.pm 3738 2013-08-18 14:13:59Z rudolfkoenig $
# $Id: 98_telnet.pm 3738 2013-08-18 14:13:59Z rudolfkoenig $
re fhem initd: der Starteintrag für den COC ist drin.
re COC firmware:
00000000 43 4f 43 20 56 31 2e 31 20 46 55 4c 4c 20 32 30 |COC V1.1 FULL 20|
00000010 31 33 2d 31 31 2d 32 38 0a ff ff ff ff ff ff ff |13-11-28........|
00000020 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
re freimachen von ttyAMA0: sowohl in inittab als auch cmdline.txt sind die Einträge raus bzw. auskommentiert
Ein Hinweis noch: Bevor ich das busware Image eingespielt habe, hatte ich mir alles manuell aufgesetzt, also das neueste Raspbian Image, fhem installiert, Kernel Patches eingespielt, COC geflushed... Das ging aber leider auch nicht. Vielleicht gibt es irgendeinen Versions-Konflikt?
Danke, Jens
mmm du hats V1.1 als Firmware, ich hbe z.B. V1.57 . Evtl. mal die Firmware zu flashen:
hier mein vorgehen aus meiner eigenen Dokus nach der es funktioniert (beimir)
Zitat4. COC Firmware
firmware besorgen (hier für COC mit 1-wire, rtc, eeprom)
wget "http://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/Devices/COC/COC.hex?format=raw"
datei umbenennen
mv COC.hex?format=raw COC.hex
root werden
sudo bash
avrdude, flashprogram, installieren
apt-get install avrdude
flashen
echo "calling COC bootloader..."
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
avrdude -p atmega1284p -P /dev/ttyAMA0 -b 38400 -c avr109 -U flash:w:COC.hex
Denn dasProblem ist: fängt der avrdude an zu flashen schmeisst er wohl alles vom COC runter. Kommt dann ein Fehler (.hex nicht gefinden z.B) ist nur noch der bootloader drauf (hoffe ich hab mich richtig ausgedrückt) und der COC ist so nicht verwendbar, hatte ich auch schon. Da hilf sauber drüber flashen.
Wie blinkt denn deine LED?
Das sieht jetzt schon besser aus :D
Habe den COC neu geflushed. Jetzt blinkt auch die LED (vorher nicht). Auch habe ich jetzt einen Eintrag vom Sensor.
Firmware sagt zwar immer noch, dass sie Version 1.1 ist, aber egal ;-)
Vielen Dank! Jens
Geh beim COC mal auf get Version, dann sollte er die aktuelle Version auslesen.