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, 6 removed)
Details
- Page properties
-
- Content
-
... ... @@ -21,7 +21,7 @@ 21 21 22 22 The temperature & humidity sensor used in S31-NB is SHT31, which is fully calibrated, linearized, and temperature compensated digital output from Sensirion, it provides a strong reliability and long-term stability. The SHT31 is fixed in a (% style="color:blue" %)**waterproof anti-condensation casing**(%%) for long term use. 23 23 24 -S31-NB supports different uplink methods include (% style="color:blue" %)**TCP, MQTT, UDP** 24 +S31-NB supports different uplink methods include (% style="color:blue" %)**TCP, MQTT, UDP** for different application requirement. and Support Uplinks to various IoT Servers. 25 25 26 26 S31-NB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), It is designed for long term use up to several years. (Real-world battery life depends on the use environment, update period and uplink method. Please check related Power Analyze report). 27 27 ... ... @@ -46,6 +46,7 @@ 46 46 * 8500mAh Battery for long term use 47 47 * Nano SIM card slot for NB-IoT SIM 48 48 49 + 49 49 == 1.3 Specification == 50 50 51 51 ... ... @@ -105,6 +105,7 @@ 105 105 * STOP Mode: 10uA @ 3.3v 106 106 * Max transmit power: 350mA@3.3v 107 107 109 + 108 108 == 1.4 Applications == 109 109 110 110 ... ... @@ -117,6 +117,7 @@ 117 117 118 118 119 119 122 + 120 120 == 1.5 Sleep mode and working mode == 121 121 122 122 ... ... @@ -145,6 +145,7 @@ 145 145 ))) 146 146 |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode. 147 147 151 + 148 148 == 1.7 BLE connection == 149 149 150 150 ... ... @@ -185,7 +185,6 @@ 185 185 186 186 === 1.8.3 Reset Button === 187 187 188 - 189 189 Press to reboot the device. 190 190 191 191 ... ... @@ -193,26 +193,20 @@ 193 193 == 1.9 Hardware Variant == 194 194 195 195 196 -(% border="1" cellspacing="5" style="width:4 10px" %)197 -|=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 1 26px;rgb(217, 226, 243);rgb(0, 112, 192);" %)Photo|=(% style="width: 179px; background-color:rgb(217, 226, 243);rgb(0, 112, 192);" %)Probe Info199 +(% border="1" cellspacing="5" style="width:472px" %) 200 +|=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)Photo|=(% style="width: 187px; background-color:#D9E2F3;color:#0070C0" %)Probe Info 198 198 |(% style="width:102px" %)((( 199 199 S31-LB 200 -)))|(% style="width:126px" %)((( 201 -(% style="text-align:center" %) 202 -[[image:image-20230819110632-6.png||height="130" width="104"]] 203 -)))|(% style="width:179px" %)((( 203 +)))|(% style="width:190px" %)[[image:image-20230527093214-2.jpeg]]|(% style="width:187px" %)((( 204 204 1 x SHT31 Probe 205 205 206 -Cable Length : 3meters206 +Cable Length : 2 meters 207 207 208 208 209 209 ))) 210 210 |(% style="width:102px" %)((( 211 211 S31B-LB 212 -)))|(% style="width:126px" %)((( 213 -(% style="text-align:center" %) 214 -[[image:image-20230819110702-7.png||height="164" width="90"]] 215 -)))|(% style="width:179px" %)((( 212 +)))|(% style="width:190px" %)[[image:image-20230527093155-1.jpeg]]|(% style="width:187px" %)((( 216 216 1 x SHT31 Probe 217 217 218 218 Installed in device. ... ... @@ -222,245 +222,401 @@ 222 222 223 223 224 224 222 +== 1.9 Mechanical == 225 225 226 -= 2. Use S31-NB to communicate with IoT Server = 227 227 228 - == 2.1 SenddatatoIoT servervia NB-IoTnetwork ==225 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]] 229 229 230 230 231 - The S31-NBis equipped with a NB-IoTmodule, the pre-loaded firmwareinS31-NB will get environment data fromsensorsand send the valuetolocalNB-IoTnetworkvia theNB-IoT module.The NB-IoTnetwork will forwardthis valuetoIoTserver viathe protocoldefinedby S31-NB.228 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]] 232 232 233 233 234 - Belowshowsthenetworkstructure:231 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]] 235 235 236 -[[image:1692415924540-357.png]] 237 237 234 += 2. Configure S31x-LB to connect to LoRaWAN network = 238 238 239 - Therearetwoversion:**-GE** and **-1D** versionof S31-NB.236 +== 2.1 How it works == 240 240 241 241 242 - **GE Version**:Thisversiondoesn’tincludeSIMcardorpointtoany IoT server.Userneeds to useAT Commandsto configurebelowtwostepsto setS31-NBsenddatatoIoTserver.239 +The S31x-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. 243 243 244 -1. Install NB-IoT SIM card and configure APN. See instruction of [[Attach Network>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H2.AttachNetwork]]. 245 -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 246 247 - Belowshowsresult ofdifferentserverasa glance.242 +== 2.2 Quick guide to connect to LoRaWAN server (OTAA) == 248 248 249 249 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 -| | | 245 +Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example. 259 259 247 +The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server. 260 260 261 261 262 - **1DVersion**: This version has 1NCE SIM card pre-installed andconfigure to send value toDataCake. UserJust needto selectthesensortypein DataCake andActivateS31-NB anduserwill be abletosee data in DataCake. Seeherefor[[DataCakeConfig 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]].250 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB. 263 263 252 +Each S31x-LB is shipped with a sticker with the default device EUI as below: 264 264 265 - ==2.2Payload Types==254 +[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]] 266 266 267 267 268 - Tomeetdifferentserver requirement,S31-NBsupports differentpayloadtype.257 +You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 269 269 270 -Includes: 271 271 272 -* [[General JSON format payload>>path:#General_Json]]. (Type=5) 273 -* [[HEX format Payload>>path:#HEX_Payload]]. (Type=0) 274 -* [[ThingSpeak Format>>path:#ThingSpeak_Payload]]. (Type=1) 275 -* [[ThingsBoard Format>>path:#ThingsBoard_Payload]]. (Type=3) 260 +(% style="color:blue" %)**Register the device** 276 276 262 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/1654935135620-998.png?rev=1.1||alt="1654935135620-998.png"]] 277 277 278 -User can specify the payload type when choose the connection protocol. Example: 279 279 280 - **AT+PRO=2,0**~/~/UseUDP Connection & hexPayload265 +(% style="color:blue" %)**Add APP EUI and DEV EUI** 281 281 282 - **AT+PRO=2,5** ~/~/UDP Connection& JsonPayload267 +[[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"]] 283 283 284 -**AT+PRO=3,5 **~/~/ Use MQTT Connection & Json Payload 285 285 270 +(% style="color:blue" %)**Add APP EUI in the application** 286 286 287 -1. 288 -11. 289 -111. General Json Format (Type=5) 290 290 291 - ThisistheGeneralJsonFormat. Asbelow:273 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-5.png?width=742&height=601&rev=1.1||alt="图片-20220611161308-5.png"]] 292 292 293 293 294 - **{"IMEI":866207053462762,"temperature":29.2,"humidity":54.2,"battery":3.27,"signal":24,"Model":S31x-NB,"1":{28.2,48.3,2023/08/1008:00:37},"2":{28.1,49.1,2023/08/1007: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}}**276 +(% style="color:blue" %)**Add APP KEY** 295 295 278 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]] 296 296 297 297 298 - Notice, from above payload:281 +(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB 299 299 300 -* Temperature , Humidity , Battery & Signal are the value at uplink time. 301 -* Json entry 1 ~~ 8 are the last 1 ~~ 8 sampling data as specify by **AT+NOUD=8 **Command**.** Each entry includes (from left to right): Temperature, Humidity, Sampling time. 302 302 284 +Press the button for 5 seconds to activate the S31x-LB. 303 303 286 +(% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 304 304 288 +After join success, it will start to upload messages to TTN and you can see the messages in the panel. 305 305 306 -1. 307 -11. 308 -111. HEX format Payload(Type=0) 309 309 291 +== 2.3 Uplink Payload == 310 310 311 - ThisistheHEX Format. Asbelow:293 +=== 2.3.1 Device Status, FPORT~=5 === 312 312 313 -**f86620705346276200640cba16010000000011011801e864d49c2d011a01e364d49925011901eb64d49871011901e564d497bd011a01e664d49709011901e964d49655011a01e864d495a1011a01e864d494ed011801e864d49439** 314 314 296 +Users can use the downlink command(**0x26 01**) to ask S31x-LB to send device configure detail, include device configure status. S31x-LB will uplink a payload via FPort=5 to server. 315 315 316 - [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]298 +The Payload format is as below. 317 317 318 318 319 -**Version:** 301 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 302 +|(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)** 303 +|(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2** 304 +|(% style="width:103px" %)**Value**|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT 320 320 321 - These bytes includethe hardware andsoftwareversion.306 +Example parse in TTNv3 322 322 323 - **Higher byte:** Specify Sensor Model:0x00 for S31B-NB& S31-NB308 +[[image:image-20230524144422-1.png||height="174" width="1080"]] 324 324 325 -**Lower byte:** Specify the software version: 0x64=100, means firmware version 100 326 326 311 +(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A 327 327 328 - **BAT(BatteryInfo)**313 +(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 329 329 330 - Ex1:0x0CBA=3258mV315 +(% style="color:#037691" %)**Frequency Band**: 331 331 317 +0x01: EU868 332 332 333 - **SignalStrength**319 +0x02: US915 334 334 335 - NB-IoTNetwork signal Strength.321 +0x03: IN865 336 336 337 - **Ex1:0x16 = 22**323 +0x04: AU915 338 338 339 - **0**-113dBm or less325 +0x05: KZ865 340 340 341 - **1**-111dBm327 +0x06: RU864 342 342 343 - **2...30** -109dBm...-53dBm329 +0x07: AS923 344 344 345 - **31**51dBm or greater331 +0x08: AS923-1 346 346 347 - **99**Not known or not detectable333 +0x09: AS923-2 348 348 335 +0x0a: AS923-3 349 349 350 - **Temperature:**337 +0x0b: CN470 351 351 339 +0x0c: EU433 340 + 341 +0x0d: KR920 342 + 343 +0x0e: MA869 344 + 345 + 346 +(% style="color:#037691" %)**Sub-Band**: 347 + 348 +AU915 and US915:value 0x00 ~~ 0x08 349 + 350 +CN470: value 0x0B ~~ 0x0C 351 + 352 +Other Bands: Always 0x00 353 + 354 + 355 +(% style="color:#037691" %)**Battery Info**: 356 + 357 +Check the battery voltage. 358 + 359 +Ex1: 0x0B45 = 2885mV 360 + 361 +Ex2: 0x0B49 = 2889mV 362 + 363 + 364 +=== 2.3.2 Sensor Data. FPORT~=2 === 365 + 366 + 367 +Sensor Data is uplink via FPORT=2 368 + 369 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 370 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)((( 371 +**Size(bytes)** 372 +)))|=(% style="width: 40px;background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)4|=(% style="width: 150px; background-color: #D9E2F3;color:#0070C0" %)1|=(% style="width: 80px; background-color: #D9E2F3;color:#0070C0" %)**2**|=(% style="width: 80px; background-color: #D9E2F3;color:#0070C0" %)2 373 +|(% style="width:99px" %)Value|(% style="width:69px" %)((( 374 +Battery 375 +)))|(% style="width:130px" %)((( 376 +Unix TimeStamp 377 +)))|(% style="width:194px" %)((( 378 +Alarm Flag & MOD& Level of PA8 379 +)))|(% style="width:106px" %)((( 380 +Temperature 381 +)))|(% style="width:97px" %)((( 382 +Humidity 383 +))) 384 + 385 +[[image:image-20230524144456-2.png||height="180" width="1142"]] 386 + 387 + 388 +==== (% style="color:#4472c4" %)**Battery**(%%) ==== 389 + 390 +Sensor Battery Level. 391 + 392 +Ex1: 0x0B45 = 2885mV 393 + 394 +Ex2: 0x0B49 = 2889mV 395 + 396 + 397 +==== (% style="color:#4472c4" %)**Temperature**(%%) ==== 398 + 399 +**Example**: 400 + 352 352 If payload is: 0105H: (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree 353 353 354 354 If payload is: FF3FH : (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. 355 355 356 - (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)405 +(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative) 357 357 358 358 408 +==== (% style="color:#4472c4" %)**Humidity**(%%) ==== 359 359 360 -**Humidity: ** 361 361 362 -Read:0 295(H)=661(D)Value:661 / 10=66.1, So66.1%411 +Read:0x(0197)=412 Value: 412 / 10=41.2, So 41.2% 363 363 364 364 365 -** TimeStamp:**414 +==== (% style="color:#4472c4" %)**Alarm Flag & MOD & Level of PA8**(%%) ==== 366 366 367 -Unit TimeStamp Example: 64d49439(H) = 1691653177(D) 368 368 369 - Put the decimalvalueinto this link(https:~/~/www.epochconverter.com/) to get the time.417 +**Example:** 370 370 419 +If payload & 0x01 = 0x01 **~-~->** This is an Alarm Message.It means that the temperature and humidity exceed the alarm value or trigger an interrupt. 371 371 372 -1. 373 -11. 374 -111. ThingsBoard Payload(Type=3) 421 +If payload & 0x01 = 0x00 **~-~->** This is a normal uplink message, no alarm. 375 375 376 - Type3payloadspecialdesignforThingsBoard,itwillalsoconfigure other default server to ThingsBoard.423 +If payload & 0x80>>7 = 0x01 **~-~->** The PA8 is low level. 377 377 425 +If payload & 0x80>>7 =0x00 **~-~->** The PA8 is high level. 378 378 379 - **{"IMEI":866207053462762,"temperature":29.2,"humidity":54.2,"battery":3.27,"signal":24}**427 +If payload >> 2 = 0x00 **~-~->** means MOD=1, This is a sampling uplink message. 380 380 429 +If payload >> 2 = 0x31 **~-~->** means MOD=31, this message is a reply message for polling, this message contains the alarm settings. see [[this link>>path:#HPolltheAlarmsettings:]] for detail. 381 381 382 -1. 383 -11. 384 -111. ThingSpeak Payload(Type=1) 385 385 386 - Thispayloadmeets ThingSpeak platform requirement. It includes only four fields. Form 1~~4 are:432 +== 2.4 Payload Decoder file == 387 387 388 -Temperature, Humidity, Battery & Signal. This payload type only valid for ThingsSpeak Platform 389 389 435 +In TTN, use can add a custom payload so it shows friendly reading 390 390 391 -As below:437 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: 392 392 393 - **field1=27.9&field2=49.9&field3=3.23&field4=28**439 +[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/S31-LB%26S31B-LB>>https://github.com/dragino/dragino-end-node-decoder/tree/main/S31-LB%26S31B-LB]] 394 394 395 395 396 -1. 397 -11. Test Uplink and Change Update Interval 442 +== 2.5 Datalog Feature == 398 398 399 -By default, Sensor will send uplinks **every 2 hours** & AT+NOUD=8 400 400 445 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, S31x-LB will store the reading for future retrieving purposes. 401 401 402 -User can use below commands to change the **uplink interval**. 403 403 404 - **~AT+TDC=600 **~/~/ SetUpdateIntervalto600s448 +=== 2.5.1 Ways to get datalog via LoRaWAN === 405 405 406 406 407 - Usercansopushthebuttonformore than 1 seconds toactivate anuplink.451 +Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayload28FPORT3D329"]], S31x-LB will wait for ACK for every uplink, when there is no LoRaWAN network,S31x-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery. 408 408 453 +* ((( 454 +a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server. 455 +))) 456 +* ((( 457 +b) S31x-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but S31x-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if S31x-LB gets a ACK, S31x-LB will consider there is a network connection and resend all NONE-ACK messages. 458 +))) 409 409 460 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1) 410 410 462 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220703111700-2.png?width=1119&height=381&rev=1.1||alt="图片-20220703111700-2.png" height="381" width="1119"]] 411 411 412 -1. 413 -11. Multi-Samplings and One uplink 414 414 415 - Tosave battery life, S31-NB will sample temperature & humidity data every 15minutes and send one uplink every2hours. So each uplinkitwill include8 stored data + 1 real-timedata. They are defined by:465 +=== 2.5.2 Unix TimeStamp === 416 416 417 -* **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) 418 -* **AT+NOUD=8** ~/~/ The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded. 419 419 468 +S31x-LB uses Unix TimeStamp format based on 420 420 421 - The diagramelowexplainstheelationshipbetweenTR, NOUD, and TDC more clearly:470 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt="图片-20220523001219-11.png" height="97" width="627"]] 422 422 423 - [[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png||alt="IMG_256"]]472 +User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] : 424 424 474 +Below is the converter example 425 425 426 -1. 427 -11. Humidity and Temperature alarm function 476 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="图片-20220523001219-12.png" height="298" width="720"]] 428 428 429 -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. 430 430 479 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25 431 431 432 -AT Commands: 433 433 434 - **AT+SHHUM=min,max**482 +=== 2.5.3 Set Device Time === 435 435 436 -Example: AT+ SHHUM=50,80 ~/~/ Alarm when humidity lower than 50 or higher than 80. 437 437 485 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command. 438 438 439 - **AT+SHTEMP=min,max**487 +Once S31x-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to S31x-LB. If S31x-LB fails to get the time from the server, S31x-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days). 440 440 441 - Example: AT+SHTEMP=20,30~/~/Alarmwhen temperaturelower than20orhigherthan 30489 +(% 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.** 442 442 443 443 444 - Notice:492 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) === 445 445 446 -* To disable Alarm, user can set min and max to same value , such as **AT+SHTEMP=0,0.** 447 -* 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: **AT+SHTEMP=-80,0.** 448 448 495 +The Datalog uplinks will use below payload format. 449 449 450 -1. 451 -11. Trggier an uplink by external interrupt 497 +**Retrieval data payload:** 452 452 453 -S31-NB has an external trigger interrupt function. Users can use the PB15 pin to trigger the upload of data packets. 499 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %) 500 +|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)((( 501 +**Size(bytes)** 502 +)))|=(% style="width: 40px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 55px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 65px; background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 180px; background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 100px; background-color:#D9E2F3;color:#0070C0" %)**4** 503 +|(% style="width:103px" %)Value|(% style="width:68px" %)((( 504 +ignore 505 +)))|(% style="width:104px" %)((( 506 +((( 507 +Humidity 508 +))) 454 454 455 -AT command: 510 +((( 511 + 512 +))) 513 +)))|(% style="width:87px" %)((( 514 +Temperature 515 +)))|(% style="width:178px" %)((( 516 +Poll message flag & Alarm Flag& Level of PA8 517 +)))|(% style="width:137px" %)Unix Time Stamp 456 456 457 -* AT+INTMOD ~/~/ Set the trigger interrupt mode 458 -* AT+INTMOD=0 ~/~/Disable Interrupt 459 -* AT+INTMOD=1 ~/~/Trigger by rising and falling edge 460 -* AT+INTMOD=2 ~/~/Trigger by falling edge 461 -* AT+INTMOD=3 ~/~/Trigger by rising edge 519 +**Poll message flag & Alarm Flag & Level of PA8:** 462 462 521 +[[image:image-20230524114302-1.png||height="115" width="736"]] 463 463 523 + 524 +**No ACK Message**: 1: This message means this payload is fromn Uplink Message which doesn't get ACK from the server before ( for **PNACKMD=1** feature) 525 + 526 +**Poll Message Flag**: 1: This message is a poll message reply. 527 + 528 +* Poll Message Flag is set to 1. 529 + 530 +* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands. 531 + 532 +For example, in US915 band, the max payload for different DR is: 533 + 534 +**a) DR0:** max is 11 bytes so one entry of data 535 + 536 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 537 + 538 +**c) DR2:** total payload includes 11 entries of data 539 + 540 +**d) DR3: **total payload includes 22 entries of data. 541 + 542 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0 543 + 544 +**Example:** 545 + 546 +If S31x-LB has below data inside Flash: 547 + 548 +[[image:image-20230524114654-2.png]] 549 + 550 + 551 +If user sends below downlink command: 31646D84E1646D856C05 552 + 553 +Where : Start time: 646D84E1 = time 23/5/24 03:30:41 554 + 555 + Stop time: 646D856C= time 23/5/24 03:33:00 556 + 557 + 558 +**S31x-LB will uplink this payload.** 559 + 560 +[[image:image-20230524114826-3.png||height="448" width="1244"]] 561 + 562 +((( 563 +00 00 02 36 01 10 40 64 6D 84 E1 00 00 02 37 01 10 40 64 6D 84 F8 00 00 02 37 01 0F 40 64 6D 85 04 00 00 02 3A 01 0F 40 64 6D 85 18 00 00 02 3C 01 0F 40 64 6D 85 36 00 00 02 3D 01 0E 40 64 6D 85 3F 00 00 02 3F 01 0E 40 64 6D 85 60 00 00 02 40 01 0E 40 64 6D 85 6A 564 +))) 565 + 566 +((( 567 +Where the first 11 bytes is for the first entry: 568 +))) 569 + 570 +((( 571 +00 00 02 36 01 10 40 64 6D 84 E1 572 +))) 573 + 574 +((( 575 +**Hum**=0x0236/10=56.6 576 +))) 577 + 578 +((( 579 +**Temp**=0x0110/10=27.2 580 +))) 581 + 582 +((( 583 +**poll message flag & Alarm Flag & Level of PA8**=0x40,means reply data,sampling uplink message,the PA8 is low level. 584 +))) 585 + 586 +((( 587 +**Unix time** is 0x646D84E1=1684899041s=23/5/24 03:30:41 588 +))) 589 + 590 + 591 +(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的 592 + 593 +== 2.6 Temperature Alarm Feature == 594 + 595 + 596 +S31x-LB work flow with Alarm feature. 597 + 598 + 599 +[[image:image-20230524110125-3.png||height="768" width="1115"]] 600 + 601 + 602 + 603 +== 2.7 Frequency Plans == 604 + 605 + 606 +The S31x-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets. 607 + 608 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 609 + 610 + 611 +== 2.8 Firmware Change Log == 612 + 613 + 614 +**Firmware download link: **[[https:~~/~~/www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0>>https://www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0]] 615 + 616 + 464 464 = 3. Configure S31x-LB = 465 465 466 466 == 3.1 Configure Methods == ... ... @@ -472,6 +472,7 @@ 472 472 * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]]. 473 473 * LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 474 474 628 + 475 475 == 3.2 General Commands == 476 476 477 477 ... ... @@ -519,6 +519,7 @@ 519 519 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 520 520 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 521 521 676 + 522 522 === 3.3.2 Get Device Status === 523 523 524 524 ... ... @@ -602,6 +602,7 @@ 602 602 603 603 * Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message. 604 604 760 + 605 605 === 3.3.7 Set Interrupt Mode === 606 606 607 607 ... ... @@ -635,6 +635,7 @@ 635 635 * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 636 636 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 637 637 794 + 638 638 === 3.3.8 Set Power Output Duration === 639 639 640 640 ... ... @@ -663,6 +663,7 @@ 663 663 * Example 1: Downlink Payload: 070000 **~-~-->** AT+5VT=0 664 664 * Example 2: Downlink Payload: 0701F4 **~-~-->** AT+5VT=500 665 665 823 + 666 666 = 4. Battery & Power Consumption = 667 667 668 668 ... ... @@ -689,6 +689,7 @@ 689 689 * (Recommanded way) OTA firmware update via wireless : **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]** 690 690 * Update through UART TTL interface : **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**. 691 691 850 + 692 692 = 6. FAQ = 693 693 694 694 ... ... @@ -716,6 +716,7 @@ 716 716 717 717 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 718 718 878 + 719 719 = 8. Packing Info = 720 720 721 721 ... ... @@ -733,6 +733,7 @@ 733 733 734 734 * Weight / pcs : g 735 735 896 + 736 736 = 9. Support = 737 737 738 738 ... ... @@ -739,5 +739,3 @@ 739 739 * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule. 740 740 741 741 * 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]]. 742 - 743 -(% style="display:none" %) (%%)
- 1692415924540-357.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -94.4 KB - Content
- image-20230819110702-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -53.2 KB - Content
- image-20230819113244-10.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -12.0 KB - Content
- image-20230819113244-11.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -57.5 KB - Content
- image-20230819113244-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -13.0 KB - Content
- image-20230819113244-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -35.5 KB - Content