Step-by-step procedure to connect the NRF24L01+ to the GPIO pins and use the Raspberry as a Serial Gateway (MySensors 1.x)
-
I have been thinking about giving this a try But:-
The Raspberry port is using protocol version 1.4.
Do the sensors also have to use version 1.4?@rmtucker
No, the sensors can be running 1.5 or 2.0-beta, the PI will run a 1.4 version.
The only thing not supported by the PiGateway is message signing.
But I have a mix of sensors in 1.5, 1.6-beta and 2.0-beta in my home network, so it certainly works. -
@rmtucker
No, the sensors can be running 1.5 or 2.0-beta, the PI will run a 1.4 version.
The only thing not supported by the PiGateway is message signing.
But I have a mix of sensors in 1.5, 1.6-beta and 2.0-beta in my home network, so it certainly works.Is it best to start with a blank jessie image and manually install/compile domoticz or just use the domoticz sd image?
The latter would be the easiest for me because i am useless with the CLI but if the first method is best?? -
Adding support for signing on a pi gw should just be a matter of implementing random number generation and use software signing. With slight modification in the software signing backend as it assumes Arduino api:s for obtaining a seed for the rng.
-
Is it best to start with a blank jessie image and manually install/compile domoticz or just use the domoticz sd image?
The latter would be the easiest for me because i am useless with the CLI but if the first method is best??@rmtucker if you want to be able to run the very latest version of Domoticz, use the Debian image and compile Domoticz from git.
I use the Domoticz image. The downside is that I need to wait for new "official" Domoticz builds before upgrading, but the upside is that getting up and running was very easy.
-
@rmtucker if you want to be able to run the very latest version of Domoticz, use the Debian image and compile Domoticz from git.
I use the Domoticz image. The downside is that I need to wait for new "official" Domoticz builds before upgrading, but the upside is that getting up and running was very easy.
@mfalkvidd
Actually ... I started with an official Domoticz build, and then I indicated in the settings that I wanted to update with the beta version. Since then I'm always on the latest beta (v5143 at the moment). -
@mfalkvidd
Actually ... I started with an official Domoticz build, and then I indicated in the settings that I wanted to update with the beta version. Since then I'm always on the latest beta (v5143 at the moment). -
@GertSanders cool. How often is the beta updated? Every build?
@mfalkvidd
Well, that seems to be the case. Sometimes I see daily updates, sometimes a week passes by without any changes. I selected the BETA channel for updates and since then I have seen new functionality come in on a regular basis. Not all of it is relevant to Mysensors of course, but none the less it's fun to see Domoticz is developed actively. -
@mfalkvidd
Well, that seems to be the case. Sometimes I see daily updates, sometimes a week passes by without any changes. I selected the BETA channel for updates and since then I have seen new functionality come in on a regular basis. Not all of it is relevant to Mysensors of course, but none the less it's fun to see Domoticz is developed actively.@GertSanders I have seen no issues in Domoticz stable with CPU usage. Thing just purrs along. Will have to check when I get home but i believe my system uptime is approaching 1 year. It "just works" as they say.
I would like to upgrade to mysensors 2.0 library by it looks like the Pi repo has not being updated as often (last I checked, anyway).
-
@GertSanders I have seen no issues in Domoticz stable with CPU usage. Thing just purrs along. Will have to check when I get home but i believe my system uptime is approaching 1 year. It "just works" as they say.
I would like to upgrade to mysensors 2.0 library by it looks like the Pi repo has not being updated as often (last I checked, anyway).
@wergeld
Correct, the PI repo is basically unchanged. But it still is compatible with the 2.0-beta Mysensors library. -
@wergeld
Correct, the PI repo is basically unchanged. But it still is compatible with the 2.0-beta Mysensors library.@GertSanders What? I was under the impression that some features (like sending messages to nodes from domitcz wouldn't work).
-
@GertSanders What? I was under the impression that some features (like sending messages to nodes from domitcz wouldn't work).
@wergeld
Did not notice that, I can send values and "switch on" messages to nodes. The only thing I miss is the signing via ATSHA204. Even V_TEXT sending to and from nodes works. -
I have some trouble with the gateway not storing the network map, if i restart the gateway my non-sensor nodes need to send some kind of heartbeat to reconnect to the gateway.
Is this a known problem or is it something wrong with my setup?
-
Yes, known problem.
I had some hopes on @marceloaqno and @aaron832 providing a PR into development branch (so we can scrap the old RPI code). But there hasn't been any activity in a while.
https://forum.mysensors.org/topic/2759/mysensors-raspberry-port-suggestions/12 -
Yes, known problem.
I had some hopes on @marceloaqno and @aaron832 providing a PR into development branch (so we can scrap the old RPI code). But there hasn't been any activity in a while.
https://forum.mysensors.org/topic/2759/mysensors-raspberry-port-suggestions/12@hek But insted of including heartbeats from every non sensor node (trying to keep 2.4 ghz traffic to a minimum), can i solve this by using an arduino repeater node? So the repeater knows the network map and sends heartbeat to the gateway.
-
@mfalkvidd I did the make clean and the make install and rebooted.
Still 0x4c eq. 76Using username "pi". Server refused our key pi@192.168.1.14's password: ______ _ _ | _ \ | | (_) | | | |___ _ __ ___ ___ | |_ _ ___ ____ | | | / _ \| '_ ` _ \ / _ \| __| |/ __|_ / | |/ / (_) | | | | | | (_) | |_| | (__ / / |___/ \___/|_| |_| |_|\___/ \__|_|\___/___| Last login: Sat Apr 9 18:41:17 2016 from 192.168.1.34 Monday, 11 April 2016, 12:10:24 pm CEST Linux 4.1.18-v7+ armv7l GNU/Linux Uptime.............: 1 days, 17h29m13s Memory.............: 520336kB (Free) / 948056kB (Total) Load Averages......: 0.00, 0.01, 0.05 (1, 5, 15 min) Running Processes..: 97 IP Addresses.......: 192.168.1.14 pi@Domoticz3:~$ cd Raspberry/ pi@Domoticz3:~/Raspberry$ cat MyConfig.h /* The MySensors library adds a new layer on top of the RF24 library. It handles radio network routing, relaying and ids. Created by Henrik Ekblad <henrik.ekblad@gmail.com> 12/10/14 - Ported to Raspberry Pi by OUJABER Mohamed <m.oujaber@gmail.com> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. */ #ifndef MyConfig_h #define MyConfig_h /*** * Configure Sensor Network */ #define RF24_CHANNEL 111 //RF channel for the sensor net, 0-127 #define RF24_DATARATE RF24_250KBPS //RF24_250KBPS for 250kbs, RF24_1MBPS for 1Mbps, or RF24_2MBPS for 2Mbps #define RF24_PA_LEVEL RF24_PA_MAX //Sensor PA Level == RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_HIGH=-6dBM, and RF24_PA_MAX=0dBm #define RF24_PA_LEVEL_GW RF24_PA_MAX //Gateway PA Level, defaults to Sensor net PA Level. Tune here if using an amplified nRF2401+ in your gateway. #define BASE_RADIO_ID ((uint64_t)0xA8A8E1FC00LL) // This is also act as base value for sensor nodeId addresses. Change this (or channel) if you have more than one sensor network. // MySensors online examples defaults #define DEFAULT_CE_PIN 9 #define DEFAULT_CS_PIN 10 /*** * Enable/Disable debug logging */ #define DEBUG #ifdef __Raspberry_Pi #define vsnprintf_P vsnprintf #define snprintf_P snprintf #define PSTR(x) (x) #define printf_P printf #define strlen_P strlen #endif #endif pi@Domoticz3:~/Raspberry$ make clean rm -rf MyGateway MySensor MyMessage PiEEPROM PiGateway PiGatewaySerial MyGateway.o MySensor.o MyMessage.o PiEEPROM.o PiGateway.o PiGatewaySerial.o pi@Domoticz3:~/Raspberry$ make all g++ -c -o MyGateway.o MyGateway.cpp -Wall -Ofast -mfpu=vfp -lpthread -g -D__Raspberry_Pi -mfloat-abi=hard -mtune=arm1176jzf-s -D_TTY_NAME=\"/dev/ttyMySensorsGateway\" -D_TTY_GROUPNAME=\"tty\" -march=armv6zk -I. -I/usr/local/include/RF24 g++ -c -o MySensor.o MySensor.cpp -Wall -Ofast -mfpu=vfp -lpthread -g -D__Raspberry_Pi -mfloat-abi=hard -mtune=arm1176jzf-s -D_TTY_NAME=\"/dev/ttyMySensorsGateway\" -D_TTY_GROUPNAME=\"tty\" -march=armv6zk -I. -I/usr/local/include/RF24 g++ -c -o MyMessage.o MyMessage.cpp -Wall -Ofast -mfpu=vfp -lpthread -g -D__Raspberry_Pi -mfloat-abi=hard -mtune=arm1176jzf-s -D_TTY_NAME=\"/dev/ttyMySensorsGateway\" -D_TTY_GROUPNAME=\"tty\" -march=armv6zk -I. -I/usr/local/include/RF24 g++ -c -o PiEEPROM.o PiEEPROM.cpp -Wall -Ofast -mfpu=vfp -lpthread -g -D__Raspberry_Pi -mfloat-abi=hard -mtune=arm1176jzf-s -D_TTY_NAME=\"/dev/ttyMySensorsGateway\" -D_TTY_GROUPNAME=\"tty\" -march=armv6zk -I. -I/usr/local/include/RF24 g++ -c -o PiGateway.o PiGateway.cpp -Wall -Ofast -mfpu=vfp -lpthread -g -D__Raspberry_Pi -mfloat-abi=hard -mtune=arm1176jzf-s -D_TTY_NAME=\"/dev/ttyMySensorsGateway\" -D_TTY_GROUPNAME=\"tty\" -march=armv6zk -I. -I/usr/local/include/RF24 g++ -o PiGateway MyGateway.o MySensor.o MyMessage.o PiEEPROM.o PiGateway.o -Wall -Ofast -mfpu=vfp -lpthread -g -D__Raspberry_Pi -mfloat-abi=hard -mtune=arm1176jzf-s -D_TTY_NAME=\"/dev/ttyMySensorsGateway\" -D_TTY_GROUPNAME=\"tty\" -march=armv6zk -I. -I/usr/local/include/RF24 -lrf24-bcm g++ -c -o PiGatewaySerial.o PiGatewaySerial.cpp -Wall -Ofast -mfpu=vfp -lpthread -g -D__Raspberry_Pi -mfloat-abi=hard -mtune=arm1176jzf-s -D_TTY_NAME=\"/dev/ttyMySensorsGateway\" -D_TTY_GROUPNAME=\"tty\" -march=armv6zk -I. -I/usr/local/include/RF24 g++ -o PiGatewaySerial MyGateway.o MySensor.o MyMessage.o PiEEPROM.o PiGatewaySerial.o -Wall -Ofast -mfpu=vfp -lpthread -g -D__Raspberry_Pi -mfloat-abi=hard -mtune=arm1176jzf-s -D_TTY_NAME=\"/dev/ttyMySensorsGateway\" -D_TTY_GROUPNAME=\"tty\" -march=armv6zk -I. -I/usr/local/include/RF24 -lrf24-bcm -lutil pi@Domoticz3:~/Raspberry$ sudo reboot Broadcast message from pi@Domoticz3 on pts/1 (Mon 2016-04-11 12:12:17 CEST): The system is going down for reboot NOW! pi@Domoticz3:~/Raspberry$ Using username "pi". Server refused our key pi@192.168.1.14's password: ______ _ _ | _ \ | | (_) | | | |___ _ __ ___ ___ | |_ _ ___ ____ | | | / _ \| '_ ` _ \ / _ \| __| |/ __|_ / | |/ / (_) | | | | | | (_) | |_| | (__ / / |___/ \___/|_| |_| |_|\___/ \__|_|\___/___| Last login: Mon Apr 11 12:10:24 2016 from 192.168.1.34 Monday, 11 April 2016, 12:12:45 pm CEST Linux 4.1.18-v7+ armv7l GNU/Linux Uptime.............: 0 days, 00h00m25s Memory.............: 770952kB (Free) / 948056kB (Total) Load Averages......: 0.59, 0.16, 0.05 (1, 5, 15 min) Running Processes..: 100 IP Addresses.......: 192.168.1.14 pi@Domoticz3:~$ ls bash_scripts domoticz Dropbox-Uploader Raspberry RF24 pi@Domoticz3:~$ sudo /etc/init.d/PiGatewaySerial start [ ok ] Starting PiGatewaySerial (via systemctl): PiGatewaySerial.service. pi@Domoticz3:~$ sudo /etc/init.d/PiGatewaySerial start [ ok ] Starting PiGatewaySerial (via systemctl): PiGatewaySerial.service. pi@Domoticz3:~$ sudo ln -s /dev/ttyMySensorsGateway /dev/ttyUSB20 ln: failed to create symbolic link ‘/dev/ttyUSB20’: File exists pi@Domoticz3:~$ sudo /usr/local/sbin/PiGatewaySerial Starting PiGatewaySerial... Protocol version - 1.4 Created PTY '/dev/pts/2' 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 = 0xa8a8e RX_ADDR_P2-5 = 0xff 0xc4 TX_ADDR = 0xa8a8e1fc07 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: 5-5-5 s=5,c=5,t=5,pt=0,l=0: version mismatch ^CReceived SIGINT Exiting... pi@Domoticz3:~$@Sander-Stolk hi
how do you achieve to have a nice 'logon' screen ou your PI: Domotics Logo, @ip,memory,date... etc etc..
Im' newbee on raspberry from france
HAve a nice day
JP
i really want to have the same or any available sample like yours
| _ \ | | ()
| | | |__ _ __ ___ ___ | |_ _ ___ ____
| | | / _ | '_ ` _ \ / _ | | |/ | /
| |/ / () | | | | | | () | |_| | ( / /
|/ _/|| || ||___/ _||_/|Last login: Mon Apr 11 12:10:24 2016 from 192.168.1.34
Monday, 11 April 2016, 12:12:45 pm CEST
Linux 4.1.18-v7+ armv7l GNU/Linux
Uptime.............: 0 days, 00h00m25s
Memory.............: 770952kB (Free) / 948056kB (Total)
Load Averages......: 0.59, 0.16, 0.05 (1, 5, 15 min)
Running Processes..: 100
IP Addresses.......: 192.168.1.14 -
@Sander-Stolk hi
how do you achieve to have a nice 'logon' screen ou your PI: Domotics Logo, @ip,memory,date... etc etc..
Im' newbee on raspberry from france
HAve a nice day
JP
i really want to have the same or any available sample like yours
| _ \ | | ()
| | | |__ _ __ ___ ___ | |_ _ ___ ____
| | | / _ | '_ ` _ \ / _ | | |/ | /
| |/ / () | | | | | | () | |_| | ( / /
|/ _/|| || ||___/ _||_/|Last login: Mon Apr 11 12:10:24 2016 from 192.168.1.34
Monday, 11 April 2016, 12:12:45 pm CEST
Linux 4.1.18-v7+ armv7l GNU/Linux
Uptime.............: 0 days, 00h00m25s
Memory.............: 770952kB (Free) / 948056kB (Total)
Load Averages......: 0.59, 0.16, 0.05 (1, 5, 15 min)
Running Processes..: 100
IP Addresses.......: 192.168.1.14@jpbabou That is the Message of the day (motd) and you can edit it to fit your needs.
This guide should work on debian weezy and jessie
https://oitibs.com/debian-wheezy-dynamic-motd/ -
@jpbabou That is the Message of the day (motd) and you can edit it to fit your needs.
This guide should work on debian weezy and jessie
https://oitibs.com/debian-wheezy-dynamic-motd/@Tore-André-Rosander
Tks a lot for your answer.. It seems to look like what i want at logon..Iwill test it.
I keep you in touch!
