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, 0 added, 19 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
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Saxer1 +XWiki.Edwin - Content
-
... ... @@ -122,7 +122,7 @@ 122 122 == 1.7 Pin Definitions == 123 123 124 124 125 -[[image:image-2023051 3102034-2.png]]125 +[[image:image-20230511203450-2.png||height="443" width="785"]] 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 S N50v3-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 S31x-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 S N50v3-LB.163 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB. 164 164 165 -Each S N50v3-LB is shipped with a sticker with the default device EUI as below:165 +Each S31x-LB is shipped with a sticker with the default device EUI as below: 166 166 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"]]167 +[[image:image-20230426084152-1.png||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 S N50v3-LB194 +(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB 195 195 196 196 197 -Press the button for 5 seconds to activate the S N50v3-LB.197 +Press the button for 5 seconds to activate the S31x-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 S N50v3 to send device configure detail, include device configure status. SN50v3 will uplink a payload via FPort=5 to server.209 +Users can use the downlink command(**0x26 01**) to ask S31x-LB to send device configure detail, include device configure status. S31x-LB will uplink a payload via FPort=5 to server. 210 210 211 211 The Payload format is as below. 212 212 ... ... @@ -218,9 +218,11 @@ 218 218 219 219 Example parse in TTNv3 220 220 221 +[[image:image-20230421171614-1.png||alt="图片-20230421171614-1.png"]] 221 221 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 + 224 224 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 225 225 226 226 (% style="color:#037691" %)**Frequency Band**: ... ... @@ -272,396 +272,39 @@ 272 272 Ex2: 0x0B49 = 2889mV 273 273 274 274 275 -=== 2.3.2 Working Modes &Sensor Data.Uplink viaFPORT~=2 ===277 +=== 2.3.2 Sensor Data. FPORT~=2 === 276 276 277 277 278 -S N50v3 has different workingmode fortheconnectionsof different type of sensors. This sectiondescribes these modes. Use canuse the AT Command AT+MOD to set SN50v3 to different working modes.280 +Sensor Data is uplink via FPORT=2 279 279 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 -(% style="width:1110px" %) 296 -|**Size(bytes)**|**2**|(% style="width:191px" %)**2**|(% style="width:78px" %)**2**|(% style="width:216px" %)**1**|(% style="width:308px" %)**2**|(% style="width:154px" %)**2** 297 -|**Value**|Bat|(% style="width:191px" %)((( 298 -Temperature(DS18B20) 299 - 300 -(PC13) 301 -)))|(% style="width:78px" %)((( 302 -ADC 303 - 304 -(PA4) 305 -)))|(% style="width:216px" %)((( 306 -Digital in(PB15) & 307 - 308 -Digital Interrupt(PA8) 309 - 310 - 311 -)))|(% style="width:308px" %)((( 312 -Temperature 313 - 314 -(SHT20 or SHT31 or BH1750 Illumination Sensor) 315 -)))|(% style="width:154px" %)((( 316 -Humidity 317 - 318 -(SHT20 or SHT31) 319 -))) 320 - 321 -[[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"]] 322 - 323 - 324 -==== 2.3.2.2 MOD~=2 (Distance Mode) ==== 325 - 326 -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. 327 - 328 -(% style="width:1011px" %) 329 -|**Size(bytes)**|**2**|(% style="width:196px" %)**2**|(% style="width:87px" %)**2**|(% style="width:189px" %)**1**|(% style="width:208px" %)**2**|(% style="width:117px" %)**2** 330 -|**Value**|BAT|(% style="width:196px" %)((( 331 -Temperature(DS18B20) 332 - 333 -(PC13) 334 -)))|(% style="width:87px" %)((( 335 -ADC 336 - 337 -(PA4) 338 -)))|(% style="width:189px" %)((( 339 -Digital in(PB15) & 340 - 341 -Digital Interrupt(PA8) 342 -)))|(% style="width:208px" %)((( 343 -Distance measure by: 344 -1) LIDAR-Lite V3HP 345 -Or 346 -2) Ultrasonic Sensor 347 -)))|(% style="width:117px" %)Reserved 348 - 349 -[[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"]] 350 - 351 -**Connection of LIDAR-Lite V3HP:** 352 - 353 -[[image:image-20230512173758-5.png||height="563" width="712"]] 354 - 355 -**Connection to Ultrasonic Sensor:** 356 - 357 -Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current. 358 - 359 -[[image:image-20230512173903-6.png||height="596" width="715"]] 360 - 361 -For the connection to TF-Mini or TF-Luna , MOD2 payload is as below: 362 - 363 -(% style="width:1113px" %) 364 -|**Size(bytes)**|**2**|(% style="width:183px" %)**2**|(% style="width:173px" %)**1**|(% style="width:84px" %)**2**|(% style="width:323px" %)**2**|(% style="width:188px" %)**2** 365 -|**Value**|BAT|(% style="width:183px" %)((( 366 -Temperature(DS18B20) 367 - 368 -(PC13) 369 -)))|(% style="width:173px" %)((( 370 -Digital in(PB15) & 371 - 372 -Digital Interrupt(PA8) 373 -)))|(% style="width:84px" %)((( 374 -ADC 375 - 376 -(PA4) 377 -)))|(% style="width:323px" %)((( 378 -Distance measure by:1)TF-Mini plus LiDAR 379 -Or 380 -2) TF-Luna LiDAR 381 -)))|(% style="width:188px" %)Distance signal strength 382 - 383 -[[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"]] 384 - 385 -**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):** 386 - 387 -Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current. 388 - 389 -[[image:image-20230512180609-7.png||height="555" width="802"]] 390 - 391 -**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):** 392 - 393 -Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current. 394 - 395 -[[image:image-20230513105207-4.png||height="469" width="802"]] 396 - 397 - 398 -==== 2.3.2.3 MOD~=3 (3 ADC + I2C) ==== 399 - 400 -This mode has total 12 bytes. Include 3 x ADC + 1x I2C 401 - 402 -(% style="width:1031px" %) 403 -|=((( 282 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 283 +|=(% style="width: 90px;background-color:#D9E2F3" %)((( 404 404 **Size(bytes)** 405 -)))|=(% style="width: 68px;" %)**2**|=(% style="width: 75px;" %)**2**|=**2**|=**1**|=(% style="width: 304px;" %)2|=(% style="width: 163px;" %)2|=(% style="width: 53px;" %)1 406 -|**Value**|(% style="width:68px" %)((( 407 -ADC1 408 - 409 -(PA4) 410 -)))|(% style="width:75px" %)((( 411 -ADC2 412 - 413 -(PA5) 414 -)))|((( 415 -ADC3 416 - 417 -(PA8) 418 -)))|((( 419 -Digital Interrupt(PB15) 420 -)))|(% style="width:304px" %)((( 421 -Temperature 422 - 423 -(SHT20 or SHT31 or BH1750 Illumination Sensor) 424 -)))|(% style="width:163px" %)((( 425 -Humidity 426 - 427 -(SHT20 or SHT31) 428 -)))|(% style="width:53px" %)Bat 429 - 430 -[[image:image-20230513110214-6.png]] 431 - 432 - 433 -==== 2.3.2.4 MOD~=4 (3 x DS18B20) ==== 434 - 435 - 436 -This mode has total 11 bytes. As shown below: 437 - 438 -(% style="width:1017px" %) 439 -|**Size(bytes)**|**2**|(% style="width:186px" %)**2**|(% style="width:82px" %)**2**|(% style="width:210px" %)**1**|(% style="width:191px" %)**2**|(% style="width:183px" %)**2** 440 -|**Value**|BAT|(% style="width:186px" %)((( 441 -Temperature1(DS18B20) 442 -(PC13) 443 -)))|(% style="width:82px" %)((( 444 -ADC 445 - 446 -(PA4) 447 -)))|(% style="width:210px" %)((( 448 -Digital in(PB15) & 449 - 450 -Digital Interrupt(PA8) 451 -)))|(% style="width:191px" %)Temperature2(DS18B20) 452 -(PB9)|(% style="width:183px" %)Temperature3(DS18B20) 453 -(PB8) 454 - 455 -[[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"]] 456 - 457 -[[image:image-20230513134006-1.png||height="559" width="736"]] 458 - 459 - 460 -==== 2.3.2.5 MOD~=5(Weight Measurement by HX711) ==== 461 - 462 -[[image:image-20230512164658-2.png||height="532" width="729"]] 463 - 464 -Each HX711 need to be calibrated before used. User need to do below two steps: 465 - 466 -1. Zero calibration. Don't put anything on load cell and run **AT+WEIGRE** to calibrate to Zero gram. 467 -1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run **AT+WEIGAP** to adjust the Calibration Factor. 468 -1. ((( 469 -Weight has 4 bytes, the unit is g. 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:"]] 470 470 ))) 471 471 472 - Forexample:298 +==== (% style="color:#4472c4" %)**Battery**(%%) ==== 473 473 474 - **AT+GETSENSORVALUE=0**300 +Sensor Battery Level. 475 475 476 -Response: Weight is 401 g 477 - 478 -Check the response of this command and adjust the value to match the real value for thing. 479 - 480 -(% style="width:767px" %) 481 -|=((( 482 -**Size(bytes)** 483 -)))|=**2**|=(% style="width: 193px;" %)**2**|=(% style="width: 85px;" %)**2**|=(% style="width: 186px;" %)**1**|=(% style="width: 100px;" %)**4** 484 -|**Value**|BAT|(% style="width:193px" %)((( 485 -Temperature(DS18B20) 486 - 487 -(PC13) 488 - 489 - 490 -)))|(% style="width:85px" %)((( 491 -ADC 492 - 493 -(PA4) 494 -)))|(% style="width:186px" %)((( 495 -Digital in(PB15) & 496 - 497 -Digital Interrupt(PA8) 498 -)))|(% style="width:100px" %)Weight 499 - 500 -[[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"]] 501 - 502 - 503 -==== 2.3.2.6 MOD~=6 (Counting Mode) ==== 504 - 505 -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. 506 - 507 -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. 508 - 509 -[[image:image-20230512181814-9.png||height="543" width="697"]] 510 - 511 -**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. 512 - 513 -(% style="width:961px" %) 514 -|=**Size(bytes)**|=**2**|=(% style="width: 256px;" %)**2**|=(% style="width: 108px;" %)**2**|=(% style="width: 126px;" %)**1**|=(% style="width: 145px;" %)**4** 515 -|**Value**|BAT|(% style="width:256px" %)((( 516 -Temperature(DS18B20) 517 - 518 -(PC13) 519 -)))|(% style="width:108px" %)((( 520 -ADC 521 - 522 -(PA4) 523 -)))|(% style="width:126px" %)((( 524 -Digital in 525 - 526 -(PB15) 527 -)))|(% style="width:145px" %)((( 528 -Count 529 - 530 -(PA8) 531 -))) 532 - 533 -[[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"]] 534 - 535 - 536 -==== 2.3.2.7 MOD~=7 (Three interrupt contact modes) ==== 537 - 538 -(% style="width:1108px" %) 539 -|=((( 540 -**Size(bytes)** 541 -)))|=**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 542 -|**Value**|BAT|(% style="width:188px" %)((( 543 -Temperature(DS18B20) 544 - 545 -(PC13) 546 -)))|(% style="width:83px" %)((( 547 -ADC 548 - 549 -(PA5) 550 -)))|(% style="width:184px" %)((( 551 -Digital Interrupt1(PA8) 552 -)))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved 553 - 554 -[[image:image-20230513111203-7.png||height="324" width="975"]] 555 - 556 -==== 2.3.2.8 MOD~=8 (3ADC+1DS18B20) ==== 557 - 558 -(% style="width:922px" %) 559 -|=((( 560 -**Size(bytes)** 561 -)))|=**2**|=(% style="width: 207px;" %)**2**|=(% style="width: 94px;" %)**2**|=(% style="width: 198px;" %)**1**|=(% style="width: 84px;" %)**2**|=(% style="width: 82px;" %)2 562 -|**Value**|BAT|(% style="width:207px" %)((( 563 -Temperature(DS18B20) 564 - 565 -(PC13) 566 -)))|(% style="width:94px" %)((( 567 -ADC1 568 - 569 -(PA4) 570 -)))|(% style="width:198px" %)((( 571 -Digital Interrupt(PB15) 572 -)))|(% style="width:84px" %)((( 573 -ADC2 574 - 575 -(PA5) 576 -)))|(% style="width:82px" %)((( 577 -ADC3 578 - 579 -(PA8) 580 -))) 581 - 582 -[[image:image-20230513111231-8.png||height="335" width="900"]] 583 - 584 - 585 -==== 2.3.2.9 MOD~=9 (3DS18B20+ two Interrupt count mode) ==== 586 - 587 -(% style="width:1010px" %) 588 -|=((( 589 -**Size(bytes)** 590 -)))|=**2**|=**2**|=**2**|=**1**|=(% style="width: 193px;" %)**2**|=(% style="width: 78px;" %)4|=(% style="width: 78px;" %)4 591 -|**Value**|BAT|((( 592 -Temperature1(DS18B20) 593 - 594 -(PC13) 595 -)))|((( 596 -Temperature2(DS18B20) 597 - 598 -(PB9) 599 -)))|((( 600 -Digital Interrupt 601 - 602 -(PB15) 603 -)))|(% style="width:193px" %)((( 604 -Temperature3(DS18B20) 605 - 606 -(PB8) 607 -)))|(% style="width:78px" %)((( 608 -Count1 609 - 610 -(PA8) 611 -)))|(% style="width:78px" %)((( 612 -Count2 613 - 614 -(PA4) 615 -))) 616 - 617 -[[image:image-20230513111255-9.png||height="341" width="899"]] 618 - 619 -**The newly added AT command is issued correspondingly:** 620 - 621 -**~ AT+INTMOD1** ** PA8** pin: Corresponding downlink: **06 00 00 xx** 622 - 623 -**~ AT+INTMOD2** **PA4** pin: Corresponding downlink:** 06 00 01 xx** 624 - 625 -**~ AT+INTMOD3** **PB15** pin: Corresponding downlink: ** 06 00 02 xx** 626 - 627 -**AT+SETCNT=aa,bb** 628 - 629 -When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb 630 - 631 -When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb 632 - 633 - 634 - 635 -=== 2.3.3 Decode payload === 636 - 637 -While using TTN V3 network, you can add the payload format to decode the payload. 638 - 639 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378466788-734.png?rev=1.1||alt="1656378466788-734.png"]] 640 - 641 -The payload decoder function for TTN V3 are here: 642 - 643 -SN50v3 TTN V3 Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 644 - 645 - 646 -==== 2.3.3.1 Battery Info ==== 647 - 648 -Check the battery voltage for SN50v3. 649 - 650 650 Ex1: 0x0B45 = 2885mV 651 651 652 652 Ex2: 0x0B49 = 2889mV 653 653 654 654 655 -==== 2.3.3.2 Temperature (DS18B20) ==== 656 656 657 - Ifthere is a DS18B20connectedto PB3 pin.Thetemperaturewill be uploaded in the payload.308 +==== (% style="color:#4472c4" %)**Temperature**(%%) ==== 658 658 659 -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]] 660 - 661 -**Connection:** 662 - 663 -[[image:image-20230512180718-8.png||height="538" width="647"]] 664 - 665 665 **Example**: 666 666 667 667 If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree ... ... @@ -671,210 +671,195 @@ 671 671 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 672 672 673 673 674 -==== 2.3.3.3DigitalInput ====319 +==== (% style="color:#4472c4" %)**Humidity**(%%) ==== 675 675 676 -The digital input for pin PB15, 677 677 678 -* When PB15 is high, the bit 1 of payload byte 6 is 1. 679 -* When PB15 is low, the bit 1 of payload byte 6 is 0. 322 +Read:0x(0197)=412 Value: 412 / 10=41.2, So 41.2% 680 680 681 -(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %) 682 -((( 683 -When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin. 684 684 685 -**Note:**The maximum voltage input supports 3.6V. 686 -))) 325 +==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ==== 687 687 688 -==== 2.3.3.4 Analogue Digital Converter (ADC) ==== 689 689 690 - The measuring range of the ADC is only about 0V to 1.1V Thevoltage resolution is about 0.24mv.328 +**Example:** 691 691 692 - When the measured output voltage ofthe sensor is not within the range of 0V and 1.1V, the output voltage terminalf the sensor shall bedividedTheexampleinthefollowingfigure is to reduce the output voltage of the sensor by three timesIfit isnecessaryto reduce more times, calculate according to the formulain thefigure and connect the corresponding resistancein series.330 +If payload & 0x01 = 0x01 **~-~->** This is an Alarm Message 693 693 694 - [[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"]]332 +If payload & 0x01 = 0x00 **~-~->** This is a normal uplink message, no alarm 695 695 696 - **Note:**Ifthe ADC type sensor needstobepoweredby SN50_v3,itisrecommended to use+5Vto controlitsswitch.Onlysensorswithlow power consumptioncanbepowered with VDD.334 +If payload >> 2 = 0x00 **~-~->** means MOD=1, This is a sampling uplink message 697 697 698 - ====2.3.3.5DigitalInterrupt====336 +If payload >> 2 = 0x31 **~-~->** means MOD=31, this message is a reply message for polling, this message contains the alarm settings. see [[this link>>path:#HPolltheAlarmsettings:]] for detail. 699 699 700 -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. 701 701 702 - **~Interruptconnectionmethod:**339 +== 2.4 Payload Decoder file == 703 703 704 -[[image:image-20230513105351-5.png||height="147" width="485"]] 705 705 706 - **Exampletousewithdoorsensor:**342 +In TTN, use can add a custom payload so it shows friendly reading 707 707 708 - Thedoorsensor is shownatright. It isatwowiremagneticcontactswitchusedfordetectingtheopen/closestatus ofdoorsor windows.344 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: 709 709 710 -[[ 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"]]346 +[[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 711 712 -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. 713 713 714 - **~Belowisthe installationexample:**349 +== 2.5 Datalog Feature == 715 715 716 -Fix one piece of the magnetic sensor to the door and connect the two pins to SN50_v3 as follows: 717 717 718 -* ((( 719 -One pin to SN50_v3's PA8 pin 720 -))) 721 -* ((( 722 -The other pin to SN50_v3's VDD pin 723 -))) 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. 724 724 725 -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. 726 726 727 - Doorsensorshave two types: ** NC(Normal close)** and **NO (normal open)**. The connectionfor both typesensors arethesame. Butthe decoding for payloadare reverse, user need to modifythis in the IoTServer decoder.355 +=== 2.5.1 Ways to get datalog via LoRaWAN === 728 728 729 -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. 730 730 731 -[[ 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"]]358 +Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayloadA028FPORT3D329"]], S31x-LB will wait for ACK for every uplink, when there is no LoRaWAN network,S31x-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery. 732 732 733 -The above photos shows the two parts of the magnetic switch fitted to a door. 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. 734 734 735 - Thesoftwareby default usesthefallingedgeonthesignal line as an interrupt. We needto modify it toacceptboth therising edge (0v ~-~-> VCC , door close)andthe falling edge (VCC ~-~-> 0v , door open)astheinterrupt.363 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1) 736 736 737 - Thes: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"]] 738 738 739 - **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]]**.**)367 +=== 2.5.2 Unix TimeStamp === 740 740 741 -Below shows some screen captures in TTN V3: 742 742 743 - [[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"]]370 +S31x-LB uses Unix TimeStamp format based on 744 744 745 - InOD=1, usercansebyte6toseethe status foroor openclose. TTN V3coderisasbelow: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"]] 746 746 747 - door= (bytes[6]& 0x80)? "CLOSE":"OPEN";374 +User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] : 748 748 376 +Below is the converter example 749 749 750 - ==== 2.3.3.6 I2C Interface(SHT20&SHT31)====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"]] 751 751 752 - TheSDAandSCK are I2Cinterfacelines.You canuse thesetoconnect toan I2Cdeviceandgetthesensorta.380 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25 753 753 754 -We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor. 755 755 756 - Notice:Different I2Csensors have differentI2C commands set andinitiate process,if user want to use other I2C sensors, User need to re-write the source code to support those sensors. SHT20/ SHT31 codein SN50_v3 will bea good reference.383 +=== 2.5.3 Set Device Time === 757 757 758 -Below is the connection to SHT20/ SHT31. The connection is as below: 759 759 386 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command. 760 760 761 - [[image:image-20230513103633-3.png||height="448"width="716"]]388 +Once S31x-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to S31x-LB. If S31x-LB fails to get the time from the server, S31x-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days). 762 762 763 - Thedevicewill be able to get theI2C sensor datanowand uploadtoIoTServer.390 +(% 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.** 764 764 765 -[[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"]] 766 766 767 - Converttheread byte todecimalnddivideit by ten.393 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) === 768 768 769 -**Example:** 770 770 771 -Te mperature: Read:0116(H)=278(D) Value:278/10=27.8℃;396 +The Datalog uplinks will use below payload format. 772 772 773 - Humidity:Read:0248(H)=584(D)Value: 584 / 10=58.4, So58.4%398 +**Retrieval data payload:** 774 774 775 -If you want to use other I2C device, please refer the SHT20 part source code as reference. 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"]] 776 776 408 +**Poll message flag & Ext:** 777 777 778 - ==== 2.3.3.7 Distance410 +[[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"]] 779 779 780 - Refer[[UltrasonicSensorsection>>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]].412 +**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) 781 781 414 +**Poll Message Flag**: 1: This message is a poll message reply. 782 782 783 - ====2.3.3.8UltrasonicSensor====416 +* Poll Message Flag is set to 1. 784 784 785 - ThisFundamentalPrinciplesofthis sensorcan befoundatthislink: [[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]]418 +* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands. 786 786 787 - The SN50_v3 detects the pulse widthof the sensorand converts it tomm output. The accuracy will bewithin 1centimeter. The usable range (thedistancebetween theultrasonicprobeandthe measuredobject)is between24cmand 600cm.420 +For example, in US915 band, the max payload for different DR is: 788 788 789 - Theworkingprincipleofthis sensorissimilar tothe **HC-SR04** ultrasonicsensor.422 +**a) DR0:** max is 11 bytes so one entry of data 790 790 791 - Thepicturebelowshowsthennection:424 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 792 792 793 - [[image:image-20230512173903-6.png||height="596" width="715"]]426 +**c) DR2:** total payload includes 11 entries of data 794 794 795 - ConnecttoheSN50_v3andrun**AT+MOD=2**to switchtoultrasonic mode (ULT).428 +**d) DR3: **total payload includes 22 entries of data. 796 796 797 - Theultrasonicsensoruses8^^th^^and9^^th^^byteforthemeasurementvalue.430 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0 798 798 432 + 799 799 **Example:** 800 800 801 - Distance:Read: 0C2D(Hex) =3117(D)Value:3117mm=311.7cm435 +If S31x-LB has below data inside Flash: 802 802 437 +[[image:1682646494051-944.png]] 803 803 439 +If user sends below downlink command: 3160065F9760066DA705 804 804 805 - ====2.3.3.9BatteryOutput-BAT pin====441 +Where : Start time: 60065F97 = time 21/1/19 04:27:03 806 806 807 - TheBATpinofSN50v3isconnectedtotheBatterydirectly.Ifuserswanttouse BATpinto power an external sensor. User need to make sure the external sensoris of low power consumption. Becausethe BATpin is always open. Ifthe external sensoris of high power consumption. thebatteryof SN50v3-LB will run out very soon.443 + Stop time: 60066DA7= time 21/1/19 05:27:03 808 808 809 809 810 - ==== 2.3.3.10+5VOutput====446 +**S31x-LB will uplink this payload.** 811 811 812 - SN50v3willenable+5Voutputbeforeall samplingand disablethe+5v afterl sampling.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"]] 813 813 814 -The 5V output time can be controlled by AT Command. 450 +((( 451 +__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E 452 +))) 815 815 816 -**AT+5VT=1000** 454 +((( 455 +Where the first 11 bytes is for the first entry: 456 +))) 817 817 818 -Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors. 458 +((( 459 +7FFF089801464160065F97 460 +))) 819 819 820 -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. 462 +((( 463 +**Ext sensor data**=0x7FFF/100=327.67 464 +))) 821 821 466 +((( 467 +**Temp**=0x088E/100=22.00 468 +))) 822 822 470 +((( 471 +**Hum**=0x014B/10=32.6 472 +))) 823 823 824 -==== 2.3.3.11 BH1750 Illumination Sensor ==== 474 +((( 475 +**poll message flag & Ext**=0x41,means reply data,Ext=1 476 +))) 825 825 826 -MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes. 478 +((( 479 +**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03 480 +))) 827 827 828 -[[image:image-20230512172447-4.png||height="416" width="712"]] 829 829 830 - [[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"]]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"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的 831 831 485 +== 2.6 Temperature Alarm Feature == 832 832 833 -==== 2.3.3.12 Working MOD ==== 834 834 835 - TheworkingMOD info is contained in theDigitalin & Digital Interruptbyte(7^^th^^ Byte).488 +S31x-LB work flow with Alarm feature. 836 836 837 -User can use the 3^^rd^^ ~~ 7^^th^^ bit of this byte to see the working mod: 838 838 839 - Case7^^th^^ Byte>>2&0x1f: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"]] 840 840 841 -* 0: MOD1 842 -* 1: MOD2 843 -* 2: MOD3 844 -* 3: MOD4 845 -* 4: MOD5 846 -* 5: MOD6 847 -* 6: MOD7 848 -* 7: MOD8 849 -* 8: MOD9 850 850 851 -== 2. 4Payload Decoderfile==494 +== 2.7 Frequency Plans == 852 852 853 853 854 - InTTN,usecanaddacustompayload so itshowsfriendly reading497 +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. 855 855 856 -In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: 857 - 858 -[[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]] 859 - 860 - 861 - 862 - 863 - 864 -== 2.5 Frequency Plans == 865 - 866 - 867 -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. 868 - 869 869 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 870 870 871 871 872 -= 3. Configure S N50v3-LB =502 += 3. Configure S31x-LB = 873 873 874 874 == 3.1 Configure Methods == 875 875 876 876 877 -S N50v3-LB supports below configure method:507 +S31x-LB supports below configure method: 878 878 879 879 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. 880 880 * 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]]. ... ... @@ -893,7 +893,7 @@ 893 893 [[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/]] 894 894 895 895 896 -== 3.3 Commands special design for S N50v3-LB ==526 +== 3.3 Commands special design for S31x-LB == 897 897 898 898 899 899 These commands only valid for S31x-LB, as below: ... ... @@ -901,6 +901,7 @@ 901 901 902 902 === 3.3.1 Set Transmit Interval Time === 903 903 534 + 904 904 Feature: Change LoRaWAN End Node Transmit Interval. 905 905 906 906 (% style="color:blue" %)**AT Command: AT+TDC** ... ... @@ -926,177 +926,122 @@ 926 926 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 927 927 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 928 928 929 -(% class="wikigeneratedid" %) 930 -=== === 931 - 932 932 === 3.3.2 Get Device Status === 933 933 934 -Send a LoRaWAN downlink to ask the device to send its status. 935 935 563 +Send a LoRaWAN downlink to ask device send Alarm settings. 564 + 936 936 (% style="color:blue" %)**Downlink Payload: **(%%)0x26 01 937 937 938 938 Sensor will upload Device Status via FPORT=5. See payload section for detail. 939 939 940 940 941 -=== 3.3.3 Set InterruptMode===570 +=== 3.3.3 Set Temperature Alarm Threshold === 942 942 943 - Feature,SetInterrupt modefor GPIO_EXIT.572 +* (% style="color:blue" %)**AT Command:** 944 944 945 -(% style="color: blue" %)**ATCommand: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3**574 +(% style="color:#037691" %)**AT+SHTEMP=min,max** 946 946 947 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 948 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 949 -|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 950 -0 951 -OK 952 -the mode is 0 =Disable Interrupt 953 -))) 954 -|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)((( 955 -Set Transmit Interval 956 -0. (Disable Interrupt), 957 -~1. (Trigger by rising and falling edge) 958 -2. (Trigger by falling edge) 959 -3. (Trigger by rising edge) 960 -)))|(% style="width:157px" %)OK 961 -|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)((( 962 -Set Transmit Interval 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 963 963 964 -trigger by rising edge. 965 -)))|(% style="width:157px" %)OK 966 -|(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK 580 +Example: 967 967 968 - (%style="color:blue"%)**DownlinkCommand:0x06**582 + AT+SHTEMP=0,30 ~/~/ Alarm when temperature higher than 30. 969 969 970 - Format:CommandCode(0x06)followedby 3 bytes.584 +* (% style="color:blue" %)**Downlink Payload:** 971 971 972 - Thismeanshat theinterrupt modeofthe end node is set to0x000003=3(risingedgetrigger),andthetypecodeis06.586 +(% style="color:#037691" %)**0x(0C 01 00 1E)** (%%) ~/~/ Set AT+SHTEMP=0,30 973 973 974 -* Example 1: Downlink Payload: 06000000 **~-~-->** AT+INTMOD1=0 975 -* Example 2: Downlink Payload: 06000003 **~-~-->** AT+INTMOD1=3 976 -* Example 3: Downlink Payload: 06000102 **~-~-->** AT+INTMOD2=2 977 -* Example 4: Downlink Payload: 06000201 **~-~-->** AT+INTMOD3=1 588 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)** 978 978 979 -(% class="wikigeneratedid" %) 980 -=== === 981 981 982 -=== 3.3.4 Set Power OutputDuration===591 +=== 3.3.4 Set Humidity Alarm Threshold === 983 983 984 - Controltheoutput duration 5V . Beforeeachsampling,device will593 +* (% style="color:blue" %)**AT Command:** 985 985 986 - ~1.firstenablethe poweroutput to externalsensor,595 +(% style="color:#037691" %)**AT+SHHUM=min,max** 987 987 988 -2. keep it on as per duration, read sensor value and construct uplink payload 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 989 989 990 - 3. final, closethe power output.601 +Example: 991 991 992 - (%style="color:blue"%)**ATCommand:AT+5VT**603 + AT+SHHUM=70,0 ~/~/ Alarm when humidity lower than 70%. 993 993 994 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 995 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 996 -|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)((( 997 -500(default) 605 +* (% style="color:blue" %)**Downlink Payload:** 998 998 999 -OK 1000 -))) 1001 -|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)((( 1002 -Close after a delay of 1000 milliseconds. 1003 -)))|(% style="width:157px" %)OK 607 +(% style="color:#037691" %)**0x(0C 02 46 00)**(%%) ~/~/ Set AT+SHTHUM=70,0 1004 1004 1005 -(% style="color: blue" %)**Downlink Command:0x07**609 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))** 1006 1006 1007 -Format: Command Code (0x07) followed by 2 bytes. 1008 1008 1009 - Thefirstand second bytesare the timeto turnon.612 +=== 3.3.5 Set Alarm Interval === 1010 1010 1011 -* Example 1: Downlink Payload: 070000 **~-~-->** AT+5VT=0 1012 -* Example 2: Downlink Payload: 0701F4 **~-~-->** AT+5VT=500 614 +The shortest time of two Alarm packet. (unit: min) 1013 1013 1014 -(% class="wikigeneratedid" %) 1015 -=== === 616 +* (% style="color:blue" %)**AT Command:** 1016 1016 1017 -= ==3.3.5SetWeighingparameters===618 +(% style="color:#037691" %)**AT+ATDC=30** (%%) ~/~/ The shortest interval of two Alarm packets is 30 minutes, Means is there is an alarm packet uplink, there won't be another one in the next 30 minutes. 1018 1018 1019 - Feature:Workingmode 5 isffective,weight initialization and weight factor setting of HX711.620 +* (% style="color:blue" %)**Downlink Payload:** 1020 1020 1021 -(% style="color: blue" %)**ATCommand:AT+WEIGRE,AT+WEIGAP**622 +(% style="color:#037691" %)**0x(0D 00 1E)**(%%) **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes 1022 1022 1023 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1024 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 1025 -|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK 1026 -|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default) 1027 -|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK 1028 1028 1029 - (%style="color:blue"%)**DownlinkCommand: 0x08**625 +=== 3.3.6 Get Alarm settings === 1030 1030 1031 -Format: Command Code (0x08) followed by 2 bytes or 4 bytes. 1032 1032 1033 - UseAT+WEIGREwhen thefirstbytes 1, only 1 byte.Whenit is 2, useAT+WEIGAP, thereare3 bytes.628 +Send a LoRaWAN downlink to ask device send Alarm settings. 1034 1034 1035 - Thesecondand thirdbytesare multipliedby 10times to be the AT+WEIGAPvalue.630 +* (% style="color:#037691" %)**Downlink Payload: **(%%)0x0E 01 1036 1036 1037 -* Example 1: Downlink Payload: 0801 **~-~-->** AT+WEIGRE 1038 -* Example 2: Downlink Payload: 08020FA3 **~-~-->** AT+WEIGAP=400.3 1039 -* Example 3: Downlink Payload: 08020FA0 **~-~-->** AT+WEIGAP=400.0 632 +**Example:** 1040 1040 1041 -(% class="wikigeneratedid" %) 1042 -=== === 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"]] 1043 1043 1044 -=== 3.3.6 Set Digital pulse count value === 1045 1045 1046 - Feature: Set thepulse count value.637 +**Explain:** 1047 1047 1048 - Count1isPA8pinofmode6andmode9. Count 2isPA4pinofmode9.639 +* Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message. 1049 1049 1050 - (%style="color:blue"%)**AT Command:AT+SETCNT**641 +=== 3.3.7 Set Interrupt Mode === 1051 1051 1052 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1053 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 1054 -|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK 1055 -|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK 1056 1056 1057 - (%style="color:blue"%)**DownlinkCommand:0x09**644 +Feature, Set Interrupt mode for GPIO_EXIT. 1058 1058 1059 - Format: CommandCode (0x09) followed by 5 bytes.646 +(% style="color:blue" %)**AT Command: AT+INTMOD** 1060 1060 1061 -The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized. 1062 - 1063 -* Example 1: Downlink Payload: 090100000000 **~-~-->** AT+SETCNT=1,0 1064 -* Example 2: Downlink Payload: 0902000003E8 **~-~-->** AT+SETCNT=2,1000 1065 - 1066 -(% class="wikigeneratedid" %) 1067 -=== === 1068 - 1069 -=== 3.3.7 Set Workmode === 1070 - 1071 -Feature: Switch working mode. 1072 - 1073 -(% style="color:blue" %)**AT Command: AT+MOD** 1074 - 1075 1075 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1076 1076 |=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 1077 -|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)((( 650 +|(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 651 +0 1078 1078 OK 653 +the mode is 0 =Disable Interrupt 1079 1079 ))) 1080 -|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)((( 1081 -OK 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 1082 1082 1083 -Attention:Take effect after ATZ 1084 -))) 663 +(% style="color:blue" %)**Downlink Command: 0x06** 1085 1085 1086 - (% style="color:blue"%)**DownlinkCommand:0x0A**665 +Format: Command Code (0x06) followed by 3 bytes. 1087 1087 1088 - Format:CommandCode(0x0A)followedby1bytes.667 +This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 1089 1089 1090 -* Example 1: Downlink Payload: 0 A01**~-~-->**AT+MOD=11091 -* Example 2: Downlink Payload: 0 A04**~-~-->**AT+MOD=4669 +* Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 670 +* Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 1092 1092 1093 -(% class="wikigeneratedid" %) 1094 -= = 1095 - 1096 1096 = 4. Battery & Power Consumption = 1097 1097 1098 1098 1099 -S N50v3-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.675 +S31x-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace. 1100 1100 1101 1101 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] . 1102 1102 ... ... @@ -1105,7 +1105,7 @@ 1105 1105 1106 1106 1107 1107 (% class="wikigeneratedid" %) 1108 -User can change firmware S N50v3-LB to:684 +User can change firmware S31x-LB to: 1109 1109 1110 1110 * Change Frequency band/ region. 1111 1111 * Update with new features. ... ... @@ -1121,10 +1121,7 @@ 1121 1121 1122 1122 = 6. FAQ = 1123 1123 1124 -== 6.1 Where can i find source code of SN50v3-LB? == 1125 1125 1126 -* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].** 1127 -* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].** 1128 1128 1129 1129 = 7. Order Info = 1130 1130 ... ... @@ -1132,7 +1132,6 @@ 1132 1132 Part Number: (% style="color:blue" %)**SN50v3-LB-XX-YY** 1133 1133 1134 1134 (% style="color:red" %)**XX**(%%): The default frequency band 1135 - 1136 1136 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band 1137 1137 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band 1138 1138 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
- image-20230512163509-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.5 MB - Content
- image-20230512164658-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.0 MB - Content
- image-20230512170701-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.5 MB - Content
- image-20230512172447-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.0 MB - Content
- image-20230512173758-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.1 MB - Content
- image-20230512173903-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.3 MB - Content
- image-20230512180609-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.3 MB - Content
- image-20230512180718-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.3 MB - Content
- image-20230512181814-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.2 MB - Content
- image-20230513084523-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -611.3 KB - Content
- image-20230513102034-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -607.1 KB - Content
- image-20230513103633-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -595.5 KB - Content
- image-20230513105207-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -384.7 KB - Content
- image-20230513105351-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -37.6 KB - Content
- image-20230513110214-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -172.7 KB - Content
- image-20230513111203-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -79.9 KB - Content
- image-20230513111231-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -64.9 KB - Content
- image-20230513111255-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -70.4 KB - Content
- image-20230513134006-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Saxer - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.9 MB - Content