Raspberry + RFM2Pi +TinyTX mit 00_JeeLink.pm & 18_JSN.pm

Begonnen von mattes1007, 07 Dezember 2013, 14:47:41

Vorheriges Thema - Nächstes Thema

mattes1007

Hallo,

weiß zufällig jemand, ob es möglich ist, den PI in Verbindung mit einem CUL/COC
dazu zu bewegen, diese Module http://nathan.chantrell.net/tinytx-wireless-sensor/
in FHEM einzubinden.
Oder hiermit http://harizanov.com/wiki/wiki-home/rfm2pi-board/ an FHEM anbinden ??

Gruß mattes

OEP

Hallo Mattes,

so wie ich das verstehe auf den angegebenen Links, dann werden diese Boards direkt an den RasPi über die GPIO Pins angeschlossen. Somit ist ein CUL/COC nicht notwendig. Die Anbindung in FHEM sollte mittels den beiden Modulen aus contrib/Jeestuff 00_JeeLink.pm & 18_JSN.pm sowie angepassten JeeLab sketches sendeseitig funktionieren. Beispiele sind auch unter contrib/Jeestuff zu finden.

Gruß André

mattes1007

#2
Hallo,

danke für die Antwort. Werde ich mir mal anschauen.
Das RFM2Pi kommuniziert per Uart mit dem PI.

Habe jetzt meine Platinen erhalten und das ganze mal zusammen gelötet.
Mit Emoncms läuft es schon mal. Nur gefällt mir Fhem viel besser.

Gruß mattes

//edit

hab mir das gerade mal angesehen ....
Das ist zu hardcore für mich, da ich vom programmieren nicht so den Plan habe....

mal sehen, wie ich das lösen kann.

//edit 2

hab jetzt mal ein wenig gespielt
meine Sketches ein wenig geändert

das in die fhem.cfg einegtragen

define myJeeLink JeeLink /dev/ttyAMA0@9600 15

define J001 JSN 2

fhem neu gestartet

dann mal im log geschaut

2013.12.21 23:42:19 0: JEE-Define: Name = myJeeLink dev=/dev/ttyAMA0@9600
2013.12.21 23:42:19 3: JeeLink opening myJeeLink device /dev/ttyAMA0@9600
2013.12.21 23:42:19 3: myJeeLink: Setting baudrate to 9600
2013.12.21 23:42:19 3: JeeLink device opened


wird mein RFM2Pi wohl erkannt.

Ich kann auch über die Weboberfläche die ID/Netgroup/Freq/ einstellen.
Wie bekomme ich jetzt die Daten in FHEM importiert und verarbeitet ?

Minicom zeigt jede Minute diese Pakete

2 11 164 8 253 0
2 11 164 8 253 0
2 11 158 8 253 0
2 11 158 8 253 0
2 11 158 8 253 0
2 11 164 8 253 0
2 11 158 8 253 0
2 11 164 8 253 0
2 11 164 8 253 0


Das hab ich jeweils in die Sketche eingetragen

struct {
  byte temp_type;
  int  temp_data;
  byte rf12lowbat_type;
  byte rf12lowbat_data;
} payload;


Vielleicht hat ja jemand noch einen Tipp.

Gruß mattes



mattes1007


justme1968

du kannst entweder ein modul schreiben das die nachtrichten in deinem format verarbeiten kann. als beispiel schau dir das pca301 oder lacrosse modul an.

oder du änderst das format das dein sketch ausspuckt so das es dem lacrosse format entspricht. dann kannst du einfach das lacrosse modul verwenden.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

mattes1007

Danke für die Antwort.

Leider hab ich´s nicht so mit dem programmieren.
Ein wenig an den Sketches basteln ist kein Problem. Aber wie das alles genau zusammen hängt ...

So wie ich das sehe, gibts ja 2 Jeelink Module. Einmal das 36_JeeLink.pm aus FHEM und einmal das 00_JeeLink.pm aus /contrib/Jeestuff/.
Ich hab das 00_JeeLink.pm. Damit kann ich aus fhem die Parameter für mein RFM2PI einstellen. Mit dem 36_JeeLink.pm geht das ja nicht.
Dann hab ich mich an der 18_JSN.pm orientiert und die Sketche so abgeändert, das die Daten in der passenden Struktur ankommen.(hoffe ich)

# Temperature ----------------------------------------------------------------
  $data{JEECONF}{11}{ReadingName} = "temperature";
  $data{JEECONF}{11}{DataBytes} = 2;
  $data{JEECONF}{11}{Prefix} = $match;
  $data{JEECONF}{11}{CorrFactor} = 0.1;
# JeeNode RF12 LowBat --------------------------------------------------------
  $data{JEECONF}{253}{ReadingName} = "RF12LowBat";
  $data{JEECONF}{253}{DataBytes} = 1;
  $data{JEECONF}{253}{Prefix} = $match;


Das 2 11 164 8 253 0 kommt an (minicom)

2 NodeID
11 Temperatur 164 8
253 RF12LowBat 0

oder verstehe ich da was falsch ?
Muß ich mit dem anderen JeeLink.pm arbeiten ?

Oder fehlt einfach nur noch ein passender Eintrag in der fhem.cfg ?

So, jetzt lassen wir erstmal das Fest beginnen. Schönen Tag noch

mattes

justme1968

mit dem 36_JeeLink modul kannst du mit raw direkt etwas an den jeelink senden. das andere modul kannte ich garnicht. ich schau mir die tage wie das mit dem parameter setzen geht und baue das in das 36 modul ein.

ansonsten kann ich dir zum 00 modul noch nichts weiter sagen. muss ich mir erst mal anschauen.

ich denke aber es wäre gut nur ein einziges modul zu haben.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

mattes1007

Super,

dann lass ich mich mal überraschen.

Wäre echt cool, wenn das klappen würde.
Die Module sind recht günstig im Eigenbau. Ca. nen 10er je Empfänger und je Sensor.

Und als Sensor ist echt einiges möglich. Müsste halt nur einer der mehr Ahnung von der Materie hat als ich
mal Hand anlegen ... ;-) dann könnte man(n) das bestimmt alles unter FHEM nutzen.

Possible uses

Temperature Sensor using a DS18B20 digital sensor and a 4K7 resistor (blog post, code)
Temperature/Humidity Sensor using a DHT22 and a 10K resistor (blog post, code)
Temperature Sensor using a TMP36 analogue sensor, fit the sensor in the reverse orientation compared to DS18B20 and don't fit a resistor (blog post, code)
Flood/water leak sensor  using a 100K resistor and wire probes, also code to use a TinyTX as a receiver (tx code, rx code)
Light sensor using an LDR (Light Dependant resistor) and a 10K resistor (code)
Electricity consumption meter using an LDR and a 4K7 resistor (blog comment by Troels, code)
Reed switch for door/window monitoring with pin change interrupt to wake from sleep (code)
Hall effect sensor (magnetic field detector) using an A3214EUA-T or A3213EUA-T to monitor gas usage (code)
Rain gauge using a tipping bucket rain gauge (code)
BMP085 air pressure/temperature sensor (code)
Or many other digital or analogue inputs or switch contacts.


Gruß mattes

OEP

Frohe Weihnachten,

also bei mir funktioniert die Konfiguration aus 00_JeeLink.pm & 18_JSN.pm ohne Probleme. Die "Form" der empfangenen Pakete ist prinzipiell richtig, was mir nur fehlt bei deiner Ausgabe ist das vorangestellte OK. Läuft auf deinem RFM2Pi, welcher am Pi angeschlossen ist, der RF12demo Sketch? Daten die empfangen werden sind nur dann gültig, wenn dieses OK am Anfang steht. Siehe auch hier:
https://groups.google.com/forum/#!msg/fhem-users/-x0s3h0QIf8/aonQf7HpLN0J
Danach sollte es funktionieren (sh. Foto).

Gruß André

mattes1007

#9
Ja, da läuft der rfm12demo sketch https://github.com/mharizanov/RFM2Pi/blob/master/firmware/RFM2Pi_RF12_Demo/TinySensor_RF12_Demo/TinySensor_RF12_Demo.ino mit Änderungen in dem struct teil.
Wie sehen denn deine Einträge in der fhem.cfg aus ?

Werde mir morgen deinen link mal anschauen.

Gruß mattes

hexenmeister

Hallo,

sieht sehr interessant aus, danke für die Links!
Mich würde interessieren, wo Du die Platinen bestellt hast. Bei SeeedStudio? Wie hoch waren ggf. die Versandkosten nach DE und wie lange hat das gedauert? Ich überlege gerade auch ein 10er Pack zu ordern ('2 panelised on one board' - Version zum Selberschneiden)...

Grüße,

Alexander

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

mattes1007

Zitat von: hexenmeister am 25 Dezember 2013, 01:48:19
Hallo,

sieht sehr interessant aus, danke für die Links!
Mich würde interessieren, wo Du die Platinen bestellt hast. Bei SeeedStudio? Wie hoch waren ggf. die Versandkosten nach DE und wie lange hat das gedauert? Ich überlege gerade auch ein 10er Pack zu ordern ('2 panelised on one board' - Version zum Selberschneiden)...

Grüße,

Alexander

Morgen,

die Platinen habe ich hier http://imall.iteadstudio.com/open-pcb/pcb-prototyping.html fertigen lassen.
Hab von jeder Platine 10 Stück machen lassen. Ist gerade im Angebot für 9,90 $ je Set.

Subtotal
$19.80
Shipping & Handling
$5.59
Grand Total
$25.39

Am 6.12. bestellt und am 16.12. geliefert ....unglaublich.


mattes1007

#12
Zitat von: OEP am 24 Dezember 2013, 22:02:58

Daten die empfangen werden sind nur dann gültig, wenn dieses OK am Anfang steht. Siehe auch hier:
https://groups.google.com/forum/#!msg/fhem-users/-x0s3h0QIf8/aonQf7HpLN0J
Danach sollte es funktionieren.

Gruß André

Hab mir jetzt mal deinen Link angeschaut. Kannte ich aber schon.
Leider erschließt sich mir nicht ganz, wie ich jetzt das OK an den Anfang des Datenpaketes bekomme.
Oder sehe ich den Wald vor lauter Bäumen nicht ??
Muß das beim senden schon übermittelt werden oder wird das erst bei der Ausgabe auf die Uart´s gemacht ?

//edit//

das OK kommt von der CRC Prüfung. Das hab ich jetzt gefunden. Leider fehlt das wohl in der RFM12_demo von dem Sketch des RFM2Pi :-(

Gruß mattes

OEP

Moin,

ja das OK kommt von dem RF12demo Sketch sh. hier:
https://github.com/jcw/jeelib/blob/master/examples/RF12/RF12demo/RF12demo.ino
ab Zeile 750 (main loop)
Die CRC Prüfung gibt es aber auch in dem RFM2PI Code nur eben ohne die Ausgabe des OK bei korrekt empfangenen Daten. Das ist sicherlich leicht zu ändern.

Hier nochmal meine Eintragungen in der fhem.cfg, aber ich denke das gleiche hast du auch eingetragen.
define my_JeeLink JeeLink /dev/ttyUSB0 1
define Temp_Keller JSN 26


Gruß André

mattes1007

#14
Hallo,

ich hab jetzt den Sketch soweit, das dieses Paket in minicom ankommt

OK 26 11 2 9 253 0
OK 26 11 2 9 253 0
OK 26 11 2 9 253 0


das in die fhem.cfg

define myJeeLink JeeLink /dev/ttyAMA0@9600 1
define Temp_Wohnzimmer JSN 26


aber in fhem kommt einfach nichts an.

//edit

jetzt gehts !! define my_JeeLink muss es heißen.
Jetzt kommen schon mal Daten an nur immer 3 mal.

2013-12-25_22:54:39 Temp_Wohnzimmer temperature: 23.12
2013-12-25_22:54:39 Temp_Wohnzimmer temperature: 23.12
2013-12-25_22:54:39 Temp_Wohnzimmer temperature: 23.12
2013-12-25_22:54:39 Temp_Wohnzimmer RF12LowBat: 0
2013-12-25_22:54:39 Temp_Wohnzimmer RF12LowBat: 0
2013-12-25_22:54:39 Temp_Wohnzimmer RF12LowBat: 0
2013-12-25_22:55:45 Temp_Wohnzimmer temperature: 23.06
2013-12-25_22:55:45 Temp_Wohnzimmer temperature: 23.06
2013-12-25_22:55:45 Temp_Wohnzimmer temperature: 23.06
2013-12-25_22:55:45 Temp_Wohnzimmer RF12LowBat: 0
2013-12-25_22:55:45 Temp_Wohnzimmer RF12LowBat: 0
2013-12-25_22:55:46 Temp_Wohnzimmer RF12LowBat: 0

woran kann das noch liegen ??