<
From version < 18.1 >
edited by Saxer Lin
on 2023/05/12 16:35
To version < 13.1 >
edited by Edwin Chen
on 2023/05/11 23:11
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Saxer
1 +XWiki.Edwin
Content
... ... @@ -288,6 +288,7 @@
288 288  1. All modes share the same Payload Explanation from HERE.
289 289  1. By default, the device will send an uplink message every 20 minutes.
290 290  
291 +
291 291  ==== 2.3.2.1  MOD~=1 (Default Mode) ====
292 292  
293 293  In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2.
... ... @@ -394,6 +394,8 @@
394 394  
395 395  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656377606181-607.png?rev=1.1||alt="1656377606181-607.png"]]
396 396  
398 +(% class="wikigeneratedid" %)
399 +=== ===
397 397  
398 398  ==== 2.3.2.5  MOD~=5(Weight Measurement by HX711) ====
399 399  
... ... @@ -425,6 +425,8 @@
425 425  
426 426  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220820120036-2.png?width=1003&height=469&rev=1.1||alt="image-20220820120036-2.png" height="469" width="1003"]]
427 427  
431 +(% class="wikigeneratedid" %)
432 +=== ===
428 428  
429 429  ==== 2.3.2.6  MOD~=6 (Counting Mode) ====
430 430  
... ... @@ -455,6 +455,7 @@
455 455  Digital in(PA12)&Digital Interrupt1(PB14)
456 456  )))|Digital Interrupt2(PB15)|Digital Interrupt3(PA4)|Reserved
457 457  
463 +
458 458  ==== 2.3.2.8  MOD~=8 (3ADC+1DS18B20) ====
459 459  
460 460  |=(((
... ... @@ -473,6 +473,8 @@
473 473  
474 474  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220823164903-2.png?rev=1.1||alt="image-20220823164903-2.png"]]
475 475  
482 +(% class="wikigeneratedid" %)
483 +=== ===
476 476  
477 477  ==== 2.3.2.9  MOD~=9 (3DS18B20+ two Interrupt count mode) ====
478 478  
... ... @@ -510,10 +510,8 @@
510 510  
511 511  When AA is 2, set the count of PB15 pin to BB Corresponding downlink:09 02 bb bb bb bb
512 512  
521 +=== 2.3.10  ​Decode payload in The Things Network ===
513 513  
514 -
515 -=== 2.3.3  ​Decode payload ===
516 -
517 517  While using TTN V3 network, you can add the payload format to decode the payload.
518 518  
519 519  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378466788-734.png?rev=1.1||alt="1656378466788-734.png"]]
... ... @@ -520,28 +520,39 @@
520 520  
521 521  The payload decoder function for TTN V3 are here:
522 522  
523 -SN50v3 TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
529 +LSN50 TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
524 524  
525 525  
526 -==== 2.3.3.1 Battery Info ====
532 +Sensor Data is uplink via FPORT=2
527 527  
528 -Check the battery voltage for SN50v3.
534 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
535 +|=(% style="width: 90px;background-color:#D9E2F3" %)(((
536 +**Size(bytes)**
537 +)))|=(% style="width: 80px;background-color:#D9E2F3" %)2|=(% style="width: 90px;background-color:#D9E2F3" %)4|=(% style="width:80px;background-color:#D9E2F3" %)1|=(% style="width: 80px;background-color:#D9E2F3" %)**2**|=(% style="width: 80px;background-color:#D9E2F3" %)2
538 +|(% style="width:99px" %)**Value**|(% style="width:69px" %)(((
539 +[[Battery>>||anchor="HBattery:"]]
540 +)))|(% style="width:130px" %)(((
541 +[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
542 +)))|(% style="width:91px" %)(((
543 +[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]]
544 +)))|(% style="width:103px" %)(((
545 +[[Temperature>>||anchor="HTemperature:"]]
546 +)))|(% style="width:80px" %)(((
547 +[[Humidity>>||anchor="HHumidity:"]]
548 +)))
529 529  
550 +==== (% style="color:#4472c4" %)**Battery**(%%) ====
551 +
552 +Sensor Battery Level.
553 +
530 530  Ex1: 0x0B45 = 2885mV
531 531  
532 532  Ex2: 0x0B49 = 2889mV
533 533  
534 534  
535 -==== 2.3.3.2  Temperature (DS18B20) ====
536 536  
537 -If there is a DS18B20 connected to PB3 pin. The temperature will be uploaded in the payload.
560 +==== (% style="color:#4472c4" %)**Temperature**(%%) ====
538 538  
539 -More DS18B20 can check the [[3 DS18B20 mode>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#2.3.4MOD3D4283xDS18B2029]]
540 -
541 -**Connection:**
542 -
543 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378573379-646.png?rev=1.1||alt="1656378573379-646.png"]]
544 -
545 545  **Example**:
546 546  
547 547  If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
... ... @@ -551,247 +551,195 @@
551 551  (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
552 552  
553 553  
554 -==== 2.3.3.3 Digital Input ====
571 +==== (% style="color:#4472c4" %)**Humidity**(%%) ====
555 555  
556 -The digital input for pin PA12,
557 557  
558 -* When PA12 is high, the bit 1 of payload byte 6 is 1.
559 -* When PA12 is low, the bit 1 of payload byte 6 is 0.
574 +Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
560 560  
561 -==== 2.3.3.4  Analogue Digital Converter (ADC) ====
562 562  
563 -The ADC pins in LSN50 can measure range from 0~~Vbat, it use reference voltage from . If user need to measure a voltage > VBat, please use resistors to divide this voltage to lower than VBat, otherwise, it may destroy the ADC pin.
577 +==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ====
564 564  
565 -Note: minimum VBat is 2.5v, when batrrey lower than this value. Device won't be able to send LoRa Uplink.
566 566  
567 -The ADC monitors the voltage on the PA0 line, in mV.
580 +**Example:**
568 568  
569 -Ex: 0x021F = 543mv,
582 +If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message
570 570  
571 -**~ Example1:**  Reading an Oil Sensor (Read a resistance value):
584 +If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm
572 572  
586 +If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message
573 573  
574 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220627172409-28.png?rev=1.1||alt="image-20220627172409-28.png"]]
588 +If payload >> 2 = 0x31  **~-~->**  means MOD=31, this message is a reply message for polling, this message contains the alarm settingssee [[this link>>path:#HPolltheAlarmsettings:]] for detail. 
575 575  
576 -In the LSN50, we can use PB4 and PA0 pin to calculate the resistance for the oil sensor.
577 -
578 578  
579 -**Steps:**
591 +== 2.4 Payload Decoder file ==
580 580  
581 -1. Solder a 10K resistor between PA0 and VCC.
582 -1. Screw oil sensor's two pins to PA0 and PB4.
583 583  
584 -The equipment circuit is as below:
594 +In TTN, use can add a custom payload so it shows friendly reading
585 585  
586 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220627172500-29.png?rev=1.1||alt="image-20220627172500-29.png"]]
596 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
587 587  
588 -According to above diagram:
598 +[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/LSN50v2-S31%26S31B >>https://github.com/dragino/dragino-end-node-decoder/tree/main/LSN50v2-S31%26S31B]]
589 589  
590 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220628091043-4.png?rev=1.1||alt="image-20220628091043-4.png"]]
591 591  
592 -So
601 +== 2.5 Datalog Feature ==
593 593  
594 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220628091344-6.png?rev=1.1||alt="image-20220628091344-6.png"]]
595 595  
596 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220628091621-8.png?rev=1.1||alt="image-20220628091621-8.png"]] is the reading of ADC. So if ADC=0x05DC=0.9 v and VCC (BAT) is 2.9v
604 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, S31x-LB will store the reading for future retrieving purposes.
597 597  
598 -The [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220628091702-9.png?rev=1.1||alt="image-20220628091702-9.png"]] 4.5K ohm
599 599  
600 -Since the Bouy is linear resistance from 10 ~~ 70cm.
607 +=== 2.5.1 Ways to get datalog via LoRaWAN ===
601 601  
602 -The position of Bouy is [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220628091824-10.png?rev=1.1||alt="image-20220628091824-10.png"]] , from the bottom of Bouy.
603 603  
610 +Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayloadA028FPORT3D329"]], S31x-LB will wait for ACK for every uplink, when there is no LoRaWAN network,S31x-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
604 604  
605 -==== 2.3.3.5 Digital Interrupt ====
612 +* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
613 +* b) S31x-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but S31x-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if S31x-LB gets a ACK, S31x-LB will consider there is a network connection and resend all NONE-ACK messages.
606 606  
607 -Digital Interrupt refers to pin PB14, and there are different trigger methods. When there is a trigger, the SN50v3 will send a packet to the server.
615 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
608 608  
609 -**~ Interrupt connection method:**
617 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220703111700-2.png?width=1119&height=381&rev=1.1||alt="图片-20220703111700-2.png" height="381" width="1119"]]
610 610  
611 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379178634-321.png?rev=1.1||alt="1656379178634-321.png"]]
619 +=== 2.5.2 Unix TimeStamp ===
612 612  
613 -**Example to use with door sensor :**
614 614  
615 -The door sensor is shown at right. It is a two wire magnetic contact switch used for detecting the open/close status of doors or windows.
622 +S31x-LB uses Unix TimeStamp format based on
616 616  
617 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379210849-860.png?rev=1.1||alt="1656379210849-860.png"]]
624 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt="图片-20220523001219-11.png" height="97" width="627"]]
618 618  
619 -When the two pieces are close to each other, the 2 wire output will be short or open (depending on the type), while if the two pieces are away from each other, the 2 wire output will be the opposite status. So we can use LSN50 interrupt interface to detect the status for the door or window.
626 +User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
620 620  
621 -**~ Below is the installation example:**
628 +Below is the converter example
622 622  
623 -Fix one piece of the magnetic sensor to the door and connect the two pins to LSN50 as follows:
630 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="图片-20220523001219-12.png" height="298" width="720"]]
624 624  
625 -* (((
626 -One pin to LSN50's PB14 pin
627 -)))
628 -* (((
629 -The other pin to LSN50's VCC pin
630 -)))
632 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
631 631  
632 -Install the other piece to the door. Find a place where the two pieces will be close to each other when the door is closed. For this particular magnetic sensor, when the door is closed, the output will be short, and PB14 will be at the VCC voltage.
633 633  
634 -Door sensors have two types: ** NC (Normal close)** and **NO (normal open)**. The connection for both type sensors are the same. But the decoding for payload are reverse, user need to modify this in the IoT Server decoder.
635 +=== 2.5.3 Set Device Time ===
635 635  
636 -When door sensor is shorted, there will extra power consumption in the circuit, the extra current is 3v3/R14 = 3v2/1Mohm = 0.3uA which can be ignored.
637 637  
638 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379283019-229.png?rev=1.1||alt="1656379283019-229.png"]]
638 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
639 639  
640 -The above photos shows the two parts of the magnetic switch fitted to a door.
640 +Once S31x-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to S31x-LB. If S31x-LB fails to get the time from the server, S31x-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
641 641  
642 -The software by default uses the falling edge on the signal line as an interrupt. We need to modify it to accept both the rising edge (0v ~-~-> VCC , door close) and the falling edge (VCC ~-~-> 0v , door open) as the interrupt.
642 +(% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.**
643 643  
644 -The command is:
645 645  
646 -**AT+INTMOD=1       **~/~/(more info about INMOD please refer** **[[**AT Command Manual**>>url:http://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/&file=DRAGINO_LSN50_AT_Commands_v1.5.1.pdf]]**. **)
645 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) ===
647 647  
648 -Below shows some screen captures in TTN V3:
649 649  
650 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379339508-835.png?rev=1.1||alt="1656379339508-835.png"]]
648 +The Datalog uplinks will use below payload format.
651 651  
652 -In MOD=1, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below:
650 +**Retrieval data payload:**
653 653  
654 -door= (bytes[6] & 0x80)? "CLOSE":"OPEN";
652 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
653 +|=(% style="width: 80px;background-color:#D9E2F3" %)(((
654 +**Size(bytes)**
655 +)))|=(% style="width: 60px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 60px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 120px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 103px; background-color: rgb(217, 226, 243);" %)**1**|=(% style="width: 85px; background-color: rgb(217, 226, 243);" %)**4**
656 +|(% style="width:103px" %)**Value**|(% style="width:54px" %)(((
657 +[[Temp_Black>>||anchor="HTemperatureBlack:"]]
658 +)))|(% style="width:51px" %)[[Temp_White>>||anchor="HTemperatureWhite:"]]|(% style="width:89px" %)[[Temp_ Red or Temp _White>>||anchor="HTemperatureREDorTemperatureWhite:"]]|(% style="width:103px" %)Poll message flag & Ext|(% style="width:54px" %)[[Unix Time Stamp>>||anchor="H2.5.2UnixTimeStamp"]]
655 655  
656 -**Notice for hardware version LSN50 v1 < v1.3** (produced before 2018-Nov).
660 +**Poll message flag & Ext:**
657 657  
658 -In this hardware version, there is no R14 resistance solder. When use the latest firmware, it should set AT+INTMOD=0 to close the interrupt. If user need to use Interrupt in this hardware version, user need to solder R14 with 10M resistor and C1 (0.1uF) on board.
662 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20221006192726-1.png?width=754&height=112&rev=1.1||alt="图片-20221006192726-1.png" height="112" width="754"]]
659 659  
660 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379563303-771.png?rev=1.1||alt="1656379563303-771.png"]]
664 +**No ACK Message**:  1: This message means this payload is fromn Uplink Message which doesn't get ACK from the server before ( for **PNACKMD=1** feature)
661 661  
666 +**Poll Message Flag**: 1: This message is a poll message reply.
662 662  
663 -==== 2.3.3.6 I2C Interface (SHT20) ====
668 +* Poll Message Flag is set to 1.
664 664  
665 -The PB6(SDA) and PB7(SCK) are I2C interface lines. You can use these to connect to an I2C device and get the sensor data.
670 +* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
666 666  
667 -We have made an example to show how to use the I2C interface to connect to the SHT20 Temperature and Humidity Sensor. This is supported in the stock firmware since v1.5 with **AT+MOD=1 (default value).**
672 +For example, in US915 band, the max payload for different DR is:
668 668  
669 -Notice: Different I2C sensors have different I2C commands set and initiate process, if user want to use other I2C sensors, User need to re-write the source code to support those sensors. SHT20 code in LSN50 will be a good reference.
674 +**a) DR0:** max is 11 bytes so one entry of data
670 670  
671 -Below is the connection to SHT20/ SHT31. The connection is as below:
676 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
672 672  
673 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220902163605-2.png?rev=1.1||alt="image-20220902163605-2.png"]]
678 +**c) DR2:** total payload includes 11 entries of data
674 674  
675 -The device will be able to get the I2C sensor data now and upload to IoT Server.
680 +**d) DR3: **total payload includes 22 entries of data.
676 676  
677 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379664142-345.png?rev=1.1||alt="1656379664142-345.png"]]
682 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
678 678  
679 -Convert the read byte to decimal and divide it by ten.
680 680  
681 681  **Example:**
682 682  
683 -Temperature:  Read:0116(H) = 278(D)  Value 278 /10=27.8℃;
687 +If S31x-LB has below data inside Flash:
684 684  
685 -Humidity:    Read:0248(H)=584(D)  Value:  584 / 10=58.4, So 58.4%
689 +[[image:1682646494051-944.png]]
686 686  
687 -If you want to use other I2C device, please refer the SHT20 part source code as reference.
691 +If user sends below downlink command: 3160065F9760066DA705
688 688  
693 +Where : Start time: 60065F97 = time 21/1/19 04:27:03
689 689  
690 -==== 2.3.3.7  ​Distance Reading ====
695 + Stop time: 60066DA7= time 21/1/19 05:27:03
691 691  
692 -Refer [[Ultrasonic Sensor section>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.8UltrasonicSensor]].
693 693  
698 +**S31x-LB will uplink this payload.**
694 694  
695 -==== 2.3.3.8 Ultrasonic Sensor ====
700 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-13.png?width=727&height=421&rev=1.1||alt="图片-20220523001219-13.png" height="421" width="727"]]
696 696  
697 -The LSN50 v1.5 firmware supports ultrasonic sensor (with AT+MOD=2) such as SEN0208 from DF-Robot. This Fundamental Principles of this sensor can be found at this link: [[https:~~/~~/wiki.dfrobot.com/Weather_-_proof_Ultrasonic_Sensor_with_Separate_Probe_SKU~~_~~__SEN0208>>url:https://wiki.dfrobot.com/Weather_-_proof_Ultrasonic_Sensor_with_Separate_Probe_SKU___SEN0208]]
702 +(((
703 +__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E
704 +)))
698 698  
699 -The LSN50 detects the pulse width of the sensor and converts it to mm output. The accuracy will be within 1 centimeter. The usable range (the distance between the ultrasonic probe and the measured object) is between 24cm and 600cm.
706 +(((
707 +Where the first 11 bytes is for the first entry:
708 +)))
700 700  
701 -The picture below shows the connection:
710 +(((
711 +7FFF089801464160065F97
712 +)))
702 702  
703 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656380061365-178.png?rev=1.1||alt="1656380061365-178.png"]]
714 +(((
715 +**Ext sensor data**=0x7FFF/100=327.67
716 +)))
704 704  
705 -Connect to the LSN50 and run **AT+MOD=2** to switch to ultrasonic mode (ULT).
718 +(((
719 +**Temp**=0x088E/100=22.00
720 +)))
706 706  
707 -The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value.
722 +(((
723 +**Hum**=0x014B/10=32.6
724 +)))
708 708  
709 -**Example:**
726 +(((
727 +**poll message flag & Ext**=0x41,means reply data,Ext=1
728 +)))
710 710  
711 -Distance:  Read: 0C2D(Hex) = 3117(D)  Value:  3117 mm=311.7 cm
730 +(((
731 +**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03
732 +)))
712 712  
713 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656384895430-327.png?rev=1.1||alt="1656384895430-327.png"]]
714 714  
715 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656384913616-455.png?rev=1.1||alt="1656384913616-455.png"]]
735 +(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的
716 716  
717 -You can see the serial output in ULT mode as below:
737 +== 2.6 Temperature Alarm Feature ==
718 718  
719 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656384939855-223.png?rev=1.1||alt="1656384939855-223.png"]]
720 720  
721 -**In TTN V3 server:**
740 +S31x-LB work flow with Alarm feature.
722 722  
723 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656384961830-307.png?rev=1.1||alt="1656384961830-307.png"]]
724 724  
725 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656384973646-598.png?rev=1.1||alt="1656384973646-598.png"]]
743 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/image-20220623090437-1.png?rev=1.1||alt="图片-20220623090437-1.png"]]
726 726  
727 -==== 2.3.3.9  Battery Output - BAT pin ====
728 728  
729 -The BAT pin of SN50v3 is connected to the Battery directly. If users want to use BAT pin to power an external sensor. User need to make sure the external sensor is of low power consumption. Because the BAT pin is always open. If the external sensor is of high power consumption. the battery of SN50v3-LB will run out very soon.
746 +== 2.7 Frequency Plans ==
730 730  
731 731  
732 -==== 2.3.3.1 +5V Output ====
749 +The S31x-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
733 733  
734 -SN50v3 will enable +5V output before all sampling and disable the +5v after all sampling. 
735 -
736 -The 5V output time can be controlled by AT Command.
737 -
738 -**AT+5VT=1000**
739 -
740 -Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
741 -
742 -By default the AT+5VT=500. If the external sensor which require 5v and require more time to get stable state, user can use this command to increase the power ON duration for this sensor.
743 -
744 -
745 -
746 -==== 2.3.3.11  BH1750 Illumination Sensor ====
747 -
748 -MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes.
749 -
750 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220628110012-11.jpeg?rev=1.1||alt="image-20220628110012-11.jpeg"]]
751 -
752 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220628110012-12.png?rev=1.1||alt="image-20220628110012-12.png"]]
753 -
754 -
755 -==== 2.3.3.12  Working MOD ====
756 -
757 -The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte).
758 -
759 -User can use the 3^^rd^^ ~~ 7^^th^^  bit of this byte to see the working mod:
760 -
761 -Case 7^^th^^ Byte >> 2 & 0x1f:
762 -
763 -* 0: MOD1
764 -* 1: MOD2
765 -* 2: MOD3
766 -* 3: MOD4
767 -* 4: MOD5
768 -* 5: MOD6
769 -
770 -== 2.4 Payload Decoder file ==
771 -
772 -
773 -In TTN, use can add a custom payload so it shows friendly reading
774 -
775 -In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
776 -
777 -[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/LSN50v2-S31%26S31B >>https://github.com/dragino/dragino-end-node-decoder/tree/main/LSN50v2-S31%26S31B]]
778 -
779 -
780 -
781 -== 2.5 Frequency Plans ==
782 -
783 -
784 -The SN50v3-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
785 -
786 786  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
787 787  
788 788  
789 -= 3. Configure SN50v3-LB =
754 += 3. Configure S31x-LB =
790 790  
791 791  == 3.1 Configure Methods ==
792 792  
793 793  
794 -SN50v3-LB supports below configure method:
759 +S31x-LB supports below configure method:
795 795  
796 796  * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
797 797  * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
... ... @@ -810,7 +810,7 @@
810 810  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
811 811  
812 812  
813 -== 3.3 Commands special design for SN50v3-LB ==
778 +== 3.3 Commands special design for S31x-LB ==
814 814  
815 815  
816 816  These commands only valid for S31x-LB, as below:
... ... @@ -846,6 +846,7 @@
846 846  
847 847  === 3.3.2 Get Device Status ===
848 848  
814 +
849 849  Send a LoRaWAN downlink to ask device send Alarm settings.
850 850  
851 851  (% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
... ... @@ -853,6 +853,77 @@
853 853  Sensor will upload Device Status via FPORT=5. See payload section for detail.
854 854  
855 855  
822 +=== 3.3.3 Set Temperature Alarm Threshold ===
823 +
824 +* (% style="color:blue" %)**AT Command:**
825 +
826 +(% style="color:#037691" %)**AT+SHTEMP=min,max**
827 +
828 +* When min=0, and max≠0, Alarm higher than max
829 +* When min≠0, and max=0, Alarm lower than min
830 +* When min≠0 and max≠0, Alarm higher than max or lower than min
831 +
832 +Example:
833 +
834 + AT+SHTEMP=0,30   ~/~/ Alarm when temperature higher than 30.
835 +
836 +* (% style="color:blue" %)**Downlink Payload:**
837 +
838 +(% style="color:#037691" %)**0x(0C 01 00 1E)**  (%%) ~/~/ Set AT+SHTEMP=0,30
839 +
840 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)**
841 +
842 +
843 +=== 3.3.4 Set Humidity Alarm Threshold ===
844 +
845 +* (% style="color:blue" %)**AT Command:**
846 +
847 +(% style="color:#037691" %)**AT+SHHUM=min,max**
848 +
849 +* When min=0, and max≠0, Alarm higher than max
850 +* When min≠0, and max=0, Alarm lower than min
851 +* When min≠0 and max≠0, Alarm higher than max or lower than min
852 +
853 +Example:
854 +
855 + AT+SHHUM=70,0  ~/~/ Alarm when humidity lower than 70%.
856 +
857 +* (% style="color:blue" %)**Downlink Payload:**
858 +
859 +(% style="color:#037691" %)**0x(0C 02 46 00)**(%%)  ~/~/ Set AT+SHTHUM=70,0
860 +
861 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))**
862 +
863 +
864 +=== 3.3.5 Set Alarm Interval ===
865 +
866 +The shortest time of two Alarm packet. (unit: min)
867 +
868 +* (% style="color:blue" %)**AT Command:**
869 +
870 +(% style="color:#037691" %)**AT+ATDC=30** (%%) ~/~/ The shortest interval of two Alarm packets is 30 minutes, Means is there is an alarm packet uplink, there won't be another one in the next 30 minutes.
871 +
872 +* (% style="color:blue" %)**Downlink Payload:**
873 +
874 +(% style="color:#037691" %)**0x(0D 00 1E)**(%%)     **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes
875 +
876 +
877 +=== 3.3.6 Get Alarm settings ===
878 +
879 +
880 +Send a LoRaWAN downlink to ask device send Alarm settings.
881 +
882 +* (% style="color:#037691" %)**Downlink Payload:  **(%%)0x0E 01
883 +
884 +**Example:**
885 +
886 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/1655948182791-225.png?rev=1.1||alt="1655948182791-225.png"]]
887 +
888 +
889 +**Explain:**
890 +
891 +* Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
892 +
856 856  === 3.3.7 Set Interrupt Mode ===
857 857  
858 858  
... ... @@ -912,13 +912,8 @@
912 912  
913 913  = 6. FAQ =
914 914  
915 -== 6.1 Where can i find source code of SN50v3-LB? ==
916 916  
917 -* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].**
918 -* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].**
919 919  
920 -
921 -
922 922  = 7. Order Info =
923 923  
924 924  
image-20230512163509-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -1.5 MB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0