Last modified by Xiaoling on 2025/04/16 14:39
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -15,37 +15,21 @@ 15 15 == 1.1 What is S31x-LB LoRaWAN Temperature & Humidity Sensor == 16 16 17 17 18 -((( 19 19 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 -))) 21 21 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. 24 -))) 25 25 26 -((( 27 27 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 -))) 29 29 30 -((( 31 31 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 -))) 33 33 34 -((( 35 35 S31x-LB has max 3 probes which measure maximum 3 temperature points. 36 -))) 37 37 38 -((( 39 39 S31x-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use. 40 -))) 41 41 42 -((( 43 43 S31x-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years. 44 -))) 45 45 46 -((( 47 47 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 -))) 49 49 50 50 51 51 == 1.2 Features == ... ... @@ -423,11 +423,11 @@ 423 423 === 2.5.3 Set Device Time === 424 424 425 425 426 -User need to set (% style="color:blue" %)**SYNCMOD=1**(%%)to enable sync time via MAC command.410 +User need to set **SYNCMOD=1** to enable sync time via MAC command. 427 427 428 428 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). 429 429 430 - (% 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.**414 +**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.** 431 431 432 432 433 433 === 2.5.4 Datalog Uplink payload (FPORT~=3) === ... ... @@ -437,19 +437,19 @@ 437 437 438 438 **Retrieval data payload:** 439 439 440 -(% border="1" cellspacing="5" style="background-color:#f2f2f2;width:510px" %)441 -|=(% style="width: 103px; background-color:#D9E2F3" %)(((424 +(% style="width:858px" %) 425 +|=(% style="width: 103px;" %)((( 442 442 **Size(bytes)** 443 -)))|=(% 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**444 -|(% style="width:103px" %)**Value**|(% style="width: 54px" %)(((427 +)))|=(% style="width: 129px;" %)**2**|=(% style="width: 114px;" %)**2**|=(% style="width: 217px;" %)**2**|=(% style="width: 153px;" %)**1**|=(% style="width: 139px;" %)**4** 428 +|(% style="width:103px" %)**Value**|(% style="width:129px" %)((( 445 445 [[Temp_Black>>||anchor="HTemperatureBlack:"]] 446 -)))|(% 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"]]430 +)))|(% style="width:114px" %)[[Temp_White>>||anchor="HTemperatureWhite:"]]|(% style="width:217px" %)[[Temp_ Red or Temp _White>>||anchor="HTemperatureREDorTemperatureWhite:"]]|(% style="width:153px" %)Poll message flag & Ext|(% style="width:139px" %)[[Unix Time Stamp>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H2.6.2UnixTimeStamp]] 447 447 448 448 **Poll message flag & Ext:** 449 449 450 450 [[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="image-20221006192726-1.png" height="112" width="754"]] 451 451 452 -**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)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>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/#H4.13AutoSendNone-ACKmessages]] feature) 453 453 454 454 **Poll Message Flag**: 1: This message is a poll message reply. 455 455 ... ... @@ -469,7 +469,6 @@ 469 469 470 470 If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0 471 471 472 - 473 473 **Example:** 474 474 475 475 If D2x-LB has below data inside Flash: ... ... @@ -482,7 +482,6 @@ 482 482 483 483 Stop time: 60066DA7= time 21/1/19 05:27:03 484 484 485 - 486 486 **S31x-LB will uplink this payload.** 487 487 488 488 [[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"]] ... ... @@ -493,15 +493,15 @@ 493 493 494 494 7FFF089801464160065F97 495 495 496 - **Ext sensor data**=0x7FFF/100=327.67478 +Ext sensor data=0x7FFF/100=327.67 497 497 498 - **Temp**=0x088E/100=22.00480 +Temp=0x088E/100=22.00 499 499 500 - **Hum**=0x014B/10=32.6482 +Hum=0x014B/10=32.6 501 501 502 - **poll message flag & Ext**=0x41,means reply data,Ext=1484 +poll message flag & Ext=0x41,means reply data,Ext=1 503 503 504 - **Unix time**is 0x60066009=1611030423s=21/1/19 04:27:03486 +Unix time is 0x60066009=1611030423s=21/1/19 04:27:03 505 505 506 506 507 507 (% 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" %) ... ... @@ -515,6 +515,7 @@ 515 515 [[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"]] 516 516 517 517 500 + 518 518 == 2.7 Frequency Plans == 519 519 520 520 ... ... @@ -560,8 +560,8 @@ 560 560 561 561 (% style="color:blue" %)**AT Command: AT+TDC** 562 562 563 -(% border="1" cellspacing="4" style="background-color:#f 2f2f2; width:510px" %)564 -|=(% style="width: 156px; background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response**546 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 547 +|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 137px;" %)**Function**|=**Response** 565 565 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( 566 566 30000 567 567 OK ... ... @@ -586,7 +586,7 @@ 586 586 587 587 Send a LoRaWAN downlink to ask device send Alarm settings. 588 588 589 -(% style="color: blue" %)**Downlink Payload: **(%%)0x26 01572 +* (% style="color:#037691" %)**Downlink Payload: **(%%)0x26 01 590 590 591 591 Sensor will upload Device Status via FPORT=5. See payload section for detail. 592 592 ... ... @@ -593,9 +593,9 @@ 593 593 594 594 === 3.3.3 Set Temperature Alarm Threshold: === 595 595 596 -* (% style="color:blue" %)**AT Command:**579 +* **AT Command:** 597 597 598 - (% style="color:#037691" %)**AT+SHTEMP=min,max**581 +**AT+SHTEMP=min,max** 599 599 600 600 * When min=0, and max≠0, Alarm higher than max 601 601 * When min≠0, and max=0, Alarm lower than min ... ... @@ -605,18 +605,18 @@ 605 605 606 606 AT+SHTEMP=0,30 ~/~/ Alarm when temperature higher than 30. 607 607 608 -* (% style="color:blue" %)**Downlink Payload:**591 +* **Downlink Payload:** 609 609 610 - (% style="color:#037691" %)**0x(0C 01 00 1E)**(%%)~/~/Set AT+SHTEMP=0,30593 +**0x(0C 01 00 1E)** ~/~/Set AT+SHTEMP=0,30 611 611 612 - (% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)**595 +**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)** 613 613 614 614 615 615 === 3.3.4 Set Humidity Alarm Threshold: === 616 616 617 -* (% style="color:blue" %)**AT Command:**600 +* **AT Command:** 618 618 619 - (% style="color:#037691" %)**AT+SHHUM=min,max**602 +**AT+SHHUM=min,max** 620 620 621 621 * When min=0, and max≠0, Alarm higher than max 622 622 * When min≠0, and max=0, Alarm lower than min ... ... @@ -626,11 +626,11 @@ 626 626 627 627 AT+SHHUM=70,0 ~/~/ Alarm when humidity lower than 70%. 628 628 629 -* (% style="color:blue" %)**Downlink Payload:**612 +* **Downlink Payload:** 630 630 631 - (% style="color:#037691" %)**0x(0C 02 46 00)**(%%)~/~/Set AT+SHTHUM=70,0614 +**0x(0C 02 46 00)** ~/~/Set AT+SHTHUM=70,0 632 632 633 - (% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))**616 +**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))** 634 634 635 635 636 636 === 3.3.5 Set Alarm Interval: === ... ... @@ -637,13 +637,13 @@ 637 637 638 638 The shortest time of two Alarm packet. (unit: min) 639 639 640 -* (% style="color:blue" %)**AT Command:**623 +* **AT Command:** 641 641 642 - (% style="color:#037691" %)**AT+ATDC=30**(%%)625 +**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. 643 643 644 -* (% style="color:blue" %)**Downlink Payload:**627 +* **Downlink Payload:** 645 645 646 - (% style="color:#037691" %)**0x(0D 00 1E)**(%%)**~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes629 +**0x(0D 00 1E)** **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes 647 647 648 648 649 649 === 3.3.6 Get Alarm settings (什么FPORT?) === ... ... @@ -669,8 +669,8 @@ 669 669 670 670 (% style="color:blue" %)**AT Command: AT+INTMOD** 671 671 672 -(% border="1" cellspacing="4" style="background-color:#f 2f2f2; width:510px" %)673 -|=(% style="width: 154px; background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**655 +(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 656 +|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 196px;" %)**Function**|=(% style="width: 157px;" %)**Response** 674 674 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 675 675 0 676 676 OK