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

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

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.Saxer
Content
... ... @@ -17,6 +17,7 @@
17 17  
18 18  == 1.1 What is S31x-LB LoRaWAN Temperature & Humidity Sensor ==
19 19  
20 +
20 20  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.
21 21  
22 22  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.
... ... @@ -25,8 +25,6 @@
25 25  
26 26  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.
27 27  
28 -S31x-LB has max 3 probes which measure maximum 3 temperature points.
29 -
30 30  S31x-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use.
31 31  
32 32  S31x-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
... ... @@ -36,6 +36,7 @@
36 36  
37 37  == 1.2 ​Features ==
38 38  
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,12 +132,19 @@
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  Hardware Variant ==
135 +== 1.7 Pin Definitions ==
136 136  
137 +[[image:image-20230523174230-1.png]]
137 137  
139 +
140 +== 1.8 Hardware Variant ==
141 +
142 +
138 138  (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
139 139  |=(% 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
140 -|(% style="width:102px" %)S31-LB|(% style="width:190px" %)[[image:S31.jpg]]|(% style="width:297px" %)(((
145 +|(% style="width:102px" %)(((
146 +S31-LB
147 +)))|(% style="width:190px" %)[[image:S31.jpg]]|(% style="width:297px" %)(((
141 141  1 x SHT31 Probe
142 142  
143 143  Cable Length : 2 meters
... ... @@ -144,7 +144,9 @@
144 144  
145 145  
146 146  )))
147 -|(% style="width:102px" %)S31B-LB|(% style="width:190px" %)[[image:S31B.jpg]]|(% style="width:297px" %)(((
154 +|(% style="width:102px" %)(((
155 +S31B-LB
156 +)))|(% style="width:190px" %)[[image:S31B.jpg]]|(% style="width:297px" %)(((
148 148  1 x SHT31 Probe
149 149  
150 150  Installed in device.
... ... @@ -154,7 +154,7 @@
154 154  
155 155  
156 156  
157 -== 1.8 Mechanical ==
166 +== 1.9 Mechanical ==
158 158  
159 159  
160 160  [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
... ... @@ -301,23 +301,29 @@
301 301  
302 302  Sensor Data is uplink via FPORT=2
303 303  
304 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
313 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:700px" %)
305 305  |=(% style="width: 90px;background-color:#D9E2F3" %)(((
306 306  **Size(bytes)**
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
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
308 308  |(% style="width:99px" %)**Value**|(% style="width:69px" %)(((
309 309  [[Battery>>||anchor="HBattery"]]
310 310  )))|(% style="width:130px" %)(((
311 311  [[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
312 -)))|(% style="width:91px" %)(((
313 -[[Alarm Flag>>||anchor="HAlarmFlag26MOD"]]
314 -)))|(% style="width:103px" %)(((
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" %)(((
315 315  [[Temperature>>||anchor="HTemperature"]]
316 -)))|(% style="width:80px" %)(((
331 +)))|(% style="width:97px" %)(((
317 317  [[Humidity>>||anchor="HHumidity"]]
318 318  )))
319 319  
320 -==== (% style="color:#4472c4" %)**Battery**(%%) ====
335 +==== (% style="color:#4472c4" %)**2.3.2.1 Battery**(%%) ====
321 321  
322 322  Sensor Battery Level.
323 323  
... ... @@ -327,7 +327,7 @@
327 327  
328 328  
329 329  
330 -==== (% style="color:#4472c4" %)**Temperature**(%%) ====
345 +==== (% style="color:#4472c4" %)**2.3.2.2 Temperature**(%%) ====
331 331  
332 332  **Example**:
333 333  
... ... @@ -338,23 +338,27 @@
338 338  (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
339 339  
340 340  
341 -==== (% style="color:#4472c4" %)**Humidity**(%%) ====
356 +==== (% style="color:#4472c4" %)**2.3.2.3 Humidity**(%%) ====
342 342  
343 343  
344 344  Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
345 345  
346 346  
347 -==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ====
362 +==== (% style="color:#4472c4" %)**2.3.2.4 Alarm Flag & MOD & Digital Interrupt**(%%) ====
348 348  
349 349  
350 350  **Example:**
351 351  
352 -If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message
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.
353 353  
354 -If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm
369 +If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm.
355 355  
356 -If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message
371 +If payload & 0x80>>7 = 0x01  **~-~->** The PA8 is low level.
357 357  
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 +
358 358  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. 
359 359  
360 360  
... ... @@ -365,7 +365,7 @@
365 365  
366 366  In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
367 367  
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]]
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]]
369 369  
370 370  
371 371  == 2.5 Datalog Feature ==
... ... @@ -379,8 +379,12 @@
379 379  
380 380  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.
381 381  
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.
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 +)))
384 384  
385 385  Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
386 386  
... ... @@ -421,16 +421,24 @@
421 421  
422 422  **Retrieval data payload:**
423 423  
424 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
447 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:680px" %)
425 425  |=(% style="width: 80px;background-color:#D9E2F3" %)(((
426 426  **Size(bytes)**
427 -)))|=(% 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 -|(% style="width:103px" %)**Value**|(% style="width:54px" %)(((
429 -Temp_Black
430 -)))|(% style="width:51px" %)Temp_White|(% style="width:89px" %)Temp_ Red or Temp _White|(% style="width:103px" %)Poll message flag & Ext|(% style="width:54px" %)[[Unix Time Stamp>>||anchor="H2.5.2UnixTimeStamp"]]
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 &
431 431  
432 -**Poll message flag & Ext:**
458 +Alarm Flag&
433 433  
460 +Digital Interrupt
461 +)))|(% style="width:137px" %)Unix Time Stamp
462 +
463 +**Poll message flag & Alarm Flag & Digital Interrupt:**
464 +
434 434  [[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"]]
435 435  
436 436  **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)
... ... @@ -593,6 +593,7 @@
593 593  
594 594  === 3.3.3 Set Temperature Alarm Threshold ===
595 595  
627 +
596 596  * (% style="color:blue" %)**AT Command:**
597 597  
598 598  (% style="color:#037691" %)**AT+SHTEMP=min,max**
... ... @@ -614,6 +614,7 @@
614 614  
615 615  === 3.3.4 Set Humidity Alarm Threshold ===
616 616  
649 +
617 617  * (% style="color:blue" %)**AT Command:**
618 618  
619 619  (% style="color:#037691" %)**AT+SHHUM=min,max**
... ... @@ -635,6 +635,7 @@
635 635  
636 636  === 3.3.5 Set Alarm Interval ===
637 637  
671 +
638 638  The shortest time of two Alarm packet. (unit: min)
639 639  
640 640  * (% style="color:blue" %)**AT Command:**
... ... @@ -665,8 +665,10 @@
665 665  === 3.3.7 Set Interrupt Mode ===
666 666  
667 667  
668 -Feature, Set Interrupt mode for GPIO_EXIT.
702 +Feature, Set Interrupt mode for PA8 of pin.
669 669  
704 +When AT+INTMOD=0 is set, PA8 is used as a digital input port.
705 +
670 670  (% style="color:blue" %)**AT Command: AT+INTMOD**
671 671  
672 672  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
... ... @@ -693,6 +693,34 @@
693 693  * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
694 694  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
695 695  
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 +
696 696  = 4. Battery & Power Consumption =
697 697  
698 698  
... ... @@ -717,7 +717,7 @@
717 717  Methods to Update Firmware:
718 718  
719 719  * (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/]]
720 -* 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]]**.
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]]**.
721 721  
722 722  = 6. FAQ =
723 723  
... ... @@ -746,10 +746,9 @@
746 746  
747 747  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
748 748  
749 -= =
750 -
751 751  = 8. ​Packing Info =
752 752  
815 +
753 753  (% style="color:#037691" %)**Package Includes**:
754 754  
755 755  * S31x-LB LoRaWAN Temperature & Humidity Sensor
... ... @@ -768,4 +768,5 @@
768 768  
769 769  
770 770  * 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.
771 -* 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]]
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]].
image-20230523174230-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +605.9 KB
Content