💬 Connecting the Radio
-
@hek - I can look into that.
-
Hi all,
I'm using the Arduino Micro with al NRF24L01 radio. With the micro it's not posible to use the pin config of the Nano.
I got it working with the connections below.NRF24 > Micro
Miso > Miso
Mosi > Mosi
SCK > SCK
CSN > Pin D7
CE > Pin D8Thereby I put the code below in my arduino code before de "#include <SPI.h>"
// Pin Confuguration for Arduino Micro
#define MY_RF24_CE_PIN 8
#define MY_RF24_CS_PIN 7Maybe this is helpful for some other users.
Grtz Diver
-
I used RFM69 with Arduino before and a library where I have to initialize the radio with the frequency (868MHZ in my case) Does the mysensors library work for all frequencies of RFM69 without telling it which frequency to use?
@gvorster 868 is the default so you don't need to do anything. If you want to change it, add
#define MY_RFM69_FREQUENCYbefore including MySensors.h in your sketch. See https://github.com/mysensors/MySensors/blob/a31eff112e4895198bf6ec385fdeedb2910bb628/MyConfig.h#L588 for valid settings.
-
@gvorster 868 is the default so you don't need to do anything. If you want to change it, add
#define MY_RFM69_FREQUENCYbefore including MySensors.h in your sketch. See https://github.com/mysensors/MySensors/blob/a31eff112e4895198bf6ec385fdeedb2910bb628/MyConfig.h#L588 for valid settings.
-
@DiverAlpha said:
Hi all,
I'm using the Arduino Micro with al NRF24L01 radio. With the micro it's not posible to use the pin config of the Nano.
I got it working with the connections below.NRF24 > Micro
Miso > Miso
Mosi > Mosi
SCK > SCK
CSN > Pin D7
CE > Pin D8Thereby I put the code below in my arduino code before de "#include <SPI.h>"
// Pin Confuguration for Arduino Micro
#define MY_RF24_CE_PIN 8
#define MY_RF24_CS_PIN 7Maybe this is helpful for some other users.
Grtz Diver
@DiverAlpha
Thanx a lot for commenting with that information. I was having problems with the Arduino Mega. I connected the NRF24L01+ to the appropriate SPI pins on the Mega and then just defined the CE and CS pins in the code an now it works. Thanks again -
Hi all,
I tried a lot in the last coup[le of days but I can't get my network up and running...
I've got a Micro DHT sensor ans a Uno Ethernet Gateway.
The output of the Gateway:
0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
0;255;3;0;9;TSM:INIT
0;255;3;0;9;TSM:RADIO:OK
0;255;3;0;9;TSM:GW MODE
0;255;3;0;9;TSM:READY
IP: 192.168.5.8So I think this is nice but I'm not complete sure.
The output of the DHT sensor:
TSM:INIT
TSM:RADIO:OK
TSP:ASSIGNID:OK (ID=105)
TSM:FPAR
TSP:MSG:SEND 105-105-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
TSM:FPAR
TSP:MSG:SEND 105-105-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
TSM:FPAR
TSP:MSG:SEND 105-105-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
TSM:FPAR
TSP:MSG:SEND 105-105-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
!TSM:FPAR:FAIL
!TSM:FAILURE
TSM:PDTTo me it seems that the sensor cannot get a good connection to the gateway by the RF connection. The physical distance between de two RF modules is about 15 cm and I'm using a 10uF condensator on both of the RF modules.
Can someone tell me what I'm doing wrong?
Tnx in advance!
-
Hi all,
I tried a lot in the last coup[le of days but I can't get my network up and running...
I've got a Micro DHT sensor ans a Uno Ethernet Gateway.
The output of the Gateway:
0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
0;255;3;0;9;TSM:INIT
0;255;3;0;9;TSM:RADIO:OK
0;255;3;0;9;TSM:GW MODE
0;255;3;0;9;TSM:READY
IP: 192.168.5.8So I think this is nice but I'm not complete sure.
The output of the DHT sensor:
TSM:INIT
TSM:RADIO:OK
TSP:ASSIGNID:OK (ID=105)
TSM:FPAR
TSP:MSG:SEND 105-105-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
TSM:FPAR
TSP:MSG:SEND 105-105-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
TSM:FPAR
TSP:MSG:SEND 105-105-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
TSM:FPAR
TSP:MSG:SEND 105-105-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
!TSM:FPAR:FAIL
!TSM:FAILURE
TSM:PDTTo me it seems that the sensor cannot get a good connection to the gateway by the RF connection. The physical distance between de two RF modules is about 15 cm and I'm using a 10uF condensator on both of the RF modules.
Can someone tell me what I'm doing wrong?
Tnx in advance!
-
@mfalkvidd, They are now 2 meters apart from each other but still the same problem. I was thinking in this direction also but because I build those two on the same breadboard, it was a bit difficult to separate them. I now build the sensor on another breadboard and moved is 2 meters away. It can't be any longer because of the length of my USB cables.
All the logging I got from the gateway is posted in my previous post. So there is nothing about any child in there.
-
@mfalkvidd, They are now 2 meters apart from each other but still the same problem. I was thinking in this direction also but because I build those two on the same breadboard, it was a bit difficult to separate them. I now build the sensor on another breadboard and moved is 2 meters away. It can't be any longer because of the length of my USB cables.
All the logging I got from the gateway is posted in my previous post. So there is nothing about any child in there.
@DiverAlpha strange. You could try hard-coding the parent on the node, see MY_PARENT_NODE_IS_STATIC and MY_PARENT_NODE_ID on https://www.mysensors.org/download/sensor_api_20
-
@mfalkvidd, They are now 2 meters apart from each other but still the same problem. I was thinking in this direction also but because I build those two on the same breadboard, it was a bit difficult to separate them. I now build the sensor on another breadboard and moved is 2 meters away. It can't be any longer because of the length of my USB cables.
All the logging I got from the gateway is posted in my previous post. So there is nothing about any child in there.
@DiverAlpha
I am no expert in this. But when I started using MySensors few months ago, I also had some problems. Not because there is a problem with MySensors but because I was doing the simplest of the mistakes and I needed to think simple and do simple things first.What I would suggest is just try the simplest of the code first. This post is considering that you are using MySensors library 2.0.
This is what I did when I was trying out MySensors and I think you can try this too.
Firstly connect Arduino you are using properly to the radio with the proper connections using the instructions here. If you are using Arduino Mega, the SPI pins are different. Here is the link for Arduino Mega: https://forum.mysensors.org/topic/4940/arduino-mega-nrf-wiring/3. Make sure you have decoupling capacitors attached between the VCC and GND pins of both the radios.
After you make the connections upload the code for the gateway to one of the Arduinos. You can find the code in Arduino IDE, File > Examples > MySensors > GatewaySerial. Don't make any changes just upload the code.
Then what I did the first time is just run the following motion sensor code to the other Arduino. I have made a few changes to make things simpler for the node to find the gateway.
// Enable debug prints #define MY_DEBUG // Enable and select radio type attached #define MY_RADIO_NRF24 //#define MY_RADIO_RFM69 #define MY_NODE_ID 1 #define MY_PARENT_NODE_ID 0 #include <SPI.h> #include <MySensors.h> //unsigned long SLEEP_TIME = 120000; // Sleep time between reports (in milliseconds) #define DIGITAL_INPUT_SENSOR 3 // The digital input you attached your motion sensor. (Only 2 and 3 generates interrupt!) #define CHILD_ID 0 // Id of the sensor child // Initialize motion message MyMessage msg(CHILD_ID, V_TRIPPED); void setup() { pinMode(DIGITAL_INPUT_SENSOR, INPUT); // sets the motion sensor digital pin as input } void presentation() { // Send the sketch version information to the gateway and Controller sendSketchInfo("Motion Sensor", "1.0"); // Register all sensors to gw (they will be created as child devices) present(CHILD_ID, S_MOTION); } void loop() { // Read digital motion value boolean tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH; Serial.println(tripped); send(msg.set(tripped?"1":"0")); // Send tripped value to gw // Sleep until interrupt comes in on motion sensor. Send update every two minute. //sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, SLEEP_TIME); }Here, I have defined a NODE ID and defined the PARENT NODE ID for the node. Defining parent ID makes sure that the gateway that you have is the one, the node is supposed to connect to. I didn't even have motion sensor connected to the node here. This is just to make sure that first time you get everything working.
If this is done correctly the node and gateway should talk to each other and gateway should have the motion sensor registered.
Hope this helps.
-
Hy all,
Thanks for your help. Unfortunately it didn't solved the problem :-(.
I tried it with putting the NODE_ID's om static but that didn't help. MY_PARENT_NODE_IS_STATIC is totally not recognized in the Arduino IDE...I tried just what @palande.vaibhav mentioned with the code he posted. The only adjustment is that I had to change the CE and CS pin on the sensot because I'm using a Adruino Micro. Further the code was just copy-paste but the same result in the serial communication as I posted earlier. (Except now the ID was 1 in stead of 105...)
-
Hy all,
Thanks for your help. Unfortunately it didn't solved the problem :-(.
I tried it with putting the NODE_ID's om static but that didn't help. MY_PARENT_NODE_IS_STATIC is totally not recognized in the Arduino IDE...I tried just what @palande.vaibhav mentioned with the code he posted. The only adjustment is that I had to change the CE and CS pin on the sensot because I'm using a Adruino Micro. Further the code was just copy-paste but the same result in the serial communication as I posted earlier. (Except now the ID was 1 in stead of 105...)
@DiverAlpha
I tried it on my setup. The node shows the output with BC (st=bc) when I only have the node connected in that is powered ON. But when I power ON my gateway in they start communicating and I get st=ok.Here is the node without gateway connected:
Starting sensor (RNNNA-, 2.0.0) TSM:INIT TSM:RADIO:OK TSP:ASSIGNID:OK (ID=1) TSM:FPAR TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc: TSM:FPAR TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc: TSM:FPAR TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc: TSM:FPAR TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc: !TSM:FPAR:FAIL !TSM:FAILURE TSM:PDT TSM:INIT TSM:RADIO:OK TSP:ASSIGNID:OK (ID=1) TSM:FPAR TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:After I power ON the gateway I get following output:
TSM:PDT TSM:INIT TSM:RADIO:OK TSP:ASSIGNID:OK (ID=1) TSM:FPAR TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc: TSP:MSG:READ 0-0-1 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=1) TSM:UPL TSP:PING:SEND (dest=0) TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=ok:1 TSP:MSG:READ 0-0-1 s=255,c=3,t=25,pt=1,l=1,sg=0:1 TSP:MSG:PONG RECV (hops=1) TSP:CHKUPL:OK TSM:UPL:OK TSM:READY SHT31 test TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100 TSP:MSG:SEND 1-1-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=ok:2.0.0 TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=ok:0 TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=11,pt=0,l=22,sg=0,ft=0,st=ok:Temperature and switch TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=ok:1.0 TSP:MSG:SEND 1-1-0-0 s=0,c=0,t=6,pt=0,l=0,sg=0,ft=0,st=ok: TSP:MSG:SEND 1-1-0-0 s=1,c=0,t=7,pt=0,l=0,sg=0,ft=0,st=ok: TSP:MSG:SEND 1-1-0-0 s=2,c=0,t=6,pt=0,l=0,sg=0,ft=0,st=ok: Request registration... TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=ok:2 TSP:MSG:READ 0-0-1 s=255,c=3,t=27,pt=1,l=1,sg=0:1 Node registration=1 Init complete, id=1, parent=0, distance=1, registration=1 TSP:MSG:SEND 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=ok:22.0 Temp *C = 21.32 TSP:MSG:SEND 1-1-0-0 s=2,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=ok:21.32 Hum. % = 75.48 TSP:MSG:SEND 1-1-0-0 s=1,c=1,t=1,pt=7,l=5,sg=0,ft=0,st=ok:75.48Basically you need to have at least one node and a gateway working for MySensors to run properly.
Here is the thread I started when I had the same problem: https://forum.mysensors.org/topic/4941/problem-getting-the-code-to-run-with-mysensors-library-2-0/35Read last few comments, you will get the idea of what I am saying. You can also try the fix for this suggested by ayo in the comment #35.