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 (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 18 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
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Edwin1 +XWiki.Saxer - Content
-
... ... @@ -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"]]125 +[[image:image-20230513102034-2.png]] 126 126 127 127 128 128 == 1.8 Mechanical == ... ... @@ -149,7 +149,7 @@ 149 149 == 2.1 How it works == 150 150 151 151 152 -The S3 1x-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.152 +The SN50v3-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. 153 153 154 154 155 155 == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == ... ... @@ -160,11 +160,11 @@ 160 160 The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server. 161 161 162 162 163 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S3 1x-LB.163 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB. 164 164 165 -Each S3 1x-LB is shipped with a sticker with the default device EUI as below:165 +Each SN50v3-LB is shipped with a sticker with the default device EUI as below: 166 166 167 -[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]] 167 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/S31-LB_S31B-LB/WebHome/image-20230426084152-1.png?width=502&height=233&rev=1.1||alt="图片-20230426084152-1.png" height="233" width="502"]] 168 168 169 169 170 170 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: ... ... @@ -191,10 +191,10 @@ 191 191 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]] 192 192 193 193 194 -(% style="color:blue" %)**Step 2:**(%%) Activate onS31x-LB194 +(% style="color:blue" %)**Step 2:**(%%) Activate SN50v3-LB 195 195 196 196 197 -Press the button for 5 seconds to activate the S3 1x-LB.197 +Press the button for 5 seconds to activate the SN50v3-LB. 198 198 199 199 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 200 200 ... ... @@ -206,7 +206,7 @@ 206 206 === 2.3.1 Device Status, FPORT~=5 === 207 207 208 208 209 -Users can use the downlink command(**0x26 01**) to ask S3 1x-LBto send device configure detail, include device configure status. S31x-LBwill uplink a payload via FPort=5 to server.209 +Users can use the downlink command(**0x26 01**) to ask SN50v3 to send device configure detail, include device configure status. SN50v3 will uplink a payload via FPort=5 to server. 210 210 211 211 The Payload format is as below. 212 212 ... ... @@ -218,11 +218,9 @@ 218 218 219 219 Example parse in TTNv3 220 220 221 -[[image:image-20230421171614-1.png||alt="图片-20230421171614-1.png"]] 222 222 222 +(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3, this value is 0x1C 223 223 224 -(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A 225 - 226 226 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 227 227 228 228 (% style="color:#037691" %)**Frequency Band**: ... ... @@ -274,39 +274,391 @@ 274 274 Ex2: 0x0B49 = 2889mV 275 275 276 276 277 -=== 2.3.2 275 +=== 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 === 278 278 279 279 280 -Sen sorDataisuplinkviaFPORT=2278 +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. 281 281 282 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 283 -|=(% style="width: 90px;background-color:#D9E2F3" %)((( 280 +For example: 281 + 282 + **AT+MOD=2 ** ~/~/ will set the SN50v3 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor. 283 + 284 + 285 +(% style="color:red" %) **Important Notice:** 286 + 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. 290 + 291 +==== 2.3.2.1 MOD~=1 (Default Mode) ==== 292 + 293 +In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2. 294 + 295 +|**Size(bytes)**|**2**|**2**|**2**|(% style="width:216px" %)**1**|(% style="width:342px" %)**2**|(% style="width:171px" %)**2** 296 +|**Value**|Bat|((( 297 +Temperature(DS18B20) 298 + 299 +(PC13) 300 +)))|((( 301 +ADC 302 + 303 +(PA4) 304 +)))|(% style="width:216px" %)((( 305 +Digital in(PB15) & 306 + 307 +Digital Interrupt(PA8) 308 + 309 + 310 +)))|(% style="width:342px" %)((( 311 +Temperature 312 + 313 +(SHT20 or SHT31 or BH1750 Illumination Sensor) 314 +)))|(% style="width:171px" %)((( 315 +Humidity 316 + 317 +(SHT20 or SHT31) 318 +))) 319 + 320 +[[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"]] 321 + 322 + 323 +==== 2.3.2.2 MOD~=2 (Distance Mode) ==== 324 + 325 +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. 326 + 327 +|**Size(bytes)**|**2**|**2**|**2**|**1**|**2**|**2** 328 +|**Value**|BAT|((( 329 +Temperature(DS18B20) 330 + 331 +(PC13) 332 +)))|((( 333 +ADC 334 + 335 +(PA4) 336 +)))|((( 337 +Digital in(PB15) & 338 + 339 +Digital Interrupt(PA8) 340 +)))|((( 341 +Distance measure by: 342 +1) LIDAR-Lite V3HP 343 +Or 344 +2) Ultrasonic Sensor 345 +)))|Reserved 346 + 347 +[[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"]] 348 + 349 +**Connection of LIDAR-Lite V3HP:** 350 + 351 +[[image:image-20230512173758-5.png||height="563" width="712"]] 352 + 353 +**Connection to Ultrasonic Sensor:** 354 + 355 +Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current. 356 + 357 +[[image:image-20230512173903-6.png||height="596" width="715"]] 358 + 359 +For the connection to TF-Mini or TF-Luna , MOD2 payload is as below: 360 + 361 +|**Size(bytes)**|**2**|**2**|**1**|**2**|**2**|**2** 362 +|**Value**|BAT|((( 363 +Temperature(DS18B20) 364 + 365 +(PC13) 366 +)))|((( 367 +Digital in(PB15) & 368 + 369 +Digital Interrupt(PA8) 370 +)))|((( 371 +ADC 372 + 373 +(PA4) 374 +)))|((( 375 +Distance measure by:1)TF-Mini plus LiDAR 376 +Or 377 +2) TF-Luna LiDAR 378 +)))|Distance signal strength 379 + 380 +[[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"]] 381 + 382 +**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):** 383 + 384 +Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current. 385 + 386 +[[image:image-20230512180609-7.png||height="555" width="802"]] 387 + 388 +**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):** 389 + 390 +Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current. 391 + 392 +[[image:image-20230513105207-4.png||height="469" width="802"]] 393 + 394 + 395 +==== 2.3.2.3 MOD~=3 (3 ADC + I2C) ==== 396 + 397 +This mode has total 12 bytes. Include 3 x ADC + 1x I2C 398 + 399 +(% style="width:1031px" %) 400 +|=((( 284 284 **Size(bytes)** 285 -)))|=(% 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 286 -|(% style="width:99px" %)**Value**|(% style="width:69px" %)((( 287 -[[Battery>>||anchor="HBattery:"]] 288 -)))|(% style="width:130px" %)((( 289 -[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]] 290 -)))|(% style="width:91px" %)((( 291 -[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]] 292 -)))|(% style="width:103px" %)((( 293 -[[Temperature>>||anchor="HTemperature:"]] 294 -)))|(% style="width:80px" %)((( 295 -[[Humidity>>||anchor="HHumidity:"]] 402 +)))|=(% style="width: 68px;" %)**2**|=(% style="width: 75px;" %)**2**|=**2**|=**1**|=(% style="width: 304px;" %)2|=(% style="width: 163px;" %)2|=(% style="width: 53px;" %)1 403 +|**Value**|(% style="width:68px" %)((( 404 +ADC1 405 + 406 +(PA4) 407 +)))|(% style="width:75px" %)((( 408 +ADC2 409 + 410 +(PA5) 411 +)))|((( 412 +ADC3 413 + 414 +(PA8) 415 +)))|((( 416 +Digital Interrupt(PB15) 417 +)))|(% style="width:304px" %)((( 418 +Temperature 419 + 420 +(SHT20 or SHT31 or BH1750 Illumination Sensor) 421 +)))|(% style="width:163px" %)((( 422 +Humidity 423 + 424 +(SHT20 or SHT31) 425 +)))|(% style="width:53px" %)Bat 426 + 427 +[[image:image-20230513110214-6.png]] 428 + 429 + 430 +==== 2.3.2.4 MOD~=4 (3 x DS18B20) ==== 431 + 432 +[[image:image-20230512170701-3.png||height="565" width="743"]] 433 + 434 +This mode has total 11 bytes. As shown below: 435 + 436 +(% style="width:1017px" %) 437 +|**Size(bytes)**|**2**|(% style="width:186px" %)**2**|(% style="width:82px" %)**2**|(% style="width:210px" %)**1**|(% style="width:191px" %)**2**|(% style="width:183px" %)**2** 438 +|**Value**|BAT|(% style="width:186px" %)((( 439 +Temperature1(DS18B20) 440 +(PC13) 441 +)))|(% style="width:82px" %)((( 442 +ADC 443 + 444 +(PA4) 445 +)))|(% style="width:210px" %)((( 446 +Digital in(PB15) & 447 + 448 +Digital Interrupt(PA8) 449 +)))|(% style="width:191px" %)Temperature2(DS18B20) 450 +(PB9)|(% style="width:183px" %)Temperature3(DS18B20) 451 +(PB8) 452 + 453 +[[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"]] 454 + 455 + 456 +==== 2.3.2.5 MOD~=5(Weight Measurement by HX711) ==== 457 + 458 +[[image:image-20230512164658-2.png||height="532" width="729"]] 459 + 460 +Each HX711 need to be calibrated before used. User need to do below two steps: 461 + 462 +1. Zero calibration. Don't put anything on load cell and run **AT+WEIGRE** to calibrate to Zero gram. 463 +1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run **AT+WEIGAP** to adjust the Calibration Factor. 464 +1. ((( 465 +Weight has 4 bytes, the unit is g. 296 296 ))) 297 297 298 - ==== (% style="color:#4472c4"%)**Battery**(%%) ====468 +For example: 299 299 300 -S ensor BatteryLevel.470 +**AT+GETSENSORVALUE =0** 301 301 472 +Response: Weight is 401 g 473 + 474 +Check the response of this command and adjust the value to match the real value for thing. 475 + 476 +(% style="width:982px" %) 477 +|=((( 478 +**Size(bytes)** 479 +)))|=**2**|=(% style="width: 282px;" %)**2**|=(% style="width: 119px;" %)**2**|=(% style="width: 279px;" %)**1**|=(% style="width: 106px;" %)**4** 480 +|**Value**|BAT|(% style="width:282px" %)((( 481 +Temperature(DS18B20) 482 + 483 +(PC13) 484 + 485 + 486 +)))|(% style="width:119px" %)((( 487 +ADC 488 + 489 +(PA4) 490 +)))|(% style="width:279px" %)((( 491 +Digital in(PB15) & 492 + 493 +Digital Interrupt(PA8) 494 +)))|(% style="width:106px" %)Weight 495 + 496 +[[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"]] 497 + 498 + 499 +==== 2.3.2.6 MOD~=6 (Counting Mode) ==== 500 + 501 +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. 502 + 503 +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. 504 + 505 +[[image:image-20230512181814-9.png||height="543" width="697"]] 506 + 507 +**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. 508 + 509 +(% style="width:961px" %) 510 +|=**Size(bytes)**|=**2**|=(% style="width: 256px;" %)**2**|=(% style="width: 108px;" %)**2**|=(% style="width: 126px;" %)**1**|=(% style="width: 145px;" %)**4** 511 +|**Value**|BAT|(% style="width:256px" %)((( 512 +Temperature(DS18B20) 513 + 514 +(PC13) 515 +)))|(% style="width:108px" %)((( 516 +ADC 517 + 518 +(PA4) 519 +)))|(% style="width:126px" %)((( 520 +Digital in 521 + 522 +(PB15) 523 +)))|(% style="width:145px" %)((( 524 +Count 525 + 526 +(PA8) 527 +))) 528 + 529 +[[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"]] 530 + 531 + 532 +==== 2.3.2.7 MOD~=7 (Three interrupt contact modes) ==== 533 + 534 +|=((( 535 +**Size(bytes)** 536 +)))|=**2**|=**2**|=**2**|=**1**|=**1**|=1|=2 537 +|**Value**|BAT|((( 538 +Temperature(DS18B20) 539 + 540 +(PC13) 541 +)))|((( 542 +ADC 543 + 544 +(PA5) 545 +)))|((( 546 +Digital Interrupt1(PA8) 547 +)))|Digital Interrupt2(PA4)|Digital Interrupt3(PB15)|Reserved 548 + 549 +[[image:image-20230513111203-7.png||height="324" width="975"]] 550 + 551 +==== 2.3.2.8 MOD~=8 (3ADC+1DS18B20) ==== 552 + 553 +(% style="width:917px" %) 554 +|=((( 555 +**Size(bytes)** 556 +)))|=**2**|=(% style="width: 207px;" %)**2**|=(% style="width: 94px;" %)**2**|=(% style="width: 198px;" %)**1**|=(% style="width: 84px;" %)**2**|=(% style="width: 79px;" %)2 557 +|**Value**|BAT|(% style="width:207px" %)((( 558 +Temperature(DS18B20) 559 + 560 +(PC13) 561 +)))|(% style="width:94px" %)((( 562 +ADC1 563 + 564 +(PA4) 565 +)))|(% style="width:198px" %)((( 566 +Digital Interrupt(PB15) 567 +)))|(% style="width:84px" %)((( 568 +ADC2 569 + 570 +(PA5) 571 +)))|(% style="width:79px" %)((( 572 +ADC3 573 + 574 +(PA8) 575 +))) 576 + 577 +[[image:image-20230513111231-8.png||height="335" width="900"]] 578 + 579 + 580 +==== 2.3.2.9 MOD~=9 (3DS18B20+ two Interrupt count mode) ==== 581 + 582 +(% style="width:1010px" %) 583 +|=((( 584 +**Size(bytes)** 585 +)))|=**2**|=**2**|=**2**|=**1**|=(% style="width: 193px;" %)**2**|=(% style="width: 78px;" %)4|=(% style="width: 78px;" %)4 586 +|**Value**|BAT|((( 587 +Temperature1(DS18B20) 588 + 589 +(PC13) 590 +)))|((( 591 +Temperature2(DS18B20) 592 + 593 +(PB9) 594 +)))|((( 595 +Digital Interrupt 596 + 597 +(PB15) 598 +)))|(% style="width:193px" %)((( 599 +Temperature3(DS18B20) 600 + 601 +(PB8) 602 +)))|(% style="width:78px" %)((( 603 +Count1 604 + 605 +(PA8) 606 +)))|(% style="width:78px" %)((( 607 +Count2 608 + 609 +(PA4) 610 +))) 611 + 612 +[[image:image-20230513111255-9.png||height="341" width="899"]] 613 + 614 +**The newly added AT command is issued correspondingly:** 615 + 616 +**~ AT+INTMOD1** ** PA8** pin: Corresponding downlink: **06 00 00 xx** 617 + 618 +**~ AT+INTMOD2** **PA4** pin: Corresponding downlink:** 06 00 01 xx** 619 + 620 +**~ AT+INTMOD3** **PB15** pin: Corresponding downlink: ** 06 00 02 xx** 621 + 622 +**AT+SETCNT=aa,bb** 623 + 624 +When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb 625 + 626 +When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb 627 + 628 + 629 + 630 +=== 2.3.3 Decode payload === 631 + 632 +While using TTN V3 network, you can add the payload format to decode the payload. 633 + 634 +[[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"]] 635 + 636 +The payload decoder function for TTN V3 are here: 637 + 638 +SN50v3 TTN V3 Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 639 + 640 + 641 +==== 2.3.3.1 Battery Info ==== 642 + 643 +Check the battery voltage for SN50v3. 644 + 302 302 Ex1: 0x0B45 = 2885mV 303 303 304 304 Ex2: 0x0B49 = 2889mV 305 305 306 306 650 +==== 2.3.3.2 Temperature (DS18B20) ==== 307 307 308 - ====(% style="color:#4472c4"%)**Temperature**(%%)====652 +If there is a DS18B20 connected to PB3 pin. The temperature will be uploaded in the payload. 309 309 654 +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]] 655 + 656 +**Connection:** 657 + 658 +[[image:image-20230512180718-8.png||height="538" width="647"]] 659 + 310 310 **Example**: 311 311 312 312 If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree ... ... @@ -316,195 +316,208 @@ 316 316 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 317 317 318 318 319 -==== (%style="color:#4472c4"%)**Humidity**(%%)====669 +==== 2.3.3.3 Digital Input ==== 320 320 671 +The digital input for pin PB15, 321 321 322 -Read:0x(0197)=412 Value: 412 / 10=41.2, So 41.2% 673 +* When PB15 is high, the bit 1 of payload byte 6 is 1. 674 +* When PB15 is low, the bit 1 of payload byte 6 is 0. 323 323 676 +(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %) 677 +((( 678 +When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin. 324 324 325 -==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ==== 680 +**Note:**The maximum voltage input supports 3.6V. 681 +))) 326 326 683 +==== 2.3.3.4 Analogue Digital Converter (ADC) ==== 327 327 328 - **Example:**685 +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=0x01**~-~->**This isanAlarmMessage687 +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&0x01 =0x00**~-~->**Thisis anormaluplinkmessage,noalarm689 +[[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=0x00**~-~->**meansMOD=1,This isasamplinguplinkmessage691 +**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 - If payload >> 2=0x31**~-~->** means MOD=31, this messageis a reply message for polling,this message contains the alarmsettings. see [[this link>>path:#HPolltheAlarmsettings:]] fordetail.693 +==== 2.3.3.5 Digital Interrupt ==== 337 337 695 +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. 338 338 339 - ==2.4Payload Decoderfile==697 +**~ Interrupt connection method:** 340 340 699 +[[image:image-20230513105351-5.png||height="147" width="485"]] 341 341 342 - In TTN, use can add a customayloadsoitshowsfriendlyreading701 +**Example to use with door sensor :** 343 343 344 - In thepage(%style="color:#037691"%)**Applications~-~->PayloadFormats~-~->Custom~-~-> decoder**(%%)toaddthedecoderfrom:703 +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. 345 345 346 -[[http s:~~/~~/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]]705 +[[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"]] 347 347 707 +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. 348 348 349 - ==2.5DatalogFeature==709 +**~ Below is the installation example:** 350 350 711 +Fix one piece of the magnetic sensor to the door and connect the two pins to SN50_v3 as follows: 351 351 352 -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. 713 +* ((( 714 +One pin to SN50_v3's PA8 pin 715 +))) 716 +* ((( 717 +The other pin to SN50_v3's VDD pin 718 +))) 353 353 720 +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. 354 354 355 - ===2.5.1Ways togetdatalogviaLoRaWAN===722 +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. 356 356 724 +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. 357 357 358 - Set[[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayloadA028FPORT3D329"]], S31x-LBwill wait for ACK for every uplink,whenthereisetwork,S31x-LB will mark these records with non-ack messages andstorethesensordata, and it will sendallmessages (10s interval) after the network recovery.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/1656379283019-229.png?rev=1.1||alt="1656379283019-229.png"]] 359 359 360 -* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server. 361 -* 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. 728 +The above photos shows the two parts of the magnetic switch fitted to a door. 362 362 363 - Belowis thetypicalcaseforthe auto-update datalogfeature (SetPNACKMD=1)730 +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. 364 364 365 - [[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"]]732 +The command is: 366 366 367 -= ==2.5.2UnixTimeStamp===734 +**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]]**. **) 368 368 736 +Below shows some screen captures in TTN V3: 369 369 370 - S31x-LB uses Unix TimeStamp format based738 +[[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"]] 371 371 372 - [[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"]]740 +In MOD=1, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below: 373 373 374 - User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]]:742 +door= (bytes[6] & 0x80)? "CLOSE":"OPEN"; 375 375 376 -Below is the converter example 377 377 378 - [[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"]]745 +==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ==== 379 379 380 - So, wecanuseAT+TIMESTAMP=1611889405ordownlink3060137afd00 to setthe current time2021–Jan~-~-29Friday 03:03:25747 +The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data. 381 381 749 +We have made an example to show how to use the I2C interface to connect to the SHT20 Temperature and Humidity Sensor. 382 382 383 - ===2.5.3SetDevice Time===751 +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 SN50_v3 will be a good reference. 384 384 753 +Below is the connection to SHT20/ SHT31. The connection is as below: 385 385 386 -User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command. 387 387 388 - Once S31x-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq)and theserver will reply with (DeviceTimeAns) to send the current time to S31x-LB. If S31x-LB fails toget thetime from the server, S31x-LBwill use the internal time andwaitfor next time request (AT+SYNCTDC to set the time request period, default is10days).756 +[[image:image-20230513103633-3.png||height="636" width="1017"]] 389 389 390 - (%style="color:red"%)**Note:LoRaWAN Serverneedtosupport LoRaWAN v1.0.3(MAC v1.0.3) or highertosupportthis MAC command feature,Chirpstack,TTNV3 v3 and loriotsupport but TTN V3 v2 doesn'tsupport.If serverdoesn'tsupportthis command,it will through away uplink packet with this command,souser will losethepacket with timerequest forTTN V3 v2 if SYNCMOD=1.**758 +The device will be able to get the I2C sensor data now and upload to IoT Server. 391 391 760 +[[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"]] 392 392 393 - ===2.5.4DatalogUplink payload(FPORT~=3)===762 +Convert the read byte to decimal and divide it by ten. 394 394 764 +**Example:** 395 395 396 -T heDataloguplinks will usebelow payloadformat.766 +Temperature: Read:0116(H) = 278(D) Value: 278 /10=27.8℃; 397 397 398 - **Retrievaldatapayload:**768 +Humidity: Read:0248(H)=584(D) Value: 584 / 10=58.4, So 58.4% 399 399 400 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 401 -|=(% style="width: 80px;background-color:#D9E2F3" %)((( 402 -**Size(bytes)** 403 -)))|=(% 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** 404 -|(% style="width:103px" %)**Value**|(% style="width:54px" %)((( 405 -[[Temp_Black>>||anchor="HTemperatureBlack:"]] 406 -)))|(% 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"]] 770 +If you want to use other I2C device, please refer the SHT20 part source code as reference. 407 407 408 -**Poll message flag & Ext:** 409 409 410 - [[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"]]773 +==== 2.3.3.7 Distance Reading ==== 411 411 412 - **No ACK Message**:1: Thismessage means this payload is fromnUplinkMessage which doesn't get ACKfrom theerver before( for**PNACKMD=1** feature)775 +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]]. 413 413 414 -**Poll Message Flag**: 1: This message is a poll message reply. 415 415 416 - *PollMessageFlag isset to1.778 +==== 2.3.3.8 Ultrasonic Sensor ==== 417 417 418 - * Each dataentryis11bytes,tosave airtimeandbattery,deviceswillsendx bytesaccordingto thecurrentDR andFrequency bands.780 +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]] 419 419 420 - Forexample,inUS915band,themaxpayloadfordifferentDRis:782 +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. 421 421 422 - **a)DR0:** maxis11bytes sooneentryofdata784 +The working principle of this sensor is similar to the **HC-SR04** ultrasonic sensor. 423 423 424 - **b) DR1:** max is 53 bytesso deviceswill upload4 entriesfdata(total 44 bytes)786 +The picture below shows the connection: 425 425 426 - **c) DR2:** total payloadincludes11entriesofdata788 +[[image:image-20230512173903-6.png||height="596" width="715"]] 427 427 428 - **d)DR3: **totalpayloadincludes22entries ofdata.790 +Connect to the SN50_v3 and run **AT+MOD=2** to switch to ultrasonic mode (ULT). 429 429 430 - If devisedoesn'thave anydatainthepollingtime.Devicewilluplink 11 bytes of 0792 +The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value. 431 431 432 - 433 433 **Example:** 434 434 435 - If S31x-LB hasbelow datainsideFlash:796 +Distance: Read: 0C2D(Hex) = 3117(D) Value: 3117 mm=311.7 cm 436 436 437 -[[image:1682646494051-944.png]] 438 438 439 -If user sends below downlink command: 3160065F9760066DA705 440 440 441 - Where:Startime:60065F97=time21/1/19 04:27:03800 +==== 2.3.3.9 Battery Output - BAT pin ==== 442 442 443 - Stop time:60066DA7=time21/1/1905:27:03802 +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. 444 444 445 445 446 - **S31x-LBwilluplinkthispayload.**805 +==== 2.3.3.10 +5V Output ==== 447 447 448 - [[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"]]807 +SN50v3 will enable +5V output before all sampling and disable the +5v after all sampling. 449 449 450 -((( 451 -__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E 452 -))) 809 +The 5V output time can be controlled by AT Command. 453 453 454 -((( 455 -Where the first 11 bytes is for the first entry: 456 -))) 811 +**AT+5VT=1000** 457 457 458 -((( 459 -7FFF089801464160065F97 460 -))) 813 +Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors. 461 461 462 -((( 463 -**Ext sensor data**=0x7FFF/100=327.67 464 -))) 815 +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. 465 465 466 -((( 467 -**Temp**=0x088E/100=22.00 468 -))) 469 469 470 -((( 471 -**Hum**=0x014B/10=32.6 472 -))) 473 473 474 -((( 475 -**poll message flag & Ext**=0x41,means reply data,Ext=1 476 -))) 819 +==== 2.3.3.11 BH1750 Illumination Sensor ==== 477 477 478 -((( 479 -**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03 480 -))) 821 +MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes. 481 481 823 +[[image:image-20230512172447-4.png||height="593" width="1015"]] 482 482 483 - (% 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"]](%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="单击并拖动以调整大小" %)的825 +[[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"]] 484 484 485 -== 2.6 Temperature Alarm Feature == 486 486 828 +==== 2.3.3.12 Working MOD ==== 487 487 488 - S31x-LBwork flowwithAlarmfeature.830 +The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte). 489 489 832 +User can use the 3^^rd^^ ~~ 7^^th^^ bit of this byte to see the working mod: 490 490 491 - [[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"]]834 +Case 7^^th^^ Byte >> 2 & 0x1f: 492 492 836 +* 0: MOD1 837 +* 1: MOD2 838 +* 2: MOD3 839 +* 3: MOD4 840 +* 4: MOD5 841 +* 5: MOD6 842 +* 6: MOD7 843 +* 7: MOD8 844 +* 8: MOD9 493 493 494 -== 2. 7FrequencyPlans==846 +== 2.4 Payload Decoder file == 495 495 496 496 497 -T heS31x-LBusesOTAAmodeandbelowfrequencyplans bydefault. If user wanttouseitwithdifferent frequencyplan, pleaserefer the AT commandsets.849 +In TTN, use can add a custom payload so it shows friendly reading 498 498 851 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: 852 + 853 +[[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]] 854 + 855 + 856 + 857 +== 2.5 Frequency Plans == 858 + 859 + 860 +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. 861 + 499 499 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 500 500 501 501 502 -= 3. Configure S3 1x-LB =865 += 3. Configure SN50v3-LB = 503 503 504 504 == 3.1 Configure Methods == 505 505 506 506 507 -S3 1x-LB supports below configure method:870 +SN50v3-LB supports below configure method: 508 508 509 509 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. 510 510 * 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]]. ... ... @@ -523,7 +523,7 @@ 523 523 [[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/]] 524 524 525 525 526 -== 3.3 Commands special design for S3 1x-LB ==889 +== 3.3 Commands special design for SN50v3-LB == 527 527 528 528 529 529 These commands only valid for S31x-LB, as below: ... ... @@ -559,7 +559,6 @@ 559 559 560 560 === 3.3.2 Get Device Status === 561 561 562 - 563 563 Send a LoRaWAN downlink to ask device send Alarm settings. 564 564 565 565 (% style="color:blue" %)**Downlink Payload: **(%%)0x26 01 ... ... @@ -567,108 +567,147 @@ 567 567 Sensor will upload Device Status via FPORT=5. See payload section for detail. 568 568 569 569 570 -=== 3.3.3 Set TemperatureAlarm Threshold ===932 +=== 3.3.3 Set Interrupt Mode === 571 571 572 -* (% style="color:blue" %)**AT Command:** 573 573 574 - (%style="color:#037691"%)**AT+SHTEMP=min,max**935 +Feature, Set Interrupt mode for GPIO_EXIT. 575 575 576 -* When min=0, and max≠0, Alarm higher than max 577 -* When min≠0, and max=0, Alarm lower than min 578 -* When min≠0 and max≠0, Alarm higher than max or lower than min 937 +(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3** 579 579 580 -Example: 939 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 940 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 941 +|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 942 +0 943 +OK 944 +the mode is 0 =Disable Interrupt 945 +))) 946 +|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)((( 947 +Set Transmit Interval 948 +0. (Disable Interrupt), 949 +~1. (Trigger by rising and falling edge) 950 +2. (Trigger by falling edge) 951 +3. (Trigger by rising edge) 952 +)))|(% style="width:157px" %)OK 953 +|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)((( 954 +Set Transmit Interval 581 581 582 - AT+SHTEMP=0,30 ~/~/ Alarm when temperature higher than 30. 956 +trigger by rising edge. 957 +)))|(% style="width:157px" %)OK 958 +|(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK 583 583 584 - *(% style="color:blue" %)**DownlinkPayload:**960 +(% style="color:blue" %)**Downlink Command: 0x06** 585 585 586 - (% style="color:#037691"%)**0x(0C01001E)**(%%)~/~/ SetAT+SHTEMP=0,30962 +Format: Command Code (0x06) followed by 3 bytes. 587 587 588 - (%style="color:red"%)**(note:3^^rd^^byte=0x00forlow limit(notset),4^^th^^byte= 0x1E forhighlimit: 30)**964 +This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 589 589 966 +* Example 1: Downlink Payload: 06000000 **~-~-->** AT+INTMOD1=0 967 +* Example 2: Downlink Payload: 06000003 **~-~-->** AT+INTMOD1=3 968 +* Example 3: Downlink Payload: 06000102 **~-~-->** AT+INTMOD2=2 969 +* Example 4: Downlink Payload: 06000201 **~-~-->** AT+INTMOD3=1 590 590 591 -=== 3.3.4 Set Humidity Alarm Threshold === 971 +(% class="wikigeneratedid" %) 972 +=== 3.3.4 Set Power Output Duration === 592 592 593 - * (% style="color:blue"%)**ATCommand:**974 +Control the output duration 5V . Before each sampling, device will 594 594 595 - (%style="color:#037691"%)**AT+SHHUM=min,max**976 +~1. first enable the power output to external sensor, 596 596 597 -* When min=0, and max≠0, Alarm higher than max 598 -* When min≠0, and max=0, Alarm lower than min 599 -* When min≠0 and max≠0, Alarm higher than max or lower than min 978 +2. keep it on as per duration, read sensor value and construct uplink payload 600 600 601 - Example:980 +3. final, close the power output. 602 602 603 - AT+SHHUM=70,0 ~/~/ Alarm whenhumiditylower than70%.982 +(% style="color:blue" %)**AT Command: AT+5VT** 604 604 605 -* (% style="color:blue" %)**Downlink Payload:** 984 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 985 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 986 +|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)((( 987 +500(default) 606 606 607 -(% style="color:#037691" %)**0x(0C 02 46 00)**(%%) ~/~/ Set AT+SHTHUM=70,0 989 +OK 990 +))) 991 +|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)((( 992 +Close after a delay of 1000 milliseconds. 993 +)))|(% style="width:157px" %)OK 608 608 609 -(% style="color: red" %)**(note: 3^^rd^^ byte= 0x46 for lowmit(70%), 4^^th^^ byte = 0x00 for high limit (notset))**995 +(% style="color:blue" %)**Downlink Command: 0x07** 610 610 997 +Format: Command Code (0x07) followed by 2 bytes. 611 611 612 - ===3.3.5SetAlarmInterval===999 +The first and second bytes are the time to turn on. 613 613 614 -The shortest time of two Alarm packet. (unit: min) 1001 +* Example 1: Downlink Payload: 070000 **~-~-->** AT+5VT=0 1002 +* Example 2: Downlink Payload: 0701F4 **~-~-->** AT+5VT=500 615 615 616 -* (% style="color:blue" %)**AT Command:** 1004 +(% class="wikigeneratedid" %) 1005 +=== 3.3.5 Set Weighing parameters === 617 617 618 - (% style="color:#037691"%)**AT+ATDC=30** (%%) ~/~/ The shortestintervalof two Alarmpacketsis30 minutes,Meansisthereisan alarmpacketuplink,therewon'tbeanother onein the next 30 minutes.1007 +Feature: Working mode 5 is effective, hair removal and setting of weight factor of HX711. 619 619 620 - *(% style="color:blue" %)**DownlinkPayload:**1009 +(% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP** 621 621 622 -(% style="color:#037691" %)**0x(0D 00 1E)**(%%) **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes 1011 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1012 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 1013 +|(% style="width:154px" %) |(% style="width:196px" %) |(% style="width:157px" %) 1014 +|(% style="width:154px" %) |(% style="width:196px" %) |(% style="width:157px" %) 623 623 624 624 625 - ===3.3.6 GetAlarm settings===1017 +(% style="color:blue" %)**Downlink Command: 0x08** 626 626 627 627 628 - Send a LoRaWANdownlinktoaskdevicesendAlarmsettings.1020 +Format: Command Code (0x07) followed by 2 bytes. 629 629 630 - *(%style="color:#037691"%)**DownlinkPayload:**(%%)0x0E011022 +The first and second bytes are the time to turn on. 631 631 632 -**Example:** 633 633 634 - [[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"]]1025 +=== 3.3.6 Set Digital pulse count value === 635 635 1027 +Feature: Set the pulse count value. 636 636 637 -** Explain:**1029 +(% style="color:blue" %)**AT Command: AT+SETCNT** 638 638 639 -* Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message. 1031 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1032 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 1033 +|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK 1034 +|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK 640 640 641 -=== 3.3.7 Set Interrupt Mode === 642 642 1037 +(% style="color:blue" %)**Downlink Command: 0x09** 643 643 644 -Feature, Set Interrupt mode for GPIO_EXIT. 645 645 646 - (% style="color:blue"%)**ATCommand:AT+INTMOD**1040 +Format: Command Code (0x09) followed by 5 bytes. 647 647 1042 +The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized. 1043 + 1044 +* Example 1: Downlink Payload: 090100000000 **~-~-->** AT+SETCNT=1,0 1045 +* Example 2: Downlink Payload: 090200000000 **~-~-->** AT+5VT=500 1046 + 1047 +=== 3.3.7 Set Workmode === 1048 + 1049 +Feature: switch working mode. 1050 + 1051 +(% style="color:blue" %)**AT Command: AT+MOD** 1052 + 648 648 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 649 649 |=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 650 -|(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 651 -0 1055 +|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)((( 652 652 OK 653 -the mode is 0 =Disable Interrupt 654 654 ))) 655 -|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)((( 656 -Set Transmit Interval 657 -0. (Disable Interrupt), 658 -~1. (Trigger by rising and falling edge) 659 -2. (Trigger by falling edge) 660 -3. (Trigger by rising edge) 661 -)))|(% style="width:157px" %)OK 1058 +|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)((( 1059 +OK 662 662 663 -(% style="color:blue" %)**Downlink Command: 0x06** 1061 +Attention:Take effect after ATZ 1062 +))) 664 664 665 -Format: Command Code (0x06) followed by 3 bytes. 666 666 667 - Thismeanshat theinterrupt mode of the end nodeis set to 0x000003=3 (risingedge trigger),andthe type code is06.1065 +(% style="color:blue" %)**Downlink Command: 0x0A** 668 668 669 -* Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 670 -* Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 671 671 1068 +Format: Command Code (0x0A) followed by 1 bytes. 1069 + 1070 +* Example 1: Downlink Payload: 0A01 **~-~-->** AT+MOD=1 1071 +* Example 2: Downlink Payload: 0A04 **~-~-->** AT+MOD=4 1072 + 672 672 = 4. Battery & Power Consumption = 673 673 674 674 ... ... @@ -697,7 +697,10 @@ 697 697 698 698 = 6. FAQ = 699 699 1101 +== 6.1 Where can i find source code of SN50v3-LB? == 700 700 1103 +* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].** 1104 +* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].** 701 701 702 702 = 7. Order Info = 703 703
- 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