MKR1000 gateway problem



  • Hello all,

    I have a problem with a serial gateway based on a MKR1000 compatible board ( Dustino ).
    It inits properly and receives message from a test node equipped with a BMP180 sensor. The problem is that the sensor value ( both humidity and temperature ) are always zero. The node is sending correct values, as shown in the serial terminal, and if I connect another gateway based on an Arduino uno board I receive correct values.

    I have logs of the node, the Arduino Uno gateway and the MKR1000 gateway if needed.
    Any ideas?

    Thank you,

    Vittorio


  • Mod

    Hi @ziovic, welcome to the MySensors forum.

    The debug log from node + gateway and the sketch would be useful, yes.



  • Hi,

    thanks for your answer.
    Here follow the three logs. As an additional information I have also connected a node with a relay and I can properly switch the state with the SAMD Gateway. It looks like a parsing problem to me.

    Node log from serial console:

    0 NM:INIT:VER=1.8
    0 NM:INIT:INO=NodeManager v1.0
    0 NM:INIT:LIB VER=2.3.1 CP=RNNNA--- 
    0 NM:INIT:RBT p=255
    20 NM:BFR:INIT
    2184 NM:BFR:OK
    2203 NM:PRES:BMP180(1) p=6 t=0
    2238 NM:PRES:BMP180(2) p=8 t=4
    2275 NM:PRES:BMP180(3) p=8 t=5
    2335 NM:STP:ID=110 M=1
    2360 NM:SENS:BMP180:I2C a=0x77
    2471 NM:STP:HW V=4892 F=17 M=1076
    2513 NM:LOOP:BMP180(1):SET t=0 v=17.60
    2588 NM:LOOP:BMP180(2):SET t=4 v=985.-57
    2665 NM:LOOP:BMP180(3):SET t=5 v=stable```
    
    Working Arduino nano Gateway log:
    
    

    0;255;3;0;9;0 MCO:BGN:INIT GW,CP=RNNGA---,VER=2.2.0
    0;255;3;0;9;8 TSM:INIT
    0;255;3;0;9;12 TSF:WUR:MS=0
    0;255;3;0;9;23 TSM:INIT:TSP OK
    0;255;3;0;9;28 TSM:INIT:GW MODE
    0;255;3;0;9;34 TSM:READY:ID=0,PAR=0,DIS=0
    0;255;3;0;9;41 MCO:REG:NOT NEEDED
    0;255;3;0;14;Gateway startup complete.
    0;255;0;0;18;2.2.0
    0;255;3;0;9;49 MCO:BGN:STP
    0;255;3;0;9;62 MCO:BGN:INIT OK,TSP=1
    0;255;3;0;9;8285 TSF:MSG:READ,110-110-0,s=1,c=1,t=0,pt=7,l=5,sg=0:17.80
    110;1;1;0;0;17.80
    0;255;3;0;9;8298 TSF:MSG:READ,110-110-0,s=2,c=1,t=4,pt=7,l=5,sg=0:985.11
    110;2;1;0;4;985.11
    0;255;3;0;9;8313 TSF:MSG:READ,110-110-0,s=3,c=1,t=5,pt=0,l=6,sg=0:stable
    110;3;1;0;5;stable```

    SAMD faulty Gateway log:

    0;255;3;0;9;120220 MCO:BGN:INIT GW,CP=RNNGS---,REL=255,VER=2.3.1
    0;255;3;0;9;120230 TSF:LRT:OK
    0;255;3;0;9;120240 TSM:INIT
    0;255;3;0;9;120250 TSF:WUR:MS=0
    0;255;3;0;9;120265 TSM:INIT:TSP OK
    0;255;3;0;9;120275 TSM:INIT:GW MODE
    0;255;3;0;9;120285 TSM:READY:ID=0,PAR=0,DIS=0
    0;255;3;0;9;120295 MCO:REG:NOT NEEDED
    0;255;3;0;14;Gateway startup complete.
    0;255;0;0;18;2.3.1
    0;255;3;0;9;120305 MCO:BGN:STP
    0;255;3;0;9;120315 MCO:BGN:INIT OK,TSP=1
    0;255;3;0;9;120325 TSM:READY:NWD REQ
    0;255;3;0;9;120370 TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:
    0;255;3;0;9;127494 TSF:MSG:READ,110-110-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;127504 TSF:MSG:BC
    0;255;3;0;9;127514 TSF:MSG:FPAR REQ,ID=110
    0;255;3;0;9;127524 TSF:PNG:SEND,TO=0
    0;255;3;0;9;127534 TSF:CKU:OK
    0;255;3;0;9;127544 TSF:MSG:GWL OK
    0;255;3;0;9;128123 TSF:MSG:SEND,0-0-110-110,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;129530 TSF:MSG:READ,110-110-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1
    0;255;3;0;9;129540 TSF:MSG:PINGED,ID=110,HP=1
    0;255;3;0;9;129556 TSF:MSG:SEND,0-0-110-110,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:1
    0;255;3;0;9;129566 TSF:MSG:READ,110-110-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    0;255;3;0;9;129578 TSF:MSG:SEND,0-0-110-110,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
    0;255;3;0;9;129588 TSF:MSG:READ,110-110-0,s=255,c=0,t=17,pt=0,l=5,sg=0:2.3.1
    110;255;0;0;17;2.3.1
    0;255;3;0;9;129598 TSF:MSG:READ,110-110-0,s=255,c=3,t=6,pt=1,l=1,sg=0:0
    110;255;3;0;6;0
    0;255;3;0;9;131600 TSF:MSG:READ,110-110-0,s=255,c=3,t=11,pt=0,l=11,sg=0:NodeManager
    110;255;3;0;11;NodeManager
    0;255;3;0;9;131611 TSF:MSG:READ,110-110-0,s=255,c=3,t=12,pt=0,l=3,sg=0:1.0
    110;255;3;0;12;1.0
    0;255;3;0;9;131637 TSF:MSG:READ,110-110-0,s=1,c=0,t=6,pt=0,l=6,sg=0:BMP180
    110;1;0;0;6;BMP180
    0;255;3;0;9;131673 TSF:MSG:READ,110-110-0,s=2,c=0,t=8,pt=0,l=6,sg=0:BMP180
    110;2;0;0;8;BMP180
    0;255;3;0;9;131708 TSF:MSG:READ,110-110-0,s=3,c=0,t=8,pt=0,l=6,sg=0:BMP180
    110;3;0;0;8;BMP180
    0;255;3;0;9;131718 TSF:MSG:READ,110-110-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2
    0;255;3;0;9;131734 TSF:MSG:SEND,0-0-110-110,s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=OK:1
    0;255;3;0;9;132646 TSF:MSG:READ,110-110-0,s=1,c=1,t=0,pt=7,l=5,sg=0:0.00
    110;1;1;0;0;0.00
    0;255;3;0;9;132657 TSF:MSG:READ,110-110-0,s=2,c=1,t=4,pt=7,l=5,sg=0:0.00
    110;2;1;0;4;0.00
    0;255;3;0;9;132668 TSF:MSG:READ,110-110-0,s=3,c=1,t=5,pt=0,l=6,sg=0:stable
    110;3;1;0;5;stable```
    
    Thanks,
    
    Vittorio


  • Sorry for the mistake, I repost the Arduino nano gatewaylog:

    0;255;3;0;9;0 MCO:BGN:INIT GW,CP=RNNGA---,VER=2.2.0
    0;255;3;0;9;8 TSM:INIT
    0;255;3;0;9;12 TSF:WUR:MS=0
    0;255;3;0;9;23 TSM:INIT:TSP OK
    0;255;3;0;9;28 TSM:INIT:GW MODE
    0;255;3;0;9;34 TSM:READY:ID=0,PAR=0,DIS=0
    0;255;3;0;9;41 MCO:REG:NOT NEEDED
    0;255;3;0;14;Gateway startup complete.
    0;255;0;0;18;2.2.0
    0;255;3;0;9;49 MCO:BGN:STP
    0;255;3;0;9;62 MCO:BGN:INIT OK,TSP=1
    0;255;3;0;9;8285 TSF:MSG:READ,110-110-0,s=1,c=1,t=0,pt=7,l=5,sg=0:17.80
    110;1;1;0;0;17.80
    0;255;3;0;9;8298 TSF:MSG:READ,110-110-0,s=2,c=1,t=4,pt=7,l=5,sg=0:985.11
    110;2;1;0;4;985.11
    0;255;3;0;9;8313 TSF:MSG:READ,110-110-0,s=3,c=1,t=5,pt=0,l=6,sg=0:stable
    110;3;1;0;5;stable
    


  • The sketches are the serialGateway example with no modification, and the node manager template with the BMP180 lines uncommented.


  • Mod

    Thanks for the updates @ziovic
    I am not familiar with NodeManager, but hopefully someone else can assist.



  • Hi,

    it seems I found the problem:

    The dtostrf function included in MyHwSAMD.h is the AVR one ( avr/dtostrf.h) does not work with SAMD core.

    I found a working replacement here: https://forum.arduino.cc/index.php?topic=368720.0
    and the SAMD board Gateway is now working properly.

    Thanks for your help,

    Ciao,

    Vittorio


  • Mod

    @ziovic said in MKR1000 gateway problem:

    The dtostrf function included in MyHwSAMD.h is the AVR one ( avr/dtostrf.h) does not work with SAMD core.

    Well, this implementation is part of the official arduino Samd core: https://github.com/arduino/ArduinoCore-samd/blob/master/cores/arduino/avr/dtostrf.c

    You could file a bug report there if you like.


 

322
Online

8.2k
Users

9.0k
Topics

95.9k
Posts