Changes for page wiki_test
Last modified by Mengting Qiu on 2024/09/05 17:35
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -116,6 +116,7 @@ 116 116 * Smart Factory 117 117 118 118 119 + 119 119 == 1.5 Sleep mode and working mode == 120 120 121 121 ... ... @@ -132,7 +132,7 @@ 132 132 133 133 134 134 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 135 -|=(% 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** 136 136 |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)((( 137 137 If sensor has already attached to NB-IoT network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. 138 138 Meanwhile, BLE module will be active and user can connect via BLE to configure device. ... ... @@ -193,7 +193,7 @@ 193 193 194 194 195 195 (% border="1" cellspacing="5" style="width:410px" %) 196 -|=(% 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 Info197 +|=(% 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 197 197 |(% style="width:102px" %)((( 198 198 S31-LB 199 199 )))|(% style="width:126px" %)((( ... ... @@ -235,255 +235,418 @@ 235 235 [[image:1692415924540-357.png]] 236 236 237 237 238 -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. 239 239 240 240 241 - (% 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. 242 242 243 243 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]]. 244 244 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]]. 246 - 247 247 Below shows result of different server as a glance. 248 248 249 249 250 -(% border="1" cellspacing="4" style="width:515px" %) 251 -|(% style="width:100px;background-color:#4F81BD;color:white" %)**Servers**|(% style="width:300px;background-color:#4F81BD;color:white" %)**Dash Board**|(% style="width:115px;background-color:#4F81BD;color:white" %)**Comments** 252 -|(% 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" %) 253 -|(% 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" %) 254 -|(% 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" %) 255 -|(% 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" %) 256 -|(% 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" %) 257 -|(% 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" %) 258 -|(% 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" %) 259 -|(% 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 +| | | 260 260 261 261 262 -(% 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]]. 263 263 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]]. 264 264 264 + 265 265 == 2.2 Payload Types == 266 266 267 267 268 - To meetdifferent server requirement,S31-NB supportsfferentpayloadtype.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. 269 269 270 - 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. 271 271 272 -* [[General JSON format payload>>path:#General_Json]]. (Type=5) 273 273 274 -* [[HEXformatPayload>>path:#HEX_Payload]].(Type=0)273 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB. 275 275 276 - *[[ThingSpeakFormat>>path:#ThingSpeak_Payload]].(Type=1)275 +Each S31x-LB is shipped with a sticker with the default device EUI as below: 277 277 278 - *[[ThingsBoard Format>>path:#ThingsBoard_Payload]].(Type=3)277 +[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]] 279 279 280 -User can specify the payload type when choose the connection protocol. Example: 281 281 282 - (%style="color:#037691"%)**AT+PRO=2,0**(%%)~/~/UseUDP Connection&hex Payload280 +You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 283 283 284 -(% style="color:#037691" %)**AT+PRO=2,5** (%%) ~/~/ Use UDP Connection & Json Payload 285 285 286 -(% style="color: #037691" %)**AT+PRO=3,5 ** (%%) ~/~/ UseMQTT Connection& Json Payload283 +(% style="color:blue" %)**Register the device** 287 287 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"]] 288 288 289 -=== 2.2.1 General Json Format (Type=5) === 290 290 288 +(% style="color:blue" %)**Add APP EUI and DEV EUI** 291 291 292 - ThisistheGeneralJsonFormat. Asbelow: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"]] 293 293 294 294 295 -(% 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 +(% style="color:blue" %)**Add APP EUI in the application** 296 296 297 297 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 -(% style="color:red" %)Notice, from above payload: 300 300 301 - *Temperature , Humidity, Battery & Signalare the valueatuplinktime.299 +(% style="color:blue" %)**Add APP KEY** 302 302 303 - * Json entry 1 ~~ 8arethe last1 ~~ 8 samplingdataasspecify by (%style="color:#037691"%)**AT+NOUD=8 ** (%%)Command. Eachentry includes(from left to right):Temperature,Humidity,Samplingme.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"]] 304 304 305 305 304 +(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB 306 306 307 -=== 2.2.2 HEX format Payload(Type=0) === 308 308 307 +Press the button for 5 seconds to activate the S31x-LB. 309 309 310 - This is theHEXFormat.Asbelow: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:#4472c4"%)**f86620705346276200640cba16010000000011011801e864d49c2d011a01e364d49925011901eb64d49871011901e564d497bd011a01e664d49709011901e964d49655011a01e864d495a1011a01e864d494ed011801e864d49439**311 +After join success, it will start to upload messages to TTN and you can see the messages in the panel. 313 313 314 314 315 - [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]314 +== 2.3 Uplink Payload == 316 316 316 +=== 2.3.1 Device Status, FPORT~=5 === 317 317 318 -(% style="color:blue" %)**Version:** 319 319 320 - Thesebytesincludethehardware andsoftwareversion.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. 321 321 322 - (%style="color:#037691" %)**Higher byte:**(%%)SpecifySensorModel: 0x00 for S31B-NB & S31-NB321 +The Payload format is as below. 323 323 324 -(% style="color:#037691" %)**Lower byte:**(%%) Specify the software version: 0x64=100, means firmware version 100 325 325 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 326 326 327 - (% style="color:#037691"%)**BAT (BatteryInfo):**329 +Example parse in TTNv3 328 328 329 - Ex1:x0CBA=3258mV331 +[[image:image-20230524144422-1.png||height="174" width="1080"]] 330 330 331 331 332 -(% style="color: blue" %)**Signal Strength:**334 +(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A 333 333 334 - NB-IoTNetworksignalStrength.336 +(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 335 335 336 - **Ex1:0x16=22**338 +(% style="color:#037691" %)**Frequency Band**: 337 337 338 - **0** -113dBmor less340 +0x01: EU868 339 339 340 - **1**-111dBm342 +0x02: US915 341 341 342 - **2...30** -109dBm...-53dBm344 +0x03: IN865 343 343 344 - **31**-51dBm or greater346 +0x04: AU915 345 345 346 - **99**Not known or not detectable348 +0x05: KZ865 347 347 350 +0x06: RU864 348 348 349 - (% style="color:blue"%)**Temperature: **352 +0x07: AS923 350 350 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 + 351 351 If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree 352 352 353 353 If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. 354 354 355 - (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) 356 356 357 357 431 +==== (% style="color:#4472c4" %)**Humidity**(%%) ==== 358 358 359 -(% style="color:blue" %)**Humidity: ** 360 360 361 -Read:0 295(H)=661(D)Value:661 / 10=66.1, So66.1%434 +Read:0x(0197)=412 Value: 412 / 10=41.2, So 41.2% 362 362 363 363 364 -(% style="color: blue" %)**TimeStamp:**437 +==== (% style="color:#4472c4" %)**Alarm Flag & MOD & Level of PA8**(%%) ==== 365 365 366 -Unit TimeStamp Example: 64d49439(H) = 1691653177(D) 367 367 368 - Put the decimalvalueinto this link(https:~/~/www.epochconverter.com/) to get the time.440 +**Example:** 369 369 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. 370 370 371 -= ==2.2.3ThingsBoardPayload(Type=3)===444 +If payload & 0x01 = 0x00 **~-~->** This is a normal uplink message, no alarm. 372 372 446 +If payload & 0x80>>7 = 0x01 **~-~->** The PA8 is low level. 373 373 374 - Type3payloadspecialdesignforThingsBoard,itwill alsoconfigure otherdefault server to ThingsBoard.448 +If payload & 0x80>>7 =0x00 **~-~->** The PA8 is high level. 375 375 450 +If payload >> 2 = 0x00 **~-~->** means MOD=1, This is a sampling uplink message. 376 376 377 - (%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. 378 378 379 379 380 -== =2.2.4ThingSpeakPayload(Type=1)===455 +== 2.4 Payload Decoder file == 381 381 382 382 383 -T hispayloadmeetsThingSpeak platformrequirement.It includesnlyfourfields.Form 1~~4 are:458 +In TTN, use can add a custom payload so it shows friendly reading 384 384 385 - Temperature,Humidity,Battery& Signal. Thispayload typeonlyvalidforThingsSpeakPlatform460 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: 386 386 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]] 387 387 388 -As below: 389 389 390 - (%style="color:#4472c4"%)**field1=27.9&field2=49.9&field3=3.23&field4=28**465 +== 2.5 Datalog Feature == 391 391 392 392 393 - ==2.3TestUplinkandChangeUpdateInterval==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. 394 394 395 395 396 - Bydefault,Sensorwill senduplinks (% style="color:blue"%)**every2 hours**(%%) &AT+NOUD=8471 +=== 2.5.1 Ways to get datalog via LoRaWAN === 397 397 398 398 399 - Usercan usebelowcommands tochange the(%style="color:blue"%)**uplinkinterval**.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. 400 400 401 -(% 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 +))) 402 402 483 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1) 403 403 404 -User canushthebuttonformore than1 secondsto activateuplink.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"]] 405 405 406 406 488 +=== 2.5.2 Unix TimeStamp === 407 407 408 408 409 - ==2.4 Multi-SamplingsandOneuplink ==491 +S31x-LB uses Unix TimeStamp format based on 410 410 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"]] 411 411 412 - Tosavebatterylife, S31-NB will sampletemperature&humiditydata every 15 minutesand sendoneuplink every 2 hours.Soeachuplink it will include 8 stored data + 1real-timedata.They are defined by:495 +User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] : 413 413 414 - * (% style="color:#037691"%)**AT+TR=900** (%%) ~/~/ The unit isseconds, andthedefault is to record data once every 900 seconds (15 minutes,theminimum can beset to 180 seconds)497 +Below is the converter example 415 415 416 - * (% style="color:#037691"%)**AT+NOUD=8** (%%)~/~/Thedeviceploads 8 setsfrecorded datay default.Upo 32sets ofrecord data canbeuploaded.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"]] 417 417 418 -The diagram below explains the relationship between TR, NOUD, and TDC more clearly: 419 419 420 - [[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 421 421 422 422 423 -== 2.5 HumidityandTemperaturealarm function==505 +=== 2.5.3 Set Device Time === 424 424 425 425 426 - Oneachsampling definebyAT+TR(default 900sor 15minutes),whenthe valueexceedthe range,it will triggeranAlarmand immediately sends a uplink.508 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command. 427 427 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). 428 428 429 -(% style="color: blue" %)**ATCommands:**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.** 430 430 431 -(% style="color:#037691" %)**AT+ SHHUM=min,max** 432 432 433 - Example: AT+ SHHUM=50,80~/~/ Alarm when humiditylowerthan50or higher than80.515 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) === 434 434 435 435 436 - (%style="color:#037691"%)**AT+ SHTEMP=min,max**518 +The Datalog uplinks will use below payload format. 437 437 438 - Example: AT+ SHTEMP=20,30 ~/~/ Alarm whentemperatureowerthan20or higher than 30520 +**Retrieval data payload:** 439 439 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 +))) 440 440 441 -(% 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 442 442 443 -* TodisableAlarm,usercan setminandmaxto samealue, such as (% style="color:#037691"%)**AT+SHTEMP=0,0.**542 +**Poll message flag & Alarm Flag & Level of PA8:** 444 444 445 - * If user only want to send only min ormax, user canset thealarm to a value thatdevicewon’treach. For example: (% style="color:#037691"%)**AT+SHTEMP=-80,0.**544 +[[image:image-20230524114302-1.png||height="115" width="736"]] 446 446 447 447 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) 448 448 549 +**Poll Message Flag**: 1: This message is a poll message reply. 449 449 551 +* Poll Message Flag is set to 1. 450 450 451 - ==2.6Trggieranuplinkby externalinterrupt==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. 452 452 555 +For example, in US915 band, the max payload for different DR is: 453 453 454 - S31-NB hasan externaltriggerinterruptfunction. Userscan usethePB15 pino triggerthe upload of datapackets.557 +**a) DR0:** max is 11 bytes so one entry of data 455 455 456 - (%style="color:blue"%)**ATcommand:**559 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 457 457 458 -* (% style="color:#037691" %)**AT+INTMOD**(%%)~/~/Setthetriggerinterrupt mode561 +**c) DR2:** total payload includes 11 entries of data 459 459 460 -* (%style="color:#037691"%)**AT+INTMOD=0 **(%%) ~/~/DisableInterrupt563 +**d) DR3: **total payload includes 22 entries of data. 461 461 462 - *(%style="color:#037691"%)**AT+INTMOD=1**(%%)~/~/Triggerby risingandfallingedge565 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0 463 463 464 -* (% style="color:#037691" %)**AT+INTMOD=2 **(%%) ~/~/Trigger by falling edge567 +**Example:** 465 465 466 - *(%style="color:#037691"%)**AT+INTMOD=3**(%%) ~/~/Trigger by rising edge569 +If S31x-LB has below data inside Flash: 467 467 571 +[[image:image-20230524114654-2.png]] 468 468 469 469 574 +If user sends below downlink command: 31646D84E1646D856C05 470 470 471 - =3.ConfigureS31x-NB=576 +Where : Start time: 646D84E1 = time 23/5/24 03:30:41 472 472 473 - ==3.1ConfigureMethods==578 + Stop time: 646D856C= time 23/5/24 03:33:00 474 474 475 475 476 -S31x- NBsupports below configuremethod:581 +**S31x-LB will uplink this payload.** 477 477 478 - * AT Command via Bluetooth Connection (**Recommended**):[[BLE ConfigureInstruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].583 +[[image:image-20230524114826-3.png||height="448" width="1244"]] 479 479 480 -* 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]]. 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 +))) 481 481 482 -* LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 589 +((( 590 +Where the first 11 bytes is for the first entry: 591 +))) 483 483 593 +((( 594 +00 00 02 36 01 10 40 64 6D 84 E1 595 +))) 484 484 597 +((( 598 +**Hum**=0x0236/10=56.6 599 +))) 485 485 601 +((( 602 +**Temp**=0x0110/10=27.2 603 +))) 486 486 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 + 487 487 == 3.2 General Commands == 488 488 489 489 ... ... @@ -752,5 +752,4 @@ 752 752 753 753 * 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]]. 754 754 755 - 756 -(% style="display:none" %) (%%) 919 +(% style="display:none" %) (%%)