Changes for page SN50v3-LB/LS -- LoRaWAN Sensor Node User Manual
Last modified by Bei Jinggeng on 2025/01/10 15:51
Change comment:
There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
-
Attachments (0 modified, 20 added, 0 removed)
- image-20230512163509-1.png
- image-20230512164658-2.png
- image-20230512170701-3.png
- image-20230512172447-4.png
- image-20230512173758-5.png
- image-20230512173903-6.png
- image-20230512180609-7.png
- image-20230512180718-8.png
- image-20230512181814-9.png
- image-20230513084523-1.png
- image-20230513102034-2.png
- image-20230513103633-3.png
- image-20230513105207-4.png
- image-20230513105351-5.png
- image-20230513110214-6.png
- image-20230513111203-7.png
- image-20230513111231-8.png
- image-20230513111255-9.png
- image-20230513134006-1.png
- image-20230515135611-1.jpeg
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -SN50v3-LB User Manual 1 +SN50v3-LB LoRaWAN Sensor Node User Manual - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Edwin1 +XWiki.Xiaoling - Content
-
... ... @@ -1,4 +1,5 @@ 1 -[[image:image-20230511201248-1.png||height="403" width="489"]] 1 +(% style="text-align:center" %) 2 +[[image:image-20230515135611-1.jpeg||height="589" width="589"]] 2 2 3 3 4 4 ... ... @@ -15,6 +15,7 @@ 15 15 16 16 == 1.1 What is SN50v3-LB LoRaWAN Generic Node == 17 17 19 + 18 18 (% style="color:blue" %)**SN50V3-LB **(%%)LoRaWAN Sensor Node is a Long Range LoRa Sensor Node. It is designed for outdoor use and powered by (% style="color:blue" %)** 8500mA Li/SOCl2 battery**(%%) for long term use.SN50V3-LB is designed to facilitate developers to quickly deploy industrial level LoRa and IoT solutions. It help users to turn the idea into a practical application and make the Internet of Things a reality. It is easy to program, create and connect your things everywhere. 19 19 20 20 ... ... @@ -122,7 +122,7 @@ 122 122 == 1.7 Pin Definitions == 123 123 124 124 125 -[[image:image-202305112034 50-2.png||height="443" width="785"]]127 +[[image:image-20230513102034-2.png]] 126 126 127 127 128 128 == 1.8 Mechanical == ... ... @@ -272,39 +272,396 @@ 272 272 Ex2: 0x0B49 = 2889mV 273 273 274 274 275 -=== 2.3.2 277 +=== 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 === 276 276 277 277 278 -Sen sorDataisuplinkviaFPORT=2280 +SN50v3 has different working mode for the connections of different type of sensors. This section describes these modes. Use can use the AT Command AT+MOD to set SN50v3 to different working modes. 279 279 280 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 281 -|=(% style="width: 90px;background-color:#D9E2F3" %)((( 282 +For example: 283 + 284 + **AT+MOD=2 ** ~/~/ will set the SN50v3 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor. 285 + 286 + 287 +(% style="color:red" %) **Important Notice:** 288 + 289 +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. 290 +1. All modes share the same Payload Explanation from HERE. 291 +1. By default, the device will send an uplink message every 20 minutes. 292 + 293 +==== 2.3.2.1 MOD~=1 (Default Mode) ==== 294 + 295 +In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2. 296 + 297 +(% style="width:1110px" %) 298 +|**Size(bytes)**|**2**|(% style="width:191px" %)**2**|(% style="width:78px" %)**2**|(% style="width:216px" %)**1**|(% style="width:308px" %)**2**|(% style="width:154px" %)**2** 299 +|**Value**|Bat|(% style="width:191px" %)((( 300 +Temperature(DS18B20) 301 + 302 +(PC13) 303 +)))|(% style="width:78px" %)((( 304 +ADC 305 + 306 +(PA4) 307 +)))|(% style="width:216px" %)((( 308 +Digital in(PB15) & 309 + 310 +Digital Interrupt(PA8) 311 + 312 + 313 +)))|(% style="width:308px" %)((( 314 +Temperature 315 + 316 +(SHT20 or SHT31 or BH1750 Illumination Sensor) 317 +)))|(% style="width:154px" %)((( 318 +Humidity 319 + 320 +(SHT20 or SHT31) 321 +))) 322 + 323 +[[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"]] 324 + 325 + 326 +==== 2.3.2.2 MOD~=2 (Distance Mode) ==== 327 + 328 +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. 329 + 330 +(% style="width:1011px" %) 331 +|**Size(bytes)**|**2**|(% style="width:196px" %)**2**|(% style="width:87px" %)**2**|(% style="width:189px" %)**1**|(% style="width:208px" %)**2**|(% style="width:117px" %)**2** 332 +|**Value**|BAT|(% style="width:196px" %)((( 333 +Temperature(DS18B20) 334 + 335 +(PC13) 336 +)))|(% style="width:87px" %)((( 337 +ADC 338 + 339 +(PA4) 340 +)))|(% style="width:189px" %)((( 341 +Digital in(PB15) & 342 + 343 +Digital Interrupt(PA8) 344 +)))|(% style="width:208px" %)((( 345 +Distance measure by: 346 +1) LIDAR-Lite V3HP 347 +Or 348 +2) Ultrasonic Sensor 349 +)))|(% style="width:117px" %)Reserved 350 + 351 +[[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/1656324539647-568.png?rev=1.1||alt="1656324539647-568.png"]] 352 + 353 +**Connection of LIDAR-Lite V3HP:** 354 + 355 +[[image:image-20230512173758-5.png||height="563" width="712"]] 356 + 357 +**Connection to Ultrasonic Sensor:** 358 + 359 +Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current. 360 + 361 +[[image:image-20230512173903-6.png||height="596" width="715"]] 362 + 363 +For the connection to TF-Mini or TF-Luna , MOD2 payload is as below: 364 + 365 +(% style="width:1113px" %) 366 +|**Size(bytes)**|**2**|(% style="width:183px" %)**2**|(% style="width:173px" %)**1**|(% style="width:84px" %)**2**|(% style="width:323px" %)**2**|(% style="width:188px" %)**2** 367 +|**Value**|BAT|(% style="width:183px" %)((( 368 +Temperature(DS18B20) 369 + 370 +(PC13) 371 +)))|(% style="width:173px" %)((( 372 +Digital in(PB15) & 373 + 374 +Digital Interrupt(PA8) 375 +)))|(% style="width:84px" %)((( 376 +ADC 377 + 378 +(PA4) 379 +)))|(% style="width:323px" %)((( 380 +Distance measure by:1)TF-Mini plus LiDAR 381 +Or 382 +2) TF-Luna LiDAR 383 +)))|(% style="width:188px" %)Distance signal strength 384 + 385 +[[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/1656376779088-686.png?rev=1.1||alt="1656376779088-686.png"]] 386 + 387 +**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):** 388 + 389 +Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current. 390 + 391 +[[image:image-20230512180609-7.png||height="555" width="802"]] 392 + 393 +**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):** 394 + 395 +Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current. 396 + 397 +[[image:image-20230513105207-4.png||height="469" width="802"]] 398 + 399 + 400 +==== 2.3.2.3 MOD~=3 (3 ADC + I2C) ==== 401 + 402 +This mode has total 12 bytes. Include 3 x ADC + 1x I2C 403 + 404 +(% style="width:1031px" %) 405 +|=((( 282 282 **Size(bytes)** 283 -)))|=(% 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 284 -|(% style="width:99px" %)**Value**|(% style="width:69px" %)((( 285 -[[Battery>>||anchor="HBattery:"]] 286 -)))|(% style="width:130px" %)((( 287 -[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]] 288 -)))|(% style="width:91px" %)((( 289 -[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]] 290 -)))|(% style="width:103px" %)((( 291 -[[Temperature>>||anchor="HTemperature:"]] 292 -)))|(% style="width:80px" %)((( 293 -[[Humidity>>||anchor="HHumidity:"]] 407 +)))|=(% style="width: 68px;" %)**2**|=(% style="width: 75px;" %)**2**|=**2**|=**1**|=(% style="width: 304px;" %)2|=(% style="width: 163px;" %)2|=(% style="width: 53px;" %)1 408 +|**Value**|(% style="width:68px" %)((( 409 +ADC1 410 + 411 +(PA4) 412 +)))|(% style="width:75px" %)((( 413 +ADC2 414 + 415 +(PA5) 416 +)))|((( 417 +ADC3 418 + 419 +(PA8) 420 +)))|((( 421 +Digital Interrupt(PB15) 422 +)))|(% style="width:304px" %)((( 423 +Temperature 424 + 425 +(SHT20 or SHT31 or BH1750 Illumination Sensor) 426 +)))|(% style="width:163px" %)((( 427 +Humidity 428 + 429 +(SHT20 or SHT31) 430 +)))|(% style="width:53px" %)Bat 431 + 432 +[[image:image-20230513110214-6.png]] 433 + 434 + 435 +==== 2.3.2.4 MOD~=4 (3 x DS18B20) ==== 436 + 437 + 438 +This mode has total 11 bytes. As shown below: 439 + 440 +(% style="width:1017px" %) 441 +|**Size(bytes)**|**2**|(% style="width:186px" %)**2**|(% style="width:82px" %)**2**|(% style="width:210px" %)**1**|(% style="width:191px" %)**2**|(% style="width:183px" %)**2** 442 +|**Value**|BAT|(% style="width:186px" %)((( 443 +Temperature1(DS18B20) 444 +(PC13) 445 +)))|(% style="width:82px" %)((( 446 +ADC 447 + 448 +(PA4) 449 +)))|(% style="width:210px" %)((( 450 +Digital in(PB15) & 451 + 452 +Digital Interrupt(PA8) 453 +)))|(% style="width:191px" %)Temperature2(DS18B20) 454 +(PB9)|(% style="width:183px" %)Temperature3(DS18B20) 455 +(PB8) 456 + 457 +[[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"]] 458 + 459 +[[image:image-20230513134006-1.png||height="559" width="736"]] 460 + 461 + 462 +==== 2.3.2.5 MOD~=5(Weight Measurement by HX711) ==== 463 + 464 +[[image:image-20230512164658-2.png||height="532" width="729"]] 465 + 466 +Each HX711 need to be calibrated before used. User need to do below two steps: 467 + 468 +1. Zero calibration. Don't put anything on load cell and run **AT+WEIGRE** to calibrate to Zero gram. 469 +1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run **AT+WEIGAP** to adjust the Calibration Factor. 470 +1. ((( 471 +Weight has 4 bytes, the unit is g. 294 294 ))) 295 295 296 - ==== (% style="color:#4472c4"%)**Battery**(%%) ====474 +For example: 297 297 298 -S ensor BatteryLevel.476 +**AT+GETSENSORVALUE =0** 299 299 478 +Response: Weight is 401 g 479 + 480 +Check the response of this command and adjust the value to match the real value for thing. 481 + 482 +(% style="width:767px" %) 483 +|=((( 484 +**Size(bytes)** 485 +)))|=**2**|=(% style="width: 193px;" %)**2**|=(% style="width: 85px;" %)**2**|=(% style="width: 186px;" %)**1**|=(% style="width: 100px;" %)**4** 486 +|**Value**|BAT|(% style="width:193px" %)((( 487 +Temperature(DS18B20) 488 + 489 +(PC13) 490 + 491 + 492 +)))|(% style="width:85px" %)((( 493 +ADC 494 + 495 +(PA4) 496 +)))|(% style="width:186px" %)((( 497 +Digital in(PB15) & 498 + 499 +Digital Interrupt(PA8) 500 +)))|(% style="width:100px" %)Weight 501 + 502 +[[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"]] 503 + 504 + 505 +==== 2.3.2.6 MOD~=6 (Counting Mode) ==== 506 + 507 +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. 508 + 509 +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. 510 + 511 +[[image:image-20230512181814-9.png||height="543" width="697"]] 512 + 513 +**Note:** LoRaWAN wireless transmission will infect the PIR sensor. Which cause the counting value increase +1 for every uplink. User can change PIR sensor or put sensor away of the SN50_v3 to avoid this happen. 514 + 515 +(% style="width:961px" %) 516 +|=**Size(bytes)**|=**2**|=(% style="width: 256px;" %)**2**|=(% style="width: 108px;" %)**2**|=(% style="width: 126px;" %)**1**|=(% style="width: 145px;" %)**4** 517 +|**Value**|BAT|(% style="width:256px" %)((( 518 +Temperature(DS18B20) 519 + 520 +(PC13) 521 +)))|(% style="width:108px" %)((( 522 +ADC 523 + 524 +(PA4) 525 +)))|(% style="width:126px" %)((( 526 +Digital in 527 + 528 +(PB15) 529 +)))|(% style="width:145px" %)((( 530 +Count 531 + 532 +(PA8) 533 +))) 534 + 535 +[[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"]] 536 + 537 + 538 +==== 2.3.2.7 MOD~=7 (Three interrupt contact modes) ==== 539 + 540 +(% style="width:1108px" %) 541 +|=((( 542 +**Size(bytes)** 543 +)))|=**2**|=(% style="width: 188px;" %)**2**|=(% style="width: 83px;" %)**2**|=(% style="width: 184px;" %)**1**|=(% style="width: 186px;" %)**1**|=(% style="width: 197px;" %)1|=(% style="width: 100px;" %)2 544 +|**Value**|BAT|(% style="width:188px" %)((( 545 +Temperature(DS18B20) 546 + 547 +(PC13) 548 +)))|(% style="width:83px" %)((( 549 +ADC 550 + 551 +(PA5) 552 +)))|(% style="width:184px" %)((( 553 +Digital Interrupt1(PA8) 554 +)))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved 555 + 556 +[[image:image-20230513111203-7.png||height="324" width="975"]] 557 + 558 +==== 2.3.2.8 MOD~=8 (3ADC+1DS18B20) ==== 559 + 560 +(% style="width:922px" %) 561 +|=((( 562 +**Size(bytes)** 563 +)))|=**2**|=(% style="width: 207px;" %)**2**|=(% style="width: 94px;" %)**2**|=(% style="width: 198px;" %)**1**|=(% style="width: 84px;" %)**2**|=(% style="width: 82px;" %)2 564 +|**Value**|BAT|(% style="width:207px" %)((( 565 +Temperature(DS18B20) 566 + 567 +(PC13) 568 +)))|(% style="width:94px" %)((( 569 +ADC1 570 + 571 +(PA4) 572 +)))|(% style="width:198px" %)((( 573 +Digital Interrupt(PB15) 574 +)))|(% style="width:84px" %)((( 575 +ADC2 576 + 577 +(PA5) 578 +)))|(% style="width:82px" %)((( 579 +ADC3 580 + 581 +(PA8) 582 +))) 583 + 584 +[[image:image-20230513111231-8.png||height="335" width="900"]] 585 + 586 + 587 +==== 2.3.2.9 MOD~=9 (3DS18B20+ two Interrupt count mode) ==== 588 + 589 +(% style="width:1010px" %) 590 +|=((( 591 +**Size(bytes)** 592 +)))|=**2**|=**2**|=**2**|=**1**|=(% style="width: 193px;" %)**2**|=(% style="width: 78px;" %)4|=(% style="width: 78px;" %)4 593 +|**Value**|BAT|((( 594 +Temperature1(DS18B20) 595 + 596 +(PC13) 597 +)))|((( 598 +Temperature2(DS18B20) 599 + 600 +(PB9) 601 +)))|((( 602 +Digital Interrupt 603 + 604 +(PB15) 605 +)))|(% style="width:193px" %)((( 606 +Temperature3(DS18B20) 607 + 608 +(PB8) 609 +)))|(% style="width:78px" %)((( 610 +Count1 611 + 612 +(PA8) 613 +)))|(% style="width:78px" %)((( 614 +Count2 615 + 616 +(PA4) 617 +))) 618 + 619 +[[image:image-20230513111255-9.png||height="341" width="899"]] 620 + 621 +**The newly added AT command is issued correspondingly:** 622 + 623 +**~ AT+INTMOD1** ** PA8** pin: Corresponding downlink: **06 00 00 xx** 624 + 625 +**~ AT+INTMOD2** **PA4** pin: Corresponding downlink:** 06 00 01 xx** 626 + 627 +**~ AT+INTMOD3** **PB15** pin: Corresponding downlink: ** 06 00 02 xx** 628 + 629 +**AT+SETCNT=aa,bb** 630 + 631 +When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb 632 + 633 +When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb 634 + 635 + 636 + 637 +=== 2.3.3 Decode payload === 638 + 639 +While using TTN V3 network, you can add the payload format to decode the payload. 640 + 641 +[[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"]] 642 + 643 +The payload decoder function for TTN V3 are here: 644 + 645 +SN50v3 TTN V3 Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 646 + 647 + 648 +==== 2.3.3.1 Battery Info ==== 649 + 650 +Check the battery voltage for SN50v3. 651 + 300 300 Ex1: 0x0B45 = 2885mV 301 301 302 302 Ex2: 0x0B49 = 2889mV 303 303 304 304 657 +==== 2.3.3.2 Temperature (DS18B20) ==== 305 305 306 - ====(% style="color:#4472c4"%)**Temperature**(%%)====659 +If there is a DS18B20 connected to PC13 pin. The temperature will be uploaded in the payload. 307 307 661 +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]] 662 + 663 +**Connection:** 664 + 665 +[[image:image-20230512180718-8.png||height="538" width="647"]] 666 + 308 308 **Example**: 309 309 310 310 If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree ... ... @@ -314,195 +314,213 @@ 314 314 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 315 315 316 316 317 -==== (%style="color:#4472c4"%)**Humidity**(%%)====676 +==== 2.3.3.3 Digital Input ==== 318 318 678 +The digital input for pin PB15, 319 319 320 -Read:0x(0197)=412 Value: 412 / 10=41.2, So 41.2% 680 +* When PB15 is high, the bit 1 of payload byte 6 is 1. 681 +* When PB15 is low, the bit 1 of payload byte 6 is 0. 321 321 683 +(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %) 684 +((( 685 +When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin. 322 322 323 - ==== (% style="color:#4472c4" %)**AlarmFlag&MOD**(%%)====687 +**Note:**The maximum voltage input supports 3.6V. 324 324 689 + 690 +))) 325 325 326 - **Example:**692 +==== 2.3.3.4 Analogue Digital Converter (ADC) ==== 327 327 328 - Ifpayload&0x01=0x01 **~-~->** ThisisanAlarmMessage694 +The measuring range of the ADC is only about 0V to 1.1V The voltage resolution is about 0.24mv. 329 329 330 - If payload&0x01=0x00**~-~->** This is anormalplinkmessage,no alarm696 +When the measured output voltage of the sensor is not within the range of 0V and 1.1V, the output voltage terminal of the sensor shall be divided The example in the following figure is to reduce the output voltage of the sensor by three times If it is necessary to reduce more times, calculate according to the formula in the figure and connect the corresponding resistance in series. 331 331 332 - Ifpayload>>2=0x00**~-~->** meansMOD=1,Thisissamplinguplinkmessage698 +[[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-20220628150112-1.png?width=285&height=241&rev=1.1||alt="image-20220628150112-1.png" height="241" width="285"]] 333 333 334 - If payload >> 2 = 0x31**~-~->**meansMOD=31,this messageisareplymessageforpolling, this message contains the alarmsettings.see[[thislink>>path:#HPolltheAlarmsettings:]]fordetail.700 +**Note:**If the ADC type sensor needs to be powered by SN50_v3, it is recommended to use +5V to control its switch.Only sensors with low power consumption can be powered with VDD. 335 335 336 336 337 -== 2. 4PayloadDecoderfile==703 +==== 2.3.3.5 Digital Interrupt ==== 338 338 705 +Digital Interrupt refers to pin PA8, and there are different trigger methods. When there is a trigger, the SN50v3 will send a packet to the server. 339 339 340 -In TTN, use canadd acustompayload so itshows friendly reading707 +**~ Interrupt connection method:** 341 341 342 - In the page(% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%)toaddthe decoder from:709 +[[image:image-20230513105351-5.png||height="147" width="485"]] 343 343 344 - [[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]]711 +**Example to use with door sensor :** 345 345 713 +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. 346 346 347 - == 2.5 Datalog Feature715 +[[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"]] 348 348 717 +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 SN50_v3 interrupt interface to detect the status for the door or window. 349 349 350 - DatalogFeatureis toensureIoT Server cangetsampling data from Sensor evenif the LoRaWANnetworkis down. Foreach sampling, S31x-LB will storethe reading for future retrieving purposes.719 +**~ Below is the installation example:** 351 351 721 +Fix one piece of the magnetic sensor to the door and connect the two pins to SN50_v3 as follows: 352 352 353 -=== 2.5.1 Ways to get datalog via LoRaWAN === 723 +* ((( 724 +One pin to SN50_v3's PA8 pin 725 +))) 726 +* ((( 727 +The other pin to SN50_v3's VDD pin 728 +))) 354 354 730 +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 PA8 will be at the VCC voltage. 355 355 356 - Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayloadA028FPORT3D329"]],S31x-LB willwaitforACK forevery uplink,whenthereis noLoRaWANnetwork,S31x-LBwill marktheserecordswithnon-ackmessagesand storethesensordata,anditwillsendallmessages(10s interval)after thenetworkrecovery.732 +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. 357 357 358 -* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server. 359 -* 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. 734 +When door sensor is shorted, there will extra power consumption in the circuit, the extra current is 3v3/R14 = 3v3/1Mohm = 3uA which can be ignored. 360 360 361 - Belowis theypicalcasetheauto-updatetalogfeature (Set PNACKMD=1)736 +[[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"]] 362 362 363 - [[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"]]738 +The above photos shows the two parts of the magnetic switch fitted to a door. 364 364 365 - ===2.5.2UnixTimeStamp===740 +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. 366 366 742 +The command is: 367 367 368 - S31x-LBusesUnixTimeStamp formatbased744 +**AT+INTMOD1=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]]**. **) 369 369 370 - [[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"]]746 +Below shows some screen captures in TTN V3: 371 371 372 - User canget this time from link:[[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]]:748 +[[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"]] 373 373 374 - Belowis theconverter example750 +In MOD=1, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below: 375 375 376 - [[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"]]752 +door= (bytes[6] & 0x80)? "CLOSE":"OPEN"; 377 377 378 -So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25 379 379 755 +==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ==== 380 380 381 - ===2.5.3SetDeviceTime===757 +The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data. 382 382 759 +We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor. 383 383 384 - User need to set(%style="color:blue"%)**SYNCMOD=1**(%%)to enablesynctimeviaMACcommand.761 +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/ SHT31 code in SN50_v3 will be a good reference. 385 385 386 - Once S31x-LBJoined LoRaWAN network,it willsendtheMACcommand (DeviceTimeReq) and theserver will reply with (DeviceTimeAns)tosendthe current time to S31x-LB.IfS31x-LBfails to get thetime from the server, S31x-LB will use the internal timeand waitfornexttime request(AT+SYNCTDC tosetthetime request period, default is 10 days).763 +Below is the connection to SHT20/ SHT31. The connection is as below: 387 387 388 -(% 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.** 389 389 766 +[[image:image-20230513103633-3.png||height="448" width="716"]] 390 390 391 - ===2.5.4DatalogUplinkpayload(FPORT~=3)===768 +The device will be able to get the I2C sensor data now and upload to IoT Server. 392 392 770 +[[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"]] 393 393 394 - TheDataloguplinkswill usebelowpayloadformat.772 +Convert the read byte to decimal and divide it by ten. 395 395 396 -** Retrieval datapayload:**774 +**Example:** 397 397 398 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 399 -|=(% style="width: 80px;background-color:#D9E2F3" %)((( 400 -**Size(bytes)** 401 -)))|=(% 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** 402 -|(% style="width:103px" %)**Value**|(% style="width:54px" %)((( 403 -[[Temp_Black>>||anchor="HTemperatureBlack:"]] 404 -)))|(% 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"]] 776 +Temperature: Read:0116(H) = 278(D) Value: 278 /10=27.8℃; 405 405 406 - **Pollmessageflag&Ext:**778 +Humidity: Read:0248(H)=584(D) Value: 584 / 10=58.4, So 58.4% 407 407 408 - [[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"]]780 +If you want to use other I2C device, please refer the SHT20 part source code as reference. 409 409 410 -**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) 411 411 412 - **PollMessageFlag**: 1: Thismessageis a poll messagereply.783 +==== 2.3.3.7 Distance Reading ==== 413 413 414 - *PollMessageFlagto1.785 +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]]. 415 415 416 -* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands. 417 417 418 - Forexample,inUS915 band,the max payload for different DR is:788 +==== 2.3.3.8 Ultrasonic Sensor ==== 419 419 420 - **a)DR0:**maxis11bytes sooneentryof790 +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]] 421 421 422 - **b)DR1:**maxis53bytesso devices will upload4entries ofdata(total44bytes)792 +The SN50_v3 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. 423 423 424 - **c)DR2:** totalpayloadincludes11entries ofdata794 +The working principle of this sensor is similar to the **HC-SR04** ultrasonic sensor. 425 425 426 - **d)DR3: **totalpayloadincludes22entriesof data.796 +The picture below shows the connection: 427 427 428 - If devise doesn't havey data in thepollingime.Devicewill uplink 11 bytes of 0798 +[[image:image-20230512173903-6.png||height="596" width="715"]] 429 429 800 +Connect to the SN50_v3 and run **AT+MOD=2** to switch to ultrasonic mode (ULT). 430 430 802 +The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value. 803 + 431 431 **Example:** 432 432 433 - If S31x-LB hasbelow datainsideFlash:806 +Distance: Read: 0C2D(Hex) = 3117(D) Value: 3117 mm=311.7 cm 434 434 435 -[[image:1682646494051-944.png]] 436 436 437 -If user sends below downlink command: 3160065F9760066DA705 438 438 439 - Where:Startime:60065F97=time21/1/19 04:27:03810 +==== 2.3.3.9 Battery Output - BAT pin ==== 440 440 441 - Stop time:60066DA7=time21/1/1905:27:03812 +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. 442 442 443 443 444 - **S31x-LBwilluplinkthispayload.**815 +==== 2.3.3.10 +5V Output ==== 445 445 446 - [[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"]]817 +SN50v3 will enable +5V output before all sampling and disable the +5v after all sampling. 447 447 448 -((( 449 -__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E 450 -))) 819 +The 5V output time can be controlled by AT Command. 451 451 452 -((( 453 -Where the first 11 bytes is for the first entry: 454 -))) 821 +**AT+5VT=1000** 455 455 456 -((( 457 -7FFF089801464160065F97 458 -))) 823 +Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors. 459 459 460 -((( 461 -**Ext sensor data**=0x7FFF/100=327.67 462 -))) 825 +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. 463 463 464 -((( 465 -**Temp**=0x088E/100=22.00 466 -))) 467 467 468 -((( 469 -**Hum**=0x014B/10=32.6 470 -))) 471 471 472 -((( 473 -**poll message flag & Ext**=0x41,means reply data,Ext=1 474 -))) 829 +==== 2.3.3.11 BH1750 Illumination Sensor ==== 475 475 476 -((( 477 -**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03 478 -))) 831 +MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes. 479 479 833 +[[image:image-20230512172447-4.png||height="416" width="712"]] 480 480 481 - (% 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"]](%ria-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="单击并拖动以调整大小" %)的835 +[[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" height="361" width="953"]] 482 482 483 -== 2.6 Temperature Alarm Feature == 484 484 838 +==== 2.3.3.12 Working MOD ==== 485 485 486 - S31x-LBwork flowwithAlarmfeature.840 +The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte). 487 487 842 +User can use the 3^^rd^^ ~~ 7^^th^^ bit of this byte to see the working mod: 488 488 489 - [[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"]]844 +Case 7^^th^^ Byte >> 2 & 0x1f: 490 490 846 +* 0: MOD1 847 +* 1: MOD2 848 +* 2: MOD3 849 +* 3: MOD4 850 +* 4: MOD5 851 +* 5: MOD6 852 +* 6: MOD7 853 +* 7: MOD8 854 +* 8: MOD9 491 491 492 -== 2.7FrequencyPlans==856 +== == 493 493 858 +== 2.4 Payload Decoder file == 494 494 495 -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. 496 496 861 +In TTN, use can add a custom payload so it shows friendly reading 862 + 863 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: 864 + 865 +[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/SN50_v3-LB>>https://github.com/dragino/dragino-end-node-decoder/tree/main/SN50_v3-LB]] 866 + 867 + 868 + 869 +== 2.5 Frequency Plans == 870 + 871 + 872 +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. 873 + 497 497 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 498 498 499 499 500 -= 3. Configure S3 1x-LB =877 += 3. Configure SN50v3-LB = 501 501 502 502 == 3.1 Configure Methods == 503 503 504 504 505 -S3 1x-LB supports below configure method:882 +SN50v3-LB supports below configure method: 506 506 507 507 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. 508 508 * 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]]. ... ... @@ -521,7 +521,7 @@ 521 521 [[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/]] 522 522 523 523 524 -== 3.3 Commands special design for S3 1x-LB ==901 +== 3.3 Commands special design for SN50v3-LB == 525 525 526 526 527 527 These commands only valid for S31x-LB, as below: ... ... @@ -529,7 +529,6 @@ 529 529 530 530 === 3.3.1 Set Transmit Interval Time === 531 531 532 - 533 533 Feature: Change LoRaWAN End Node Transmit Interval. 534 534 535 535 (% style="color:blue" %)**AT Command: AT+TDC** ... ... @@ -555,118 +555,167 @@ 555 555 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 556 556 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 557 557 934 +=== === 935 + 558 558 === 3.3.2 Get Device Status === 559 559 938 +Send a LoRaWAN downlink to ask the device to send its status. 560 560 561 -Send a LoRaWAN downlink to ask device send Alarm settings. 562 - 563 563 (% style="color:blue" %)**Downlink Payload: **(%%)0x26 01 564 564 565 565 Sensor will upload Device Status via FPORT=5. See payload section for detail. 566 566 567 567 568 -=== 3.3.3 Set TemperatureAlarm Threshold ===945 +=== 3.3.3 Set Interrupt Mode === 569 569 570 - *(%style="color:blue"%)**AT Command:**947 +Feature, Set Interrupt mode for GPIO_EXIT. 571 571 572 -(% style="color: #037691" %)**AT+SHTEMP=min,max**949 +(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3** 573 573 574 -* When min=0, and max≠0, Alarm higher than max 575 -* When min≠0, and max=0, Alarm lower than min 576 -* When min≠0 and max≠0, Alarm higher than max or lower than min 951 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 952 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 953 +|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 954 +0 955 +OK 956 +the mode is 0 =Disable Interrupt 957 +))) 958 +|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)((( 959 +Set Transmit Interval 960 +0. (Disable Interrupt), 961 +~1. (Trigger by rising and falling edge) 962 +2. (Trigger by falling edge) 963 +3. (Trigger by rising edge) 964 +)))|(% style="width:157px" %)OK 965 +|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)((( 966 +Set Transmit Interval 577 577 578 -Example: 968 +trigger by rising edge. 969 +)))|(% style="width:157px" %)OK 970 +|(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK 579 579 580 - AT+SHTEMP=0,30 ~/~/ Alarmwhentemperature higher than30.972 +(% style="color:blue" %)**Downlink Command: 0x06** 581 581 582 - * (% style="color:blue"%)**Downlink Payload:**974 +Format: Command Code (0x06) followed by 3 bytes. 583 583 584 - (%style="color:#037691"%)**0x(0C01001E)**(%%)~/~/SetAT+SHTEMP=0,30976 +This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 585 585 586 -(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)** 978 +* Example 1: Downlink Payload: 06000000 **~-~-->** AT+INTMOD1=0 979 +* Example 2: Downlink Payload: 06000003 **~-~-->** AT+INTMOD1=3 980 +* Example 3: Downlink Payload: 06000102 **~-~-->** AT+INTMOD2=2 981 +* Example 4: Downlink Payload: 06000201 **~-~-->** AT+INTMOD3=1 587 587 983 +=== === 588 588 589 -=== 3.3.4 Set HumidityAlarm Threshold===985 +=== 3.3.4 Set Power Output Duration === 590 590 591 - * (% style="color:blue"%)**ATCommand:**987 +Control the output duration 5V . Before each sampling, device will 592 592 593 - (%style="color:#037691"%)**AT+SHHUM=min,max**989 +~1. first enable the power output to external sensor, 594 594 595 -* When min=0, and max≠0, Alarm higher than max 596 -* When min≠0, and max=0, Alarm lower than min 597 -* When min≠0 and max≠0, Alarm higher than max or lower than min 991 +2. keep it on as per duration, read sensor value and construct uplink payload 598 598 599 - Example:993 +3. final, close the power output. 600 600 601 - AT+SHHUM=70,0 ~/~/ Alarm whenhumiditylower than70%.995 +(% style="color:blue" %)**AT Command: AT+5VT** 602 602 603 -* (% style="color:blue" %)**Downlink Payload:** 997 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 998 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 999 +|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)((( 1000 +500(default) 604 604 605 -(% style="color:#037691" %)**0x(0C 02 46 00)**(%%) ~/~/ Set AT+SHTHUM=70,0 1002 +OK 1003 +))) 1004 +|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)((( 1005 +Close after a delay of 1000 milliseconds. 1006 +)))|(% style="width:157px" %)OK 606 606 607 -(% style="color: red" %)**(note: 3^^rd^^ byte= 0x46 for lowmit(70%), 4^^th^^ byte = 0x00 for high limit (notset))**1008 +(% style="color:blue" %)**Downlink Command: 0x07** 608 608 1010 +Format: Command Code (0x07) followed by 2 bytes. 609 609 610 - ===3.3.5SetAlarmInterval===1012 +The first and second bytes are the time to turn on. 611 611 612 -The shortest time of two Alarm packet. (unit: min) 1014 +* Example 1: Downlink Payload: 070000 **~-~-->** AT+5VT=0 1015 +* Example 2: Downlink Payload: 0701F4 **~-~-->** AT+5VT=500 613 613 614 - * (% style="color:blue"%)**ATCommand:**1017 +=== === 615 615 616 - (% style="color:#037691" %)**AT+ATDC=30**(%%) ~/~/ Theshortestinterval of two Alarm packetsis 30 minutes, Means is thereis analarmpacket uplink, there won't beanother one inthenext 30 minutes.1019 +=== 3.3.5 Set Weighing parameters === 617 617 618 - *(%style="color:blue"%)**DownlinkPayload:**1021 +Feature: Working mode 5 is effective, weight initialization and weight factor setting of HX711. 619 619 620 -(% style="color: #037691" %)**0x(0D001E)**(%%) **~-~--> ** SetAT+ATDC=0x 00 1E= 30 minutes1023 +(% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP** 621 621 1025 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1026 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 1027 +|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK 1028 +|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default) 1029 +|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK 622 622 623 - ===3.3.6 GetAlarm settings===1031 +(% style="color:blue" %)**Downlink Command: 0x08** 624 624 1033 +Format: Command Code (0x08) followed by 2 bytes or 4 bytes. 625 625 626 - Senda LoRaWANdownlinktoaskdevicesendAlarmsettings.1035 +Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes. 627 627 628 - *(%style="color:#037691"%)**DownlinkPayload:**(%%)0x0E011037 +The second and third bytes are multiplied by 10 times to be the AT+WEIGAP value. 629 629 630 -**Example:** 1039 +* Example 1: Downlink Payload: 0801 **~-~-->** AT+WEIGRE 1040 +* Example 2: Downlink Payload: 08020FA3 **~-~-->** AT+WEIGAP=400.3 1041 +* Example 3: Downlink Payload: 08020FA0 **~-~-->** AT+WEIGAP=400.0 631 631 632 - [[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"]]1043 +=== === 633 633 1045 +=== 3.3.6 Set Digital pulse count value === 634 634 635 - **Explain:**1047 +Feature: Set the pulse count value. 636 636 637 - *Alarm& MOD bit is0x7C,0x7C>>2=0x31: MeansthismessageistheAlarmsettingsmessage.1049 +Count 1 is PA8 pin of mode 6 and mode 9. Count 2 is PA4 pin of mode 9. 638 638 639 - ===3.3.7 SetInterruptMode===1051 +(% style="color:blue" %)**AT Command: AT+SETCNT** 640 640 1053 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1054 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 1055 +|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK 1056 +|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK 641 641 642 - Feature,SetInterruptmodeforGPIO_EXIT.1058 +(% style="color:blue" %)**Downlink Command: 0x09** 643 643 644 - (% style="color:blue"%)**ATCommand:AT+INTMOD**1060 +Format: Command Code (0x09) followed by 5 bytes. 645 645 1062 +The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized. 1063 + 1064 +* Example 1: Downlink Payload: 090100000000 **~-~-->** AT+SETCNT=1,0 1065 +* Example 2: Downlink Payload: 0902000003E8 **~-~-->** AT+SETCNT=2,1000 1066 + 1067 +=== === 1068 + 1069 +=== 3.3.7 Set Workmode === 1070 + 1071 +Feature: Switch working mode. 1072 + 1073 +(% style="color:blue" %)**AT Command: AT+MOD** 1074 + 646 646 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 647 647 |=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 648 -|(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 649 -0 1077 +|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)((( 650 650 OK 651 -the mode is 0 =Disable Interrupt 652 652 ))) 653 -|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)((( 654 -Set Transmit Interval 655 -0. (Disable Interrupt), 656 -~1. (Trigger by rising and falling edge) 657 -2. (Trigger by falling edge) 658 -3. (Trigger by rising edge) 659 -)))|(% style="width:157px" %)OK 1080 +|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)((( 1081 +OK 660 660 661 -(% style="color:blue" %)**Downlink Command: 0x06** 1083 +Attention:Take effect after ATZ 1084 +))) 662 662 663 - Format: CommandCode (0x06) followed by 3 bytes.1086 +(% style="color:blue" %)**Downlink Command: 0x0A** 664 664 665 - Thismeansthatthe interrupt mode of the endnodeis set to0x000003=3(risingedgetrigger),andthetype code is06.1088 +Format: Command Code (0x0A) followed by 1 bytes. 666 666 667 -* Example 1: Downlink Payload: 0 6000000/~/Turnoff interrupt mode668 -* Example 2: Downlink Payload: 0 6000003~/~/Set the interrupt mode to rising edge trigger1090 +* Example 1: Downlink Payload: 0A01 **~-~-->** AT+MOD=1 1091 +* Example 2: Downlink Payload: 0A04 **~-~-->** AT+MOD=4 669 669 1093 += = 1094 + 670 670 = 4. Battery & Power Consumption = 671 671 672 672 ... ... @@ -695,7 +695,10 @@ 695 695 696 696 = 6. FAQ = 697 697 1123 +== 6.1 Where can i find source code of SN50v3-LB? == 698 698 1125 +* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].** 1126 +* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].** 699 699 700 700 = 7. Order Info = 701 701 ... ... @@ -737,4 +737,4 @@ 737 737 738 738 739 739 * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule. 740 -* Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.c om>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]]1168 +* Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.cc>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.cc]]
- image-20230512163509-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.5 MB - Content
- image-20230512164658-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.0 MB - Content
- image-20230512170701-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.5 MB - Content
- image-20230512172447-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.0 MB - Content
- image-20230512173758-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.1 MB - Content
- image-20230512173903-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.3 MB - Content
- image-20230512180609-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.3 MB - Content
- image-20230512180718-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.3 MB - Content
- image-20230512181814-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.2 MB - Content
- image-20230513084523-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +611.3 KB - Content
- image-20230513102034-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +607.1 KB - Content
- image-20230513103633-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +595.5 KB - Content
- image-20230513105207-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +384.7 KB - Content
- image-20230513105351-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.6 KB - Content
- image-20230513110214-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +172.7 KB - Content
- image-20230513111203-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +79.9 KB - Content
- image-20230513111231-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +64.9 KB - Content
- image-20230513111255-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +70.4 KB - Content
- image-20230513134006-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Saxer - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.9 MB - Content
- image-20230515135611-1.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +948.0 KB - Content