Last modified by Mengting Qiu on 2023/12/14 11:15

From version 46.1
edited by Saxer Lin
on 2023/05/24 10:50
Change comment: There is no comment for this version
To version 39.3
edited by Xiaoling
on 2023/05/17 09:23
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Saxer
1 +XWiki.Xiaoling
Content
... ... @@ -17,7 +17,6 @@
17 17  
18 18  == 1.1 What is S31x-LB LoRaWAN Temperature & Humidity Sensor ==
19 19  
20 -
21 21  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.
22 22  
23 23  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.
... ... @@ -26,6 +26,8 @@
26 26  
27 27  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.
28 28  
28 +S31x-LB has max 3 probes which measure maximum 3 temperature points.
29 +
29 29  S31x-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use.
30 30  
31 31  S31x-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
... ... @@ -35,7 +35,6 @@
35 35  
36 36  == 1.2 ​Features ==
37 37  
38 -
39 39  * LoRaWAN 1.0.3 Class A
40 40  * Ultra-low power consumption
41 41  * External 3 meters SHT31 probe (For S31-LB)
... ... @@ -132,19 +132,12 @@
132 132  If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
133 133  
134 134  
135 -== 1.7 Pin Definitions ==
135 +== 1.7  Hardware Variant ==
136 136  
137 -[[image:image-20230523174230-1.png]]
138 138  
139 -
140 -== 1.8 Hardware Variant ==
141 -
142 -
143 143  (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
144 144  |=(% 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
145 -|(% style="width:102px" %)(((
146 -S31-LB
147 -)))|(% style="width:190px" %)[[image:S31.jpg]]|(% style="width:297px" %)(((
140 +|(% style="width:102px" %)S31-LB|(% style="width:190px" %)[[image:S31.jpg]]|(% style="width:297px" %)(((
148 148  1 x SHT31 Probe
149 149  
150 150  Cable Length : 2 meters
... ... @@ -151,9 +151,7 @@
151 151  
152 152  
153 153  )))
154 -|(% style="width:102px" %)(((
155 -S31B-LB
156 -)))|(% style="width:190px" %)[[image:S31B.jpg]]|(% style="width:297px" %)(((
147 +|(% style="width:102px" %)S31B-LB|(% style="width:190px" %)[[image:S31B.jpg]]|(% style="width:297px" %)(((
157 157  1 x SHT31 Probe
158 158  
159 159  Installed in device.
... ... @@ -163,7 +163,7 @@
163 163  
164 164  
165 165  
166 -== 1.9 Mechanical ==
157 +== 1.8 Mechanical ==
167 167  
168 168  
169 169  [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
... ... @@ -310,29 +310,23 @@
310 310  
311 311  Sensor Data is uplink via FPORT=2
312 312  
313 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:700px" %)
304 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
314 314  |=(% style="width: 90px;background-color:#D9E2F3" %)(((
315 315  **Size(bytes)**
316 -)))|=(% style="width: 80px;background-color:#D9E2F3" %)2|=(% style="width: 90px;background-color:#D9E2F3" %)4|=(% style="width: 194px; background-color: rgb(217, 226, 243);" %)1|=(% style="width: 106px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 97px; background-color: rgb(217, 226, 243);" %)2
307 +)))|=(% 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
317 317  |(% style="width:99px" %)**Value**|(% style="width:69px" %)(((
318 318  [[Battery>>||anchor="HBattery"]]
319 319  )))|(% style="width:130px" %)(((
320 320  [[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
321 -)))|(% style="width:194px" %)(((
322 -[[Alarm Flag>>||anchor="HAlarmFlag26MOD"]][[&>>Alarm Flag& MOD& Digital Interrupt(PA8)]]
323 -
324 -[[MOD&>>Alarm Flag& MOD& Digital Interrupt(PA8)]]
325 -
326 -[[Digital Interrupt(PA8)>>Alarm Flag& MOD& Digital Interrupt(PA8)]]
327 -
328 -
329 -)))|(% style="width:106px" %)(((
312 +)))|(% style="width:91px" %)(((
313 +[[Alarm Flag>>||anchor="HAlarmFlag26MOD"]]
314 +)))|(% style="width:103px" %)(((
330 330  [[Temperature>>||anchor="HTemperature"]]
331 -)))|(% style="width:97px" %)(((
316 +)))|(% style="width:80px" %)(((
332 332  [[Humidity>>||anchor="HHumidity"]]
333 333  )))
334 334  
335 -==== (% style="color:#4472c4" %)**2.3.2.1 Battery**(%%) ====
320 +==== (% style="color:#4472c4" %)**Battery**(%%) ====
336 336  
337 337  Sensor Battery Level.
338 338  
... ... @@ -342,7 +342,7 @@
342 342  
343 343  
344 344  
345 -==== (% style="color:#4472c4" %)**2.3.2.2 Temperature**(%%) ====
330 +==== (% style="color:#4472c4" %)**Temperature**(%%) ====
346 346  
347 347  **Example**:
348 348  
... ... @@ -353,27 +353,23 @@
353 353  (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
354 354  
355 355  
356 -==== (% style="color:#4472c4" %)**2.3.2.3 Humidity**(%%) ====
341 +==== (% style="color:#4472c4" %)**Humidity**(%%) ====
357 357  
358 358  
359 359  Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
360 360  
361 361  
362 -==== (% style="color:#4472c4" %)**2.3.2.4 Alarm Flag & MOD & Digital Interrupt**(%%) ====
347 +==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ====
363 363  
364 364  
365 365  **Example:**
366 366  
367 -If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message.It means that the temperature and humidity exceed the alarm value or trigger an interrupt.
352 +If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message
368 368  
369 -If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm.
354 +If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm
370 370  
371 -If payload & 0x80>>7 = 0x01  **~-~->** The PA8 is low level.
356 +If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message
372 372  
373 -If payload & 0x80>>7 =0x00  **~-~->** The PA8 is high level.
374 -
375 -If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message.
376 -
377 377  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. 
378 378  
379 379  
... ... @@ -384,7 +384,7 @@
384 384  
385 385  In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
386 386  
387 -[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/S31-LB%26S31B-LB>>https://github.com/dragino/dragino-end-node-decoder/tree/main/S31-LB%26S31B-LB]]
368 +[[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]]
388 388  
389 389  
390 390  == 2.5 Datalog Feature ==
... ... @@ -396,20 +396,15 @@
396 396  === 2.5.1 Ways to get datalog via LoRaWAN ===
397 397  
398 398  
399 -Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayload28FPORT3D329"]], 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.
380 +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.
400 400  
401 -* (((
402 -a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
403 -)))
404 -* (((
405 -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.
406 -)))
382 +* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
383 +* 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.
407 407  
408 408  Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
409 409  
410 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-20220703111700-2.png?width=1119&height=381&rev=1.1||alt="图片-20220703111700-2.png" height="381" width="1119"]]
411 411  
412 -
413 413  === 2.5.2 Unix TimeStamp ===
414 414  
415 415  
... ... @@ -423,7 +423,6 @@
423 423  
424 424  [[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"]]
425 425  
426 -
427 427  So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
428 428  
429 429  
... ... @@ -444,24 +444,16 @@
444 444  
445 445  **Retrieval data payload:**
446 446  
447 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:680px" %)
422 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
448 448  |=(% style="width: 80px;background-color:#D9E2F3" %)(((
449 449  **Size(bytes)**
450 -)))|=(% style="width: 68px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 104px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 87px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 178px; background-color: rgb(217, 226, 243);" %)**1**|=(% style="width: 137px; background-color: rgb(217, 226, 243);" %)**4**
451 -|(% style="width:103px" %)**Value**|(% style="width:68px" %)(((
452 -ignore
453 -)))|(% style="width:104px" %)(((
454 -Temperature
455 -)))|(% style="width:87px" %)Humidity|(% style="width:178px" %)(((
456 -Poll message flag &
425 +)))|=(% 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**
426 +|(% style="width:103px" %)**Value**|(% style="width:54px" %)(((
427 +[[Temp_Black>>||anchor="HTemperatureBlack:"]]
428 +)))|(% 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"]]
457 457  
458 -Alarm Flag&
430 +**Poll message flag & Ext:**
459 459  
460 -Digital Interrupt
461 -)))|(% style="width:137px" %)Unix Time Stamp
462 -
463 -**Poll message flag & Alarm Flag & Digital Interrupt:**
464 -
465 465  [[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"]]
466 466  
467 467  **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)
... ... @@ -624,7 +624,6 @@
624 624  
625 625  === 3.3.3 Set Temperature Alarm Threshold ===
626 626  
627 -
628 628  * (% style="color:blue" %)**AT Command:**
629 629  
630 630  (% style="color:#037691" %)**AT+SHTEMP=min,max**
... ... @@ -646,7 +646,6 @@
646 646  
647 647  === 3.3.4 Set Humidity Alarm Threshold ===
648 648  
649 -
650 650  * (% style="color:blue" %)**AT Command:**
651 651  
652 652  (% style="color:#037691" %)**AT+SHHUM=min,max**
... ... @@ -668,7 +668,6 @@
668 668  
669 669  === 3.3.5 Set Alarm Interval ===
670 670  
671 -
672 672  The shortest time of two Alarm packet. (unit: min)
673 673  
674 674  * (% style="color:blue" %)**AT Command:**
... ... @@ -699,10 +699,8 @@
699 699  === 3.3.7 Set Interrupt Mode ===
700 700  
701 701  
702 -Feature, Set Interrupt mode for PA8 of pin.
666 +Feature, Set Interrupt mode for GPIO_EXIT.
703 703  
704 -When AT+INTMOD=0 is set, PA8 is used as a digital input port.
705 -
706 706  (% style="color:blue" %)**AT Command: AT+INTMOD**
707 707  
708 708  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
... ... @@ -729,34 +729,6 @@
729 729  * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
730 730  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
731 731  
732 -=== 3.3.8 Set Power Output Duration ===
733 -
734 -
735 -Control the output duration 5V . Before each sampling, device will
736 -
737 -~1. first enable the power output to external sensor,
738 -
739 -2. keep it on as per duration, read sensor value and construct uplink payload
740 -
741 -3. final, close the power output.
742 -
743 -(% style="color:blue" %)**AT Command: AT+5VT**
744 -
745 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
746 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
747 -|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)0 (default)
748 -OK
749 -|(% style="width:154px" %)AT+5VT=500|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:157px" %)OK
750 -
751 -(% style="color:blue" %)**Downlink Command: 0x07**
752 -
753 -Format: Command Code (0x07) followed by 2 bytes.
754 -
755 -The first and second bytes are the time to turn on.
756 -
757 -* Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
758 -* Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
759 -
760 760  = 4. Battery & Power Consumption =
761 761  
762 762  
... ... @@ -781,7 +781,7 @@
781 781  Methods to Update Firmware:
782 782  
783 783  * (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/]]
784 -* Update through UART TTL interface. **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
718 +* Update through UART TTL interface.**[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
785 785  
786 786  = 6. FAQ =
787 787  
... ... @@ -810,9 +810,10 @@
810 810  
811 811  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
812 812  
747 += =
748 +
813 813  = 8. ​Packing Info =
814 814  
815 -
816 816  (% style="color:#037691" %)**Package Includes**:
817 817  
818 818  * S31x-LB LoRaWAN Temperature & Humidity Sensor
... ... @@ -831,5 +831,4 @@
831 831  
832 832  
833 833  * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
834 -
835 -* Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[Support@dragino.cc>>mailto:Support@dragino.cc]].
769 +* Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]]
image-20230523174230-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -605.9 KB
Content