RaspberryPi und COC

Begonnen von Sizco, 08 Februar 2013, 21:22:07

Vorheriges Thema - Nächstes Thema

Sizco

Hallo,

da ich schon lange einen Raspberry Pi (256MB Version) besitze und mich für das Thema Hausautomatisierung interessiere,
habe ich mir die COC Erweiterung von busware.de zugelegt: http://shop.busware.de/product_reviews_info.php/products_id/77/reviews_id/5
Um Geld zu sparen, habe ich die "Nur Funk"-Version bestellt.

In erster Linie möchte ich damit meine MAX!-Heizkörperthermostate und ELRO Funksteckdosen steuern.

Nun zu meinen Fragen:
Hätte ich lieber die Auführung mit EEPROM und Uhr nehmen sollen, oder reicht die einfache Ausführung?
Wie kann ich testen, ob das COC Board funktioniert? Habe Raspian installiert.

LG Christian

Banana_Joe

Hi,

hast du das image von busware genommen?

Du kannst es folgendermaßen testen:


Test for COC existence:

root@raspberrypi:~# hexdump -C /sys/bus/i2c/devices/0-0050/eeprom

bzw.

sudo hexdump -C /sys/bus/i2c/devices/0-0050/eeprom

dann erscheint folgendes:

00000000  43 4f 43 20 56 31 2e 31  20 46 55 4c 4c 20 32 30  |COC V1.1 FULL 20|
00000010  31 32 2d 30 39 2d 31 37  00 ff ff ff ff ff ff ff  |12-09-17........|
00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|

Sizco

Ich habe gerade nochmal das Image von busware.de auf die SD-Karte kopiert/installiert.

Wenn ich den Befehl ausführe, erhalte ich folgende Meldung:
hexdump: /sys/bus/i2c/devices/0-0050/eeprom: Connection timed out

Wie gesagt, ich habe die COC Version ohne EEPROM bestellt. Liegt es evtl. daran?

Und hier auch noch die Logs vom FHEM:
2013.02.09 16:00:21 2: Telnet port 7072 opened
2013.02.09 16:00:21 2: FHEMWEB port 8083 opened
2013.02.09 16:00:21 2: FHEMWEB port 8084 opened
2013.02.09 16:00:21 2: FHEMWEB port 8085 opened
2013.02.09 16:00:22 3: Opening COC device /dev/ttyAMA0
2013.02.09 16:00:22 3: Setting COC baudrate to 38400
2013.02.09 16:00:22 3: COC device opened
2013.02.09 16:00:31 1: Cannot init /dev/ttyAMA0, ignoring it
2013.02.09 16:00:31 0: Server started (version 5.2 from 2011-12-31 ($Id: fhem.pl 1159 2011-12-31 13:31:58Z rudolfkoenig $), pid 3219)

dougie


....bist du der Installationsanleitung bei busware gefolgt und hast die serielle Schnittstelle "befreit"? :-)

VG
Ralf

Sizco

Ich bin der Anleitung gefolgt und habe dabei festgestellt,
dass das fertige Image von busware.de bereits die ganzen Änderungen enthält.

Ich habe auch schon versucht, die Firmware auf das Modul zu laden:
Zitatuploading COC firmware
Make sure you stop fhem or any other program occupying ttyAMA0 first!
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


COC.hex has support for Onewire compiled in. If you bought a "radio only" COC you must use COC.radio_only.hex instead.

Dabei erhalte ich dann aber auch eine Fehlermeldung:
calling COC bootloader...

Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding


Ich habe den Fehler scheinbar gefunden, man bin ich blöd...
Ich habe das COC Board verkehrt herum auf den Raspberry gesetzt.... (Kein Kommentar)

Ralf

Zitat von: Sizco schrieb am Sa, 09 Februar 2013 17:31Ich habe das COC Board verkehrt herum auf den Raspberry gesetzt.... (Kein Kommentar)

Ich habe das Board nicht falsch herum aufgesetzt, habe aber trotzdem ähnliche Probleme.
Die LED auf dem COC leuchtet permanent, d.h. kein Blinken und ich kann nicht auf ttyAMA0 zugreifen.

Ich benutze das Busware-Image, habe apt-get update und upgrade schon durchgeführt, aber das ändert nichts. Auch mit minicom kann ich nicht zugreifen.

Jemand eine Idee?

\Ralf

tostmann

Die LED auf einem COC leuchtet u.a. permanent wenn man ein "full featured" Image mit Onewire Support auf ein "nur Funk" COC ohne OneWire flashed ...

Ralf

Zitat von: tostmann schrieb am Di, 12 Februar 2013 11:40Die LED auf einem COC leuchtet u.a. permanent wenn man ein "full featured" Image mit Onewire Support auf ein "nur Funk" COC ohne OneWire flashed ...

Mein COC ist "full-featured", das sollte also nicht das Problem sein. Andere Ideen?!

\Ralf

thomas0001

Ich hatte mal wieder Lust auf Frickeln und hab mir einen Rapberry Pi und das COC Board mit allem bei busware.de gekauft.

Ich hab die Foren durch und es läuft wohl darauf hinaus:

RTC: nicht ansprechbar, die Lösung mit echo lalala klappt nicht "no such file or directory"
eeprom: hexdump gibt Fehler aus, wär mir auch egal, bloß das coc-firmware update klappt auch nicht, das dürfte irgendwann mal nerven

In fhem wird das coc angezeigt.

Ich habe alt-get update und upgrade gemacht, damit ich den edimax wlan nutzen kann, dafür ist wohl das doc nur halb zu nutzen.
Jetzt stehe ich vor der Wahl die Busware module selber in den kernel zu packen oder die edimax treiber mit dem busware image zu verwenden.

Was ist einfacher ?
Mich nervt es schon das ich den coc mit rtc bestelle, die dann aber nicht nutzen kann.
Hat schonmal jemand den kernel mit den busware patches aktualisiert ?


thomas0001

Ich habe die Kernelversion 3.6.11 (3.6.y) genommen und den Busware patch von Hand an der Datei bcm2708.c durchgeführt.
Alles geht jetzt wie man es erwarten würde: RTC wird automatisch erkannt und genutzt, EEPROM ist via hexdump anzuzeigen und mein Edimax WLAN Adapter geht auch, FHEM sowieso.

Hach wie schön !

root@raspberrypi:/usr/src# hwclock
Thu 21 Feb 2013 17:00:44 CET  -0.769691 seconds

Linux raspberrypi 3.6.11T-pi+ #9 PREEMPT Wed Feb 20 20:43:03 CET 2013 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Feb 20 20:51:26 2013
root@raspberrypi:~# hexdump -C /sys/bus/i2c/devices/0-0050/eeprom
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 30 31 2d 31 38  0a ff ff ff ff ff ff ff  |13-01-18........|
00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
00000100

arch/arm/mach-bcm2708/bcm2708.c sichern und durch gepatchte ersetzen.

cyberdwarf

Hallo Thomas,

hast du Lust und Zeit eine kurze Anleitung zum Patchen des Kernel zu schreiben?
Die abgearbeiteten Befehle würden ja vielleicht schon reichen.

Gruß
Torsten
RPi+COC | RFXtrx433 | HMLAN
fht80b, FHT80TF, S300TH, hms100-tf, EMFM, EMWZ
FS20:bs,di,piri,rsu,s4a,s6a,sm4,sm8,s8m,st,tfk
YCR-1000, ITL-230, HE877, HE878A, AB440
KD101, RGR918, TS15C_10, WGR918, WS2300
HM-LC-Sw1PBU-FM, HM-LC-BL1-FM
ZWAVE(Test)

thomas0001

Da gibt es keine Anleitung ausser Dateien tauschen. Ich habe die handgepatchte Datei aber an busware geschickt, damit ein ordentlicher patch daraus wird.

alina

Hallo,

ist die Software auf der Seite von busware denn schon aktuell ?

Viele Grüße
Alina

R2-D2

Hallo Thomas,

auch ich habe nun den RPI mit 512MB frisch bekommen.
Bin sehr an Deiner Lösung vom 21.02.13 interessiert und schließe mich der höflichen Frage von cyberdwarf an.

Besteht die Möglichkeit, dass Du Deine Lösung ausführlicher und auch für die weniger geübten darstellst, so dass wir Deinen Lösungsweg nachstellen können um zum selben Ziel zu gelangen?

Das wäre wirklich sehr hilfreich.

Vielen Dank für Deine Hilfe, Zeit und Mühen bereits im voraus.

Viele Grüße.

Sven


thomas0001

Hallo,

ich habe mich da durchgekämpft, natürlich ohne Mitschrift.
Angefangen habe ich mit dem Busware image mit 3.2, fhem usw., zwischendurch habe ich immer mal wieder ein image von der Karte gemacht, um auf einen vorherigen Stand zurück zu können.
als erstes habe ich ein alt-get update und upgrade gemacht

Ich habe den Kernel direkt auf dem Pi übersetzt und die Sourcen unter /usr/src/pi auf einem usbstick gemountet.
Muss man jedesmal wieder mounten, wenn man gebotet hat.

Den Kernel habe ich von https://github.com/raspberrypi/linux heruntergeladen, danach wie jeden anderen Kernel übersetzen. (make proper, menuconfig modules install usw.)  
Die Übersetzung dauert locker mehr als 4 Stunden, ist aber lustig, manche Meldungen sieht man sonst gar nicht.
Zum ausprobieren immer in der config.txt das original eingetragene Image auskommentiert und das neue eintragen.
Wenn was schiefgeht, kann man die SD Karte rausnehmen und auf einem anderen Rechner die config.txt auf das gute Image zurückstellen.
Ich habe einen monolitischen Kernel nur mit meinen Geräten gebaut, wenn man bei Modulen bleibt, braucht man nur die Optionen für die realtek nic und den coc(sind bei busware definiert) ändern.
Die von busware angepasste Datei hängt an einem der vorigen Posts dran, diese muss man gegen die originale austauschen.

Wenn du noch nie einen Kernel übersetzt hast (egal wo), warte darauf, das es ein aktuelleres image von busware gibt.
Die Realtek Treiber bekommt man auch in den 3.2 Kernel integriert. Bis auf die rtc und das firmware aktualisieren geht alles.
Ich habe Spass daran so etwas hinzubekommen, nötig war das eigentlich nicht.

Falls du dich trotzdem da durchkämpfst mach erstmal bis der neue Kernel läuft. Ich helfe gerne wenn es hakt.


Grüße,

Thomas