Last modified by Mengting Qiu on 2025/07/01 15:58
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -15,21 +15,37 @@ 15 15 == 1.1 What is S31x-LB LoRaWAN Temperature & Humidity Sensor == 16 16 17 17 18 +((( 18 18 The Dragino S31x-LB is a (% style="color:blue" %)**LoRaWAN Temperature and Humidity Sensor**(%%) for Internet of Things solution. It is used to measure the (% style="color:blue" %)**surrounding environment temperature and relative air humidity precisely**(%%), and then upload to IoT server via LoRaWAN wireless protocol. 20 +))) 19 19 22 +((( 20 20 The temperature & humidity sensor used in S31x-LB is SHT31, which is fully calibrated, linearized, and temperature compensated digital output from Sensirion, it provides a strong reliability and long-term stability. The SHT31 is fixed in a (% style="color:blue" %)**waterproof anti-condensation casing**(%%) for long term use. 24 +))) 21 21 26 +((( 22 22 The LoRa wireless technology used in S31x-LB allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. 28 +))) 23 23 30 +((( 24 24 S31x-LB supports (% style="color:blue" %)**Temperature & Humdity alarm feature,**(%%) user can set temperature alarm for instant notice. S31x-LB supports Datalog feature, it can save the data when there is no LoRaWAN network and uplink when network recover. 32 +))) 25 25 34 +((( 26 26 S31x-LB has max 3 probes which measure maximum 3 temperature points. 36 +))) 27 27 38 +((( 28 28 S31x-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use. 40 +))) 29 29 42 +((( 30 30 S31x-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years. 44 +))) 31 31 46 +((( 32 32 Each S31x-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on. 48 +))) 33 33 34 34 35 35 == 1.2 Features == ... ... @@ -46,6 +46,8 @@ 46 46 * Downlink to change configure 47 47 * 8500mAh Battery for long term use 48 48 65 + 66 + 49 49 == 1.3 Specification == 50 50 51 51 ... ... @@ -88,6 +88,8 @@ 88 88 * Sleep Mode: 5uA @ 3.3v 89 89 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm 90 90 109 + 110 + 91 91 == 1.4 Sleep mode and working mode == 92 92 93 93 ... ... @@ -115,6 +115,8 @@ 115 115 ))) 116 116 |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode. 117 117 138 + 139 + 118 118 == 1.6 BLE connection == 119 119 120 120 ... ... @@ -134,7 +134,7 @@ 134 134 135 135 136 136 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 137 -|=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)Photo|=(% style="width: 2 97px;background-color:#D9E2F3;color:#0070C0" %)Probe Info159 +|=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)Photo|=(% style="width: 218px;background-color:#D9E2F3;color:#0070C0" %)Probe Info 138 138 |(% style="width:102px" %)S31-LB|(% style="width:190px" %) |(% style="width:297px" %)((( 139 139 1 x SHT31 Probe 140 140 ... ... @@ -178,8 +178,6 @@ 178 178 Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example. 179 179 180 180 181 - 182 - 183 183 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. 184 184 185 185 ... ... @@ -303,10 +303,10 @@ 303 303 304 304 Sensor Data is uplink via FPORT=2 305 305 306 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:5 10px" %)307 -|=(% style="width: 9 9px;background-color:#D9E2F3" %)(((326 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 327 +|=(% style="width: 90px;background-color:#D9E2F3" %)((( 308 308 **Size(bytes)** 309 -)))|=(% style="width: 69px;background-color:#D9E2F3" %)2|=(% style="width:130px;background-color:#D9E2F3" %)4|=(% style="width:91px;background-color:#D9E2F3" %)1|=(% style="width:103px;background-color:#D9E2F3" %)**2**|=(% style="width: 80px;background-color:#D9E2F3" %)2329 +)))|=(% 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 310 310 |(% style="width:99px" %)**Value**|(% style="width:69px" %)((( 311 311 [[Battery>>||anchor="HBattery:"]] 312 312 )))|(% style="width:130px" %)((( ... ... @@ -422,9 +422,9 @@ 422 422 **Retrieval data payload:** 423 423 424 424 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 425 -|=(% style="width: 103px;background-color:#D9E2F3" %)(((445 +|=(% style="width: 80px;background-color:#D9E2F3" %)((( 426 426 **Size(bytes)** 427 -)))|=(% style="width: 54px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width:51px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width:89px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 103px; background-color: rgb(217, 226, 243);" %)**1**|=(% style="width: 54px; background-color: rgb(217, 226, 243);" %)**4**447 +)))|=(% 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** 428 428 |(% style="width:103px" %)**Value**|(% style="width:54px" %)((( 429 429 [[Temp_Black>>||anchor="HTemperatureBlack:"]] 430 430 )))|(% 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"]] ... ... @@ -453,6 +453,7 @@ 453 453 454 454 If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0 455 455 476 + 456 456 **Example:** 457 457 458 458 If D2x-LB has below data inside Flash: ... ... @@ -465,25 +465,42 @@ 465 465 466 466 Stop time: 60066DA7= time 21/1/19 05:27:03 467 467 489 + 468 468 **S31x-LB will uplink this payload.** 469 469 470 470 [[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="image-20220523001219-13.png" height="421" width="727"]] 471 471 494 +((( 472 472 __**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E 496 +))) 473 473 498 +((( 474 474 Where the first 11 bytes is for the first entry: 500 +))) 475 475 502 +((( 476 476 7FFF089801464160065F97 504 +))) 477 477 478 -Ext sensor data=0x7FFF/100=327.67 506 +((( 507 +**Ext sensor data**=0x7FFF/100=327.67 508 +))) 479 479 480 -Temp=0x088E/100=22.00 510 +((( 511 +**Temp**=0x088E/100=22.00 512 +))) 481 481 482 -Hum=0x014B/10=32.6 514 +((( 515 +**Hum**=0x014B/10=32.6 516 +))) 483 483 484 -poll message flag & Ext=0x41,means reply data,Ext=1 518 +((( 519 +**poll message flag & Ext**=0x41,means reply data,Ext=1 520 +))) 485 485 486 -Unix time is 0x60066009=1611030423s=21/1/19 04:27:03 522 +((( 523 +**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03 524 +))) 487 487 488 488 489 489 (% aria-label="Data URI image image widget" 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==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" 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==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" 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="Click and drag to resize" %)(% aria-label="Data URI image image widget" 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==||data-widget="image" draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" 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==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% aria-label="Data URI image image widget" 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="Click and drag to resize" %) ... ... @@ -497,7 +497,6 @@ 497 497 [[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="image-20220623090437-1.png"]] 498 498 499 499 500 - 501 501 == 2.7 Frequency Plans == 502 502 503 503 ... ... @@ -517,6 +517,8 @@ 517 517 * 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]]. 518 518 * LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 519 519 557 + 558 + 520 520 == 3.2 General Commands == 521 521 522 522 ... ... @@ -543,8 +543,8 @@ 543 543 544 544 (% style="color:blue" %)**AT Command: AT+TDC** 545 545 546 -(% border="1" cellspacing="4" style="background-color:#f 7faff;color:black;width:510px" %)547 -|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 137px;" %)**Function**|=**Response** 585 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 586 +|=(% style="width: 156px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response** 548 548 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( 549 549 30000 550 550 OK ... ... @@ -564,12 +564,14 @@ 564 564 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 565 565 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 566 566 606 + 607 + 567 567 === 3.3.2 Get Device Status === 568 568 569 569 570 570 Send a LoRaWAN downlink to ask device send Alarm settings. 571 571 572 - *(% style="color:#037691" %)**Downlink Payload: **(%%)0x26 01613 +(% style="color:blue" %)**Downlink Payload: **(%%)0x26 01 573 573 574 574 Sensor will upload Device Status via FPORT=5. See payload section for detail. 575 575 ... ... @@ -576,9 +576,9 @@ 576 576 577 577 === 3.3.3 Set Temperature Alarm Threshold: === 578 578 579 -* **AT Command:** 620 +* (% style="color:blue" %)**AT Command:** 580 580 581 -**AT+SHTEMP=min,max** 622 +(% style="color:#037691" %)**AT+SHTEMP=min,max** 582 582 583 583 * When min=0, and max≠0, Alarm higher than max 584 584 * When min≠0, and max=0, Alarm lower than min ... ... @@ -588,18 +588,18 @@ 588 588 589 589 AT+SHTEMP=0,30 ~/~/ Alarm when temperature higher than 30. 590 590 591 -* **Downlink Payload:** 632 +* (% style="color:blue" %)**Downlink Payload:** 592 592 593 -**0x(0C 01 00 1E)** ~/~/Set AT+SHTEMP=0,30 634 +(% style="color:#037691" %)**0x(0C 01 00 1E)** (%%) ~/~/ Set AT+SHTEMP=0,30 594 594 595 -**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)** 636 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)** 596 596 597 597 598 598 === 3.3.4 Set Humidity Alarm Threshold: === 599 599 600 -* **AT Command:** 641 +* (% style="color:blue" %)**AT Command:** 601 601 602 -**AT+SHHUM=min,max** 643 +(% style="color:#037691" %)**AT+SHHUM=min,max** 603 603 604 604 * When min=0, and max≠0, Alarm higher than max 605 605 * When min≠0, and max=0, Alarm lower than min ... ... @@ -607,13 +607,13 @@ 607 607 608 608 Example: 609 609 610 - AT+SHHUM=70,0 651 + AT+SHHUM=70,0 ~/~/ Alarm when humidity lower than 70%. 611 611 612 -* **Downlink Payload:** 653 +* (% style="color:blue" %)**Downlink Payload:** 613 613 614 -**0x(0C 02 46 00)** ~/~/Set AT+SHTHUM=70,0 655 +(% style="color:#037691" %)**0x(0C 02 46 00)**(%%) ~/~/ Set AT+SHTHUM=70,0 615 615 616 -**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))** 657 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))** 617 617 618 618 619 619 === 3.3.5 Set Alarm Interval: === ... ... @@ -620,13 +620,13 @@ 620 620 621 621 The shortest time of two Alarm packet. (unit: min) 622 622 623 -* **AT Command:** 664 +* (% style="color:blue" %)**AT Command:** 624 624 625 -**AT+ATDC=30** 666 +(% 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. 626 626 627 -* **Downlink Payload:** 668 +* (% style="color:blue" %)**Downlink Payload:** 628 628 629 -**0x(0D 00 1E)** **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes 670 +(% style="color:#037691" %)**0x(0D 00 1E)**(%%) **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes 630 630 631 631 632 632 === 3.3.6 Get Alarm settings (什么FPORT?) === ... ... @@ -645,6 +645,8 @@ 645 645 646 646 * Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message. 647 647 689 + 690 + 648 648 === 3.3.7 Set Interrupt Mode === 649 649 650 650 ... ... @@ -652,8 +652,8 @@ 652 652 653 653 (% style="color:blue" %)**AT Command: AT+INTMOD** 654 654 655 -(% border="1" cellspacing="4" style="background-color:#f 7faff;color:black;width:510px" %)656 -|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 196px;" %)**Function**|=(% style="width: 157px;" %)**Response** 698 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 699 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response** 657 657 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 658 658 0 659 659 OK ... ... @@ -676,6 +676,8 @@ 676 676 * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 677 677 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 678 678 722 + 723 + 679 679 = 4. Battery & Power Consumption = 680 680 681 681 ... ... @@ -702,6 +702,8 @@ 702 702 * (Recommanded way) OTA firmware update via wireless: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]] 703 703 * Update through UART TTL interface. **[[Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**. 704 704 750 + 751 + 705 705 = 6. FAQ = 706 706 707 707 ... ... @@ -729,6 +729,8 @@ 729 729 730 730 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 731 731 779 + 780 + 732 732 = 8. Packing Info = 733 733 734 734 ... ... @@ -746,6 +746,8 @@ 746 746 747 747 * Weight / pcs : g 748 748 798 + 799 + 749 749 = 9. Support = 750 750 751 751