Changes for page wiki_test

Last modified by Mengting Qiu on 2024/09/05 17:35

From version 80.4
edited by Xiaoling
on 2023/08/19 11:55
Change comment: There is no comment for this version
To version 75.1
edited by Xiaoling
on 2023/08/19 11:07
Change comment: Uploaded new attachment "image-20230819110702-7.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -21,7 +21,7 @@
21 21  
22 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 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.
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 25  
26 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 27  
... ... @@ -46,6 +46,7 @@
46 46  * 8500mAh Battery for long term use
47 47  * Nano SIM card slot for NB-IoT SIM
48 48  
49 +
49 49  == 1.3 Specification ==
50 50  
51 51  
... ... @@ -105,6 +105,7 @@
105 105  * STOP Mode: 10uA @ 3.3v
106 106  * Max transmit power: 350mA@3.3v
107 107  
109 +
108 108  == 1.4 Applications ==
109 109  
110 110  
... ... @@ -117,6 +117,7 @@
117 117  
118 118  
119 119  
122 +
120 120  == 1.5 Sleep mode and working mode ==
121 121  
122 122  
... ... @@ -145,6 +145,7 @@
145 145  )))
146 146  |(% 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.
147 147  
151 +
148 148  == 1.7 BLE connection ==
149 149  
150 150  
... ... @@ -185,7 +185,6 @@
185 185  
186 186  === 1.8.3 Reset Button ===
187 187  
188 -
189 189  Press to reboot the device.
190 190  
191 191  
... ... @@ -193,26 +193,20 @@
193 193  == 1.9 Hardware Variant ==
194 194  
195 195  
196 -(% border="1" cellspacing="5" style="width:410px" %)
197 -|=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 126px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)Photo|=(% style="width: 179px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)Probe Info
199 +(% border="1" cellspacing="5" style="width:472px" %)
200 +|=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)Photo|=(% style="width: 187px; background-color:#D9E2F3;color:#0070C0" %)Probe Info
198 198  |(% style="width:102px" %)(((
199 199  S31-LB
200 -)))|(% style="width:126px" %)(((
201 -(% style="text-align:center" %)
202 -[[image:image-20230819110632-6.png||height="130" width="104"]]
203 -)))|(% style="width:179px" %)(((
203 +)))|(% style="width:190px" %)[[image:image-20230527093214-2.jpeg]]|(% style="width:187px" %)(((
204 204  1 x SHT31 Probe
205 205  
206 -Cable Length : 3 meters
206 +Cable Length : 2 meters
207 207  
208 208  
209 209  )))
210 210  |(% style="width:102px" %)(((
211 211  S31B-LB
212 -)))|(% style="width:126px" %)(((
213 -(% style="text-align:center" %)
214 -[[image:image-20230819110702-7.png||height="164" width="90"]]
215 -)))|(% style="width:179px" %)(((
212 +)))|(% style="width:190px" %)[[image:image-20230527093155-1.jpeg]]|(% style="width:187px" %)(((
216 216  1 x SHT31 Probe
217 217  
218 218  Installed in device.
... ... @@ -222,240 +222,401 @@
222 222  
223 223  
224 224  
222 +== 1.9 Mechanical ==
225 225  
226 -= 2. Use S31-NB to communicate with IoT Server =
227 227  
228 -== 2.1 Send data to IoT server via NB-IoT network ==
225 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
229 229  
230 230  
231 -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.
228 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]]
232 232  
233 233  
234 -Below shows the network structure:
231 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
235 235  
236 -[[image:1692415924540-357.png]]
237 237  
234 += 2. Configure S31x-LB to connect to LoRaWAN network =
238 238  
239 -There are two version: (% style="color:blue" %)**-GE**(%%) and (% style="color:blue" %)**-1D**(%%) version of S31-NB.
236 +== 2.1 How it works ==
240 240  
241 241  
242 -(% style="color:blue" %)**GE Version**(%%): This version doesnt 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.
239 +The S31x-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
243 243  
244 -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]].
245 245  
246 -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]].
242 +== 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
247 247  
248 -Below shows result of different server as a glance.
249 249  
245 +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.
250 250  
251 -|**Servers**|**Dash Board**|**Comments**
252 -|[[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]]|[[image:image-20230819113244-8.png]]|
253 -|[[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]]|[[image:image-20230819113244-9.png]]|
254 -|[[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]]| |
255 -|[[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]]|Raw Payload. Need Developer to design Dash Board|
256 -|[[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]]|Raw Payload. Need Developer to design Dash Board|
257 -|[[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]]|[[image:image-20230819113244-10.png]]|
258 -|[[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]]|[[image:image-20230819113244-11.png]]|
259 -| | |
247 +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.
260 260  
261 261  
250 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB.
262 262  
263 -(% 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]].
252 +Each S31x-LB is shipped with a sticker with the default device EUI as below:
264 264  
254 +[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
265 265  
266 -== 2.2 ​Payload Types ==
267 267  
257 +You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
268 268  
269 -To meet different server requirement, S31-NB supports different payload type.
270 270  
271 -Includes:
260 +(% style="color:blue" %)**Register the device**
272 272  
273 -* [[General JSON format payload>>path:#General_Json]]. (Type=5)
274 -* [[HEX format Payload>>path:#HEX_Payload]]. (Type=0)
275 -* [[ThingSpeak Format>>path:#ThingSpeak_Payload]]. (Type=1)
276 -* [[ThingsBoard Format>>path:#ThingsBoard_Payload]]. (Type=3)
262 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/1654935135620-998.png?rev=1.1||alt="1654935135620-998.png"]]
277 277  
278 278  
279 -User can specify the payload type when choose the connection protocol. Example:
265 +(% style="color:blue" %)**Add APP EUI and DEV EUI**
280 280  
281 -(% style="color:#037691" %)**AT+PRO=2,0** (%%) ~/~/Use UDP Connection & hex Payload
267 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-4.png?width=753&height=551&rev=1.1||alt="图片-20220611161308-4.png"]]
282 282  
283 -(% style="color:#037691" %)**AT+PRO=2,5** (%%) ~/~/ Use UDP Connection & Json Payload
284 284  
285 -(% style="color:#037691" %)**AT+PRO=3,5 ** (%%) ~/~/ Use MQTT Connection & Json Payload
270 +(% style="color:blue" %)**Add APP EUI in the application**
286 286  
287 287  
288 -=== 2.2.1 General Json Format (Type=5) ===
273 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-5.png?width=742&height=601&rev=1.1||alt="图片-20220611161308-5.png"]]
289 289  
290 -This is the General Json Format. As below:
291 291  
276 +(% style="color:blue" %)**Add APP KEY**
292 292  
293 -(% 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}}**
278 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]]
294 294  
295 295  
281 +(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB
296 296  
297 -(% style="color:red" %)Notice, from above payload:
298 298  
299 -* Temperature , Humidity , Battery & Signal are the value at uplink time.
284 +Press the button for 5 seconds to activate the S31x-LB.
300 300  
301 -* 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.
286 +(% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
302 302  
288 +After join success, it will start to upload messages to TTN and you can see the messages in the panel.
303 303  
304 304  
291 +== 2.3 ​Uplink Payload ==
305 305  
306 -=== 2.2.2 HEX format Payload(Type=0) ===
293 +=== 2.3.1 Device Status, FPORT~=5 ===
307 307  
308 308  
309 -This is the HEX Format. As below:
296 +Users can use the downlink command(**0x26 01**) to ask S31x-LB to send device configure detail, include device configure status. S31x-LB will uplink a payload via FPort=5 to server.
310 310  
311 -(% style="color:#4472C4" %)**f86620705346276200640cba16010000000011011801e864d49c2d011a01e364d49925011901eb64d49871011901e564d497bd011a01e664d49709011901e964d49655011a01e864d495a1011a01e864d494ed011801e864d49439**
298 +The Payload format is as below.
312 312  
313 313  
314 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]
301 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
302 +|(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
303 +|(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
304 +|(% style="width:103px" %)**Value**|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT
315 315  
306 +Example parse in TTNv3
316 316  
317 -(% style="color:blue" %)**Version:**
308 +[[image:image-20230524144422-1.png||height="174" width="1080"]]
318 318  
319 -These bytes include the hardware and software version.
320 320  
321 -(% style="color:#037691" %)**Higher byte:**(%%) Specify Sensor Model: 0x00 for S31B-NB & S31-NB
311 +(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A
322 322  
323 -(% style="color:#037691" %)**Lower byte:**(%%) Specify the software version: 0x64=100, means firmware version 100
313 +(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
324 324  
315 +(% style="color:#037691" %)**Frequency Band**:
325 325  
326 -(% style="color:#037691" %)**BAT (Battery Info):**
317 +0x01: EU868
327 327  
328 -Ex1: 0x0CBA = 3258mV
319 +0x02: US915
329 329  
321 +0x03: IN865
330 330  
331 -(% style="color:blue" %)**Signal Strength:**
323 +0x04: AU915
332 332  
333 -NB-IoT Network signal Strength.
325 +0x05: KZ865
334 334  
335 -**Ex1: 0x16 = 22**
327 +0x06: RU864
336 336  
337 -**0**  -113dBm or less
329 +0x07: AS923
338 338  
339 -**1**  -111dBm
331 +0x08: AS923-1
340 340  
341 -**2...30** -109dBm... -53dBm
333 +0x09: AS923-2
342 342  
343 -**31**   -51dBm or greater
335 +0x0a: AS923-3
344 344  
345 -**99**    Not known or not detectable
337 +0x0b: CN470
346 346  
339 +0x0c: EU433
347 347  
348 -(% style="color:blue" %)**Temperature: **
341 +0x0d: KR920
349 349  
343 +0x0e: MA869
344 +
345 +
346 +(% style="color:#037691" %)**Sub-Band**:
347 +
348 +AU915 and US915:value 0x00 ~~ 0x08
349 +
350 +CN470: value 0x0B ~~ 0x0C
351 +
352 +Other Bands: Always 0x00
353 +
354 +
355 +(% style="color:#037691" %)**Battery Info**:
356 +
357 +Check the battery voltage.
358 +
359 +Ex1: 0x0B45 = 2885mV
360 +
361 +Ex2: 0x0B49 = 2889mV
362 +
363 +
364 +=== 2.3.2  Sensor Data. FPORT~=2 ===
365 +
366 +
367 +Sensor Data is uplink via FPORT=2
368 +
369 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
370 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
371 +**Size(bytes)**
372 +)))|=(% style="width: 40px;background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)4|=(% style="width: 150px; background-color: #D9E2F3;color:#0070C0" %)1|=(% style="width: 80px; background-color: #D9E2F3;color:#0070C0" %)**2**|=(% style="width: 80px; background-color: #D9E2F3;color:#0070C0" %)2
373 +|(% style="width:99px" %)Value|(% style="width:69px" %)(((
374 +Battery
375 +)))|(% style="width:130px" %)(((
376 +Unix TimeStamp
377 +)))|(% style="width:194px" %)(((
378 +Alarm Flag & MOD& Level of PA8
379 +)))|(% style="width:106px" %)(((
380 +Temperature
381 +)))|(% style="width:97px" %)(((
382 +Humidity
383 +)))
384 +
385 +[[image:image-20230524144456-2.png||height="180" width="1142"]]
386 +
387 +
388 +==== (% style="color:#4472c4" %)**Battery**(%%) ====
389 +
390 +Sensor Battery Level.
391 +
392 +Ex1: 0x0B45 = 2885mV
393 +
394 +Ex2: 0x0B49 = 2889mV
395 +
396 +
397 +==== (% style="color:#4472c4" %)**Temperature**(%%) ====
398 +
399 +**Example**:
400 +
350 350  If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
351 351  
352 352  If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
353 353  
354 -(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
405 +FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative
355 355  
356 356  
408 +==== (% style="color:#4472c4" %)**Humidity**(%%) ====
357 357  
358 -(% style="color:blue" %)**Humidity:   **
359 359  
360 -Read:0295(H)=661(D)    Value:  661 / 10=66.1, So 66.1%
411 +Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
361 361  
362 362  
363 -(% style="color:blue" %)**TimeStamp:   **
414 +==== (% style="color:#4472c4" %)**Alarm Flag & MOD & Level of PA8**(%%) ====
364 364  
365 -Unit TimeStamp Example: 64d49439(H) = 1691653177(D)
366 366  
367 -Put the decimal value into this link(https:~/~/www.epochconverter.com/) to get the time.
417 +**Example:**
368 368  
419 +If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message.It means that the temperature and humidity exceed the alarm value or trigger an interrupt.
369 369  
370 -=== 2.2.3 ThingsBoard Payload(Type=3) ===
421 +If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm.
371 371  
372 -Type3 payload special design for ThingsBoard, it will also configure other default server to ThingsBoard.
423 +If payload & 0x80>>7 = 0x01  **~-~->** The PA8 is low level.
373 373  
425 +If payload & 0x80>>7 =0x00  **~-~->** The PA8 is high level.
374 374  
375 -(% style="color:#4472C4" %)**{"IMEI":866207053462762,"temperature":29.2,"humidity":54.2,"battery":3.27,"signal":24}**
427 +If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message.
376 376  
429 +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. 
377 377  
378 -=== 2.2.4 ThingSpeak Payload(Type=1) ===
379 379  
380 -This payload meets ThingSpeak platform requirement. It includes only four fields. Form 1~~4 are:
432 +== 2.4 Payload Decoder file ==
381 381  
382 -Temperature, Humidity, Battery & Signal. This payload type only valid for ThingsSpeak Platform
383 383  
435 +In TTN, use can add a custom payload so it shows friendly reading
384 384  
385 -As below:
437 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
386 386  
387 -(% style="color:#4472C4" %)**field1=27.9&field2=49.9&field3=3.23&field4=28**
439 +[[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]]
388 388  
389 389  
390 -== 2.3 Test Uplink and Change Update Interval ==
442 +== 2.5 Datalog Feature ==
391 391  
392 392  
393 -By default, Sensor will send uplinks (% style="color:blue" %)**every 2 hours**(%%) & AT+NOUD=8
445 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, S31x-LB will store the reading for future retrieving purposes.
394 394  
395 395  
396 -User can use below commands to change the (% style="color:blue" %)**uplink interval**.
448 +=== 2.5.1 Ways to get datalog via LoRaWAN ===
397 397  
398 -(% style="color:#037691" %)**~ AT+TDC=600      ** (%%) ~/~/ Set Update Interval to 600s
399 399  
451 +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.
400 400  
401 -User can also push the button for more than 1 seconds to activate an uplink.
453 +* (((
454 +a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
455 +)))
456 +* (((
457 +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.
458 +)))
402 402  
460 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
403 403  
462 +[[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"]]
404 404  
405 405  
406 -== 2.4 Multi-Samplings and One uplink ==
465 +=== 2.5.2 Unix TimeStamp ===
407 407  
408 408  
409 -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:
468 +S31x-LB uses Unix TimeStamp format based on
410 410  
411 -* (% 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)
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-11.png?width=627&height=97&rev=1.1||alt="图片-20220523001219-11.png" height="97" width="627"]]
412 412  
413 -* (% 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.
472 +User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
414 414  
474 +Below is the converter example
415 415  
416 -The diagram below explains the relationship between TR, NOUD, and TDC more clearly:
476 +[[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"]]
417 417  
418 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png||alt="IMG_256"]]
419 419  
479 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
420 420  
421 -== 2.5 Humidity and Temperature alarm function ==
422 422  
423 -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.
482 +=== 2.5.3 Set Device Time ===
424 424  
425 425  
426 -(% style="color:blue" %)**AT Commands:**
485 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
427 427  
428 -(% style="color:#037691" %)**AT+ SHHUM=min,max**
487 +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 -Example: AT+ SHHUM=50,80 ~/~/ Alarm when humidity lower than 50 or higher than 80.
489 +(% 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.**
431 431  
432 432  
433 -(% style="color:#037691" %)**AT+ SHTEMP=min,max**
492 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) ===
434 434  
435 -Example: AT+ SHTEMP=20,30 ~/~/ Alarm when temperature lower than 20 or higher than 30
436 436  
495 +The Datalog uplinks will use below payload format.
437 437  
438 -(% style="color:red" %)**Notice:**
497 +**Retrieval data payload:**
439 439  
440 -* To disable Alarm, user can set min and max to same value , such as (% style="color:#037691" %)**AT+SHTEMP=0,0.**
499 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
500 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
501 +**Size(bytes)**
502 +)))|=(% style="width: 40px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 55px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 65px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 180px; background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 100px; background-color:#D9E2F3;color:#0070C0" %)**4**
503 +|(% style="width:103px" %)Value|(% style="width:68px" %)(((
504 +ignore
505 +)))|(% style="width:104px" %)(((
506 +(((
507 +Humidity
508 +)))
441 441  
442 -* 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.**
510 +(((
511 +
512 +)))
513 +)))|(% style="width:87px" %)(((
514 +Temperature
515 +)))|(% style="width:178px" %)(((
516 +Poll message flag & Alarm Flag& Level of PA8
517 +)))|(% style="width:137px" %)Unix Time Stamp
443 443  
519 +**Poll message flag & Alarm Flag & Level of PA8:**
444 444  
445 -1.
446 -11. Trggier an uplink by external interrupt
521 +[[image:image-20230524114302-1.png||height="115" width="736"]]
447 447  
448 -S31-NB has an external trigger interrupt function. Users can use the PB15 pin to trigger the upload of data packets.
449 449  
450 -AT command:
524 +**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)
451 451  
452 -* AT+INTMOD   ~/~/ Set the trigger interrupt mode
453 -* AT+INTMOD=0    ~/~/Disable Interrupt
454 -* AT+INTMOD=1   ~/~/Trigger by rising and falling edge
455 -* AT+INTMOD=2   ~/~/Trigger by falling edge
456 -* AT+INTMOD=3    ~/~/Trigger by rising edge
526 +**Poll Message Flag**: 1: This message is a poll message reply.
457 457  
528 +* Poll Message Flag is set to 1.
458 458  
530 +* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
531 +
532 +For example, in US915 band, the max payload for different DR is:
533 +
534 +**a) DR0:** max is 11 bytes so one entry of data
535 +
536 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
537 +
538 +**c) DR2:** total payload includes 11 entries of data
539 +
540 +**d) DR3: **total payload includes 22 entries of data.
541 +
542 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
543 +
544 +**Example:**
545 +
546 +If S31x-LB has below data inside Flash:
547 +
548 +[[image:image-20230524114654-2.png]]
549 +
550 +
551 +If user sends below downlink command: 31646D84E1646D856C05
552 +
553 +Where : Start time: 646D84E1 = time 23/5/24 03:30:41
554 +
555 + Stop time: 646D856C= time 23/5/24 03:33:00
556 +
557 +
558 +**S31x-LB will uplink this payload.**
559 +
560 +[[image:image-20230524114826-3.png||height="448" width="1244"]]
561 +
562 +(((
563 +00 00 02 36 01 10 40 64 6D 84 E1 00 00 02 37 01 10 40 64 6D 84 F8 00 00 02 37 01 0F 40 64 6D 85 04 00 00 02 3A 01 0F 40 64 6D 85 18 00 00 02 3C 01 0F 40 64 6D 85 36 00 00 02 3D 01 0E 40 64 6D 85 3F 00 00 02 3F 01 0E 40 64 6D 85 60 00 00 02 40 01 0E 40 64 6D 85 6A
564 +)))
565 +
566 +(((
567 +Where the first 11 bytes is for the first entry:
568 +)))
569 +
570 +(((
571 +00 00 02 36 01 10 40 64 6D 84 E1
572 +)))
573 +
574 +(((
575 +**Hum**=0x0236/10=56.6
576 +)))
577 +
578 +(((
579 +**Temp**=0x0110/10=27.2
580 +)))
581 +
582 +(((
583 +**poll message flag & Alarm Flag & Level of PA8**=0x40,means reply data,sampling uplink message,the PA8 is low level.
584 +)))
585 +
586 +(((
587 +**Unix time** is 0x646D84E1=1684899041s=23/5/24 03:30:41
588 +)))
589 +
590 +
591 +(% aria-label="数据 URI 图像图像小部件" 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==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" 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==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" 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="单击并拖动以调整大小" %)的(% aria-label="数据 URI 图像图像小部件" 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==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" 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==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" 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="单击并拖动以调整大小" %)的
592 +
593 +== 2.6 Temperature Alarm Feature ==
594 +
595 +
596 +S31x-LB work flow with Alarm feature.
597 +
598 +
599 +[[image:image-20230524110125-3.png||height="768" width="1115"]]
600 +
601 +
602 +
603 +== 2.7 Frequency Plans ==
604 +
605 +
606 +The S31x-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
607 +
608 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
609 +
610 +
611 +== 2.8 ​Firmware Change Log ==
612 +
613 +
614 +**Firmware download link: **[[https:~~/~~/www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0>>https://www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0]]
615 +
616 +
459 459  = 3. Configure S31x-LB =
460 460  
461 461  == 3.1 Configure Methods ==
... ... @@ -467,6 +467,7 @@
467 467  * 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]].
468 468  * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
469 469  
628 +
470 470  == 3.2 General Commands ==
471 471  
472 472  
... ... @@ -514,6 +514,7 @@
514 514  * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
515 515  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
516 516  
676 +
517 517  === 3.3.2 Get Device Status ===
518 518  
519 519  
... ... @@ -597,6 +597,7 @@
597 597  
598 598  * Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
599 599  
760 +
600 600  === 3.3.7 Set Interrupt Mode ===
601 601  
602 602  
... ... @@ -630,6 +630,7 @@
630 630  * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
631 631  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
632 632  
794 +
633 633  === 3.3.8 Set Power Output Duration ===
634 634  
635 635  
... ... @@ -658,6 +658,7 @@
658 658  * Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
659 659  * Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
660 660  
823 +
661 661  = 4. Battery & Power Consumption =
662 662  
663 663  
... ... @@ -684,6 +684,7 @@
684 684  * (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/]]**
685 685  * 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]]**.
686 686  
850 +
687 687  = 6. FAQ =
688 688  
689 689  
... ... @@ -711,6 +711,7 @@
711 711  
712 712  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
713 713  
878 +
714 714  = 8. ​Packing Info =
715 715  
716 716  
... ... @@ -728,6 +728,7 @@
728 728  
729 729  * Weight / pcs : g
730 730  
896 +
731 731  = 9. Support =
732 732  
733 733  
... ... @@ -734,5 +734,3 @@
734 734  * 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.
735 735  
736 736  * 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]].
737 -
738 -(% style="display:none" %) (%%)
1692415924540-357.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -94.4 KB
Content
image-20230819113244-10.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -12.0 KB
Content
image-20230819113244-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -57.5 KB
Content
image-20230819113244-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -13.0 KB
Content
image-20230819113244-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -35.5 KB
Content