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)
-
Attachments (0 modified, 0 added, 4 removed)
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. ... ... @@ -183,7 +183,6 @@ 183 183 184 184 === 1.8.3 Reset Button === 185 185 186 - 187 187 Press to reboot the device. 188 188 189 189 ... ... @@ -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 Info196 +|=(% 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" %)((( ... ... @@ -220,261 +220,412 @@ 220 220 221 221 222 222 224 +== 1.9 Mechanical == 223 223 226 + 227 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]] 228 + 229 + 230 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]] 231 + 232 + 233 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]] 234 + 235 + 224 224 = 2. Use S31-NB to communicate with IoT Server = 225 225 226 226 == 2.1 Send data to IoT server via NB-IoT network == 227 227 228 228 229 -The S31- NB isequippedwithaB-IoT module,thepre-loadedfirmware inS31-NBwill getenvironmentdatafromsensorsandsendthevalue tolocalNB-IoTnetworkvia theNB-IoTmodule.TheNB-IoTnetworkwillforwardthisvaluetoIoTserverviatheprotocoldefinedbyS31-NB.241 +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. 230 230 231 231 232 - Belowshowsthe networkstructure:244 +== 2.2 Quick guide to connect to LoRaWAN server (OTAA) == 233 233 234 -[[image:1692415924540-357.png]] 235 235 247 +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. 236 236 237 -The reare twoversion: (%style="color:blue"%)**-GE**(%%)and(%style="color:blue"%)**-1D**(%%)version of S31-NB.249 +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. 238 238 239 239 240 -(% style="color:blue" %)** GE Version**(%%):This version doesn’tincludeSIM cardor point to any IoT server.UserneedstouseATCommandsto configure belowtwo steps to setS31-NBsend data to IoT server.252 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB. 241 241 242 - 1. InstallNB-IoTSIMcard and configureAPN. Seeinstructionof [[AttachNetwork>>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]].254 +Each S31x-LB is shipped with a sticker with the default device EUI as below: 243 243 244 - 1. Set up sensor to point to IoT Server. See instruction of[[Configureto 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]].256 +[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]] 245 245 246 -Below shows result of different server as a glance. 247 247 259 +You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 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" %) 259 259 260 -(% style="color:blue" %)** 1D Version**(%%): Thisversion has 1NCE SIM card pre-installed and configureto send value to DataCake. User Just need to select thesensor type in DataCake andActivateS31-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]].262 +(% style="color:blue" %)**Register the device** 261 261 264 +[[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"]] 262 262 263 -== 2.2 Payload Types == 264 264 267 +(% style="color:blue" %)**Add APP EUI and DEV EUI** 265 265 266 - Tomeetdifferentserver requirement,S31-NBsupportsdifferent payloadype.269 +[[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"]] 267 267 268 -**Includes:** 269 269 270 - *[[GeneralJSON format payload>>path:#General_Json]]. (Type=5)272 +(% style="color:blue" %)**Add APP EUI in the application** 271 271 272 -* [[HEX format Payload>>path:#HEX_Payload]]. (Type=0) 273 273 274 - *[[ThingSpeakFormat>>path:#ThingSpeak_Payload]].(Type=1)275 +[[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"]] 275 275 276 -* [[ThingsBoard Format>>path:#ThingsBoard_Payload]]. (Type=3) 277 277 278 - Usercanspecifythe payload typewhenchoosetheconnectionprotocol.Example:278 +(% style="color:blue" %)**Add APP KEY** 279 279 280 - (% style="color:#037691"%)**AT+PRO=2,0** (%%) ~/~/UseUDP Connectionx Payload280 +[[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"]] 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& JsonPayload283 +(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB 285 285 286 286 287 - ===2.2.1 GeneralJsonFormat(Type~=5)===286 +Press the button for 5 seconds to activate the S31x-LB. 288 288 288 +(% 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. 289 289 290 - This is theGeneralJsonFormat.Asbelow:290 +After join success, it will start to upload messages to TTN and you can see the messages in the panel. 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 +== 2.3 Uplink Payload == 294 294 295 - (%style="color:red"%)**Notice,fromabove payload:**295 +=== 2.3.1 Device Status, FPORT~=5 === 296 296 297 -* Temperature , Humidity , Battery & Signal are the value at uplink time. 298 298 299 - * Jsonentry1 ~~ 8are the last1~~8 samplingdataasspecify by (% style="color:#037691"%)**AT+NOUD=8 ** (%%)Command. Eachentryincludes(from lefttoright): Temperature,Humidity,Samplingtime.298 +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. 300 300 300 +The Payload format is as below. 301 301 302 -=== 2.2.2 HEX format Payload(Type~=0) === 303 303 303 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 304 +|(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)** 305 +|(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2** 306 +|(% 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 304 304 305 - This is the HEX Format.Asbelow:308 +Example parse in TTNv3 306 306 307 - (% style="color:#4472c4" %)**f86620705346276200640cba16010000000011011801e864d49c2d011a01e364d49925011901eb64d49871011901e564d497bd011a01e664d49709011901e964d49655011a01e864d495a1011a01e864d494ed011801e864d49439**310 +[[image:image-20230524144422-1.png||height="174" width="1080"]] 308 308 309 -[[image:1692424009971-458.png]] 310 310 313 +(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A 311 311 312 -(% style="color: blue" %)**Version:**315 +(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 313 313 314 - Thesebytes includethe hardwareandsoftware version.317 +(% style="color:#037691" %)**Frequency Band**: 315 315 316 - (% style="color:#037691" %)**Higher byte:**(%%) Specify Sensor Model: 0x00 for S31B-NB& S31-NB319 +0x01: EU868 317 317 318 - (% style="color:#037691" %)**Lower byte:**(%%)Specify the software version: 0x64=100, means firmware version 100321 +0x02: US915 319 319 323 +0x03: IN865 320 320 321 - (% style="color:blue"%)**BAT (Battery Info):**325 +0x04: AU915 322 322 323 - Ex1:0x0CBA = 3258mV327 +0x05: KZ865 324 324 329 +0x06: RU864 325 325 326 - (% style="color:blue"%)**Signal Strength:**331 +0x07: AS923 327 327 328 - NB-IoTNetwork signalStrength.333 +0x08: AS923-1 329 329 330 - **Ex1:0x16 =22**335 +0x09: AS923-2 331 331 332 - **0**113dBm or less337 +0x0a: AS923-3 333 333 334 - **1**-111dBm339 +0x0b: CN470 335 335 336 - **2...30** -109dBm...-53dBm341 +0x0c: EU433 337 337 338 - **31** -51dBmor greater343 +0x0d: KR920 339 339 340 - **99** Not known or not detectable345 +0x0e: MA869 341 341 342 342 343 -(% style="color: blue" %)**Temperature:**348 +(% style="color:#037691" %)**Sub-Band**: 344 344 350 +AU915 and US915:value 0x00 ~~ 0x08 351 + 352 +CN470: value 0x0B ~~ 0x0C 353 + 354 +Other Bands: Always 0x00 355 + 356 + 357 +(% style="color:#037691" %)**Battery Info**: 358 + 359 +Check the battery voltage. 360 + 361 +Ex1: 0x0B45 = 2885mV 362 + 363 +Ex2: 0x0B49 = 2889mV 364 + 365 + 366 +=== 2.3.2 Sensor Data. FPORT~=2 === 367 + 368 + 369 +Sensor Data is uplink via FPORT=2 370 + 371 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 372 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)((( 373 +**Size(bytes)** 374 +)))|=(% 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 375 +|(% style="width:99px" %)Value|(% style="width:69px" %)((( 376 +Battery 377 +)))|(% style="width:130px" %)((( 378 +Unix TimeStamp 379 +)))|(% style="width:194px" %)((( 380 +Alarm Flag & MOD& Level of PA8 381 +)))|(% style="width:106px" %)((( 382 +Temperature 383 +)))|(% style="width:97px" %)((( 384 +Humidity 385 +))) 386 + 387 +[[image:image-20230524144456-2.png||height="180" width="1142"]] 388 + 389 + 390 +==== (% style="color:#4472c4" %)**Battery**(%%) ==== 391 + 392 +Sensor Battery Level. 393 + 394 +Ex1: 0x0B45 = 2885mV 395 + 396 +Ex2: 0x0B49 = 2889mV 397 + 398 + 399 +==== (% style="color:#4472c4" %)**Temperature**(%%) ==== 400 + 401 +**Example**: 402 + 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)407 +(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 350 350 351 351 410 +==== (% style="color:#4472c4" %)**Humidity**(%%) ==== 352 352 353 -(% style="color:blue" %)**Humidity: ** 354 354 355 -Read:0 295(H)=661(D)Value:661 / 10=66.1, So66.1%413 +Read:0x(0197)=412 Value: 412 / 10=41.2, So 41.2% 356 356 357 357 358 -(% style="color: blue" %)**TimeStamp:**416 +==== (% style="color:#4472c4" %)**Alarm Flag & MOD & Level of PA8**(%%) ==== 359 359 360 -Unit TimeStamp Example: 64d49439(H) = 1691653177(D) 361 361 362 - Put the decimalvalueinto this link(https:~/~/www.epochconverter.com/) to get the time.419 +**Example:** 363 363 421 +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.3ThingsBoardPayload(Type~=3)===423 +If payload & 0x01 = 0x00 **~-~->** This is a normal uplink message, no alarm. 366 366 425 +If payload & 0x80>>7 = 0x01 **~-~->** The PA8 is low level. 367 367 368 - Type3payloadspecialdesignforThingsBoard,itwill alsoconfigure otherdefault server to ThingsBoard.427 +If payload & 0x80>>7 =0x00 **~-~->** The PA8 is high level. 369 369 429 +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}**431 +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.4ThingSpeakPayload(Type~=1)===434 +== 2.4 Payload Decoder file == 375 375 376 376 377 -T hispayloadmeetsThingSpeak platformrequirement.It includesnlyfourfields.Form 1~~4 are:437 +In TTN, use can add a custom payload so it shows friendly reading 378 378 379 - Temperature,Humidity,Battery& Signal. Thispayload typeonlyvalidforThingsSpeakPlatform439 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: 380 380 441 +[[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**444 +== 2.5 Datalog Feature == 385 385 386 386 387 - ==2.3TestUplinkandChangeUpdateInterval==447 +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 - Bydefault,Sensorwill senduplinks (% style="color:blue"%)**every2 hours**(%%) &AT+NOUD=8450 +=== 2.5.1 Ways to get datalog via LoRaWAN === 391 391 392 392 393 - Usercan usebelowcommands tochange the(%style="color:blue"%)**uplinkinterval**.453 +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 455 +* ((( 456 +a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server. 457 +))) 458 +* ((( 459 +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. 460 +))) 396 396 462 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1) 397 397 398 -User canushthebuttonformore than1 secondsto activateuplink.464 +[[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 467 +=== 2.5.2 Unix TimeStamp === 401 401 402 402 403 - ==2.4 Multi-SamplingsandOneuplink ==470 +S31x-LB uses Unix TimeStamp format based on 404 404 472 +[[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 - 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:474 +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 isseconds, andthedefault is to record data once every 900 seconds (15 minutes,theminimum can beset to 180 seconds)476 +Below is the converter example 409 409 410 - * (% style="color:#037691"%)**AT+NOUD=8** (%%)~/~/Thedeviceploads 8 setsfrecorded datay default.Upo 32sets ofrecord data canbeuploaded.478 +[[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"]]481 +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 HumidityandTemperaturealarm function==484 +=== 2.5.3 Set Device Time === 418 418 419 419 420 - Oneachsampling definebyAT+TR(default 900sor 15minutes),whenthe valueexceedthe range,it will triggeranAlarmand immediately sends a uplink.487 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command. 421 421 489 +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" %)**ATCommands:**491 +(% 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 humiditylowerthan50or higher than80.494 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) === 428 428 429 429 430 - (%style="color:#037691"%)**AT+ SHTEMP=min,max**497 +The Datalog uplinks will use below payload format. 431 431 432 - Example: AT+ SHTEMP=20,30 ~/~/ Alarm whentemperatureowerthan20or higher than 30499 +**Retrieval data payload:** 433 433 501 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 502 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)((( 503 +**Size(bytes)** 504 +)))|=(% 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** 505 +|(% style="width:103px" %)Value|(% style="width:68px" %)((( 506 +ignore 507 +)))|(% style="width:104px" %)((( 508 +((( 509 +Humidity 510 +))) 434 434 435 -(% style="color:red" %)**Notice:** 512 +((( 513 + 514 +))) 515 +)))|(% style="width:87px" %)((( 516 +Temperature 517 +)))|(% style="width:178px" %)((( 518 +Poll message flag & Alarm Flag& Level of PA8 519 +)))|(% style="width:137px" %)Unix Time Stamp 436 436 437 -* TodisableAlarm,usercan setminandmaxto samealue, such as (% style="color:#037691"%)**AT+SHTEMP=0,0.**521 +**Poll message flag & Alarm Flag & Level of PA8:** 438 438 439 - * 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.**523 +[[image:image-20230524114302-1.png||height="115" width="736"]] 440 440 441 441 526 +**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 528 +**Poll Message Flag**: 1: This message is a poll message reply. 443 443 444 - ==2.6Trggieranuplinkbyexternalinterrupt==530 +* Poll Message Flag is set to 1. 445 445 532 +* 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-NBhas anexternaltriggerinterruptfunction.UserscanusethePB15pin to trigger the uploadof data packets.534 +For example, in US915 band, the max payload for different DR is: 448 448 449 - (%style="color:blue"%)**ATcommand:**536 +**a) DR0:** max is 11 bytes so one entry of data 450 450 451 -* (% style="color:#037691" %)**AT+INTMOD**(%%)~/~/Setthetriggerinterruptmode538 +**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**(%%)~/~/DisableInterrupt540 +**c) DR2:** total payload includes 11 entries of data 454 454 455 -* (%style="color:#037691"%)**AT+INTMOD=1 **(%%) ~/~/Triggerbyrisingandfallingedge542 +**d) DR3: **total payload includes 22 entries of data. 456 456 457 - *(%style="color:#037691"%)**AT+INTMOD=2**(%%)~/~/Triggerbyfallingedge544 +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 edge546 +**Example:** 460 460 548 +If S31x-LB has below data inside Flash: 461 461 550 +[[image:image-20230524114654-2.png]] 462 462 463 -= 3. Configure S31x-NB = 464 464 465 - == 3.1 ConfigureMethods==553 +If user sends below downlink command: 31646D84E1646D856C05 466 466 555 +Where : Start time: 646D84E1 = time 23/5/24 03:30:41 467 467 468 - S31x-NBsupportsbelowconfigure method:557 + 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 viaUART Connection: See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].560 +**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.562 +[[image:image-20230524114826-3.png||height="448" width="1244"]] 475 475 564 +((( 565 +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 566 +))) 476 476 568 +((( 569 +Where the first 11 bytes is for the first entry: 570 +))) 477 477 572 +((( 573 +00 00 02 36 01 10 40 64 6D 84 E1 574 +))) 575 + 576 +((( 577 +**Hum**=0x0236/10=56.6 578 +))) 579 + 580 +((( 581 +**Temp**=0x0110/10=27.2 582 +))) 583 + 584 +((( 585 +**poll message flag & Alarm Flag & Level of PA8**=0x40,means reply data,sampling uplink message,the PA8 is low level. 586 +))) 587 + 588 +((( 589 +**Unix time** is 0x646D84E1=1684899041s=23/5/24 03:30:41 590 +))) 591 + 592 + 593 +(% 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="单击并拖动以调整大小" %)的 594 + 595 +== 2.6 Temperature Alarm Feature == 596 + 597 + 598 +S31x-LB work flow with Alarm feature. 599 + 600 + 601 +[[image:image-20230524110125-3.png||height="768" width="1115"]] 602 + 603 + 604 + 605 +== 2.7 Frequency Plans == 606 + 607 + 608 +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. 609 + 610 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 611 + 612 + 613 +== 2.8 Firmware Change Log == 614 + 615 + 616 +**Firmware download link: **[[https:~~/~~/www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0>>https://www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0]] 617 + 618 + 619 += 3. Configure S31x-LB = 620 + 621 +== 3.1 Configure Methods == 622 + 623 + 624 +S31x-LB supports below configure method: 625 + 626 +* AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. 627 +* 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]]. 628 +* LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 629 + 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" %) 898 +(% style="display:none" %) (%%)
- 1692424009971-458.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -147.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-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -35.5 KB - Content