<
From version < 43.22 >
edited by Xiaoling
on 2023/05/16 14:23
To version < 11.2 >
edited by Edwin Chen
on 2023/05/11 23:01
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -SN50v3-LB LoRaWAN Sensor Node User Manual
1 +SN50v3-LB User Manual
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.Edwin
Content
... ... @@ -1,5 +1,4 @@
1 -(% style="text-align:center" %)
2 -[[image:image-20230515135611-1.jpeg||height="589" width="589"]]
1 +[[image:image-20230511201248-1.png||height="403" width="489"]]
3 3  
4 4  
5 5  
... ... @@ -16,15 +16,18 @@
16 16  
17 17  == 1.1 What is SN50v3-LB LoRaWAN Generic Node ==
18 18  
19 -
20 20  (% style="color:blue" %)**SN50V3-LB **(%%)LoRaWAN Sensor Node is a Long Range LoRa Sensor Node. It is designed for outdoor use and powered by (% style="color:blue" %)** 8500mA Li/SOCl2 battery**(%%) for long term use.SN50V3-LB is designed to facilitate developers to quickly deploy industrial level LoRa and IoT solutions. It help users to turn the idea into a practical application and make the Internet of Things a reality. It is easy to program, create and connect your things everywhere.
21 21  
20 +
22 22  (% style="color:blue" %)**SN50V3-LB wireless part**(%%) is based on SX1262 allows the user to send data and reach extremely long ranges at low data-rates.It provides ultra-long range spread spectrum communication and high interference immunity whilst minimising current consumption.It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on.
23 23  
23 +
24 24  (% style="color:blue" %)**SN50V3-LB **(%%)has a powerful 48Mhz ARM microcontroller with 256KB flash and 64KB RAM. It has multiplex I/O pins to connect to different sensors.
25 25  
26 +
26 26  (% style="color:blue" %)**SN50V3-LB**(%%) has a built-in BLE module, user can configure the sensor remotely via Mobile Phone. It also support OTA upgrade via private LoRa protocol for easy maintaining.
27 27  
29 +
28 28  SN50V3-LB is the 3^^rd^^ generation of LSN50 series generic sensor node from Dragino. It is an (% style="color:blue" %)**open source project**(%%) and has a mature LoRaWAN stack and application software. User can use the pre-load software for their IoT projects or easily customize the software for different requirements.
29 29  
30 30  
... ... @@ -42,7 +42,6 @@
42 42  
43 43  == 1.3 Specification ==
44 44  
45 -
46 46  (% style="color:#037691" %)**Common DC Characteristics:**
47 47  
48 48  * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
... ... @@ -79,7 +79,6 @@
79 79  
80 80  == 1.4 Sleep mode and working mode ==
81 81  
82 -
83 83  (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
84 84  
85 85  (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
... ... @@ -122,7 +122,7 @@
122 122  == 1.7 Pin Definitions ==
123 123  
124 124  
125 -[[image:image-20230513102034-2.png]]
125 +[[image:image-20230511203450-2.png||height="443" width="785"]]
126 126  
127 127  
128 128  == 1.8 Mechanical ==
... ... @@ -137,7 +137,6 @@
137 137  
138 138  == Hole Option ==
139 139  
140 -
141 141  SN50v3-LB has different hole size options for different size sensor cable. The options provided are M12, M16 and M20. The definition is as below:
142 142  
143 143  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220627104757-1.png?rev=1.1||alt="image-20220627104757-1.png"]]
... ... @@ -273,344 +273,39 @@
273 273  Ex2: 0x0B49 = 2889mV
274 274  
275 275  
276 -=== 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 ===
275 +=== 2.3.2  Sensor Data. FPORT~=2 ===
277 277  
278 278  
279 -SN50v3 has different working mode for the connections of different type of sensors. This section describes these modes. Use can use the AT Command AT+MOD to set SN50v3 to different working modes.
278 +Sensor Data is uplink via FPORT=2
280 280  
281 -For example:
282 -
283 - **AT+MOD=2  ** ~/~/ will set the SN50v3 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor.
284 -
285 -
286 -(% style="color:red" %) **Important Notice:**
287 -
288 -1. Some working modes has payload more than 12 bytes, The US915/AU915/AS923 frequency bands' definition has maximum 11 bytes in **DR0**. Server sides will see NULL payload while SN50v3 transmit in DR0 with 12 bytes payload.
289 -1. All modes share the same Payload Explanation from HERE.
290 -1. By default, the device will send an uplink message every 20 minutes.
291 -
292 -==== 2.3.2.1  MOD~=1 (Default Mode) ====
293 -
294 -
295 -In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2.
296 -
297 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
298 -|(% style="width:50px;background-color:#D9E2F3;color:#0070C0" %)**Size(bytes)**|(% style="width:20px;background-color:#D9E2F3;color:#0070C0" %)**2**|(% style="width:100px;background-color:#D9E2F3;color:#0070C0" %)**2**|(% style="width:40px;background-color:#D9E2F3;color:#0070C0" %)**2**|(% style="width:90px;background-color:#D9E2F3;color:#0070C0" %)**1**|(% style="width:130px;background-color:#D9E2F3;color:#0070C0" %)**2**|(% style="width:90px;background-color:#D9E2F3;color:#0070C0" %)**2**
299 -|**Value**|Bat|(% style="width:191px" %)(((
300 -Temperature(DS18B20)(PC13)
301 -)))|(% style="width:78px" %)(((
302 -ADC(PA4)
303 -)))|(% style="width:216px" %)(((
304 -Digital in(PB15)&Digital Interrupt(PA8)
305 -)))|(% style="width:308px" %)(((
306 -Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)
307 -)))|(% style="width:154px" %)(((
308 -Humidity(SHT20 or SHT31)
309 -)))
310 -
311 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220627150949-6.png?rev=1.1||alt="image-20220627150949-6.png"]]
312 -
313 -
314 -==== 2.3.2.2  MOD~=2 (Distance Mode) ====
315 -
316 -This mode is target to measure the distance. The payload of this mode is totally 11 bytes. The 8^^th^^ and 9^^th^^ bytes is for the distance.
317 -
318 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
319 -|(% style="width:40px;background-color:#D9E2F3;color:#0070C0" %)**Size(bytes)**|(% style="width:40px;background-color:#D9E2F3;color:#0070C0" %)**2**|(% style="width:110px;background-color:#D9E2F3;color:#0070C0" %)**2**|(% style="width:40px;background-color:#D9E2F3;color:#0070C0" %)**2**|(% style="width:110px;background-color:#D9E2F3;color:#0070C0" %)**1**|(% style="width:140px;background-color:#D9E2F3;color:#0070C0" %)**2**|(% style="width:40px;background-color:#D9E2F3;color:#0070C0" %)**2**
320 -|**Value**|BAT|(% style="width:196px" %)(((
321 -Temperature(DS18B20)(PC13)
322 -)))|(% style="width:87px" %)(((
323 -ADC(PA4)
324 -)))|(% style="width:189px" %)(((
325 -Digital in(PB15) & Digital Interrupt(PA8)
326 -)))|(% style="width:208px" %)(((
327 -Distance measure by:1) LIDAR-Lite V3HP
328 -Or 2) Ultrasonic Sensor
329 -)))|(% style="width:117px" %)Reserved
330 -
331 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656324539647-568.png?rev=1.1||alt="1656324539647-568.png"]]
332 -
333 -(% style="color:blue" %)**Connection of LIDAR-Lite V3HP:**
334 -
335 -[[image:image-20230512173758-5.png||height="563" width="712"]]
336 -
337 -(% style="color:blue" %)**Connection to Ultrasonic Sensor:**
338 -
339 -Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current.
340 -
341 -[[image:image-20230512173903-6.png||height="596" width="715"]]
342 -
343 -For the connection to TF-Mini or TF-Luna , MOD2 payload is as below:
344 -
345 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
346 -|(% style="width:50px;background-color:#D9E2F3;color:#0070C0" %)**Size(bytes)**|(% style="width:20px;background-color:#D9E2F3;color:#0070C0" %)**2**|(% style="width:100px;background-color:#D9E2F3;color:#0070C0" %)**2**|(% style="width:100px;background-color:#D9E2F3;color:#0070C0" %)**1**|(% style="width:50px;background-color:#D9E2F3;color:#0070C0" %)**2**|(% style="width:120px;background-color:#D9E2F3;color:#0070C0" %)**2**|(% style="width:80px;background-color:#D9E2F3;color:#0070C0" %)**2**
347 -|**Value**|BAT|(% style="width:183px" %)(((
348 -Temperature(DS18B20)(PC13)
349 -)))|(% style="width:173px" %)(((
350 -Digital in(PB15) & Digital Interrupt(PA8)
351 -)))|(% style="width:84px" %)(((
352 -ADC(PA4)
353 -)))|(% style="width:323px" %)(((
354 -Distance measure by:1)TF-Mini plus LiDAR
355 -Or 
356 -2) TF-Luna LiDAR
357 -)))|(% style="width:188px" %)Distance signal  strength
358 -
359 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656376779088-686.png?rev=1.1||alt="1656376779088-686.png"]]
360 -
361 -**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):**
362 -
363 -Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.
364 -
365 -[[image:image-20230512180609-7.png||height="555" width="802"]]
366 -
367 -**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):**
368 -
369 -Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.
370 -
371 -[[image:image-20230513105207-4.png||height="469" width="802"]]
372 -
373 -
374 -==== 2.3.2.3  MOD~=3 (3 ADC + I2C) ====
375 -
376 -This mode has total 12 bytes. Include 3 x ADC + 1x I2C
377 -
378 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
379 -|=(((
380 -(% style="width: 50px;" %)**Size(bytes)**
381 -)))|=(% style="width: 68px;" %)**2**|=(% style="width: 75px;" %)**2**|=**2**|=**1**|=(% style="width: 304px;" %)2|=(% style="width: 163px;" %)2|=(% style="width: 53px;" %)1
382 -|**Value**|(% style="width:68px" %)(((
383 -ADC1
384 -(PA4)
385 -)))|(% style="width:75px" %)(((
386 -ADC2
387 -(PA5)
388 -)))|(((
389 -ADC3
390 -(PA8)
391 -)))|(((
392 -Digital Interrupt(PB15)
393 -)))|(% style="width:304px" %)(((
394 -Temperature
395 -(SHT20 or SHT31 or BH1750 Illumination Sensor)
396 -)))|(% style="width:163px" %)(((
397 -Humidity
398 -(SHT20 or SHT31)
399 -)))|(% style="width:53px" %)Bat
400 -
401 -[[image:image-20230513110214-6.png]]
402 -
403 -
404 -==== 2.3.2.4 MOD~=4 (3 x DS18B20) ====
405 -
406 -
407 -This mode has total 11 bytes. As shown below:
408 -
409 -(% style="width:1017px" %)
410 -|**Size(bytes)**|**2**|(% style="width:186px" %)**2**|(% style="width:82px" %)**2**|(% style="width:210px" %)**1**|(% style="width:191px" %)**2**|(% style="width:183px" %)**2**
411 -|**Value**|BAT|(% style="width:186px" %)(((
412 -Temperature1(DS18B20)
413 -(PC13)
414 -)))|(% style="width:82px" %)(((
415 -ADC
416 -(PA4)
417 -)))|(% style="width:210px" %)(((
418 -Digital in(PB15) &
419 -Digital Interrupt(PA8) 
420 -)))|(% style="width:191px" %)Temperature2(DS18B20)
421 -(PB9)|(% style="width:183px" %)Temperature3(DS18B20)
422 -(PB8)
423 -
424 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656377606181-607.png?rev=1.1||alt="1656377606181-607.png"]]
425 -
426 -[[image:image-20230513134006-1.png||height="559" width="736"]]
427 -
428 -
429 -==== 2.3.2.5  MOD~=5(Weight Measurement by HX711) ====
430 -
431 -[[image:image-20230512164658-2.png||height="532" width="729"]]
432 -
433 -Each HX711 need to be calibrated before used. User need to do below two steps:
434 -
435 -1. Zero calibration. Don't put anything on load cell and run **AT+WEIGRE** to calibrate to Zero gram.
436 -1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run **AT+WEIGAP** to adjust the Calibration Factor.
437 -1. (((
438 -Weight has 4 bytes, the unit is g.
439 -)))
440 -
441 -For example:
442 -
443 -**AT+GETSENSORVALUE =0**
444 -
445 -Response:  Weight is 401 g
446 -
447 -Check the response of this command and adjust the value to match the real value for thing.
448 -
449 -(% style="width:767px" %)
450 -|=(((
280 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
281 +|=(% style="width: 90px;background-color:#D9E2F3" %)(((
451 451  **Size(bytes)**
452 -)))|=**2**|=(% style="width: 193px;" %)**2**|=(% style="width: 85px;" %)**2**|=(% style="width: 186px;" %)**1**|=(% style="width: 100px;" %)**4**
453 -|**Value**|BAT|(% style="width:193px" %)(((
454 -Temperature(DS18B20)
455 -(PC13)
456 -)))|(% style="width:85px" %)(((
457 -ADC
458 -(PA4)
459 -)))|(% style="width:186px" %)(((
460 -Digital in(PB15) &
461 -Digital Interrupt(PA8)
462 -)))|(% style="width:100px" %)Weight
463 -
464 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220820120036-2.png?width=1003&height=469&rev=1.1||alt="image-20220820120036-2.png" height="469" width="1003"]]
465 -
466 -
467 -==== 2.3.2.6  MOD~=6 (Counting Mode) ====
468 -
469 -In this mode, the device will work in counting mode. It counts the interrupt on the interrupt pins and sends the count on TDC time.
470 -
471 -Connection is as below. The PIR sensor is a count sensor, it will generate interrupt when people come close or go away. User can replace the PIR sensor with other counting sensors.
472 -
473 -[[image:image-20230512181814-9.png||height="543" width="697"]]
474 -
475 -**Note:** LoRaWAN wireless transmission will infect the PIR sensor. Which cause the counting value increase +1 for every uplink. User can change PIR sensor or put sensor away of the SN50_v3 to avoid this happen.
476 -
477 -(% style="width:961px" %)
478 -|=**Size(bytes)**|=**2**|=(% style="width: 256px;" %)**2**|=(% style="width: 108px;" %)**2**|=(% style="width: 126px;" %)**1**|=(% style="width: 145px;" %)**4**
479 -|**Value**|BAT|(% style="width:256px" %)(((
480 -Temperature(DS18B20)
481 -
482 -(PC13)
483 -)))|(% style="width:108px" %)(((
484 -ADC
485 -(PA4)
486 -)))|(% style="width:126px" %)(((
487 -Digital in
488 -(PB15)
489 -)))|(% style="width:145px" %)(((
490 -Count
491 -(PA8)
283 +)))|=(% style="width: 80px;background-color:#D9E2F3" %)2|=(% style="width: 90px;background-color:#D9E2F3" %)4|=(% style="width:80px;background-color:#D9E2F3" %)1|=(% style="width: 80px;background-color:#D9E2F3" %)**2**|=(% style="width: 80px;background-color:#D9E2F3" %)2
284 +|(% style="width:99px" %)**Value**|(% style="width:69px" %)(((
285 +[[Battery>>||anchor="HBattery:"]]
286 +)))|(% style="width:130px" %)(((
287 +[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
288 +)))|(% style="width:91px" %)(((
289 +[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]]
290 +)))|(% style="width:103px" %)(((
291 +[[Temperature>>||anchor="HTemperature:"]]
292 +)))|(% style="width:80px" %)(((
293 +[[Humidity>>||anchor="HHumidity:"]]
492 492  )))
493 493  
494 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378441509-171.png?rev=1.1||alt="1656378441509-171.png"]]
296 +==== (% style="color:#4472c4" %)**Battery**(%%) ====
495 495  
298 +Sensor Battery Level.
496 496  
497 -==== 2.3.2.7  MOD~=7 (Three interrupt contact modes) ====
498 -
499 -(% style="width:1108px" %)
500 -|=(((
501 -**Size(bytes)**
502 -)))|=**2**|=(% style="width: 188px;" %)**2**|=(% style="width: 83px;" %)**2**|=(% style="width: 184px;" %)**1**|=(% style="width: 186px;" %)**1**|=(% style="width: 197px;" %)1|=(% style="width: 100px;" %)2
503 -|**Value**|BAT|(% style="width:188px" %)(((
504 -Temperature(DS18B20)
505 -(PC13)
506 -)))|(% style="width:83px" %)(((
507 -ADC
508 -(PA5)
509 -)))|(% style="width:184px" %)(((
510 -Digital Interrupt1(PA8)
511 -)))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved
512 -
513 -[[image:image-20230513111203-7.png||height="324" width="975"]]
514 -
515 -==== 2.3.2.8  MOD~=8 (3ADC+1DS18B20) ====
516 -
517 -(% style="width:922px" %)
518 -|=(((
519 -**Size(bytes)**
520 -)))|=**2**|=(% style="width: 207px;" %)**2**|=(% style="width: 94px;" %)**2**|=(% style="width: 198px;" %)**1**|=(% style="width: 84px;" %)**2**|=(% style="width: 82px;" %)2
521 -|**Value**|BAT|(% style="width:207px" %)(((
522 -Temperature(DS18B20)
523 -(PC13)
524 -)))|(% style="width:94px" %)(((
525 -ADC1
526 -(PA4)
527 -)))|(% style="width:198px" %)(((
528 -Digital Interrupt(PB15)
529 -)))|(% style="width:84px" %)(((
530 -ADC2
531 -(PA5)
532 -)))|(% style="width:82px" %)(((
533 -ADC3
534 -(PA8)
535 -)))
536 -
537 -[[image:image-20230513111231-8.png||height="335" width="900"]]
538 -
539 -
540 -==== 2.3.2.9  MOD~=9 (3DS18B20+ two Interrupt count mode) ====
541 -
542 -(% style="width:1010px" %)
543 -|=(((
544 -**Size(bytes)**
545 -)))|=**2**|=**2**|=**2**|=**1**|=(% style="width: 193px;" %)**2**|=(% style="width: 78px;" %)4|=(% style="width: 78px;" %)4
546 -|**Value**|BAT|(((
547 -Temperature1(DS18B20)
548 -(PC13)
549 -)))|(((
550 -Temperature2(DS18B20)
551 -(PB9)
552 -)))|(((
553 -Digital Interrupt
554 -(PB15)
555 -)))|(% style="width:193px" %)(((
556 -Temperature3(DS18B20)
557 -(PB8)
558 -)))|(% style="width:78px" %)(((
559 -Count1
560 -(PA8)
561 -)))|(% style="width:78px" %)(((
562 -Count2
563 -(PA4)
564 -)))
565 -
566 -[[image:image-20230513111255-9.png||height="341" width="899"]]
567 -
568 -**The newly added AT command is issued correspondingly:**
569 -
570 -**~ AT+INTMOD1** ** PA8**  pin:  Corresponding downlink:  **06 00 00 xx**
571 -
572 -**~ AT+INTMOD2**  **PA4**  pin:  Corresponding downlink:**  06 00 01 xx**
573 -
574 -**~ AT+INTMOD3**  **PB15**  pin:  Corresponding downlink:  ** 06 00 02 xx**
575 -
576 -**AT+SETCNT=aa,bb** 
577 -
578 -When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb
579 -
580 -When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb
581 -
582 -
583 -
584 -=== 2.3.3  ​Decode payload ===
585 -
586 -While using TTN V3 network, you can add the payload format to decode the payload.
587 -
588 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378466788-734.png?rev=1.1||alt="1656378466788-734.png"]]
589 -
590 -The payload decoder function for TTN V3 are here:
591 -
592 -SN50v3 TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
593 -
594 -
595 -==== 2.3.3.1 Battery Info ====
596 -
597 -Check the battery voltage for SN50v3.
598 -
599 599  Ex1: 0x0B45 = 2885mV
600 600  
601 601  Ex2: 0x0B49 = 2889mV
602 602  
603 603  
604 -==== 2.3.3.2  Temperature (DS18B20) ====
605 605  
606 -If there is a DS18B20 connected to PC13 pin. The temperature will be uploaded in the payload.
306 +==== (% style="color:#4472c4" %)**Temperature**(%%) ====
607 607  
608 -More DS18B20 can check the [[3 DS18B20 mode>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#2.3.4MOD3D4283xDS18B2029]]
609 -
610 -**Connection:**
611 -
612 -[[image:image-20230512180718-8.png||height="538" width="647"]]
613 -
614 614  **Example**:
615 615  
616 616  If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
... ... @@ -620,211 +620,195 @@
620 620  (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
621 621  
622 622  
623 -==== 2.3.3.3 Digital Input ====
317 +==== (% style="color:#4472c4" %)**Humidity**(%%) ====
624 624  
625 -The digital input for pin PB15,
626 626  
627 -* When PB15 is high, the bit 1 of payload byte 6 is 1.
628 -* When PB15 is low, the bit 1 of payload byte 6 is 0.
320 +Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
629 629  
630 -(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %)
631 -(((
632 -When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin.
633 633  
634 -(% style="color:red" %)**Note:**The maximum voltage input supports 3.6V.
635 -)))
323 +==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ====
636 636  
637 -==== 2.3.3.4  Analogue Digital Converter (ADC) ====
638 638  
639 -The measuring range of the ADC is only about 0V to 1.1V The voltage resolution is about 0.24mv.
326 +**Example:**
640 640  
641 -When the measured output voltage of the sensor is not within the range of 0V and 1.1V, the output voltage terminal of the sensor shall be divided The example in the following figure is to reduce the output voltage of the sensor by three times If it is necessary to reduce more times, calculate according to the formula in the figure and connect the corresponding resistance in series.
328 +If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message
642 642  
643 -[[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-20220628150112-1.png?width=285&height=241&rev=1.1||alt="image-20220628150112-1.png" height="241" width="285"]]
330 +If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm
644 644  
645 -(% style="color:red" %)**Note:**If the ADC type sensor needs to be powered by SN50_v3, it is recommended to use +5V to control its switch.Only sensors with low power consumption can be powered with VDD.
332 +If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message
646 646  
334 +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. 
647 647  
648 -==== 2.3.3.5 Digital Interrupt ====
649 649  
650 -Digital Interrupt refers to pin PA8, and there are different trigger methods. When there is a trigger, the SN50v3 will send a packet to the server.
337 +== 2.4 Payload Decoder file ==
651 651  
652 -(% style="color:blue" %)**~ Interrupt connection method:**
653 653  
654 -[[image:image-20230513105351-5.png||height="147" width="485"]]
340 +In TTN, use can add a custom payload so it shows friendly reading
655 655  
656 -(% style="color:blue" %)**Example to use with door sensor :**
342 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
657 657  
658 -The door sensor is shown at right. It is a two wire magnetic contact switch used for detecting the open/close status of doors or windows.
344 +[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/LSN50v2-S31%26S31B >>https://github.com/dragino/dragino-end-node-decoder/tree/main/LSN50v2-S31%26S31B]]
659 659  
660 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379210849-860.png?rev=1.1||alt="1656379210849-860.png"]]
661 661  
662 -When the two pieces are close to each other, the 2 wire output will be short or open (depending on the type), while if the two pieces are away from each other, the 2 wire output will be the opposite status. So we can use SN50_v3 interrupt interface to detect the status for the door or window.
347 +== 2.5 Datalog Feature ==
663 663  
664 -(% style="color:blue" %)**~ Below is the installation example:**
665 665  
666 -Fix one piece of the magnetic sensor to the door and connect the two pins to SN50_v3 as follows:
350 +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.
667 667  
668 -* (((
669 -One pin to SN50_v3's PA8 pin
670 -)))
671 -* (((
672 -The other pin to SN50_v3's VDD pin
673 -)))
674 674  
675 -Install the other piece to the door. Find a place where the two pieces will be close to each other when the door is closed. For this particular magnetic sensor, when the door is closed, the output will be short, and PA8 will be at the VCC voltage.
353 +=== 2.5.1 Ways to get datalog via LoRaWAN ===
676 676  
677 -Door sensors have two types: ** NC (Normal close)** and **NO (normal open)**. The connection for both type sensors are the same. But the decoding for payload are reverse, user need to modify this in the IoT Server decoder.
678 678  
679 -When door sensor is shorted, there will extra power consumption in the circuit, the extra current is 3v3/R14 = 3v3/1Mohm = 3uA which can be ignored.
356 +Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayloadA028FPORT3D329"]], 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.
680 680  
681 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379283019-229.png?rev=1.1||alt="1656379283019-229.png"]]
358 +* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
359 +* 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.
682 682  
683 -The above photos shows the two parts of the magnetic switch fitted to a door.
361 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
684 684  
685 -The software by default uses the falling edge on the signal line as an interrupt. We need to modify it to accept both the rising edge (0v ~-~-> VCC , door close) and the falling edge (VCC ~-~-> 0v , door open) as the interrupt.
363 +[[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"]]
686 686  
687 -The command is:
365 +=== 2.5.2 Unix TimeStamp ===
688 688  
689 -(% style="color:blue" %)**AT+INTMOD1=1   ** (%%) ~/~/(more info about INMOD please refer** **[[**AT Command Manual**>>url:http://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/&file=DRAGINO_LSN50_AT_Commands_v1.5.1.pdf]]**. **)
690 690  
691 -Below shows some screen captures in TTN V3:
368 +S31x-LB uses Unix TimeStamp format based on
692 692  
693 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379339508-835.png?rev=1.1||alt="1656379339508-835.png"]]
370 +[[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"]]
694 694  
695 -In MOD=1, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below:
372 +User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
696 696  
697 -door= (bytes[6] & 0x80)? "CLOSE":"OPEN";
374 +Below is the converter example
698 698  
376 +[[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"]]
699 699  
700 -==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ====
378 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 Jan ~-~- 29 Friday 03:03:25
701 701  
702 -The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data.
703 703  
704 -We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor.
381 +=== 2.5.3 Set Device Time ===
705 705  
706 -Notice: Different I2C sensors have different I2C commands set and initiate process, if user want to use other I2C sensors, User need to re-write the source code to support those sensors. SHT20/ SHT31 code in SN50_v3 will be a good reference.
707 707  
708 -Below is the connection to SHT20/ SHT31. The connection is as below:
384 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
709 709  
386 +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).
710 710  
711 -[[image:image-20230513103633-3.png||height="448" width="716"]]
388 +(% 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.**
712 712  
713 -The device will be able to get the I2C sensor data now and upload to IoT Server.
714 714  
715 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379664142-345.png?rev=1.1||alt="1656379664142-345.png"]]
391 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) ===
716 716  
717 -Convert the read byte to decimal and divide it by ten.
718 718  
719 -**Example:**
394 +The Datalog uplinks will use below payload format.
720 720  
721 -Temperature:  Read:0116(H) = 278(D)  Value:  278 /10=27.8℃;
396 +**Retrieval data payload:**
722 722  
723 -Humidity:    Read:0248(H)=584(D)  Value:  584 / 10=58.4, So 58.4%
398 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
399 +|=(% style="width: 80px;background-color:#D9E2F3" %)(((
400 +**Size(bytes)**
401 +)))|=(% style="width: 60px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 60px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 120px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 103px; background-color: rgb(217, 226, 243);" %)**1**|=(% style="width: 85px; background-color: rgb(217, 226, 243);" %)**4**
402 +|(% style="width:103px" %)**Value**|(% style="width:54px" %)(((
403 +[[Temp_Black>>||anchor="HTemperatureBlack:"]]
404 +)))|(% style="width:51px" %)[[Temp_White>>||anchor="HTemperatureWhite:"]]|(% style="width:89px" %)[[Temp_ Red or Temp _White>>||anchor="HTemperatureREDorTemperatureWhite:"]]|(% style="width:103px" %)Poll message flag & Ext|(% style="width:54px" %)[[Unix Time Stamp>>||anchor="H2.5.2UnixTimeStamp"]]
724 724  
725 -If you want to use other I2C device, please refer the SHT20 part source code as reference.
406 +**Poll message flag & Ext:**
726 726  
408 +[[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-20221006192726-1.png?width=754&height=112&rev=1.1||alt="图片-20221006192726-1.png" height="112" width="754"]]
727 727  
728 -==== 2.3.3.7  ​Distance Reading ====
410 +**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)
729 729  
730 -Refer [[Ultrasonic Sensor section>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.8UltrasonicSensor]].
412 +**Poll Message Flag**: 1: This message is a poll message reply.
731 731  
414 +* Poll Message Flag is set to 1.
732 732  
733 -==== 2.3.3.8 Ultrasonic Sensor ====
416 +* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
734 734  
735 -This Fundamental Principles of this sensor can be found at this link: [[https:~~/~~/wiki.dfrobot.com/Weather_-_proof_Ultrasonic_Sensor_with_Separate_Probe_SKU~~_~~__SEN0208>>url:https://wiki.dfrobot.com/Weather_-_proof_Ultrasonic_Sensor_with_Separate_Probe_SKU___SEN0208]]
418 +For example, in US915 band, the max payload for different DR is:
736 736  
737 -The SN50_v3 detects the pulse width of the sensor and converts it to mm output. The accuracy will be within 1 centimeter. The usable range (the distance between the ultrasonic probe and the measured object) is between 24cm and 600cm.
420 +**a) DR0:** max is 11 bytes so one entry of data
738 738  
739 -The working principle of this sensor is similar to the **HC-SR04** ultrasonic sensor.
422 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
740 740  
741 -The picture below shows the connection:
424 +**c) DR2:** total payload includes 11 entries of data
742 742  
743 -[[image:image-20230512173903-6.png||height="596" width="715"]]
426 +**d) DR3: **total payload includes 22 entries of data.
744 744  
745 -Connect to the SN50_v3 and run **AT+MOD=2** to switch to ultrasonic mode (ULT).
428 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
746 746  
747 -The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value.
748 748  
749 749  **Example:**
750 750  
751 -Distance:  Read: 0C2D(Hex) = 3117(D)  Value 3117 mm=311.7 cm
433 +If S31x-LB has below data inside Flash:
752 752  
435 +[[image:1682646494051-944.png]]
753 753  
437 +If user sends below downlink command: 3160065F9760066DA705
754 754  
755 -==== 2.3.3.9  Battery Output - BAT pin ====
439 +Where : Start time: 60065F97 = time 21/1/19 04:27:03
756 756  
757 -The BAT pin of SN50v3 is connected to the Battery directly. If users want to use BAT pin to power an external sensor. User need to make sure the external sensor is of low power consumption. Because the BAT pin is always open. If the external sensor is of high power consumption. the battery of SN50v3-LB will run out very soon.
441 + Stop time: 60066DA7= time 21/1/19 05:27:03
758 758  
759 759  
760 -==== 2.3.3.1 +5V Output ====
444 +**S31x-LB will uplink this payload.**
761 761  
762 -SN50v3 will enable +5V output before all sampling and disable the +5v after all sampling
446 +[[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-13.png?width=727&height=421&rev=1.1||alt="图片-20220523001219-13.png" height="421" width="727"]]
763 763  
764 -The 5V output time can be controlled by AT Command.
448 +(((
449 +__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E
450 +)))
765 765  
766 -(% style="color:blue" %)**AT+5VT=1000**
452 +(((
453 +Where the first 11 bytes is for the first entry:
454 +)))
767 767  
768 -Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
456 +(((
457 +7FFF089801464160065F97
458 +)))
769 769  
770 -By default the AT+5VT=500. If the external sensor which require 5v and require more time to get stable state, user can use this command to increase the power ON duration for this sensor.
460 +(((
461 +**Ext sensor data**=0x7FFF/100=327.67
462 +)))
771 771  
464 +(((
465 +**Temp**=0x088E/100=22.00
466 +)))
772 772  
468 +(((
469 +**Hum**=0x014B/10=32.6
470 +)))
773 773  
774 -==== 2.3.3.11  BH1750 Illumination Sensor ====
472 +(((
473 +**poll message flag & Ext**=0x41,means reply data,Ext=1
474 +)))
775 775  
776 -MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes.
476 +(((
477 +**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03
478 +)))
777 777  
778 -[[image:image-20230512172447-4.png||height="416" width="712"]]
779 779  
780 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220628110012-12.png?rev=1.1||alt="image-20220628110012-12.png" height="361" width="953"]]
481 +(% 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="单击并拖动以调整大小" %)的
781 781  
483 +== 2.6 Temperature Alarm Feature ==
782 782  
783 -==== 2.3.3.12  Working MOD ====
784 784  
785 -The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte).
486 +S31x-LB work flow with Alarm feature.
786 786  
787 -User can use the 3^^rd^^ ~~ 7^^th^^  bit of this byte to see the working mod:
788 788  
789 -Case 7^^th^^ Byte >> 2 & 0x1f:
489 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/image-20220623090437-1.png?rev=1.1||alt="图片-20220623090437-1.png"]]
790 790  
791 -* 0: MOD1
792 -* 1: MOD2
793 -* 2: MOD3
794 -* 3: MOD4
795 -* 4: MOD5
796 -* 5: MOD6
797 -* 6: MOD7
798 -* 7: MOD8
799 -* 8: MOD9
800 800  
492 +== 2.7 Frequency Plans ==
801 801  
802 802  
803 -== 2.4 Payload Decoder file ==
495 +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.
804 804  
805 -
806 -In TTN, use can add a custom payload so it shows friendly reading
807 -
808 -In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
809 -
810 -[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/SN50_v3-LB>>https://github.com/dragino/dragino-end-node-decoder/tree/main/SN50_v3-LB]]
811 -
812 -
813 -
814 -== 2.5 Frequency Plans ==
815 -
816 -
817 -The SN50v3-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.
818 -
819 819  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
820 820  
821 821  
822 -= 3. Configure SN50v3-LB =
500 += 3. Configure S31x-LB =
823 823  
824 824  == 3.1 Configure Methods ==
825 825  
826 826  
827 -SN50v3-LB supports below configure method:
505 +S31x-LB supports below configure method:
828 828  
829 829  * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
830 830  * 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]].
... ... @@ -843,7 +843,7 @@
843 843  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
844 844  
845 845  
846 -== 3.3 Commands special design for SN50v3-LB ==
524 +== 3.3 Commands special design for S31x-LB ==
847 847  
848 848  
849 849  These commands only valid for S31x-LB, as below:
... ... @@ -851,6 +851,7 @@
851 851  
852 852  === 3.3.1 Set Transmit Interval Time ===
853 853  
532 +
854 854  Feature: Change LoRaWAN End Node Transmit Interval.
855 855  
856 856  (% style="color:blue" %)**AT Command: AT+TDC**
... ... @@ -876,165 +876,118 @@
876 876  * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
877 877  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
878 878  
879 -
880 -
881 881  === 3.3.2 Get Device Status ===
882 882  
883 -Send a LoRaWAN downlink to ask the device to send its status.
884 884  
561 +Send a LoRaWAN downlink to ask device send Alarm settings.
562 +
885 885  (% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
886 886  
887 887  Sensor will upload Device Status via FPORT=5. See payload section for detail.
888 888  
889 889  
890 -=== 3.3.3 Set Interrupt Mode ===
568 +=== 3.3.3 Set Temperature Alarm Threshold ===
891 891  
892 -Feature, Set Interrupt mode for GPIO_EXIT.
570 +* (% style="color:blue" %)**AT Command:**
893 893  
894 -(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3**
572 +(% style="color:#037691" %)**AT+SHTEMP=min,max**
895 895  
896 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
897 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
898 -|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
899 -0
900 -OK
901 -the mode is 0 =Disable Interrupt
902 -)))
903 -|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)(((
904 -Set Transmit Interval
905 -0. (Disable Interrupt),
906 -~1. (Trigger by rising and falling edge)
907 -2. (Trigger by falling edge)
908 -3. (Trigger by rising edge)
909 -)))|(% style="width:157px" %)OK
910 -|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)(((
911 -Set Transmit Interval
574 +* When min=0, and max≠0, Alarm higher than max
575 +* When min≠0, and max=0, Alarm lower than min
576 +* When min≠0 and max≠0, Alarm higher than max or lower than min
912 912  
913 -trigger by rising edge.
914 -)))|(% style="width:157px" %)OK
915 -|(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK
578 +Example:
916 916  
917 -(% style="color:blue" %)**Downlink Command: 0x06**
580 + AT+SHTEMP=0,30   ~/~/ Alarm when temperature higher than 30.
918 918  
919 -Format: Command Code (0x06) followed by 3 bytes.
582 +* (% style="color:blue" %)**Downlink Payload:**
920 920  
921 -This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
584 +(% style="color:#037691" %)**0x(0C 01 00 1E)**  (%%) ~/~/ Set AT+SHTEMP=0,30
922 922  
923 -* Example 1: Downlink Payload: 06000000  **~-~-->**  AT+INTMOD1=0
924 -* Example 2: Downlink Payload: 06000003  **~-~-->**  AT+INTMOD1=3
925 -* Example 3: Downlink Payload: 06000102  **~-~-->**  AT+INTMOD2=2
926 -* Example 4: Downlink Payload: 06000201  **~-~-->**  AT+INTMOD3=1
586 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)**
927 927  
928 928  
589 +=== 3.3.4 Set Humidity Alarm Threshold ===
929 929  
930 -=== 3.3.4 Set Power Output Duration ===
591 +* (% style="color:blue" %)**AT Command:**
931 931  
932 -Control the output duration 5V . Before each sampling, device will
593 +(% style="color:#037691" %)**AT+SHHUM=min,max**
933 933  
934 -~1. first enable the power output to external sensor,
595 +* When min=0, and max≠0, Alarm higher than max
596 +* When min≠0, and max=0, Alarm lower than min
597 +* When min≠0 and max≠0, Alarm higher than max or lower than min
935 935  
936 -2. keep it on as per duration, read sensor value and construct uplink payload
599 +Example:
937 937  
938 -3. final, close the power output.
601 + AT+SHHUM=70, ~/~/ Alarm when humidity lower than 70%.
939 939  
940 -(% style="color:blue" %)**AT Command: AT+5VT**
603 +* (% style="color:blue" %)**Downlink Payload:**
941 941  
942 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
943 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
944 -|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)(((
945 -500(default)
946 -OK
947 -)))
948 -|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)(((
949 -Close after a delay of 1000 milliseconds.
950 -)))|(% style="width:157px" %)OK
605 +(% style="color:#037691" %)**0x(0C 02 46 00)**(%%)  ~/~/ Set AT+SHTHUM=70,0
951 951  
952 -(% style="color:blue" %)**Downlink Command: 0x07**
607 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))**
953 953  
954 -Format: Command Code (0x07) followed by 2 bytes.
955 955  
956 -The first and second bytes are the time to turn on.
610 +=== 3.3.5 Set Alarm Interval ===
957 957  
958 -* Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
959 -* Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
612 +The shortest time of two Alarm packet. (unit: min)
960 960  
614 +* (% style="color:blue" %)**AT Command:**
961 961  
616 +(% style="color:#037691" %)**AT+ATDC=30** (%%) ~/~/ The shortest interval of two Alarm packets is 30 minutes, Means is there is an alarm packet uplink, there won't be another one in the next 30 minutes.
962 962  
963 -=== 3.3.5 Set Weighing parameters ===
618 +* (% style="color:blue" %)**Downlink Payload:**
964 964  
965 -Feature: Working mode 5 is effective, weight initialization and weight factor setting of HX711.
620 +(% style="color:#037691" %)**0x(0D 00 1E)**(%%)     **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes
966 966  
967 -(% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP**
968 968  
969 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
970 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
971 -|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK
972 -|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default)
973 -|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK
623 +=== 3.3.6 Get Alarm settings ===
974 974  
975 -(% style="color:blue" %)**Downlink Command: 0x08**
976 976  
977 -Format: Command Code (0x08) followed by 2 bytes or 4 bytes.
626 +Send a LoRaWAN downlink to ask device send Alarm settings.
978 978  
979 -Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes.
628 +* (% style="color:#037691" %)**Downlink Payload:  **(%%)0x0E 01
980 980  
981 -The second and third bytes are multiplied by 10 times to be the AT+WEIGAP value.
630 +**Example:**
982 982  
983 -* Example 1: Downlink Payload: 0801  **~-~-->**  AT+WEIGRE
984 -* Example 2: Downlink Payload: 08020FA3  **~-~-->**  AT+WEIGAP=400.3
985 -* Example 3: Downlink Payload: 08020FA0  **~-~-->**  AT+WEIGAP=400.0
632 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/1655948182791-225.png?rev=1.1||alt="1655948182791-225.png"]]
986 986  
987 987  
635 +**Explain:**
988 988  
989 -=== 3.3.6 Set Digital pulse count value ===
637 +* Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
990 990  
991 -Feature: Set the pulse count value.
639 +=== 3.3.7 Set Interrupt Mode ===
992 992  
993 -Count 1 is PA8 pin of mode 6 and mode 9. Count 2 is PA4 pin of mode 9.
994 994  
995 -(% style="color:blue" %)**AT Command: AT+SETCNT**
642 +Feature, Set Interrupt mode for GPIO_EXIT.
996 996  
997 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
998 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
999 -|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK
1000 -|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK
644 +(% style="color:blue" %)**AT Command: AT+INTMOD**
1001 1001  
1002 -(% style="color:blue" %)**Downlink Command: 0x09**
1003 -
1004 -Format: Command Code (0x09) followed by 5 bytes.
1005 -
1006 -The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized.
1007 -
1008 -* Example 1: Downlink Payload: 090100000000  **~-~-->**  AT+SETCNT=1,0
1009 -* Example 2: Downlink Payload: 0902000003E8  **~-~-->**  AT+SETCNT=2,1000
1010 -
1011 -
1012 -
1013 -=== 3.3.7 Set Workmode ===
1014 -
1015 -Feature: Switch working mode.
1016 -
1017 -(% style="color:blue" %)**AT Command: AT+MOD**
1018 -
1019 1019  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1020 1020  |=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
1021 -|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)(((
648 +|(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
649 +0
1022 1022  OK
651 +the mode is 0 =Disable Interrupt
1023 1023  )))
1024 -|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)(((
1025 -OK
1026 -Attention:Take effect after ATZ
1027 -)))
653 +|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)(((
654 +Set Transmit Interval
655 +0. (Disable Interrupt),
656 +~1. (Trigger by rising and falling edge)
657 +2. (Trigger by falling edge)
658 +3. (Trigger by rising edge)
659 +)))|(% style="width:157px" %)OK
1028 1028  
1029 -(% style="color:blue" %)**Downlink Command: 0x0A**
661 +(% style="color:blue" %)**Downlink Command: 0x06**
1030 1030  
1031 -Format: Command Code (0x0A) followed by 1 bytes.
663 +Format: Command Code (0x06) followed by 3 bytes.
1032 1032  
1033 -* Example 1: Downlink Payload: 0A01  **~-~-->**  AT+MOD=1
1034 -* Example 2: Downlink Payload: 0A04  **~-~-->**  AT+MOD=4
665 +This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1035 1035  
667 +* Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
668 +* Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1036 1036  
1037 -
1038 1038  = 4. Battery & Power Consumption =
1039 1039  
1040 1040  
... ... @@ -1063,10 +1063,7 @@
1063 1063  
1064 1064  = 6. FAQ =
1065 1065  
1066 -== 6.1 Where can i find source code of SN50v3-LB? ==
1067 1067  
1068 -* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].**
1069 -* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].**
1070 1070  
1071 1071  = 7. Order Info =
1072 1072  
... ... @@ -1108,5 +1108,4 @@
1108 1108  
1109 1109  
1110 1110  * 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.
1111 -
1112 -* 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>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.cc]]
740 +* 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.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]]
image-20230512163509-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -1.5 MB
Content
image-20230512164658-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.0 MB
Content
image-20230512170701-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.5 MB
Content
image-20230512172447-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.0 MB
Content
image-20230512173758-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.1 MB
Content
image-20230512173903-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.3 MB
Content
image-20230512180609-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.3 MB
Content
image-20230512180718-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.3 MB
Content
image-20230512181814-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.2 MB
Content
image-20230513084523-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -611.3 KB
Content
image-20230513102034-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -607.1 KB
Content
image-20230513103633-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -595.5 KB
Content
image-20230513105207-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -384.7 KB
Content
image-20230513105351-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -37.6 KB
Content
image-20230513110214-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -172.7 KB
Content
image-20230513111203-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -79.9 KB
Content
image-20230513111231-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -64.9 KB
Content
image-20230513111255-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -70.4 KB
Content
image-20230513134006-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -1.9 MB
Content
image-20230515135611-1.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -948.0 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0