Navigation

    • Register
    • Login
    • Search
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. Francisco_Elias
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Francisco_Elias

    @Francisco_Elias

    1
    Reputation
    8
    Posts
    22
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    Francisco_Elias Follow

    Best posts made by Francisco_Elias

    • RE: Nrf5x on NodeManager

      @user2684 Hi, I tried NRF51822 with the WaveShare dev board (https://www.waveshare.com/wiki/BLE400).
      I can use his integrated cp2120 to see the serial output (no need to do any special coding, it works out of the box if we use the proper board when uploading our sketch).
      I'm using a SSD1306 lcd working properly, using the proper library (https://github.com/beegee-tokyo/nRF52_OLED) and connecting the lcd to the SCL and SDA pins (P.01,P.02).

      The only thing I'm still trying to make it working is the Door sensor. Using Nodemanger is not working for me.

      posted in NodeManager
      Francisco_Elias
      Francisco_Elias

    Latest posts made by Francisco_Elias

    • MySensors + Irrigation controller sketch with Jeedom -> passing V_Var1, V_Var2 and V_Var3 at node request

      Hi all,
      I'm using MySensors since 2017, and recently I was trying to use the irrigation example (https://www.mysensors.org/build/irrigation) but faced a problem which I'm unable to overcome.
      The sketch ask every 5 minutes for the V_VAR1 V_VAR2 and V_VAR3 for configuring times and zone names.
      I arrived to send manually these values through jeedom (using the proper type : https://www.mysensors.org/download/serial_api_20#set,-req) but they are changed to 0 as the controller don't send any value at its request.
      Do you know how to set these values to the MySensors items in order to provide the values at the node request?

      Thanks

      posted in Jeedom
      Francisco_Elias
      Francisco_Elias
    • RE: Nrf5x on NodeManager

      Yesterday I unlocked the flash protection on my NRF52832 and I have the same behaviour than with the NRF51822. Using Nodemanager I can't use for door/interruption sensors other pins than the pin 3. Using the same NRF5 without nodemanager (just MySensor) they works perfect, I can use other pins and also various at same time.

      posted in NodeManager
      Francisco_Elias
      Francisco_Elias
    • RE: Nrf5x on NodeManager

      @user2684 Thanks User2684.
      I think I didn't explained properly the issue. The problem is the following:

      • NRF51822 + MySensors + NodeManager + Door Sensor = only works pin 3
      • Arduino Pro Mini + MySensors + NodeManager + Door Sensor = works both pins that manage interrupts (2 and 3)
      • NRF51822 + MySensors without Nodemanager + Door Sensors (tested pin 3 and others) = all tested pins works.

      So NRF51822 with NodeManager and Door Sensor is unable to handle interrupts comming from pins other than 3, when it can manage without any issue when we don't use NodeManager.

      I hope it explain the issue. Let me know if you have any doubt or if you need any other information. I'm available for performing any test.

      posted in NodeManager
      Francisco_Elias
      Francisco_Elias
    • RE: Nrf5x on NodeManager

      @user2684 Hi again. In order to verify if it is something related to mysensors nodemanager library I tested an sketch that monitor two pins (3 and 7) for changes and to print them over the serial and sending the message to the GW.
      Sum up:

      • Nodemanager + NRF51822 + a pin other than pin 3 = fails
      • Nodemanager + Arduino + a pin other than pin 3 = works
      • NRF51822 + MySensors (without Nodemanager) + a pin other than 3 = works

      Sketch for the NRF51822 test without Nodemanager:

      #define MY_DEBUG
      #define MY_RADIO_NRF5_ESB
      #include <MySensors.h>
      
      uint32_t SLEEP_TIME = 120000; 
      #define DIGITAL_INPUT_SENSOR 3   
      #define DIGITAL_INPUT_SENSOR2 7
      #define CHILD_ID 1   
      #define CHILD_ID2 2
      
      MyMessage msg(CHILD_ID, V_TRIPPED);
      MyMessage msg2(CHILD_ID2, V_TRIPPED);
      void setup()
      {
      	pinMode(DIGITAL_INPUT_SENSOR, INPUT);      
              pinMode(DIGITAL_INPUT_SENSOR2, INPUT);
      }
      
      void presentation()
      {
      	sendSketchInfo("Testing without Nodemanager on NRF51822", "1.0");
      	present(CHILD_ID, S_DOOR);
              present(CHILD_ID2, S_DOOR);
      }
      
      void loop()
      {
      	
      	bool tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH;
              bool tripped2 = digitalRead(DIGITAL_INPUT_SENSOR2) == HIGH;
      	Serial.println(tripped);
      	send(msg.set(tripped?"1":"0"));  // Send tripped value to gw
              Serial.println(tripped2);
              send(msg2.set(tripped2?"1":"0"));
      	sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, digitalPinToInterrupt(DIGITAL_INPUT_SENSOR2), CHANGE, SLEEP_TIME);
      }
      
      
      

      The serial output:

      15:16:34.164 ->  __  __       ____
      15:16:34.164 -> |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
      15:16:34.164 -> | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
      15:16:34.164 -> | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
      15:16:34.164 -> |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
      15:16:34.164 ->         |___/                      2.3.2
      15:16:34.164 -> 
      15:16:34.164 -> 24 MCO:BGN:INIT NODE,CP=RNNNN---,FQ=16,REL=255,VER=2.3.2
      15:16:34.164 -> 29 TSM:INIT
      15:16:34.164 -> 31 TSF:WUR:MS=0
      15:16:34.164 -> 32 TSM:INIT:TSP OK
      15:16:34.164 -> 34 TSF:SID:OK,ID=18
      15:16:34.199 -> 36 TSM:FPAR
      15:16:34.199 -> 43 ?TSF:MSG:SEND,18-18-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=NACK:
      15:16:36.206 -> 2052 !TSM:FPAR:NO REPLY
      15:16:36.206 -> 2054 TSM:FPAR
      15:16:36.206 -> 2061 ?TSF:MSG:SEND,18-18-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=1,st=NACK:
      15:16:37.154 -> 3027 TSF:MSG:READ,0-0-18,s=255,c=3,t=8,pt=1,l=1,sg=0:0
      15:16:37.188 -> 3032 TSF:MSG:FPAR OK,ID=0,D=1
      15:16:38.202 -> 4070 TSM:FPAR:OK
      15:16:38.202 -> 4071 TSM:ID
      15:16:38.202 -> 4072 TSM:ID:OK
      15:16:38.202 -> 4074 TSM:UPL
      15:16:38.202 -> 4076 TSF:MSG:SEND,18-18-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=2,st=OK:1
      15:16:38.235 -> 4083 TSF:MSG:READ,0-0-18,s=255,c=3,t=25,pt=1,l=1,sg=0:1
      15:16:38.235 -> 4089 TSF:MSG:PONG RECV,HP=1
      15:16:38.235 -> 4091 TSM:UPL:OK
      15:16:38.235 -> 4093 TSM:READY:ID=18,PAR=0,DIS=1
      15:16:38.235 -> 4097 TSF:MSG:SEND,18-18-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
      15:16:38.235 -> 4105 TSF:MSG:READ,0-0-18,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
      15:16:38.235 -> 4112 TSF:MSG:SEND,18-18-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=OK:2.3.2
      15:16:38.269 -> 4121 TSF:MSG:SEND,18-18-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
      15:16:38.304 -> 4175 TSF:MSG:READ,0-0-18,s=255,c=3,t=6,pt=0,l=1,sg=0:M
      15:16:38.338 -> 4182 TSF:MSG:SEND,18-18-0-0,s=255,c=3,t=11,pt=0,l=25,sg=0,ft=0,st=OK:Testing without Nodemanag
      15:16:38.338 -> 4193 TSF:MSG:SEND,18-18-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0
      15:16:38.338 -> 4201 TSF:MSG:SEND,18-18-0-0,s=1,c=0,t=0,pt=0,l=0,sg=0,ft=0,st=OK:
      15:16:38.338 -> 4209 TSF:MSG:SEND,18-18-0-0,s=2,c=0,t=0,pt=0,l=0,sg=0,ft=0,st=OK:
      15:16:38.373 -> 4216 MCO:REG:REQ
      15:16:38.373 -> 4218 TSF:MSG:SEND,18-18-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
      15:16:38.373 -> 4225 TSF:MSG:READ,0-0-18,s=255,c=3,t=27,pt=1,l=1,sg=0:1
      15:16:38.373 -> 4231 MCO:PIM:NODE REG=1
      15:16:38.373 -> 4233 MCO:BGN:STP
      15:16:38.373 -> 4235 MCO:BGN:INIT OK,TSP=1
      15:16:38.373 -> 1
      15:16:38.373 -> 4239 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:16:38.373 -> 1
      15:16:38.373 -> 4247 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:16:38.408 -> 4254 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
      15:16:38.408 -> 4259 TSF:TDI:TPD
      15:16:45.586 -> 11434 MCO:SLP:WUP=3
      15:16:45.586 -> 11436 TSF:TRI:TPU
      15:16:45.586 -> 0
      15:16:45.586 -> 11440 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0
      15:16:45.586 -> 1
      15:16:45.586 -> 11448 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:16:45.586 -> 11455 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
      15:16:45.586 -> 11460 TSF:TDI:TPD
      15:16:49.882 -> 15727 MCO:SLP:WUP=3
      15:16:49.882 -> 15729 TSF:TRI:TPU
      15:16:49.882 -> 1
      15:16:49.882 -> 15732 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:16:49.882 -> 1
      15:16:49.882 -> 15741 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:16:49.882 -> 15748 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
      15:16:49.882 -> 15752 TSF:TDI:TPD
      15:16:53.505 -> 19379 MCO:SLP:WUP=3
      15:16:53.539 -> 19381 TSF:TRI:TPU
      15:16:53.539 -> 0
      15:16:53.539 -> 19384 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0
      15:16:53.539 -> 1
      15:16:53.539 -> 19393 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:16:53.539 -> 19400 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
      15:16:53.539 -> 19405 TSF:TDI:TPD
      15:16:58.925 -> 24771 MCO:SLP:WUP=3
      15:16:58.925 -> 24773 TSF:TRI:TPU
      15:16:58.925 -> 1
      15:16:58.925 -> 24776 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:16:58.925 -> 1
      15:16:58.925 -> 24785 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:16:58.925 -> 24792 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
      15:16:58.925 -> 24796 TSF:TDI:TPD
      15:17:01.256 -> 27111 MCO:SLP:WUP=3
      15:17:01.256 -> 27112 TSF:TRI:TPU
      15:17:01.256 -> 0
      15:17:01.256 -> 27116 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0
      15:17:01.256 -> 1
      15:17:01.256 -> 27124 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:17:01.289 -> 27131 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
      15:17:01.289 -> 27136 TSF:TDI:TPD
      15:17:04.545 -> 30413 MCO:SLP:WUP=3
      15:17:04.545 -> 30415 TSF:TRI:TPU
      15:17:04.545 -> 1
      15:17:04.545 -> 30418 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:17:04.578 -> 1
      15:17:04.578 -> 30426 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:17:04.578 -> 30433 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
      15:17:04.578 -> 30438 TSF:TDI:TPD
      15:17:08.065 -> 33936 MCO:SLP:WUP=7
      15:17:08.065 -> 33938 TSF:TRI:TPU
      15:17:08.065 -> 1
      15:17:08.065 -> 33941 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:17:08.099 -> 0
      15:17:08.099 -> 33949 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0
      15:17:08.099 -> 33956 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
      15:17:08.099 -> 33961 TSF:TDI:TPD
      15:17:13.597 -> 39440 MCO:SLP:WUP=7
      15:17:13.597 -> 39442 TSF:TRI:TPU
      15:17:13.597 -> 1
      15:17:13.597 -> 39445 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:17:13.597 -> 1
      15:17:13.597 -> 39453 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:17:13.597 -> 39460 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
      15:17:13.597 -> 39465 TSF:TDI:TPD
      15:17:15.520 -> 41366 MCO:SLP:WUP=7
      15:17:15.520 -> 41368 TSF:TRI:TPU
      15:17:15.520 -> 1
      15:17:15.520 -> 41371 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:17:15.520 -> 0
      15:17:15.520 -> 41379 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0
      15:17:15.520 -> 41386 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
      15:17:15.520 -> 41391 TSF:TDI:TPD
      15:17:19.470 -> 45344 MCO:SLP:WUP=7
      15:17:19.503 -> 45346 TSF:TRI:TPU
      15:17:19.503 -> 1
      15:17:19.503 -> 45349 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:17:19.503 -> 1
      15:17:19.503 -> 45357 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:17:19.503 -> 45364 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
      15:17:19.503 -> 45369 TSF:TDI:TPD
      15:17:21.291 -> 47162 MCO:SLP:WUP=7
      15:17:21.291 -> 47164 TSF:TRI:TPU
      15:17:21.291 -> 1
      15:17:21.291 -> 47167 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:17:21.324 -> 0
      15:17:21.324 -> 47175 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0
      15:17:21.324 -> 47182 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
      15:17:21.324 -> 47187 TSF:TDI:TPD
      15:17:25.817 -> 51669 MCO:SLP:WUP=7
      15:17:25.817 -> 51670 TSF:TRI:TPU
      15:17:25.817 -> 1
      15:17:25.817 -> 51674 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:17:25.817 -> 1
      15:17:25.817 -> 51682 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
      15:17:25.817 -> 51689 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
      
      

      Gateway received information:

      
      1884	26/10/2020 15:16:38	RX	18	INTERNAL	C_PRESENTATION	NO	S_ARDUINO_NODE	2.3.2
      1885	26/10/2020 15:16:38	RX	18	INTERNAL	C_INTERNAL	NO	I_CONFIG	0
      1886	26/10/2020 15:16:38	TX	18	INTERNAL	C_INTERNAL	NO	I_CONFIG	M
      1887	26/10/2020 15:16:38	RX	18 - Testing without Nodemanag	INTERNAL	C_INTERNAL	NO	I_SKETCH_NAME	Testing without Nodemanag
      1888	26/10/2020 15:16:38	RX	18 - Testing without Nodemanag	INTERNAL	C_INTERNAL	NO	I_SKETCH_VERSION	1.0
      1889	26/10/2020 15:16:38	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_PRESENTATION	NO	S_DOOR	
      1890	26/10/2020 15:16:38	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_PRESENTATION	NO	S_DOOR	
      1891	26/10/2020 15:16:38	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1892	26/10/2020 15:16:38	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1893	26/10/2020 15:16:45	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_SET	NO	V_TRIPPED	0
      1894	26/10/2020 15:16:45	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1895	26/10/2020 15:16:49	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1896	26/10/2020 15:16:49	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1897	26/10/2020 15:16:55	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_SET	NO	V_TRIPPED	0
      1898	26/10/2020 15:16:56	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1899	26/10/2020 15:16:58	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1900	26/10/2020 15:16:58	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1901	26/10/2020 15:17:01	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_SET	NO	V_TRIPPED	0
      1902	26/10/2020 15:17:01	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1903	26/10/2020 15:17:04	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1904	26/10/2020 15:17:04	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1905	26/10/2020 15:17:08	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1906	26/10/2020 15:17:08	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_SET	NO	V_TRIPPED	0
      1907	26/10/2020 15:17:13	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1908	26/10/2020 15:17:13	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1909	26/10/2020 15:17:15	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1910	26/10/2020 15:17:15	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_SET	NO	V_TRIPPED	0
      1911	26/10/2020 15:17:19	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1912	26/10/2020 15:17:19	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1913	26/10/2020 15:17:21	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1914	26/10/2020 15:17:21	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_SET	NO	V_TRIPPED	0
      1915	26/10/2020 15:17:25	RX	18 - Testing without Nodemanag	1 - S_DOOR	C_SET	NO	V_TRIPPED	1
      1916	26/10/2020 15:17:25	RX	18 - Testing without Nodemanag	2 - S_DOOR	C_SET	NO	V_TRIPPED	1
      

      So no need to test the NRF52 (but I will do anyway and I'll post the result).
      Do you know how to inform to the development team about this issue?

      Thanks a lot

      posted in NodeManager
      Francisco_Elias
      Francisco_Elias
    • RE: Nrf5x on NodeManager

      Tested the same sketch on an Arduino Pro mini (changed the pin 7 to pin 2 due the limitation of the interruptions on this Arduino) and all seems to work fine:
      Sketch used:

      #define SKETCH_NAME "Testing Nodemanger on Arduino Pro Mini"
      #define SKETCH_VERSION "1.0"
      
      //#define MY_RADIO_NRF5_ESB
      #define MY_RADIO_RF24
      
      #define MY_BAUD_RATE 9600
      
      #define NODEMANAGER_DEBUG ON
      #define NODEMANAGER_INTERRUPTS ON
      #define NODEMANAGER_SLEEP OFF
      #define NODEMANAGER_RECEIVE OFF
      #define NODEMANAGER_DEBUG_VERBOSE OFF
      #define NODEMANAGER_POWER_MANAGER OFF
      #define NODEMANAGER_CONDITIONAL_REPORT OFF
      #define NODEMANAGER_EEPROM OFF
      #define NODEMANAGER_TIME OFF
      #define NODEMANAGER_RTC OFF
      #define NODEMANAGER_SD OFF
      #define NODEMANAGER_HOOKING OFF
      #define NODEMANAGER_OTA_CONFIGURATION OFF
      #define NODEMANAGER_SERIAL_INPUT OFF
      
      #include <MySensors_NodeManager.h>
      
      #include <sensors/SensorDoor.h>
      SensorDoor door(3);
      SensorDoor door2(2); // replaced pin 7 for pin 2 (arduino pro mini interruption limitation)
      
      void before() {
        nodeManager.before();
      }
      
      void presentation() {
        nodeManager.presentation();
      }
      
      void setup() {
        nodeManager.setup();
      }
      
      void loop() {
        nodeManager.loop();
      }
      

      Serial output log where we can see it detect the changes of both pins (2 & 3):

      09:52:41.566 ->  
      09:52:41.566 ->  __  __       ____
      09:52:41.599 -> |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
      09:52:41.633 -> | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
      09:52:41.700 -> | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
      09:52:41.734 -> |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
      09:52:41.803 ->         |___/                      2.3.2
      09:52:41.836 -> 
      09:52:41.836 -> 208 NM:INIT:VER=1.9-dev
      09:52:41.870 -> 301 NM:INIT:INO=Testing Nodemanger on Arduino Pro Mini v1.0
      09:52:41.938 -> 364 NM:INIT:LIB VER=2.3.2 CP=RNNNA--- 
      09:52:41.971 -> 405 NM:BFR:INIT
      09:52:46.052 -> 4505 NM:BFR:OK
      09:52:46.087 -> 4532 NM:PRES:DOOR(1) p=0 t=16
      09:52:46.121 -> 4564 NM:PRES:DOOR(2) p=0 t=16
      09:52:46.190 -> 4608 NM:STP:ID=52 M=1
      09:52:46.190 -> 4630 NM:LOOP:INT p=3 v=1
      09:52:46.224 -> 4632 NM:BFR:INT p=3 m=1
      09:52:46.224 -> 4657 NM:LOOP:INT p=2 v=1
      09:52:46.257 -> 4659 NM:BFR:INT p=2 m=1
      09:52:46.899 -> 4757 NM:STP:HW V=3242 F=8 M=1307
      09:52:46.934 -> 4792 NM:LOOP:DOOR(2):SET t=16 v=1
      09:53:12.277 -> 30169 NM:LOOP:INT p=2 v=0
      09:53:12.311 -> 30169 NM:LOOP:INT p=2 v=0
      09:53:16.634 -> 34463 NM:LOOP:INT p=2 v=0
      09:53:16.668 -> 34463 NM:LOOP:INT p=2 v=1
      09:53:16.668 -> 34465 NM:LOOP:DOOR(2):SET t=16 v=1
      09:53:19.738 -> 37509 NM:LOOP:INT p=3 v=0
      09:53:19.738 -> 37509 NM:LOOP:INT p=3 v=0
      09:53:19.772 -> 37509 NM:LOOP:INT p=3 v=0
      09:53:19.805 -> 37509 NM:LOOP:INT p=3 v=0
      09:53:23.630 -> 41297 NM:LOOP:INT p=3 v=0
      09:53:23.630 -> 41297 NM:LOOP:INT p=3 v=1
      09:53:23.664 -> 41299 NM:LOOP:DOOR(1):SET t=16 v=1
      09:53:28.297 -> 45950 NM:LOOP:INT p=2 v=0
      09:53:28.330 -> 45950 NM:LOOP:INT p=2 v=0
      09:53:28.399 -> 45983 NM:LOOP:INT p=2 v=0
      09:53:28.433 -> 45983 NM:LOOP:INT p=2 v=0
      09:53:28.467 -> 45985 NM:LOOP:DOOR(2):SET t=16 v=0
      09:53:32.836 -> 50368 NM:LOOP:INT p=2 v=1
      09:53:32.870 -> 50368 NM:LOOP:INT p=2 v=1
      09:53:34.666 -> 52156 NM:LOOP:INT p=3 v=0
      09:53:34.700 -> 52156 NM:LOOP:INT p=3 v=0
      09:53:38.559 -> 55984 NM:LOOP:INT p=3 v=0
      09:53:38.559 -> 55984 NM:LOOP:INT p=3 v=1
      09:53:44.281 -> 61687 NM:LOOP:INT p=2 v=0
      09:53:44.315 -> 61687 NM:LOOP:INT p=2 v=0
      09:53:44.349 -> 61691 NM:LOOP:DOOR(2):SET t=16 v=0
      09:53:44.383 -> 61704 NM:LOOP:INT p=2 v=0
      09:53:44.418 -> 61704 NM:LOOP:INT p=2 v=0
      09:53:49.123 -> 66408 NM:LOOP:INT p=2 v=0
      09:53:49.157 -> 66408 NM:LOOP:INT p=2 v=1
      09:53:49.191 -> 66410 NM:LOOP:DOOR(2):SET t=16 v=1
      09:53:52.885 -> 70107 NM:LOOP:INT p=3 v=0
      09:53:52.919 -> 70107 NM:LOOP:INT p=3 v=0
      09:53:57.596 -> 74776 NM:LOOP:INT p=3 v=1
      09:53:57.629 -> 74776 NM:LOOP:INT p=3 v=1
      
      

      This is the output from the Gateway:

      1634	26/10/2020 9:52:45	RX	52	INTERNAL	C_PRESENTATION	NO	S_ARDUINO_NODE	2.3.2
      1635	26/10/2020 9:52:46	RX	52	INTERNAL	C_INTERNAL	NO	I_CONFIG	0
      1636	26/10/2020 9:52:46	TX	52	INTERNAL	C_INTERNAL	NO	I_CONFIG	M
      1637	26/10/2020 9:52:46	RX	52 - Testing Nodemanger on Ard	INTERNAL	C_INTERNAL	NO	I_SKETCH_NAME	Testing Nodemanger on Ard
      1638	26/10/2020 9:52:46	RX	52 - Testing Nodemanger on Ard	INTERNAL	C_INTERNAL	NO	I_SKETCH_VERSION	1.0
      1639	26/10/2020 9:52:46	RX	52 - Testing Nodemanger on Ard	1 - DOOR	C_PRESENTATION	NO	S_DOOR	DOOR
      1640	26/10/2020 9:52:46	RX	52 - Testing Nodemanger on Ard	2 - DOOR	C_PRESENTATION	NO	S_DOOR	DOOR
      1641	26/10/2020 9:52:46	RX	52 - Testing Nodemanger on Ard	2 - DOOR	C_SET	NO	V_TRIPPED	1
      1642	26/10/2020 9:53:16	RX	52 - Testing Nodemanger on Ard	2 - DOOR	C_SET	NO	V_TRIPPED	1
      1643	26/10/2020 9:53:23	RX	52 - Testing Nodemanger on Ard	1 - DOOR	C_SET	NO	V_TRIPPED	1
      1644	26/10/2020 9:53:28	RX	52 - Testing Nodemanger on Ard	2 - DOOR	C_SET	NO	V_TRIPPED	0
      1645	26/10/2020 9:53:44	RX	52 - Testing Nodemanger on Ard	2 - DOOR	C_SET	NO	V_TRIPPED	0
      1646	26/10/2020 9:53:49	RX	52 - Testing Nodemanger on Ard	2 - DOOR	C_SET	NO	V_TRIPPED	1
      
      

      Next step is to test it on a NRF52832. It will take some days as I need to set up my raspberry pi to unlock the NRF52 flash protection using the OpenOCD (I never did it and I need to read some docs). I'll keep you updated.

      posted in NodeManager
      Francisco_Elias
      Francisco_Elias
    • RE: Nrf5x on NodeManager

      I forgot to mention what I'm using:

      • WaveShare BLE400 motherboard
      • NRF51822 modules
      • MySensors library 2.3.2
      • Nodemanager (development version, updated few days ago)
      • I'll use a NRF52832, but it will take one or two days (I need to unlock the NF52 flash protection in order to use it with my ST-Link)
      posted in NodeManager
      Francisco_Elias
      Francisco_Elias
    • RE: Nrf5x on NodeManager

      @user2684 @Puneit-Thukral Thanks Puneit and User2684.
      I think I isolate more the problem. Using pin 3 for the sensor (I tested some of them) always works, if I use a different pin (I tested more than 10 different ones) other than pin 3 the sensor doesn't work. I tried to eliminate a hw issue, so I tested 3 different nrf51822 modules. I tested a simple sketch with two door sensors, one attached to pin 3 and another to pin 7. Pin 3 works but Pin 7 never works:

      #define SKETCH_NAME "Testing Nodemanger on NRF51822"
      #define SKETCH_VERSION "1.0"
      
      #define MY_RADIO_NRF5_ESB
      #define MY_BAUD_RATE 9600
      
      #define NODEMANAGER_DEBUG ON
      #define NODEMANAGER_INTERRUPTS ON
      #define NODEMANAGER_SLEEP OFF
      #define NODEMANAGER_RECEIVE OFF
      #define NODEMANAGER_DEBUG_VERBOSE OFF
      #define NODEMANAGER_POWER_MANAGER OFF
      #define NODEMANAGER_CONDITIONAL_REPORT OFF
      #define NODEMANAGER_EEPROM OFF
      #define NODEMANAGER_TIME OFF
      #define NODEMANAGER_RTC OFF
      #define NODEMANAGER_SD OFF
      #define NODEMANAGER_HOOKING OFF
      #define NODEMANAGER_OTA_CONFIGURATION OFF
      #define NODEMANAGER_SERIAL_INPUT OFF
      
      #include <MySensors_NodeManager.h>
      
      #include <sensors/SensorDoor.h>
      SensorDoor door(3);
      SensorDoor door2(7);
      
      void before() {
        nodeManager.before();
      }
      
      void presentation() {
        nodeManager.presentation();
      }
      
      void setup() {
        nodeManager.setup();
      }
      
      void loop() {
        nodeManager.loop();
      }
      

      This is the serial output:

      15:54:10.386 ->  
      15:54:10.419 ->  __  __       ____
      15:54:10.419 -> |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
      15:54:10.487 -> | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
      15:54:10.522 -> | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
      15:54:10.591 -> |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
      15:54:10.625 ->         |___/                      2.3.2
      15:54:10.660 -> 
      15:54:10.693 -> 284 NM:INIT:VER=1.9-dev
      15:54:10.693 -> 309 NM:INIT:INO=Testing Nodemanger on NRF51822 v1.0
      15:54:10.760 -> 364 NM:INIT:LIB VER=2.3.2 CP=RNNNN--- 
      15:54:10.793 -> 404 NM:BFR:INIT
      15:54:14.938 -> 4542 NM:BFR:OK
      15:54:14.972 -> 4561 NM:PRES:DOOR(1) p=0 t=16
      15:54:14.972 -> 4594 NM:PRES:DOOR(2) p=0 t=16
      15:54:15.040 -> 4634 NM:STP:ID=18 M=1
      15:54:15.040 -> 4658 NM:BFR:INT p=3 m=2
      15:54:15.073 -> 4683 NM:STP:HW V=3303 F=16 M=0
      15:54:45.439 -> 35033 NM:LOOP:INT p=3 v=0
      15:54:45.439 -> 35060 NM:LOOP:DOOR(1):SET t=16 v=0
      15:54:51.644 -> 41251 NM:LOOP:INT p=3 v=1
      15:54:57.218 -> 46839 NM:LOOP:INT p=3 v=0
      15:54:57.251 -> 46866 NM:LOOP:DOOR(1):SET t=16 v=0
      15:55:04.109 -> 53731 NM:LOOP:INT p=3 v=1
      15:55:25.624 -> 75223 NM:LOOP:INT p=3 v=0
      15:55:44.678 -> 94288 NM:LOOP:INT p=3 v=1
      15:55:54.928 -> 104520 NM:LOOP:INT p=3 v=0
      15:56:09.315 -> 118909 NM:LOOP:INT p=3 v=1
      

      And this is what the gateway is receiving (checking it with MYSController):

      1575	25/10/2020 15:54:10	TX	18 - Testing Nodemanger on NRF	N/A	C_INTERNAL	NO	I_REBOOT	0
      1576	25/10/2020 15:54:14	RX	18	INTERNAL	C_PRESENTATION	NO	S_ARDUINO_NODE	2.3.2
      1577	25/10/2020 15:54:14	RX	18	INTERNAL	C_INTERNAL	NO	I_CONFIG	0
      1578	25/10/2020 15:54:14	TX	18	INTERNAL	C_INTERNAL	NO	I_CONFIG	M
      1579	25/10/2020 15:54:14	RX	18 - Testing Nodemanger on NRF	INTERNAL	C_INTERNAL	NO	I_SKETCH_NAME	Testing Nodemanger on NRF
      1580	25/10/2020 15:54:15	RX	18 - Testing Nodemanger on NRF	INTERNAL	C_INTERNAL	NO	I_SKETCH_VERSION	1.0
      1581	25/10/2020 15:54:15	RX	18 - Testing Nodemanger on NRF	1 - DOOR	C_PRESENTATION	NO	S_DOOR	DOOR
      1582	25/10/2020 15:54:15	RX	18 - Testing Nodemanger on NRF	2 - DOOR	C_PRESENTATION	NO	S_DOOR	DOOR
      1583	25/10/2020 15:54:45	RX	18 - Testing Nodemanger on NRF	1 - DOOR	C_SET	NO	V_TRIPPED	0
      1584	25/10/2020 15:54:57	RX	18 - Testing Nodemanger on NRF	1 - DOOR	C_SET	NO	V_TRIPPED	0
      1585	25/10/2020 16:01:33	RX	18 - Testing Nodemanger on NRF	INTERNAL	C_INTERNAL	NO	I_DISCOVER_RESPONSE	0
      
      

      I tested with a simple sketch and without nodemanager I can detect pin changes without any issue. My next steps will be:

      1. to check the same sketch with a NRF52832 (to check if something tied to the NRF51822). I have both ones.
      2. to check the same sketch with an arduino, so to verify it is something that only happen with NRF5.
      posted in NodeManager
      Francisco_Elias
      Francisco_Elias
    • RE: Nrf5x on NodeManager

      @user2684 Hi, I tried NRF51822 with the WaveShare dev board (https://www.waveshare.com/wiki/BLE400).
      I can use his integrated cp2120 to see the serial output (no need to do any special coding, it works out of the box if we use the proper board when uploading our sketch).
      I'm using a SSD1306 lcd working properly, using the proper library (https://github.com/beegee-tokyo/nRF52_OLED) and connecting the lcd to the SCL and SDA pins (P.01,P.02).

      The only thing I'm still trying to make it working is the Door sensor. Using Nodemanger is not working for me.

      posted in NodeManager
      Francisco_Elias
      Francisco_Elias