Changes for page wiki_test

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

From version 80.12
edited by Xiaoling
on 2023/08/19 13:45
Change comment: There is no comment for this version
To version 73.3
edited by Xiaoling
on 2023/08/19 10:54
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -21,7 +21,7 @@
21 21  
22 22  The temperature & humidity sensor used in S31-NB is SHT31, which is fully calibrated, linearized, and temperature compensated digital output from Sensirion, it provides a strong reliability and long-term stability. The SHT31 is fixed in a (% style="color:blue" %)**waterproof anti-condensation casing**(%%) for long term use.
23 23  
24 -S31-NB supports different uplink methods include (% style="color:blue" %)**TCP, MQTT, UDP** for different application requirement. and Support Uplinks to various IoT Servers.
24 +S31-NB supports different uplink methods include (% style="color:blue" %)**TCP, MQTT, UDP** for different application requirement. and Support Uplinks to various IoT Servers.
25 25  
26 26  S31-NB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), It is designed for long term use up to several years. (Real-world battery life depends on the use environment, update period and uplink method. Please check related Power Analyze report).
27 27  
... ... @@ -46,6 +46,7 @@
46 46  * 8500mAh Battery for long term use
47 47  * Nano SIM card slot for NB-IoT SIM
48 48  
49 +
49 49  == 1.3 Specification ==
50 50  
51 51  
... ... @@ -105,6 +105,7 @@
105 105  * STOP Mode: 10uA @ 3.3v
106 106  * Max transmit power: 350mA@3.3v
107 107  
109 +
108 108  == 1.4 Applications ==
109 109  
110 110  
... ... @@ -116,6 +116,8 @@
116 116  * Smart Factory
117 117  
118 118  
121 +
122 +
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**
139 +|=(% 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.
... ... @@ -144,6 +144,7 @@
144 144  )))
145 145  |(% 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.
146 146  
151 +
147 147  == 1.7 BLE connection ==
148 148  
149 149  
... ... @@ -184,7 +184,6 @@
184 184  
185 185  === 1.8.3 Reset Button ===
186 186  
187 -
188 188  Press to reboot the device.
189 189  
190 190  
... ... @@ -192,26 +192,20 @@
192 192  == 1.9 Hardware Variant ==
193 193  
194 194  
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 Info
199 +(% border="1" cellspacing="5" style="width:472px" %)
200 +|=(% style="width: 102px;background-color:#D9E2F3;color:#0070C0" %)Model|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)Photo|=(% style="width: 187px; background-color:#D9E2F3;color:#0070C0" %)Probe Info
197 197  |(% style="width:102px" %)(((
198 198  S31-LB
199 -)))|(% style="width:126px" %)(((
200 -(% style="text-align:center" %)
201 -[[image:image-20230819110632-6.png||height="130" width="104"]]
202 -)))|(% style="width:179px" %)(((
203 +)))|(% style="width:190px" %)[[image:image-20230527093214-2.jpeg]]|(% style="width:187px" %)(((
203 203  1 x SHT31 Probe
204 204  
205 -Cable Length : 3 meters
206 +Cable Length : 2 meters
206 206  
207 207  
208 208  )))
209 209  |(% style="width:102px" %)(((
210 210  S31B-LB
211 -)))|(% style="width:126px" %)(((
212 -(% style="text-align:center" %)
213 -[[image:image-20230819110702-7.png||height="164" width="90"]]
214 -)))|(% style="width:179px" %)(((
212 +)))|(% style="width:190px" %)[[image:image-20230527093155-1.jpeg]]|(% style="width:187px" %)(((
215 215  1 x SHT31 Probe
216 216  
217 217  Installed in device.
... ... @@ -221,269 +221,413 @@
221 221  
222 222  
223 223  
222 +== 1.9 Mechanical ==
224 224  
225 -= 2. Use S31-NB to communicate with IoT Server =
226 226  
227 -== 2.1 Send data to IoT server via NB-IoT network ==
225 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
228 228  
229 229  
230 -The S31-NB is equipped with a NB-IoT module, the pre-loaded firmware in S31-NB will get environment data from sensors and send the value to local NB-IoT network via the NB-IoT module.  The NB-IoT network will forward this value to IoT server via the protocol defined by S31-NB.
228 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]]
231 231  
232 232  
233 -Below shows the network structure:
231 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
234 234  
235 -[[image:1692415924540-357.png]]
236 236  
234 += 2. Configure S31x-LB to connect to LoRaWAN network =
237 237  
238 -There are two version: (% style="color:blue" %)**-GE**(%%) and (% style="color:blue" %)**-1D**(%%) version of S31-NB.
236 +== 2.1 How it works ==
239 239  
240 240  
241 -(% style="color:blue" %)**GE Version**(%%): This version doesnt include SIM card or point to any IoT server. User needs to use AT Commands to configure below two steps to set S31-NB send data to IoT server.
239 +The S31x-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
242 242  
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]].
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]]. 
242 +== 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
246 246  
247 -Below shows result of different server as a glance.
248 248  
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.
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" %)
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 -(% 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]].
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.2 ​Payload Types ==
254 +[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
266 266  
267 267  
268 -To meet different server requirement, S31-NB supports different payload type.
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)
260 +(% style="color:blue" %)**Register the device**
273 273  
274 -* [[HEX format Payload>>path:#HEX_Payload]]. (Type=0)
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"]]
275 275  
276 -* [[ThingSpeak Format>>path:#ThingSpeak_Payload]]. (Type=1)
277 277  
278 -* [[ThingsBoard Format>>path:#ThingsBoard_Payload]]. (Type=3)
265 +(% style="color:blue" %)**Add APP EUI and DEV EUI**
279 279  
280 -User can specify the payload type when choose the connection protocol. Example:
267 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-4.png?width=753&height=551&rev=1.1||alt="图片-20220611161308-4.png"]]
281 281  
282 -(% style="color:#037691" %)**AT+PRO=2,0**  (%%) ~/~/Use UDP Connection & hex Payload
283 283  
284 -(% style="color:#037691" %)**AT+PRO=2,5**   (%%) ~/~/ Use UDP Connection & Json Payload
270 +(% style="color:blue" %)**Add APP EUI in the application**
285 285  
286 -(% style="color:#037691" %)**AT+PRO=3,5 ** (%%) ~/~/ Use MQTT Connection & Json Payload
287 287  
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"]]
288 288  
289 -=== 2.2.1 General Json Format (Type=5) ===
290 290  
276 +(% style="color:blue" %)**Add APP KEY**
291 291  
292 -This is the General Json Format. As below:
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"]]
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}}**
281 +(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB
296 296  
297 297  
284 +Press the button for 5 seconds to activate the S31x-LB.
298 298  
299 -(% style="color:red" %)Notice, from above payload:
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.
300 300  
301 -* Temperature , Humidity , Battery & Signal are the value at uplink time.
288 +After join success, it will start to upload messages to TTN and you can see the messages in the panel.
302 302  
303 -* Json entry 1 ~~ 8 are the last 1 ~~ 8 sampling data as specify by (% style="color:#037691" %)**AT+NOUD=8 ** (%%)Command. Each entry includes (from left to right): Temperature, Humidity, Sampling time.
304 304  
291 +== 2.3 ​Uplink Payload ==
305 305  
293 +=== 2.3.1 Device Status, FPORT~=5 ===
306 306  
307 -=== 2.2.2 HEX format Payload(Type=0) ===
308 308  
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.
309 309  
310 -This is the HEX Format. As below:
298 +The Payload format is as below.
311 311  
312 -(% style="color:#4472c4" %)**f86620705346276200640cba16010000000011011801e864d49c2d011a01e364d49925011901eb64d49871011901e564d497bd011a01e664d49709011901e964d49655011a01e864d495a1011a01e864d494ed011801e864d49439**
313 313  
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
314 314  
315 -[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]]
306 +Example parse in TTNv3
316 316  
308 +[[image:image-20230524144422-1.png||height="174" width="1080"]]
317 317  
318 -(% style="color:blue" %)**Version:**
319 319  
320 -These bytes include the hardware and software version.
311 +(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A
321 321  
322 -(% style="color:#037691" %)**Higher byte:**(%%) Specify Sensor Model: 0x00 for S31B-NB & S31-NB
313 +(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
323 323  
324 -(% style="color:#037691" %)**Lower byte:**(%%) Specify the software version: 0x64=100, means firmware version 100
315 +(% style="color:#037691" %)**Frequency Band**:
325 325  
317 +0x01: EU868
326 326  
327 -(% style="color:#037691" %)**BAT (Battery Info):**
319 +0x02: US915
328 328  
329 -Ex1: 0x0CBA = 3258mV
321 +0x03: IN865
330 330  
323 +0x04: AU915
331 331  
332 -(% style="color:blue" %)**Signal Strength:**
325 +0x05: KZ865
333 333  
334 -NB-IoT Network signal Strength.
327 +0x06: RU864
335 335  
336 -**Ex1: 0x16 = 22**
329 +0x07: AS923
337 337  
338 -**0**  -113dBm or less
331 +0x08: AS923-1
339 339  
340 -**1**  -111dBm
333 +0x09: AS923-2
341 341  
342 -**2...30** -109dBm... -53dBm
335 +0x0a: AS923-3
343 343  
344 -**31**   -51dBm or greater
337 +0x0b: CN470
345 345  
346 -**99**    Not known or not detectable
339 +0x0c: EU433
347 347  
341 +0x0d: KR920
348 348  
349 -(% style="color:blue" %)**Temperature: **
343 +0x0e: MA869
350 350  
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 +
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)
405 +FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative
356 356  
357 357  
408 +==== (% style="color:#4472c4" %)**Humidity**(%%) ====
358 358  
359 -(% style="color:blue" %)**Humidity:   **
360 360  
361 -Read:0295(H)=661(D)    Value:  661 / 10=66.1, So 66.1%
411 +Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
362 362  
363 363  
364 -(% style="color:blue" %)**TimeStamp:   **
414 +==== (% style="color:#4472c4" %)**Alarm Flag & MOD & Level of PA8**(%%) ====
365 365  
366 -Unit TimeStamp Example: 64d49439(H) = 1691653177(D)
367 367  
368 -Put the decimal value into this link(https:~/~/www.epochconverter.com/) to get the time.
417 +**Example:**
369 369  
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.
370 370  
371 -=== 2.2.3 ThingsBoard Payload(Type=3) ===
421 +If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm.
372 372  
423 +If payload & 0x80>>7 = 0x01  **~-~->** The PA8 is low level.
373 373  
374 -Type3 payload special design for ThingsBoard, it will also configure other default server to ThingsBoard.
425 +If payload & 0x80>>7 =0x00  **~-~->** The PA8 is high level.
375 375  
427 +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}**
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
378 378  
379 379  
380 -=== 2.2.4 ThingSpeak Payload(Type=1) ===
432 +== 2.4 Payload Decoder file ==
381 381  
382 382  
383 -This payload meets ThingSpeak platform requirement. It includes only four fields. Form 1~~4 are:
435 +In TTN, use can add a custom payload so it shows friendly reading
384 384  
385 -Temperature, Humidity, Battery & Signal. This payload type only valid for ThingsSpeak Platform
437 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
386 386  
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]]
387 387  
388 -As below:
389 389  
390 -(% style="color:#4472c4" %)**field1=27.9&field2=49.9&field3=3.23&field4=28**
442 +== 2.5 Datalog Feature ==
391 391  
392 392  
393 -== 2.3 Test Uplink and Change Update Interval ==
445 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, S31x-LB will store the reading for future retrieving purposes.
394 394  
395 395  
396 -By default, Sensor will send uplinks (% style="color:blue" %)**every 2 hours**(%%) & AT+NOUD=8
448 +=== 2.5.1 Ways to get datalog via LoRaWAN ===
397 397  
398 398  
399 -User can use below commands to change the (% style="color:blue" %)**uplink interval**.
451 +Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayload28FPORT3D329"]], S31x-LB will wait for ACK for every uplink, when there is no LoRaWAN network,S31x-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
400 400  
401 -(% style="color:#037691" %)** AT+TDC=600      ** (%%) ~/~/ Set Update Interval to 600s
453 +* (((
454 +a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
455 +)))
456 +* (((
457 +b) S31x-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but S31x-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if S31x-LB gets a ACK, S31x-LB will consider there is a network connection and resend all NONE-ACK messages.
458 +)))
402 402  
460 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
403 403  
404 -User can also push the button for more than 1 seconds to activate an uplink.
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"]]
405 405  
406 406  
465 +=== 2.5.2 Unix TimeStamp ===
407 407  
408 408  
409 -== 2.4 Multi-Samplings and One uplink ==
468 +S31x-LB uses Unix TimeStamp format based on
410 410  
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"]]
411 411  
412 -To save battery life, S31-NB will sample temperature & humidity data every 15 minutes and send one uplink every 2 hours. So each uplink it will include 8 stored data + 1 real-time data. They are defined by:
472 +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 is seconds, and the default is to record data once every 900 seconds (15 minutes, the minimum can be set to 180 seconds)
474 +Below is the converter example
415 415  
416 -* (% style="color:#037691" %)**AT+NOUD=8**  (%%)~/~/   The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
476 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="图片-20220523001219-12.png" height="298" width="720"]]
417 417  
418 -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"]]
479 +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 Humidity and Temperature alarm function ==
482 +=== 2.5.3 Set Device Time ===
424 424  
425 425  
426 -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.
485 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
427 427  
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).
428 428  
429 -(% style="color:blue" %)**AT Commands:**
489 +(% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.**
430 430  
431 -(% style="color:#037691" %)**AT+ SHHUM=min,max**
432 432  
433 -Example: AT+ SHHUM=50,80 ~/~/ Alarm when humidity lower than 50 or higher than 80.
492 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) ===
434 434  
435 435  
436 -(% style="color:#037691" %)**AT+ SHTEMP=min,max**
495 +The Datalog uplinks will use below payload format.
437 437  
438 -Example: AT+ SHTEMP=20,30 ~/~/ Alarm when temperature lower than 20 or higher than 30
497 +**Retrieval data payload:**
439 439  
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 +)))
440 440  
441 -(% style="color:red" %)**Notice:**
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
442 442  
443 -* To disable Alarm, user can set min and max to same value , such as (% style="color:#037691" %)**AT+SHTEMP=0,0.**
519 +**Poll message flag & Alarm Flag & Level of PA8:**
444 444  
445 -* If user only want to send only min or max, user can set the alarm to a value that device won’t reach. For example: (% style="color:#037691" %)**AT+SHTEMP=-80,0.**
521 +[[image:image-20230524114302-1.png||height="115" width="736"]]
446 446  
447 447  
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)
448 448  
526 +**Poll Message Flag**: 1: This message is a poll message reply.
449 449  
528 +* Poll Message Flag is set to 1.
450 450  
451 -== 2.6 Trggier an uplink by external interrupt ==
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.
452 452  
532 +For example, in US915 band, the max payload for different DR is:
453 453  
454 -S31-NB has an external trigger interrupt function. Users can use the PB15 pin to trigger the upload of data packets.
534 +**a) DR0:** max is 11 bytes so one entry of data
455 455  
456 -(% style="color:blue" %)**AT command:**
536 +**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 **(%%) ~/~/ Set the trigger interrupt mode
538 +**c) DR2:** total payload includes 11 entries of data
459 459  
460 -* (% style="color:#037691" %)**AT+INTMOD=0 **(%%) ~/~/Disable Interrupt
540 +**d) DR3: **total payload includes 22 entries of data.
461 461  
462 -* (% style="color:#037691" %)**AT+INTMOD=1 **(%%) ~/~/Trigger by rising and falling edge
542 +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 edge
544 +**Example:**
465 465  
466 -* (% style="color:#037691" %)**AT+INTMOD=3  **(%%) ~/~/Trigger by rising edge
546 +If S31x-LB has below data inside Flash:
467 467  
548 +[[image:image-20230524114654-2.png]]
468 468  
469 469  
551 +If user sends below downlink command: 31646D84E1646D856C05
470 470  
471 -= 3. Configure S31x-NB =
553 +Where : Start time: 646D84E1 = time 23/5/24 03:30:41
472 472  
473 -== 3.1 Configure Methods ==
555 + Stop time: 646D856C= time 23/5/24 03:33:00
474 474  
475 475  
476 -S31x-NB supports below configure method:
558 +**S31x-LB will uplink this payload.**
477 477  
478 -* AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
560 +[[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]].
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 +)))
481 481  
482 -* LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
566 +(((
567 +Where the first 11 bytes is for the first entry:
568 +)))
483 483  
570 +(((
571 +00 00 02 36 01 10 40 64 6D 84 E1
572 +)))
484 484  
574 +(((
575 +**Hum**=0x0236/10=56.6
576 +)))
485 485  
578 +(((
579 +**Temp**=0x0110/10=27.2
580 +)))
486 486  
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 +
617 += 3. Configure S31x-LB =
618 +
619 +== 3.1 Configure Methods ==
620 +
621 +
622 +S31x-LB supports below configure method:
623 +
624 +* AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
625 +* 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]].
626 +* LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
627 +
628 +
487 487  == 3.2 General Commands ==
488 488  
489 489  
... ... @@ -531,6 +531,7 @@
531 531  * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
532 532  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
533 533  
676 +
534 534  === 3.3.2 Get Device Status ===
535 535  
536 536  
... ... @@ -614,6 +614,7 @@
614 614  
615 615  * Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
616 616  
760 +
617 617  === 3.3.7 Set Interrupt Mode ===
618 618  
619 619  
... ... @@ -647,6 +647,7 @@
647 647  * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
648 648  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
649 649  
794 +
650 650  === 3.3.8 Set Power Output Duration ===
651 651  
652 652  
... ... @@ -675,6 +675,7 @@
675 675  * Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
676 676  * Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
677 677  
823 +
678 678  = 4. Battery & Power Consumption =
679 679  
680 680  
... ... @@ -701,6 +701,7 @@
701 701  * (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/]]**
702 702  * 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]]**.
703 703  
850 +
704 704  = 6. FAQ =
705 705  
706 706  
... ... @@ -728,6 +728,7 @@
728 728  
729 729  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
730 730  
878 +
731 731  = 8. ​Packing Info =
732 732  
733 733  
... ... @@ -745,6 +745,7 @@
745 745  
746 746  * Weight / pcs : g
747 747  
896 +
748 748  = 9. Support =
749 749  
750 750  
... ... @@ -751,6 +751,3 @@
751 751  * 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.
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 -
755 -
756 -(% 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-20230819110632-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -224.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