Welche Komponenten für MySensors Gateway? (nRF24L01 an GPIO)

Begonnen von Carsten K., 17 November 2016, 20:25:34

Vorheriges Thema - Nächstes Thema

Carsten K.

Hallo Gemeinde,

ich habe 2 nRF24l01 (1x direkt an RPI, 1x an Arduino NANO) soweit gebracht, dass sie miteinander sprechen.

Auf dem RPI verwende ich einen Beispielcode aus https://github.com/edoardoo/RF24 verwendet.

Als nächsten Schritt möchte ich den nRF24L01 in FHEM verwenden und habe dazu MySensors gefunden.

Ich habe das Thema "Gateway" noch nicht klar verstanden.

Meine Wunscharchitektur ist:
- RPI mit nRF24L01 (MySensors Gateway?)
- mehrere Nanos mit nRF24L01 und verschiedenen Sensoren.

Wenn meine "Architektur" passt: Mit welchen Suchbegriffen finde ich Infos zum Konfigurieren des Gateways?
Wenn nicht: Welche Komponenten sind erforderlich?

Freundliche Grüße
Carsten
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Beta-User

Hallo Carsten,

im Github-Repo von MySensors gibt es auch ein PI-Gateway. Allerdings kann ich Dir nicht sagen, wie das seitens FHEM einzubinden wäre. An sich sollte das auch auf demselben PI gehen, Erfahrungen hat hier aber -soweit mir bekannt- noch keiner damit.

Ansonsten kannst Du auch noch einen 2. Nano oder ESP8266 verwenden für ein serielles oder WLAN-GW. Im Wiki (Starter Guide) habe ich meine Erfahrungen mal niedergeschrieben, der PI als GW fehlt noch.... Im Moment wäre aber wohl zu empfehlen, eine ältere Version der Arduino-IDE zu verwenden. Zu den aktuellen Themen findest Du einiges in diesen Threads: https://forum.fhem.de/index.php/topic,26807.0.html
https://forum.fhem.de/index.php/topic,60917.0.html

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

gloob

Hier findest du Informationen zum Gateway:

https://www.mysensors.org/build/raspberry

Hier findest du Informationen zu einem einfachen Sensor:

https://www.mysensors.org/build/humidity
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Carsten K.

Guten Morgen,

vielen Dank für die Tipps.
Ich habe letzte Nacht noch einiges gestöbert und als krönenden Abschluss zumindest das Gateway über GPIO in FHEM zum Laufen gebracht.
Ich bin dabei nach dieser Anleitung vorgegangen.
Jetzt werde ich noch mal den Test-Sensor (Arduino + nnRF24L01) prüfen  - anscheinend passt da noch was mit der Kommunikation nicht.

Grüße
Carsten
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Beta-User

Hallo Carsten,

die von Dir zitierte Anleitung ist für ein 1.5-er Gateway. Damit klappt die Kommunikation mit einer Node >1.5 eher nicht....

Du solltest m.E. die aktuellen Sourcen auf https://github.com/mysensors/Raspberry (aktuelle Master) nehmen.

Viel Erfolg und bitte berichten!

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Carsten K.

#5
Hallo Beta-User,

ich nehme an, Du hast die Version 1.4 im Screen gesehen ;-)

Ich habe nun folgende Schritte vorgenommen:
sudo git clone https://github.com/mysensors/Raspberry.git
cd Raspberry
sudo make all
sudo make install
./PiGatewaySerial


Die Ausgabe von ./PiGatewaySerial ist:
sudo ./PiGatewaySerial
Starting PiGatewaySerial...
Protocol version - 1.4
Created PTY '/dev/pts/1'
Gateway tty: /dev/ttyMySensorsGateway
================ SPI Configuration ================
CSN Pin  = CE0 (PI Hardware Driven)
CE Pin  = Custom GPIO25
Clock Speed = 8 Mhz
================ NRF Configuration ================
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0xa8a8e1fc00 0xa8a8e1fc00
RX_ADDR_P2-5 = 0xff 0xc4 0xc5 0xc6
TX_ADDR = 0xa8a8e1fc64
RX_PW_P0-6 = 0x20 0x20 0x20 0x00 0x00 0x00
EN_AA = 0x3b
EN_RXADDR = 0x06
RF_CH = 0x4c
RF_SETUP = 0x23
CONFIG = 0x0e
DYNPD/FEATURE = 0x3f 0x06
Data Rate = 250KBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_LOW
read: 100-100-255 s=255,c=3,t=7,pt=0,l=0:
send: 0-0-100-100 s=255,c=3,t=8,pt=1,l=1,st=fail:0
read: 100-100-255 s=255,c=3,t=7,pt=0,l=0:
send: 0-0-100-100 s=255,c=3,t=8,pt=1,l=1,st=ok:0
read: 100-100-255 s=255,c=3,t=7,pt=0,l=0:
send: 0-0-100-100 s=255,c=3,t=8,pt=1,l=1,st=ok:0
read: 100-100-255 s=255,c=3,t=7,pt=0,l=0:
send: 0-0-100-100 s=255,c=3,t=8,pt=1,l=1,st=ok:0

Im FHEM-Log kommt:
2016.11.18 14:15:31 1: /dev/ttyMySensorsGateway reappeared (meinMSG)
2016.11.18 14:16:37 3: MYSENSORS: ignoring internal-msg from unknown radioId 100, childId 255 for
2016.11.18 14:16:57 3: MYSENSORS: ignoring internal-msg from unknown radioId 100, childId 255 for
2016.11.18 14:17:01 3: MYSENSORS: ignoring internal-msg from unknown radioId 100, childId 255 for


Anscheinend bin ich irgendwo falsch abgebogen?

Gruß, Carsten
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Beta-User

Ich würde das mal als "sieht doch gut aus" interpretieren:
2016.11.18 14:16:37 3: MYSENSORS: ignoring internal-msg from unknown radioId 100, childId 255 for .

Hast Du den autocreate-Modus an? (global und am GW)?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Carsten K.

GW hat autocreate = 1
Das "Device" autocreate existiert auch:
Internals:
   NAME       autocreate
   NOTIFYDEV  global
   NR         14
   NTFY_ORDER 50-autocreate
   STATE      active
   TYPE       autocreate
Attributes:
   device_room NEW-DEVICES
   filelog    /opt/fhem/log/%NAME-%Y.log
   room       _system
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Beta-User

OK, dann ist es doch das "1.4", was problematisch ist!

Hier https://github.com/mysensors/Raspberry/issues/31 steht auch, dass der RPI-Port eben doch noch nicht auf dem Stand von 2.0 ist. Da der Anmeldeablauf der 2.0-Nodes etwas komplexer ist als der 1.x wird das wohl so nicht funktionieren...

Also: Sourcen für RPI-2.0.x finden (wo?) und es damit nochmal probieren oder
Node auf 1.x-Stand downgraden.

M.E. solltest Du evtl. noch einen Arduino opfern, und statt der GPIOs ein serielles GW aufbauen. Dabei aber beachten, dass Du bei der Arduino-IDE eine Boarddefinition <=1.6.11 verwendest. Wenn Du nicht den internen 3,3-V-Anschluß des Arduinos nimmst: ggf. PA_LEVEL anpassen.

Sorry,

Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Carsten K.

Kann das mit einer "Fail"-Meldung vom Arduino zusammenhängen?

Ich habe das Beispiel "PingPongSensor" hochgeladen, die Child_ID habe ich auf 42 gesetzt.
Die Log-Meldung am RPI sagt "Radio_id 100" (hier habe ich noch keine passenden Kenntnisse)

Serial Monitor (FAIL in den letzten beiden Zeilen):
Starting sensor (RNNNA-, 2.0.0)
TSM:INIT
TSM:RADIO:OK
TSP:ASSIGNID:OK (ID=100)
TSM:FPAR
TSP:MSG:SEND 100-100-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
TSP:MSG:READ 0-0-100 s=255,c=3,t=8,pt=1,l=1,sg=0:0
TSP:MSG:FPAR RES (ID=0, dist=0)
TSP:MSG:PAR OK (ID=0, dist=1)
TSM:FPAR:OK
TSM:ID
TSM:CHKID:OK (ID=100)
TSM:UPL
TSP:PING:SEND (dest=0)
TSP:MSG:SEND 100-100-0-0 s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=ok:1
TSP:CHKUPL:FAIL (hops=255)
!TSM:UPL:FAIL
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Carsten K.

Unsere Posts haben sich überholt ;)

Serieller GW bedeutet:
- Nano mit nRF24L01 per USB an RPI?
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Beta-User

Zitat von: Carsten K. am 18 November 2016, 14:58:58
Serieller GW bedeutet:
- Nano mit nRF24L01 per USB an RPI?
Korrekt bzw. ganz korrekt "nRF24L01+" (ohne ist die ältere Version, ist nicht ganz so schnell, ginge mit Modifikationen aber wohl auch; keine eigene Erfahrung).

Sonst gibt seit kurzem auch einen Wiki-Artikel: http://www.fhemwiki.de/wiki/MySensors_Starter_Guide
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Carsten K.

Danke :)
Ich habe das "+" vergessen ;-)
nRF24l01+ habe ich noch ein paar...
Dann werde ich das mal später angehen.

Vielen Dank für Dein Interesse und die Antworten  :D
Carsten
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k