Changes for page wiki_test

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

From version 81.2
edited by Xiaoling
on 2023/08/19 13:50
Change comment: There is no comment for this version
To version 80.2
edited by Xiaoling
on 2023/08/19 11:33
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -115,6 +115,8 @@
115 115  * Smart Cities
116 116  * Smart Factory
117 117  
118 +
119 +
118 118  == 1.5 Sleep mode and working mode ==
119 119  
120 120  
... ... @@ -131,7 +131,7 @@
131 131  
132 132  
133 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**
136 +|=(% style="width: 167px;background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action**
135 135  |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
136 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 137  Meanwhile, BLE module will be active and user can connect via BLE to configure device.
... ... @@ -192,7 +192,7 @@
192 192  
193 193  
194 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
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
196 196  |(% style="width:102px" %)(((
197 197  S31-LB
198 198  )))|(% style="width:126px" %)(((
... ... @@ -234,247 +234,418 @@
234 234  [[image:1692415924540-357.png]]
235 235  
236 236  
237 -There are two version: (% style="color:blue" %)**-GE**(%%) and (% style="color:blue" %)**-1D**(%%) version of S31-NB.
239 +There are two version: **-GE** and **-1D** version of S31-NB.
238 238  
239 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.
242 +**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 241  
242 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]].
245 +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]].
243 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 246  Below shows result of different server as a glance.
247 247  
248 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" %)
250 +|**Servers**|**Dash Board**|**Comments**
251 +|[[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]]|
252 +|[[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]]|
253 +|[[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]]| |
254 +|[[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|
255 +|[[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|
256 +|[[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]]|
257 +|[[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]]|
258 +| | |
259 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 261  
262 262  
262 +**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]].
263 +
264 +
263 263  == 2.2 ​Payload Types ==
264 264  
265 265  
266 -To meet different server requirement, S31-NB supports different payload type.
268 +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.
267 267  
268 -**Includes:**
270 +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.
269 269  
270 -* [[General JSON format payload>>path:#General_Json]]. (Type=5)
271 271  
272 -* [[HEX format Payload>>path:#HEX_Payload]]. (Type=0)
273 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB.
273 273  
274 -* [[ThingSpeak Format>>path:#ThingSpeak_Payload]]. (Type=1)
275 +Each S31x-LB is shipped with a sticker with the default device EUI as below:
275 275  
276 -* [[ThingsBoard Format>>path:#ThingsBoard_Payload]]. (Type=3)
277 +[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
277 277  
278 -User can specify the payload type when choose the connection protocol. Example:
279 279  
280 -(% style="color:#037691" %)**AT+PRO=2,0**  (%%) ~/~/ Use UDP Connection & hex Payload
280 +You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
281 281  
282 -(% style="color:#037691" %)**AT+PRO=2,5**   (%%) ~/~/ Use UDP Connection & Json Payload
283 283  
284 -(% style="color:#037691" %)**AT+PRO=3,5 ** (%%) ~/~/ Use MQTT Connection & Json Payload
283 +(% style="color:blue" %)**Register the device**
285 285  
285 +[[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"]]
286 286  
287 -=== 2.2.1 General Json Format (Type~=5) ===
288 288  
288 +(% style="color:blue" %)**Add APP EUI and DEV EUI**
289 289  
290 -This is the General Json Format. As below:
290 +[[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"]]
291 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 293  
293 +(% style="color:blue" %)**Add APP EUI in the application**
294 294  
295 -(% style="color:red" %)**Notice, from above payload:**
296 296  
297 -* Temperature , Humidity , Battery & Signal are the value at uplink time.
296 +[[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"]]
298 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 300  
299 +(% style="color:blue" %)**Add APP KEY**
301 301  
302 -=== 2.2.2 HEX format Payload(Type~=0) ===
301 +[[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"]]
303 303  
304 304  
305 -This is the HEX Format. As below:
304 +(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB
306 306  
307 -(% style="color:#4472c4" %)**f86620705346276200640cba16010000000011011801e864d49c2d011a01e364d49925011901eb64d49871011901e564d497bd011a01e664d49709011901e964d49655011a01e864d495a1011a01e864d494ed011801e864d49439**
308 308  
309 -[[image:1692424009971-458.png]]
307 +Press the button for 5 seconds to activate the S31x-LB.
310 310  
309 +(% 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.
311 311  
312 -(% style="color:blue" %)**Version:**
311 +After join success, it will start to upload messages to TTN and you can see the messages in the panel.
313 313  
314 -These bytes include the hardware and software version.
315 315  
316 -(% style="color:#037691" %)**Higher byte:**(%%) Specify Sensor Model: 0x00 for S31B-NB & S31-NB
314 +== 2.3 ​Uplink Payload ==
317 317  
318 -(% style="color:#037691" %)**Lower byte:**(%%) Specify the software version: 0x64=100, means firmware version 100
316 +=== 2.3.1 Device Status, FPORT~=5 ===
319 319  
320 320  
321 -(% style="color:blue" %)**BAT (Battery Info):**
319 +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.
322 322  
323 -Ex1: 0x0CBA = 3258mV
321 +The Payload format is as below.
324 324  
325 325  
326 -(% style="color:blue" %)**Signal Strength:**
324 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
325 +|(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
326 +|(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
327 +|(% 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
327 327  
328 -NB-IoT Network signal Strength.
329 +Example parse in TTNv3
329 329  
330 -**Ex1: 0x16 = 22**
331 +[[image:image-20230524144422-1.png||height="174" width="1080"]]
331 331  
332 -**0**  -113dBm or less
333 333  
334 -**1**  -111dBm
334 +(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A
335 335  
336 -**2...30** -109dBm... -53dBm
336 +(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
337 337  
338 -**31**   -51dBm or greater
338 +(% style="color:#037691" %)**Frequency Band**:
339 339  
340 -**99**    Not known or not detectable
340 +0x01: EU868
341 341  
342 +0x02: US915
342 342  
343 -(% style="color:blue" %)**Temperature: **
344 +0x03: IN865
344 344  
346 +0x04: AU915
347 +
348 +0x05: KZ865
349 +
350 +0x06: RU864
351 +
352 +0x07: AS923
353 +
354 +0x08: AS923-1
355 +
356 +0x09: AS923-2
357 +
358 +0x0a: AS923-3
359 +
360 +0x0b: CN470
361 +
362 +0x0c: EU433
363 +
364 +0x0d: KR920
365 +
366 +0x0e: MA869
367 +
368 +
369 +(% style="color:#037691" %)**Sub-Band**:
370 +
371 +AU915 and US915:value 0x00 ~~ 0x08
372 +
373 +CN470: value 0x0B ~~ 0x0C
374 +
375 +Other Bands: Always 0x00
376 +
377 +
378 +(% style="color:#037691" %)**Battery Info**:
379 +
380 +Check the battery voltage.
381 +
382 +Ex1: 0x0B45 = 2885mV
383 +
384 +Ex2: 0x0B49 = 2889mV
385 +
386 +
387 +=== 2.3.2  Sensor Data. FPORT~=2 ===
388 +
389 +
390 +Sensor Data is uplink via FPORT=2
391 +
392 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
393 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
394 +**Size(bytes)**
395 +)))|=(% 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
396 +|(% style="width:99px" %)Value|(% style="width:69px" %)(((
397 +Battery
398 +)))|(% style="width:130px" %)(((
399 +Unix TimeStamp
400 +)))|(% style="width:194px" %)(((
401 +Alarm Flag & MOD& Level of PA8
402 +)))|(% style="width:106px" %)(((
403 +Temperature
404 +)))|(% style="width:97px" %)(((
405 +Humidity
406 +)))
407 +
408 +[[image:image-20230524144456-2.png||height="180" width="1142"]]
409 +
410 +
411 +==== (% style="color:#4472c4" %)**Battery**(%%) ====
412 +
413 +Sensor Battery Level.
414 +
415 +Ex1: 0x0B45 = 2885mV
416 +
417 +Ex2: 0x0B49 = 2889mV
418 +
419 +
420 +==== (% style="color:#4472c4" %)**Temperature**(%%) ====
421 +
422 +**Example**:
423 +
345 345  If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
346 346  
347 347  If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
348 348  
349 -(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
428 +FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative
350 350  
351 351  
431 +==== (% style="color:#4472c4" %)**Humidity**(%%) ====
352 352  
353 -(% style="color:blue" %)**Humidity:   **
354 354  
355 -Read:0295(H)=661(D)    Value:  661 / 10=66.1, So 66.1%
434 +Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
356 356  
357 357  
358 -(% style="color:blue" %)**TimeStamp:   **
437 +==== (% style="color:#4472c4" %)**Alarm Flag & MOD & Level of PA8**(%%) ====
359 359  
360 -Unit TimeStamp Example: 64d49439(H) = 1691653177(D)
361 361  
362 -Put the decimal value into this link(https:~/~/www.epochconverter.com/) to get the time.
440 +**Example:**
363 363  
442 +If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message.It means that the temperature and humidity exceed the alarm value or trigger an interrupt.
364 364  
365 -=== 2.2.3 ThingsBoard Payload(Type~=3) ===
444 +If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm.
366 366  
446 +If payload & 0x80>>7 = 0x01  **~-~->** The PA8 is low level.
367 367  
368 -Type3 payload special design for ThingsBoard, it will also configure other default server to ThingsBoard.
448 +If payload & 0x80>>7 =0x00  **~-~->** The PA8 is high level.
369 369  
450 +If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message.
370 370  
371 -(% style="color:#4472c4" %)**{"IMEI":866207053462762,"temperature":29.2,"humidity":54.2,"battery":3.27,"signal":24}**
452 +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
372 372  
373 373  
374 -=== 2.2.4 ThingSpeak Payload(Type~=1) ===
455 +== 2.4 Payload Decoder file ==
375 375  
376 376  
377 -This payload meets ThingSpeak platform requirement. It includes only four fields. Form 1~~4 are:
458 +In TTN, use can add a custom payload so it shows friendly reading
378 378  
379 -Temperature, Humidity, Battery & Signal. This payload type only valid for ThingsSpeak Platform
460 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
380 380  
462 +[[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]]
381 381  
382 -As below:
383 383  
384 -(% style="color:#4472c4" %)**field1=27.9&field2=49.9&field3=3.23&field4=28**
465 +== 2.5 Datalog Feature ==
385 385  
386 386  
387 -== 2.3 Test Uplink and Change Update Interval ==
468 +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.
388 388  
389 389  
390 -By default, Sensor will send uplinks (% style="color:blue" %)**every 2 hours**(%%) & AT+NOUD=8
471 +=== 2.5.1 Ways to get datalog via LoRaWAN ===
391 391  
392 392  
393 -User can use below commands to change the (% style="color:blue" %)**uplink interval**.
474 +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.
394 394  
395 -(% style="color:#037691" %)** AT+TDC=600      ** (%%) ~/~/ Set Update Interval to 600s
476 +* (((
477 +a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
478 +)))
479 +* (((
480 +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.
481 +)))
396 396  
483 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
397 397  
398 -User can also push the button for more than 1 seconds to activate an uplink.
485 +[[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"]]
399 399  
400 400  
488 +=== 2.5.2 Unix TimeStamp ===
401 401  
402 402  
403 -== 2.4 Multi-Samplings and One uplink ==
491 +S31x-LB uses Unix TimeStamp format based on
404 404  
493 +[[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"]]
405 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:
495 +User can get this time from link [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
407 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)
497 +Below is the converter example
409 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.
499 +[[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"]]
411 411  
412 -The diagram below explains the relationship between TR, NOUD, and TDC more clearly:
413 413  
414 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png||alt="IMG_256"]]
502 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
415 415  
416 416  
417 -== 2.5 Humidity and Temperature alarm function ==
505 +=== 2.5.3 Set Device Time ===
418 418  
419 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.
508 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
421 421  
510 +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).
422 422  
423 -(% style="color:blue" %)**AT Commands:**
512 +(% 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.**
424 424  
425 -(% style="color:#037691" %)**AT+ SHHUM=min,max**
426 426  
427 -Example: AT+ SHHUM=50,80 ~/~/ Alarm when humidity lower than 50 or higher than 80.
515 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) ===
428 428  
429 429  
430 -(% style="color:#037691" %)**AT+ SHTEMP=min,max**
518 +The Datalog uplinks will use below payload format.
431 431  
432 -Example: AT+ SHTEMP=20,30 ~/~/ Alarm when temperature lower than 20 or higher than 30
520 +**Retrieval data payload:**
433 433  
522 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
523 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)(((
524 +**Size(bytes)**
525 +)))|=(% 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**
526 +|(% style="width:103px" %)Value|(% style="width:68px" %)(((
527 +ignore
528 +)))|(% style="width:104px" %)(((
529 +(((
530 +Humidity
531 +)))
434 434  
435 -(% style="color:red" %)**Notice:**
533 +(((
534 +
535 +)))
536 +)))|(% style="width:87px" %)(((
537 +Temperature
538 +)))|(% style="width:178px" %)(((
539 +Poll message flag & Alarm Flag& Level of PA8
540 +)))|(% style="width:137px" %)Unix Time Stamp
436 436  
437 -* To disable Alarm, user can set min and max to same value , such as (% style="color:#037691" %)**AT+SHTEMP=0,0.**
542 +**Poll message flag & Alarm Flag & Level of PA8:**
438 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.**
544 +[[image:image-20230524114302-1.png||height="115" width="736"]]
440 440  
441 441  
547 +**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)
442 442  
549 +**Poll Message Flag**: 1: This message is a poll message reply.
443 443  
444 -== 2.6 Trggier an uplink by external interrupt ==
551 +* Poll Message Flag is set to 1.
445 445  
553 +* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
446 446  
447 -S31-NB has an external trigger interrupt function. Users can use the PB15 pin to trigger the upload of data packets.
555 +For example, in US915 band, the max payload for different DR is:
448 448  
449 -(% style="color:blue" %)**AT command:**
557 +**a) DR0:** max is 11 bytes so one entry of data
450 450  
451 -* (% style="color:#037691" %)**AT+INTMOD **(%%) ~/~/ Set the trigger interrupt mode
559 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
452 452  
453 -* (% style="color:#037691" %)**AT+INTMOD=0 **(%%) ~/~/Disable Interrupt
561 +**c) DR2:** total payload includes 11 entries of data
454 454  
455 -* (% style="color:#037691" %)**AT+INTMOD=1 **(%%) ~/~/Trigger by rising and falling edge
563 +**d) DR3: **total payload includes 22 entries of data.
456 456  
457 -* (% style="color:#037691" %)**AT+INTMOD=2 **(%%) ~/~/Trigger by falling edge
565 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
458 458  
459 -* (% style="color:#037691" %)**AT+INTMOD=3  **(%%) ~/~/Trigger by rising edge
567 +**Example:**
460 460  
569 +If S31x-LB has below data inside Flash:
461 461  
571 +[[image:image-20230524114654-2.png]]
462 462  
463 -= 3. Configure S31x-NB =
464 464  
465 -== 3.1 Configure Methods ==
574 +If user sends below downlink command: 31646D84E1646D856C05
466 466  
576 +Where : Start time: 646D84E1 = time 23/5/24 03:30:41
467 467  
468 -S31x-NB supports below configure method:
578 + Stop time: 646D856C= time 23/5/24 03:33:00
469 469  
470 -* AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
471 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]].
581 +**S31x-LB will uplink this payload.**
473 473  
474 -* LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
583 +[[image:image-20230524114826-3.png||height="448" width="1244"]]
475 475  
585 +(((
586 +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
587 +)))
476 476  
589 +(((
590 +Where the first 11 bytes is for the first entry:
591 +)))
477 477  
593 +(((
594 +00 00 02 36 01 10 40 64 6D 84 E1
595 +)))
596 +
597 +(((
598 +**Hum**=0x0236/10=56.6
599 +)))
600 +
601 +(((
602 +**Temp**=0x0110/10=27.2
603 +)))
604 +
605 +(((
606 +**poll message flag & Alarm Flag & Level of PA8**=0x40,means reply data,sampling uplink message,the PA8 is low level.
607 +)))
608 +
609 +(((
610 +**Unix time** is 0x646D84E1=1684899041s=23/5/24 03:30:41
611 +)))
612 +
613 +
614 +(% 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="单击并拖动以调整大小" %)的
615 +
616 +== 2.6 Temperature Alarm Feature ==
617 +
618 +
619 +S31x-LB work flow with Alarm feature.
620 +
621 +
622 +[[image:image-20230524110125-3.png||height="768" width="1115"]]
623 +
624 +
625 +
626 +== 2.7 Frequency Plans ==
627 +
628 +
629 +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.
630 +
631 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
632 +
633 +
634 +== 2.8 ​Firmware Change Log ==
635 +
636 +
637 +**Firmware download link: **[[https:~~/~~/www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0>>https://www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0]]
638 +
639 +
640 += 3. Configure S31x-LB =
641 +
642 +== 3.1 Configure Methods ==
643 +
644 +
645 +S31x-LB supports below configure method:
646 +
647 +* AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
648 +* 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]].
649 +* LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
650 +
478 478  == 3.2 General Commands ==
479 479  
480 480  
... ... @@ -743,4 +743,4 @@
743 743  
744 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 745  
746 -(% style="display:none" %) (%%)
919 +(% style="display:none" %) (%%)
1692424009971-458.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -147.4 KB
Content