Version 81.2 by Xiaoling on 2023/08/19 13:50

Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20230819102136-3.png]]
3
4
5
6 **Table of Contents:**
7
8 {{toc/}}
9
10
11
12
13
14
15 = 1. Introduction =
16
17 == 1.1 What is S31x-NB NB-IoT Temperature & Humidity Sensor ==
18
19
20 The Dragino S31-NB and S31B-NB are (% style="color:blue" %)**NB-IoT Temperature and Humidity Sensor**(%%) for Internet of Things solution. It is used to measure the surrounding (% style="color:blue" %)**environment temperature and relative air humidity precisely**(%%), and then upload to IoT server via NB-IoT network*.
21
22 The temperature & humidity sensor used in S31-NB 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.
23
24 S31-NB supports different uplink methods include (% style="color:blue" %)**TCP, MQTT, UDP** for different application requirement. and Support Uplinks to various IoT Servers.
25
26 S31-NB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), It is designed for long term use up to several years. (Real-world battery life depends on the use environment, update period and uplink method. Please check related Power Analyze report).
27
28 *make sure you have NB-IoT coverage locally.
29
30
31 [[image:1692411831805-116.png]]
32
33
34 == 1.2 ​Features ==
35
36
37 * NB-IoT Bands: B1/B2/B3/B4/B5/B8/B12/B13/B17/B18/B19/B20/B25/B28/B66/B70/B85 @H-FDD
38 * Ultra-low power consumption
39 * External 3 meters SHT31 probe (For S31-NB)
40 * Measure range -40°C ~~ 85°C
41 * Temperature & Humidity alarm
42 * Multiply Sampling and one uplink
43 * Support Bluetooth v5.1 remote configure and update firmware
44 * Uplink on periodically
45 * Downlink to change configure
46 * 8500mAh Battery for long term use
47 * Nano SIM card slot for NB-IoT SIM
48
49 == 1.3 Specification ==
50
51
52 (% style="color:#037691" %)**Common DC Characteristics:**
53
54 * Supply Voltage: 2.1v ~~ 3.6v
55 * Operating Temperature: -40 ~~ 85°C
56
57 (% style="color:#037691" %)**Temperature Sensor:**
58
59 * Range: -40 to + 80°C
60 * Accuracy: ±0.2 @ 0-90 °C
61 * Resolution: 0.1°C
62 * Long Term Shift: <0.03 °C/yr
63
64 (% style="color:#037691" %)**Humidity Sensor: **
65
66 * Range: 0 ~~ 99.9% RH
67 * Accuracy: ± 2%RH ( 0 ~~ 100%RH)
68 * Resolution: 0.01% RH
69 * Long Term Shift: <0.25 %RH/yr
70
71 (% style="color:#037691" %)**NB-IoT Spec:**
72
73 **NB-IoT Module: BC660K-GL**
74
75 Support Bands:
76
77 * B1 @H-FDD: 2100MHz
78 * B2 @H-FDD: 1900MHz
79 * B3 @H-FDD: 1800MHz
80 * B4 @H-FDD: 2100MHz
81 * B5 @H-FDD: 860MHz
82 * B8 @H-FDD: 900MHz
83 * B12 @H-FDD: 720MHz
84 * B13 @H-FDD: 740MHz
85 * B17 @H-FDD: 730MHz
86 * B18 @H-FDD: 870MHz
87 * B19 @H-FDD: 870MHz
88 * B20 @H-FDD: 790MHz
89 * B25 @H-FDD: 1900MHz
90 * B28 @H-FDD: 750MHz
91 * B66 @H-FDD: 2000MHz
92 * B70 @H-FDD: 2000MHz
93 * B85 @H-FDD: 700MHz
94
95 (% style="color:#037691" %)**Battery:**
96
97 * Li/SOCI2 un-chargeable battery
98 * Capacity: 8500mAh
99 * Self Discharge: <1% / Year @ 25°C
100 * Max continuously current: 130mA
101 * Max boost current: 2A, 1 second
102
103 (% style="color:#037691" %)**Power Consumption**
104
105 * STOP Mode: 10uA @ 3.3v
106 * Max transmit power: 350mA@3.3v
107
108 == 1.4 Applications ==
109
110
111 * Smart Buildings & Home Automation
112 * Logistics and Supply Chain Management
113 * Smart Metering
114 * Smart Agriculture
115 * Smart Cities
116 * Smart Factory
117
118 == 1.5 Sleep mode and working mode ==
119
120
121 (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
122
123 (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
124
125
126
127 == 1.6 Button & LEDs ==
128
129
130 [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]]
131
132
133 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
134 |=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width:225px;background-color:#4F81BD;color:white" %)**Action**
135 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
136 If sensor has already attached to NB-IoT network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
137 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
138 )))
139 |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
140 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to attach NB-IoT network.
141 (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
142 Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device attach NB-IoT network or not.
143 )))
144 |(% 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.
145
146 == 1.7 BLE connection ==
147
148
149 S31x-NB support BLE remote configure and firmware update.
150
151
152 BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:
153
154 * Press button to send an uplink
155 * Press button to active device.
156 * Device Power on or reset.
157
158 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
159
160
161 == 1.8 Pin Definitions & Switch ==
162
163
164 S31x-NB use the mother board from S31-NB which as below.
165
166 [[image:image-20230819104805-5.png]]
167
168
169
170 === 1.8.1 Jumper JP2 ===
171
172
173 Power on Device when put this jumper.
174
175
176 === 1.8.2 BOOT MODE / SW1 ===
177
178
179 1) (% style="color:blue" %)**ISP**(%%): upgrade mode, device won't have any signal in this mode. but ready for upgrade firmware. LED won't work. Firmware won't run.
180
181 2) (% style="color:blue" %)**Flash**(%%): work mode, device starts to work and send out console output for further debug
182
183
184 === 1.8.3 Reset Button ===
185
186
187 Press to reboot the device.
188
189
190
191 == 1.9 Hardware Variant ==
192
193
194 (% border="1" cellspacing="5" style="width:410px" %)
195 |=(% style="width: 102px;background-color:#4F81BD;color:white" %)Model|=(% style="width: 126px; background-color:#4F81BD;color:white" %)Photo|=(% style="width: 179px;background-color:#4F81BD;color:white" %)Probe Info
196 |(% style="width:102px" %)(((
197 S31-LB
198 )))|(% style="width:126px" %)(((
199 (% style="text-align:center" %)
200 [[image:image-20230819110632-6.png||height="130" width="104"]]
201 )))|(% style="width:179px" %)(((
202 1 x SHT31 Probe
203
204 Cable Length : 3 meters
205
206
207 )))
208 |(% style="width:102px" %)(((
209 S31B-LB
210 )))|(% style="width:126px" %)(((
211 (% style="text-align:center" %)
212 [[image:image-20230819110702-7.png||height="164" width="90"]]
213 )))|(% style="width:179px" %)(((
214 1 x SHT31 Probe
215
216 Installed in device.
217 )))
218
219 (% style="display:none" %)
220
221
222
223
224 = 2. Use S31-NB to communicate with IoT Server =
225
226 == 2.1 Send data to IoT server via NB-IoT network ==
227
228
229 The S31-NB is equipped with a NB-IoT module, the pre-loaded firmware in S31-NB will get environment data from sensors and send the value to local NB-IoT network via the NB-IoT module.  The NB-IoT network will forward this value to IoT server via the protocol defined by S31-NB.
230
231
232 Below shows the network structure:
233
234 [[image:1692415924540-357.png]]
235
236
237 There are two version: (% style="color:blue" %)**-GE**(%%) and (% style="color:blue" %)**-1D**(%%) version of S31-NB.
238
239
240 (% style="color:blue" %)**GE Version**(%%): This version doesn’t include SIM card or point to any IoT server. User needs to use AT Commands to configure below two steps to set S31-NB send data to IoT server.
241
242 1. Install NB-IoT SIM card and configure APN. See instruction of [[Attach Network>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H2.AttachNetwork]].
243
244 1. Set up sensor to point to IoT Server. See instruction of [[Configure to Connect Different Servers>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.Configuretoconnecttodifferentservers]]. 
245
246 Below shows result of different server as a glance.
247
248
249 (% border="1" cellspacing="4" style="width:515px" %)
250 |(% style="background-color:#4f81bd; color:white; width:100px" %)**Servers**|(% style="background-color:#4f81bd; color:white; width:300px" %)**Dash Board**|(% style="background-color:#4f81bd; color:white; width:115px" %)**Comments**
251 |(% style="width:127px" %)[[Node-Red>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.5A0Node-RedA028viaA0MQTT29]]|(% style="width:385px" %)[[image:image-20230819113244-8.png||height="183" width="367"]]|(% style="width:170px" %)
252 |(% style="width:127px" %)[[DataCake>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.4Datacake]]|(% style="width:385px" %)[[image:image-20230819113244-9.png||height="120" width="369"]]|(% style="width:170px" %)
253 |(% style="width:127px" %)[[Tago.IO>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.7A0Tago.ioA028viaA0MQTT29]]|(% style="width:385px" %) |(% style="width:170px" %)
254 |(% style="width:127px" %)[[General UDP>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.1GeneralA0UDPA0Connection]]|(% style="width:385px" %)Raw Payload. Need Developer to design Dash Board|(% style="width:170px" %)
255 |(% style="width:127px" %)[[General MQTT>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.2GeneralA0MQTTA0Connection]]|(% style="width:385px" %)Raw Payload. Need Developer to design Dash Board|(% style="width:170px" %)
256 |(% style="width:127px" %)[[ThingSpeak>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.3A0ThingSpeakA028viaA0MQTT29]]|(% style="width:385px" %)[[image:image-20230819113244-10.png||height="82" width="291"]]|(% style="width:170px" %)
257 |(% style="width:127px" %)[[ThingsBoard>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.6A0ThingsBoard.CloudA028viaA0MQTT29]]|(% style="width:385px" %)[[image:image-20230819113244-11.png||height="113" width="293"]]|(% style="width:170px" %)
258 |(% style="width:127px" %) |(% style="width:385px" %) |(% style="width:170px" %)
259
260 (% style="color:blue" %)**1D Version**(%%): This version has 1NCE SIM card pre-installed and configure to send value to DataCake. User Just need to select the sensor type in DataCake and Activate S31-NB and user will be able to see data in DataCake. See here for [[DataCake Config Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.4Datacake]].
261
262
263 == 2.2 ​Payload Types ==
264
265
266 To meet different server requirement, S31-NB supports different payload type.
267
268 **Includes:**
269
270 * [[General JSON format payload>>path:#General_Json]]. (Type=5)
271
272 * [[HEX format Payload>>path:#HEX_Payload]]. (Type=0)
273
274 * [[ThingSpeak Format>>path:#ThingSpeak_Payload]]. (Type=1)
275
276 * [[ThingsBoard Format>>path:#ThingsBoard_Payload]]. (Type=3)
277
278 User can specify the payload type when choose the connection protocol. Example:
279
280 (% style="color:#037691" %)**AT+PRO=2,0**  (%%) ~/~/ Use UDP Connection & hex Payload
281
282 (% style="color:#037691" %)**AT+PRO=2,5**   (%%) ~/~/ Use UDP Connection & Json Payload
283
284 (% style="color:#037691" %)**AT+PRO=3,5 ** (%%) ~/~/ Use MQTT Connection & Json Payload
285
286
287 === 2.2.1 General Json Format (Type~=5) ===
288
289
290 This is the General Json Format. As below:
291
292 (% style="color:#4472c4" %)**{"IMEI":866207053462762,"temperature":29.2,"humidity":54.2,"battery":3.27,"signal":24,"Model":S31x-NB, "1":{28.2,48.3,2023/08/10 08:00:37},"2":{28.1,49.1,2023/08/10 07:57:37},"3":{28.1,48.5,2023/08/10 07:54:37},"4":{28.2,48.6,2023/08/10 07:51:37},"5":{28.1,48.9,2023/08/10 07:48:37},"6":{28.2,48.8,2023/08/10 07:45:37},"7":{28.2,48.8,2023/08/10 07:42:37},"8":{28.0,48.8,2023/08/10 07:39:37}}**
293
294
295 (% style="color:red" %)**Notice, from above payload:**
296
297 * Temperature , Humidity , Battery & Signal are the value at uplink time.
298
299 * Json entry 1 ~~ 8 are the last 1 ~~ 8 sampling data as specify by (% style="color:#037691" %)**AT+NOUD=8 ** (%%)Command. Each entry includes (from left to right): Temperature, Humidity, Sampling time.
300
301
302 === 2.2.2 HEX format Payload(Type~=0) ===
303
304
305 This is the HEX Format. As below:
306
307 (% style="color:#4472c4" %)**f86620705346276200640cba16010000000011011801e864d49c2d011a01e364d49925011901eb64d49871011901e564d497bd011a01e664d49709011901e964d49655011a01e864d495a1011a01e864d494ed011801e864d49439**
308
309 [[image:1692424009971-458.png]]
310
311
312 (% style="color:blue" %)**Version:**
313
314 These bytes include the hardware and software version.
315
316 (% style="color:#037691" %)**Higher byte:**(%%) Specify Sensor Model: 0x00 for S31B-NB & S31-NB
317
318 (% style="color:#037691" %)**Lower byte:**(%%) Specify the software version: 0x64=100, means firmware version 100
319
320
321 (% style="color:blue" %)**BAT (Battery Info):**
322
323 Ex1: 0x0CBA = 3258mV
324
325
326 (% style="color:blue" %)**Signal Strength:**
327
328 NB-IoT Network signal Strength.
329
330 **Ex1: 0x16 = 22**
331
332 **0**  -113dBm or less
333
334 **1**  -111dBm
335
336 **2...30** -109dBm... -53dBm
337
338 **31**   -51dBm or greater
339
340 **99**    Not known or not detectable
341
342
343 (% style="color:blue" %)**Temperature: **
344
345 If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
346
347 If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
348
349 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
350
351
352
353 (% style="color:blue" %)**Humidity:   **
354
355 Read:0295(H)=661(D)    Value:  661 / 10=66.1, So 66.1%
356
357
358 (% style="color:blue" %)**TimeStamp:   **
359
360 Unit TimeStamp Example: 64d49439(H) = 1691653177(D)
361
362 Put the decimal value into this link(https:~/~/www.epochconverter.com/) to get the time.
363
364
365 === 2.2.3 ThingsBoard Payload(Type~=3) ===
366
367
368 Type3 payload special design for ThingsBoard, it will also configure other default server to ThingsBoard.
369
370
371 (% style="color:#4472c4" %)**{"IMEI":866207053462762,"temperature":29.2,"humidity":54.2,"battery":3.27,"signal":24}**
372
373
374 === 2.2.4 ThingSpeak Payload(Type~=1) ===
375
376
377 This payload meets ThingSpeak platform requirement. It includes only four fields. Form 1~~4 are:
378
379 Temperature, Humidity, Battery & Signal. This payload type only valid for ThingsSpeak Platform
380
381
382 As below:
383
384 (% style="color:#4472c4" %)**field1=27.9&field2=49.9&field3=3.23&field4=28**
385
386
387 == 2.3 Test Uplink and Change Update Interval ==
388
389
390 By default, Sensor will send uplinks (% style="color:blue" %)**every 2 hours**(%%) & AT+NOUD=8
391
392
393 User can use below commands to change the (% style="color:blue" %)**uplink interval**.
394
395 (% style="color:#037691" %)** AT+TDC=600      ** (%%) ~/~/ Set Update Interval to 600s
396
397
398 User can also push the button for more than 1 seconds to activate an uplink.
399
400
401
402
403 == 2.4 Multi-Samplings and One uplink ==
404
405
406 To save battery life, S31-NB will sample temperature & humidity data every 15 minutes and send one uplink every 2 hours. So each uplink it will include 8 stored data + 1 real-time data. They are defined by:
407
408 * (% style="color:#037691" %)**AT+TR=900**   (%%) ~/~/  The unit is seconds, and the default is to record data once every 900 seconds (15 minutes, the minimum can be set to 180 seconds)
409
410 * (% style="color:#037691" %)**AT+NOUD=8**  (%%)~/~/   The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
411
412 The diagram below explains the relationship between TR, NOUD, and TDC more clearly:
413
414 [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png||alt="IMG_256"]]
415
416
417 == 2.5 Humidity and Temperature alarm function ==
418
419
420 On each sampling define by AT+TR ( default 900s or 15 minutes), when the value exceed the range, it will trigger an Alarm and immediately sends a uplink.
421
422
423 (% style="color:blue" %)**AT Commands:**
424
425 (% style="color:#037691" %)**AT+ SHHUM=min,max**
426
427 Example: AT+ SHHUM=50,80 ~/~/ Alarm when humidity lower than 50 or higher than 80.
428
429
430 (% style="color:#037691" %)**AT+ SHTEMP=min,max**
431
432 Example: AT+ SHTEMP=20,30 ~/~/ Alarm when temperature lower than 20 or higher than 30
433
434
435 (% style="color:red" %)**Notice:**
436
437 * To disable Alarm, user can set min and max to same value , such as (% style="color:#037691" %)**AT+SHTEMP=0,0.**
438
439 * If user only want to send only min or max, user can set the alarm to a value that device won’t reach. For example: (% style="color:#037691" %)**AT+SHTEMP=-80,0.**
440
441
442
443
444 == 2.6 Trggier an uplink by external interrupt ==
445
446
447 S31-NB has an external trigger interrupt function. Users can use the PB15 pin to trigger the upload of data packets.
448
449 (% style="color:blue" %)**AT command:**
450
451 * (% style="color:#037691" %)**AT+INTMOD **(%%) ~/~/ Set the trigger interrupt mode
452
453 * (% style="color:#037691" %)**AT+INTMOD=0 **(%%) ~/~/Disable Interrupt
454
455 * (% style="color:#037691" %)**AT+INTMOD=1 **(%%) ~/~/Trigger by rising and falling edge
456
457 * (% style="color:#037691" %)**AT+INTMOD=2 **(%%) ~/~/Trigger by falling edge
458
459 * (% style="color:#037691" %)**AT+INTMOD=3  **(%%) ~/~/Trigger by rising edge
460
461
462
463 = 3. Configure S31x-NB =
464
465 == 3.1 Configure Methods ==
466
467
468 S31x-NB supports below configure method:
469
470 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
471
472 * 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]].
473
474 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
475
476
477
478 == 3.2 General Commands ==
479
480
481 These commands are to configure:
482
483 * General system settings like: uplink interval.
484 * LoRaWAN protocol & radio related command.
485
486 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
487
488 [[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/]]
489
490
491 == 3.3 Commands special design for S31x-LB ==
492
493
494 These commands only valid for S31x-LB, as below:
495
496
497 === 3.3.1 Set Transmit Interval Time ===
498
499
500 Feature: Change LoRaWAN End Node Transmit Interval.
501
502 (% style="color:blue" %)**AT Command: AT+TDC**
503
504 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
505 |=(% style="width: 156px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**
506 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
507 30000
508 OK
509 the interval is 30000ms = 30s
510 )))
511 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
512 OK
513 Set transmit interval to 60000ms = 60 seconds
514 )))
515
516 (% style="color:blue" %)**Downlink Command: 0x01**
517
518 Format: Command Code (0x01) followed by 3 bytes time value.
519
520 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
521
522 * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
523 * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
524
525 === 3.3.2 Get Device Status ===
526
527
528 Send a LoRaWAN downlink to ask device send Alarm settings.
529
530 (% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
531
532 Sensor will upload Device Status via FPORT=5. See payload section for detail.
533
534
535 === 3.3.3 Set Temperature Alarm Threshold ===
536
537
538 * (% style="color:blue" %)**AT Command:**
539
540 (% style="color:#037691" %)**AT+SHTEMP=min,max**
541
542 * When min=0, and max≠0, Alarm higher than max
543 * When min≠0, and max=0, Alarm lower than min
544 * When min≠0 and max≠0, Alarm higher than max or lower than min
545
546 Example:
547
548 AT+SHTEMP=0,30   ~/~/ Alarm when temperature higher than 30.
549
550 * (% style="color:blue" %)**Downlink Payload:**
551
552 (% style="color:#037691" %)**0x(0C 01 00 1E)**  (%%) ~/~/ Set AT+SHTEMP=0,30
553
554 (% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)**
555
556
557 === 3.3.4 Set Humidity Alarm Threshold ===
558
559
560 * (% style="color:blue" %)**AT Command:**
561
562 (% style="color:#037691" %)**AT+SHHUM=min,max**
563
564 * When min=0, and max≠0, Alarm higher than max
565 * When min≠0, and max=0, Alarm lower than min
566 * When min≠0 and max≠0, Alarm higher than max or lower than min
567
568 Example:
569
570 AT+SHHUM=70,0  ~/~/ Alarm when humidity lower than 70%.
571
572 * (% style="color:blue" %)**Downlink Payload:**
573
574 (% style="color:#037691" %)**0x(0C 02 46 00)**(%%)  ~/~/ Set AT+SHTHUM=70,0
575
576 (% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))**
577
578
579 === 3.3.5 Set Alarm Interval ===
580
581
582 The shortest time of two Alarm packet. (unit: min)
583
584 * (% style="color:blue" %)**AT Command:**
585
586 (% 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.
587
588 * (% style="color:blue" %)**Downlink Payload:**
589
590 (% style="color:#037691" %)**0x(0D 00 1E)**(%%)     **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes
591
592
593 === 3.3.6 Get Alarm settings ===
594
595
596 Send a LoRaWAN downlink to ask device send Alarm settings.
597
598 * (% style="color:#037691" %)**Downlink Payload:  **(%%)0x0E 01
599
600 **Example:**
601
602 [[image:image-20230524110211-4.png]]
603
604 **Explain:**
605
606 * Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
607
608 === 3.3.7 Set Interrupt Mode ===
609
610
611 Feature, Set Interrupt mode for PA8 of pin.
612
613 When AT+INTMOD=0 is set, PA8 is used as a digital input port.
614
615 (% style="color:blue" %)**AT Command: AT+INTMOD**
616
617 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
618 |=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
619 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
620 0
621 OK
622 the mode is 0 =Disable Interrupt
623 )))
624 |(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)(((
625 Set Transmit Interval
626 0. (Disable Interrupt),
627 ~1. (Trigger by rising and falling edge)
628 2. (Trigger by falling edge)
629 3. (Trigger by rising edge)
630 )))|(% style="width:157px" %)OK
631
632 (% style="color:blue" %)**Downlink Command: 0x06**
633
634 Format: Command Code (0x06) followed by 3 bytes.
635
636 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
637
638 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
639 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
640
641 === 3.3.8 Set Power Output Duration ===
642
643
644 Control the output duration 5V . Before each sampling, device will
645
646 ~1. first enable the power output to external sensor,
647
648 2. keep it on as per duration, read sensor value and construct uplink payload
649
650 3. final, close the power output.
651
652 (% style="color:blue" %)**AT Command: AT+5VT**
653
654 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
655 |=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
656 |(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)0 (default)
657 OK
658 |(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:157px" %)OK
659
660 (% style="color:blue" %)**Downlink Command: 0x07**
661
662 Format: Command Code (0x07) followed by 2 bytes.
663
664 The first and second bytes are the time to turn on.
665
666 * Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
667 * Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
668
669 = 4. Battery & Power Consumption =
670
671
672 S31x-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
673
674 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
675
676
677 = 5. OTA Firmware update =
678
679
680 (% class="wikigeneratedid" %)
681 User can change firmware S31x-LB to:
682
683 * Change Frequency band/ region.
684 * Update with new features.
685 * Fix bugs.
686
687 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0]]**
688
689
690 Methods to Update Firmware:
691
692 * (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/]]**
693 * 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]]**.
694
695 = 6. FAQ =
696
697
698
699 = 7. Order Info =
700
701
702 Part Number: (% style="color:blue" %)**S31-LB-XX  / S31B-LB-XX**
703
704 (% style="color:red" %)**XX**(%%): The default frequency band
705
706 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
707
708 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
709
710 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
711
712 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
713
714 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
715
716 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
717
718 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
719
720 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
721
722 = 8. ​Packing Info =
723
724
725 (% style="color:#037691" %)**Package Includes**:
726
727 * S31x-LB LoRaWAN Temperature & Humidity Sensor
728
729 (% style="color:#037691" %)**Dimension and weight**:
730
731 * Device Size: cm
732
733 * Device Weight: g
734
735 * Package Size / pcs : cm
736
737 * Weight / pcs : g
738
739 = 9. Support =
740
741
742 * 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.
743
744 * 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]].
745
746 (% style="display:none" %) (%%)