Changes for page SN50v3-LB/LS -- LoRaWAN Sensor Node User Manual
Last modified by Xiaoling on 2025/06/12 15:06
From version 12.1
edited by Edwin Chen
on 2023/05/11 23:06
on 2023/05/11 23:06
Change comment:
There is no comment for this version
To version 14.1
edited by Edwin Chen
on 2023/05/11 23:21
on 2023/05/11 23:21
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -282,17 +282,14 @@ 282 282 **AT+MOD=2 ** ~/~/ will set the SN50v3 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor. 283 283 284 284 285 -(% style="color:red" %) **Important Notice:** (%%)285 +(% style="color:red" %) **Important Notice:** 286 286 287 287 1. Some working modes has payload more than 12 bytes, The US915/AU915/AS923 frequency bands' definition has maximum 11 bytes in **DR0**. Server sides will see NULL payload while SN50v3 transmit in DR0 with 12 bytes payload. 288 +1. All modes share the same Payload Explanation from HERE. 289 +1. By default, the device will send an uplink message every 20 minutes. 288 288 289 -2. Allmodes sharethesame PayloadExplanation from HERE.291 +==== 2.3.2.1 MOD~=1 (Default Mode) ==== 290 290 291 -3. By default, the device will send an uplink message every 20 minutes. 292 - 293 - 294 -=== 2.3.1 MOD~=1 (Default Mode) === 295 - 296 296 In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2. 297 297 298 298 |**Size(bytes)**|**2**|**2**|**2**|**1**|**2**|**2** ... ... @@ -300,8 +300,9 @@ 300 300 301 301 [[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-20220627150949-6.png?rev=1.1||alt="image-20220627150949-6.png"]] 302 302 303 -=== 2.3.2 MOD~=2 (Distance Mode) === 304 304 301 +==== 2.3.2.2 MOD~=2 (Distance Mode) ==== 302 + 305 305 This mode is target to measure the distance. The payload of this mode is totally 11 bytes. The 8^^th^^ and 9^^th^^ bytes is for the distance. 306 306 307 307 |**Size(bytes)**|**2**|**2**|**2**|**1**|**2**|**2** ... ... @@ -351,8 +351,9 @@ 351 351 352 352 Please use firmware version > 1.6.5 when use MOD=2, in this firmware version, user can use LSn50 v1 to power the ultrasonic sensor directly and with low power consumption. 353 353 354 -=== 2.3.3 MOD~=3 (3 ADC + I2C) === 355 355 353 +==== 2.3.2.3 MOD~=3 (3 ADC + I2C) ==== 354 + 356 356 This mode has total 12 bytes. Include 3 x ADC + 1x I2C 357 357 358 358 |=((( ... ... @@ -364,8 +364,9 @@ 364 364 365 365 [[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/1656377431497-975.png?rev=1.1||alt="1656377431497-975.png"]] 366 366 367 -=== 2.3.4 MOD~=4 (3 x DS18B20) === 368 368 367 +==== 2.3.2.4 MOD~=4 (3 x DS18B20) ==== 368 + 369 369 This mode is supported in firmware version since v1.6.1. Software set to AT+MOD=4 370 370 371 371 Hardware connection is as below, ... ... @@ -394,8 +394,9 @@ 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 397 -=== 2.3.5 MOD~=5(Weight Measurement by HX711) === 398 398 398 +==== 2.3.2.5 MOD~=5(Weight Measurement by HX711) ==== 399 + 399 399 This mode is supported in firmware version since v1.6.2. Please use v1.6.5 firmware version so user no need to use extra LDO for connection. 400 400 401 401 ... ... @@ -424,8 +424,9 @@ 424 424 425 425 [[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"]] 426 426 427 -=== 2.3.6 MOD~=6 (Counting Mode, Since firmware v1.6.5) === 428 428 429 +==== 2.3.2.6 MOD~=6 (Counting Mode) ==== 430 + 429 429 In this mode, the device will work in counting mode. It counts the interrupt on the interrupt pins and sends the count on TDC time. 430 430 431 431 Connection is as below. The PIR sensor is a count sensor, it will generate interrupt when people come close or go away. User can replace the PIR sensor with other counting sensors. ... ... @@ -441,8 +441,9 @@ 441 441 442 442 [[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/1656378441509-171.png?rev=1.1||alt="1656378441509-171.png"]] 443 443 444 -=== 2.3.7 MOD~=7 Three interrupt contact modes (the hardware version needs to support three interrupt versions, Since firmware v1.8.0) === 445 445 447 +==== 2.3.2.7 MOD~=7 (Three interrupt contact modes) ==== 448 + 446 446 [[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-20220820140109-3.png?rev=1.1||alt="image-20220820140109-3.png"]] 447 447 448 448 |=((( ... ... @@ -452,7 +452,7 @@ 452 452 Digital in(PA12)&Digital Interrupt1(PB14) 453 453 )))|Digital Interrupt2(PB15)|Digital Interrupt3(PA4)|Reserved 454 454 455 -=== 2.3.8 MOD~=8 (3ADC+1DS18B20 , Since firmware v1.8.0) ===458 +==== 2.3.2.8 MOD~=8 (3ADC+1DS18B20) ==== 456 456 457 457 |=((( 458 458 **Size(bytes)** ... ... @@ -470,8 +470,9 @@ 470 470 471 471 [[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"]] 472 472 473 -=== 2.3.9 MOD~=9 3DS18B20+ two Interrupt count mode (the hardware version needs to support 3 interrupt versions, Since firmware v1.8.0) === 474 474 477 +==== 2.3.2.9 MOD~=9 (3DS18B20+ two Interrupt count mode) ==== 478 + 475 475 |=((( 476 476 **Size(bytes)** 477 477 )))|=**2**|=**2**|=**2**|=**1**|=**2**|=4|=4 ... ... @@ -498,7 +498,7 @@ 498 498 499 499 **~ AT+INTMOD2** **PB15** pin: Corresponding downlink:** 06 00 01 xx** 500 500 501 -**~ AT+INTMOD3** **PA4** pin: Corresponding downlink: ** 505 +**~ AT+INTMOD3** **PA4** pin: Corresponding downlink: ** 06 00 02 xx** 502 502 503 503 **AT+SETCNT=aa,bb** 504 504 ... ... @@ -506,8 +506,10 @@ 506 506 507 507 When AA is 2, set the count of PB15 pin to BB Corresponding downlink:09 02 bb bb bb bb 508 508 509 -=== 2.3.10 Decode payload in The Things Network === 510 510 514 + 515 +=== 2.3.3 Decode payload === 516 + 511 511 While using TTN V3 network, you can add the payload format to decode the payload. 512 512 513 513 [[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"]] ... ... @@ -514,39 +514,28 @@ 514 514 515 515 The payload decoder function for TTN V3 are here: 516 516 517 - LSN50 TTN V3 Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]523 +SN50v3 TTN V3 Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 518 518 519 519 520 - SensorDatais uplinkvia FPORT=2526 +==== 2.3.3.1 Battery Info ==== 521 521 522 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 523 -|=(% style="width: 90px;background-color:#D9E2F3" %)((( 524 -**Size(bytes)** 525 -)))|=(% 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 526 -|(% style="width:99px" %)**Value**|(% style="width:69px" %)((( 527 -[[Battery>>||anchor="HBattery:"]] 528 -)))|(% style="width:130px" %)((( 529 -[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]] 530 -)))|(% style="width:91px" %)((( 531 -[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]] 532 -)))|(% style="width:103px" %)((( 533 -[[Temperature>>||anchor="HTemperature:"]] 534 -)))|(% style="width:80px" %)((( 535 -[[Humidity>>||anchor="HHumidity:"]] 536 -))) 528 +Check the battery voltage for SN50v3. 537 537 538 -==== (% style="color:#4472c4" %)**Battery**(%%) ==== 539 - 540 -Sensor Battery Level. 541 - 542 542 Ex1: 0x0B45 = 2885mV 543 543 544 544 Ex2: 0x0B49 = 2889mV 545 545 546 546 535 +==== 2.3.3.2 Temperature (DS18B20) ==== 547 547 548 - ====(% style="color:#4472c4"%)**Temperature**(%%)====537 +If there is a DS18B20 connected to PB3 pin. The temperature will be uploaded in the payload. 549 549 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 + 550 550 **Example**: 551 551 552 552 If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree ... ... @@ -556,26 +556,224 @@ 556 556 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 557 557 558 558 559 -==== (%style="color:#4472c4"%)**Humidity**(%%)====554 +==== 2.3.3.3 Digital Input ==== 560 560 556 +The digital input for pin PA12, 561 561 562 -Read:0x(0197)=412 Value: 412 / 10=41.2, So 41.2% 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. 563 563 564 564 565 -==== (% style="color:#4472c4"%)**Alarm Flag&MOD**(%%) ====562 +==== 2.3.3.4 Analogue Digital Converter (ADC) ==== 566 566 564 +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. 567 567 566 +Note: minimum VBat is 2.5v, when batrrey lower than this value. Device won't be able to send LoRa Uplink. 567 + 568 +The ADC monitors the voltage on the PA0 line, in mV. 569 + 570 +Ex: 0x021F = 543mv, 571 + 572 +**~ Example1:** Reading an Oil Sensor (Read a resistance value): 573 + 574 + 575 +[[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"]] 576 + 577 +In the LSN50, we can use PB4 and PA0 pin to calculate the resistance for the oil sensor. 578 + 579 + 580 +**Steps:** 581 + 582 +1. Solder a 10K resistor between PA0 and VCC. 583 +1. Screw oil sensor's two pins to PA0 and PB4. 584 + 585 +The equipment circuit is as below: 586 + 587 +[[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"]] 588 + 589 +According to above diagram: 590 + 591 +[[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"]] 592 + 593 +So 594 + 595 +[[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"]] 596 + 597 +[[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 598 + 599 +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 600 + 601 +Since the Bouy is linear resistance from 10 ~~ 70cm. 602 + 603 +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. 604 + 605 + 606 +==== 2.3.3.5 Digital Interrupt ==== 607 + 608 +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. 609 + 610 +**~ Interrupt connection method:** 611 + 612 +[[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"]] 613 + 614 +**Example to use with door sensor :** 615 + 616 +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. 617 + 618 +[[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"]] 619 + 620 +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. 621 + 622 +**~ Below is the installation example:** 623 + 624 +Fix one piece of the magnetic sensor to the door and connect the two pins to LSN50 as follows: 625 + 626 +* ((( 627 +One pin to LSN50's PB14 pin 628 +))) 629 +* ((( 630 +The other pin to LSN50's VCC pin 631 +))) 632 + 633 +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. 634 + 635 +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. 636 + 637 +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. 638 + 639 +[[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"]] 640 + 641 +The above photos shows the two parts of the magnetic switch fitted to a door. 642 + 643 +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. 644 + 645 +The command is: 646 + 647 +**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]]**. **) 648 + 649 +Below shows some screen captures in TTN V3: 650 + 651 +[[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"]] 652 + 653 +In MOD=1, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below: 654 + 655 +door= (bytes[6] & 0x80)? "CLOSE":"OPEN"; 656 + 657 +**Notice for hardware version LSN50 v1 < v1.3** (produced before 2018-Nov). 658 + 659 +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. 660 + 661 +[[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"]] 662 + 663 + 664 +==== 2.3.3.6 I2C Interface (SHT20) ==== 665 + 666 +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. 667 + 668 +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).** 669 + 670 +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. 671 + 672 +Below is the connection to SHT20/ SHT31. The connection is as below: 673 + 674 +[[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"]] 675 + 676 +The device will be able to get the I2C sensor data now and upload to IoT Server. 677 + 678 +[[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"]] 679 + 680 +Convert the read byte to decimal and divide it by ten. 681 + 568 568 **Example:** 569 569 570 - Ifpayload&0x01 =0x01**~-~->** This isan Alarm Message684 +Temperature: Read:0116(H) = 278(D) Value: 278 /10=27.8℃; 571 571 572 - Ifpayload&0x01=0x00**~-~->** Thisisanormalplink message,noalarm686 +Humidity: Read:0248(H)=584(D) Value: 584 / 10=58.4, So 58.4% 573 573 574 -If payload>>2=0x00**~-~->** meansMOD=1,Thisisa samplinguplinkmessage688 +If you want to use other I2C device, please refer the SHT20 part source code as reference. 575 575 576 -If payload >> 2 = 0x31 **~-~->** means MOD=31, this message is a reply message for polling, this message contains the alarm settings. see [[this link>>path:#HPolltheAlarmsettings:]] for detail. 577 577 691 +==== 2.3.3.7 Distance Reading ==== 578 578 693 +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]]. 694 + 695 + 696 +==== 2.3.3.8 Ultrasonic Sensor ==== 697 + 698 +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]] 699 + 700 +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. 701 + 702 +The picture below shows the connection: 703 + 704 +[[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"]] 705 + 706 +Connect to the LSN50 and run **AT+MOD=2** to switch to ultrasonic mode (ULT). 707 + 708 +The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value. 709 + 710 +**Example:** 711 + 712 +Distance: Read: 0C2D(Hex) = 3117(D) Value: 3117 mm=311.7 cm 713 + 714 +[[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"]] 715 + 716 +[[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"]] 717 + 718 +You can see the serial output in ULT mode as below: 719 + 720 +[[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"]] 721 + 722 +**In TTN V3 server:** 723 + 724 +[[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"]] 725 + 726 +[[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"]] 727 + 728 +==== 2.3.3.9 Battery Output - BAT pin ==== 729 + 730 +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. 731 + 732 + 733 +==== 2.3.3.10 +5V Output ==== 734 + 735 +SN50v3 will enable +5V output before all sampling and disable the +5v after all sampling. 736 + 737 +The 5V output time can be controlled by AT Command. 738 + 739 +**AT+5VT=1000** 740 + 741 +Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors. 742 + 743 +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. 744 + 745 + 746 + 747 +==== 2.3.3.11 BH1750 Illumination Sensor ==== 748 + 749 +MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes. 750 + 751 +[[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"]] 752 + 753 +[[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"]] 754 + 755 + 756 +==== 2.3.3.12 Working MOD ==== 757 + 758 +The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte). 759 + 760 +User can use the 3^^rd^^ ~~ 7^^th^^ bit of this byte to see the working mod: 761 + 762 +Case 7^^th^^ Byte >> 2 & 0x1f: 763 + 764 +* 0: MOD1 765 +* 1: MOD2 766 +* 2: MOD3 767 +* 3: MOD4 768 +* 4: MOD5 769 +* 5: MOD6 770 + 771 + 579 579 == 2.4 Payload Decoder file == 580 580 581 581