good karma
-
Hello,
Well, I thought I would have to wait for 30 days to have hardware, but I received it under 9 days.... well recommended hardware seller here are worth 5 stars !
Some soldering away and I'll have actual nodes !
Best !
-
Hi all, i try to use your library in my project with Raspberry Pi as Gateway, I start with your example "piGateway", all starting is done, here debug lines:
Starting Gateway...
Sensor-1Gateway created...
Hej-begin-SPI device = /dev/spidev0.0
SPI speed = 8000000
CE GPIO = 25
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0x7365727631 0xabcdabc000
RX_ADDR_P2-5 = 0xff 0xe3 0xe4 0xe5
TX_ADDR = 0x7365727631
RX_PW_P0-6 = 0x20 0x20 0x20 0x20 0x20 0x20
EN_AA = 0x3f
EN_RXADDR = 0x3f
RF_CH = 0x4c
RF_SETUP = 0x07
CONFIG = 0x0f
DYNPD/FEATURE = 0x3f 0x04
Data Rate = 1MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_MAX
Radio setup complete-After setupRadio-After openReadingPipe-After startListening-After serial-Begin calledbut if I run my arduino with any examples (HumiditySensor, BatteryPoweredSensor, ...) They don't communicate. I double checked wiring, all is OK. Need help thanks.
-
Hi all, i try to use your library in my project with Raspberry Pi as Gateway, I start with your example "piGateway", all starting is done, here debug lines:
Starting Gateway...
Sensor-1Gateway created...
Hej-begin-SPI device = /dev/spidev0.0
SPI speed = 8000000
CE GPIO = 25
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0x7365727631 0xabcdabc000
RX_ADDR_P2-5 = 0xff 0xe3 0xe4 0xe5
TX_ADDR = 0x7365727631
RX_PW_P0-6 = 0x20 0x20 0x20 0x20 0x20 0x20
EN_AA = 0x3f
EN_RXADDR = 0x3f
RF_CH = 0x4c
RF_SETUP = 0x07
CONFIG = 0x0f
DYNPD/FEATURE = 0x3f 0x04
Data Rate = 1MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_MAX
Radio setup complete-After setupRadio-After openReadingPipe-After startListening-After serial-Begin calledbut if I run my arduino with any examples (HumiditySensor, BatteryPoweredSensor, ...) They don't communicate. I double checked wiring, all is OK. Need help thanks.
-
Hi all, i try to use your library in my project with Raspberry Pi as Gateway, I start with your example "piGateway", all starting is done, here debug lines:
Starting Gateway...
Sensor-1Gateway created...
Hej-begin-SPI device = /dev/spidev0.0
SPI speed = 8000000
CE GPIO = 25
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0x7365727631 0xabcdabc000
RX_ADDR_P2-5 = 0xff 0xe3 0xe4 0xe5
TX_ADDR = 0x7365727631
RX_PW_P0-6 = 0x20 0x20 0x20 0x20 0x20 0x20
EN_AA = 0x3f
EN_RXADDR = 0x3f
RF_CH = 0x4c
RF_SETUP = 0x07
CONFIG = 0x0f
DYNPD/FEATURE = 0x3f 0x04
Data Rate = 1MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_MAX
Radio setup complete-After setupRadio-After openReadingPipe-After startListening-After serial-Begin calledbut if I run my arduino with any examples (HumiditySensor, BatteryPoweredSensor, ...) They don't communicate. I double checked wiring, all is OK. Need help thanks.
@aliasdoc Do the RX_ADDR_Px and TX_ADDR values match your configuration? If they are then communication seems to work ok.
Some other trivial questions:- are both radio's on the same channel
- same baudrate
- both use CRC
- have same packet length/use dynamic packet length
- do you run the RPi code as root?
-
Hi Yveaux and thanks, effectively, config of my arduino is 2MBPS and RPi is 1MBPS, now it communicate but in RPI, I had "Unknown route from GW" error :
Dynamic payload size=7
Received: from=255, to=255, childId=79, mtype=9, type=0, crc=184, ''
Message crc ok.
header.type=0, header.to=255, radioId=0
Unknown route from GWand from arduino:
Tx: fr=255,to=255,la=255,ne=255,ci=255,mt=4,ty=9,cr=184:
No relay nodes was found. Trying again in 10 seconds. -
Hi Yveaux and thanks, effectively, config of my arduino is 2MBPS and RPi is 1MBPS, now it communicate but in RPI, I had "Unknown route from GW" error :
Dynamic payload size=7
Received: from=255, to=255, childId=79, mtype=9, type=0, crc=184, ''
Message crc ok.
header.type=0, header.to=255, radioId=0
Unknown route from GWand from arduino:
Tx: fr=255,to=255,la=255,ne=255,ci=255,mt=4,ty=9,cr=184:
No relay nodes was found. Trying again in 10 seconds. -
Hi Yveaux and thanks, effectively, config of my arduino is 2MBPS and RPi is 1MBPS, now it communicate but in RPI, I had "Unknown route from GW" error :
Dynamic payload size=7
Received: from=255, to=255, childId=79, mtype=9, type=0, crc=184, ''
Message crc ok.
header.type=0, header.to=255, radioId=0
Unknown route from GWand from arduino:
Tx: fr=255,to=255,la=255,ne=255,ci=255,mt=4,ty=9,cr=184:
No relay nodes was found. Trying again in 10 seconds.@aliasdoc
It looks like the gateway/controller don't know where to send/route message for node 255.
I haven't really analyzed the RPI code that deeply but it must mimic the EEPROM routing table that the serial/ethernet gateway has (by picking up incomings messages last node.id)... If that is missing then RPI-gw has no clue where to send outgoing messages to nodes. -
Hi Hek :), thanks for your reply, my RPi is my gateway, i try to make my own "cloud support", for testing, I have 1 RPi running as gateway (with example on github) and 1 sensor running BatteryPowerSensor sketch (original) like this:
(my cloud system) <-------- RPi (as gateway) <------------ arduino sensor (with BatteryPowersensor sketch)
Do I need to start inclusion mode ?? If I understand well, this mode is for automatic ID attribution, is correct ?
And I don't see any EEPROM routing table in serial ethernet examples.
Sorry if my questions are stupid, I try to understand how it works.
-
You really don't need to start include mode (that was more to help vera cope with things).
A request for id will have messageType=4, type=5.What you got was:
Received: from=255, to=255, childId=79, mtype=9, type=0, crc=184, ''There actually is no mtype=9. Looks like your header is messed up. Probably due to usage of c-bifields for the header struct (which is assembled/disassembled differently for rpi/arduino compiler). This has been fixed in the upcoming version of the library (were we use normal bit operations to extract the part-8-bit header stuff). A quickfix could be to use full bytes for all header fields (on the arduin/rpi-side).
Or you could have a look at the new development version: https://github.com/mysensors/Arduino/tree/development and make the corresponding changes to RPI code.
If you do the (preferred) later approach, please make sure to create a github pull request so we don't duplicate any work. :)
-
@hek any idea to port eeprom routing table to raspberry, I think I can use a binary file to this and redefine eeprom_*() functions. What do you think about it ?
-
Ok, now I ported the library to RPI and make tests but the first send command from node is ok, but after it fails
RPI debug:0;0;4;9;Device startup complete.
0;0;4;8;read: 255-255-255 s=255,c=4,t=7,cr=ec:
0;0;4;8;read: 255-255-255 s=255,c=4,t=7,cr=ec:
0;0;4;8;read: 255-255-0 s=255,c=4,t=3,cr=ec:
0;0;4;8;read: 255-255-0 s=255,c=4,t=3,cr=ec:
0;0;4;8;read: 255-255-0 s=255,c=4,t=3,cr=ec:
0;0;4;8;read: 255-255-0 s=255,c=4,t=3,cr=ec:
0;0;4;8;read: 255-255-0 s=255,c=4,t=3,cr=ec:
0;0;4;8;read: 255-255-0 s=255,c=4,t=3,cr=ec:
0;0;4;8;read: 255-255-0 s=255,c=4,t=3,cr=ec:
0;0;4;8;read: 255-255-0 s=255,c=4,t=3,cr=ec:
0;0;4;8;read: 255-255-0 s=255,c=4,t=3,cr=ec:
0;0;4;8;read: 255-255-0 s=255,c=4,t=3,cr=ec:and arduino node debug:
send: 255-255-255-255 s=255,c=4,t=7, st=ok:
req node id
send: 255-255-255-0 s=255,c=4,t=3, st=fail:
sensor started, id 255
req node id
send: 255-255-255-0 s=255,c=4,t=3, st=fail:
req node id
send: 255-255-255-0 s=255,c=4,t=3, st=fail:
req node id
send: 255-255-255-0 s=255,c=4,t=3, st=fail:
req node id
send: 255-255-255-0 s=255,c=4,t=3, st=fail:
req node id
send: 255-255-255-0 s=255,c=4,t=3, st=fail:any idea ?