<
From version < 40.1 >
edited by Saxer Lin
on 2023/05/13 16:13
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
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Saxer
1 +XWiki.Edwin
Content
... ... @@ -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 ==
... ... @@ -272,396 +272,39 @@
272 272  Ex2: 0x0B49 = 2889mV
273 273  
274 274  
275 -=== 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 ===
275 +=== 2.3.2  Sensor Data. FPORT~=2 ===
276 276  
277 277  
278 -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
279 279  
280 -For example:
281 -
282 - **AT+MOD=2  ** ~/~/ will set the SN50v3 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor.
283 -
284 -
285 -(% style="color:red" %) **Important Notice:**
286 -
287 -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.
288 -1. All modes share the same Payload Explanation from HERE.
289 -1. By default, the device will send an uplink message every 20 minutes.
290 -
291 -==== 2.3.2.1  MOD~=1 (Default Mode) ====
292 -
293 -In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2.
294 -
295 -(% style="width:1110px" %)
296 -|**Size(bytes)**|**2**|(% style="width:191px" %)**2**|(% style="width:78px" %)**2**|(% style="width:216px" %)**1**|(% style="width:308px" %)**2**|(% style="width:154px" %)**2**
297 -|**Value**|Bat|(% style="width:191px" %)(((
298 -Temperature(DS18B20)
299 -
300 -(PC13)
301 -)))|(% style="width:78px" %)(((
302 -ADC
303 -
304 -(PA4)
305 -)))|(% style="width:216px" %)(((
306 -Digital in(PB15) &
307 -
308 -Digital Interrupt(PA8)
309 -
310 -
311 -)))|(% style="width:308px" %)(((
312 -Temperature
313 -
314 -(SHT20 or SHT31 or BH1750 Illumination Sensor)
315 -)))|(% style="width:154px" %)(((
316 -Humidity
317 -
318 -(SHT20 or SHT31)
319 -)))
320 -
321 -[[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"]]
322 -
323 -
324 -==== 2.3.2.2  MOD~=2 (Distance Mode) ====
325 -
326 -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.
327 -
328 -(% style="width:1011px" %)
329 -|**Size(bytes)**|**2**|(% style="width:196px" %)**2**|(% style="width:87px" %)**2**|(% style="width:189px" %)**1**|(% style="width:208px" %)**2**|(% style="width:117px" %)**2**
330 -|**Value**|BAT|(% style="width:196px" %)(((
331 -Temperature(DS18B20)
332 -
333 -(PC13)
334 -)))|(% style="width:87px" %)(((
335 -ADC
336 -
337 -(PA4)
338 -)))|(% style="width:189px" %)(((
339 -Digital in(PB15) &
340 -
341 -Digital Interrupt(PA8)
342 -)))|(% style="width:208px" %)(((
343 -Distance measure by:
344 -1) LIDAR-Lite V3HP
345 -Or
346 -2) Ultrasonic Sensor
347 -)))|(% style="width:117px" %)Reserved
348 -
349 -[[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"]]
350 -
351 -**Connection of LIDAR-Lite V3HP:**
352 -
353 -[[image:image-20230512173758-5.png||height="563" width="712"]]
354 -
355 -**Connection to Ultrasonic Sensor:**
356 -
357 -Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current.
358 -
359 -[[image:image-20230512173903-6.png||height="596" width="715"]]
360 -
361 -For the connection to TF-Mini or TF-Luna , MOD2 payload is as below:
362 -
363 -(% style="width:1113px" %)
364 -|**Size(bytes)**|**2**|(% style="width:183px" %)**2**|(% style="width:173px" %)**1**|(% style="width:84px" %)**2**|(% style="width:323px" %)**2**|(% style="width:188px" %)**2**
365 -|**Value**|BAT|(% style="width:183px" %)(((
366 -Temperature(DS18B20)
367 -
368 -(PC13)
369 -)))|(% style="width:173px" %)(((
370 -Digital in(PB15) &
371 -
372 -Digital Interrupt(PA8)
373 -)))|(% style="width:84px" %)(((
374 -ADC
375 -
376 -(PA4)
377 -)))|(% style="width:323px" %)(((
378 -Distance measure by:1)TF-Mini plus LiDAR
379 -Or 
380 -2) TF-Luna LiDAR
381 -)))|(% style="width:188px" %)Distance signal  strength
382 -
383 -[[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"]]
384 -
385 -**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):**
386 -
387 -Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.
388 -
389 -[[image:image-20230512180609-7.png||height="555" width="802"]]
390 -
391 -**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):**
392 -
393 -Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.
394 -
395 -[[image:image-20230513105207-4.png||height="469" width="802"]]
396 -
397 -
398 -==== 2.3.2.3  MOD~=3 (3 ADC + I2C) ====
399 -
400 -This mode has total 12 bytes. Include 3 x ADC + 1x I2C
401 -
402 -(% style="width:1031px" %)
403 -|=(((
280 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
281 +|=(% style="width: 90px;background-color:#D9E2F3" %)(((
404 404  **Size(bytes)**
405 -)))|=(% style="width: 68px;" %)**2**|=(% style="width: 75px;" %)**2**|=**2**|=**1**|=(% style="width: 304px;" %)2|=(% style="width: 163px;" %)2|=(% style="width: 53px;" %)1
406 -|**Value**|(% style="width:68px" %)(((
407 -ADC1
408 -
409 -(PA4)
410 -)))|(% style="width:75px" %)(((
411 -ADC2
412 -
413 -(PA5)
414 -)))|(((
415 -ADC3
416 -
417 -(PA8)
418 -)))|(((
419 -Digital Interrupt(PB15)
420 -)))|(% style="width:304px" %)(((
421 -Temperature
422 -
423 -(SHT20 or SHT31 or BH1750 Illumination Sensor)
424 -)))|(% style="width:163px" %)(((
425 -Humidity
426 -
427 -(SHT20 or SHT31)
428 -)))|(% style="width:53px" %)Bat
429 -
430 -[[image:image-20230513110214-6.png]]
431 -
432 -
433 -==== 2.3.2.4 MOD~=4 (3 x DS18B20) ====
434 -
435 -
436 -This mode has total 11 bytes. As shown below:
437 -
438 -(% style="width:1017px" %)
439 -|**Size(bytes)**|**2**|(% style="width:186px" %)**2**|(% style="width:82px" %)**2**|(% style="width:210px" %)**1**|(% style="width:191px" %)**2**|(% style="width:183px" %)**2**
440 -|**Value**|BAT|(% style="width:186px" %)(((
441 -Temperature1(DS18B20)
442 -(PC13)
443 -)))|(% style="width:82px" %)(((
444 -ADC
445 -
446 -(PA4)
447 -)))|(% style="width:210px" %)(((
448 -Digital in(PB15) &
449 -
450 -Digital Interrupt(PA8) 
451 -)))|(% style="width:191px" %)Temperature2(DS18B20)
452 -(PB9)|(% style="width:183px" %)Temperature3(DS18B20)
453 -(PB8)
454 -
455 -[[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"]]
456 -
457 -[[image:image-20230513134006-1.png||height="559" width="736"]]
458 -
459 -
460 -==== 2.3.2.5  MOD~=5(Weight Measurement by HX711) ====
461 -
462 -[[image:image-20230512164658-2.png||height="532" width="729"]]
463 -
464 -Each HX711 need to be calibrated before used. User need to do below two steps:
465 -
466 -1. Zero calibration. Don't put anything on load cell and run **AT+WEIGRE** to calibrate to Zero gram.
467 -1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run **AT+WEIGAP** to adjust the Calibration Factor.
468 -1. (((
469 -Weight has 4 bytes, the unit is g.
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:"]]
470 470  )))
471 471  
472 -For example:
296 +==== (% style="color:#4472c4" %)**Battery**(%%) ====
473 473  
474 -**AT+GETSENSORVALUE =0**
298 +Sensor Battery Level.
475 475  
476 -Response:  Weight is 401 g
477 -
478 -Check the response of this command and adjust the value to match the real value for thing.
479 -
480 -(% style="width:767px" %)
481 -|=(((
482 -**Size(bytes)**
483 -)))|=**2**|=(% style="width: 193px;" %)**2**|=(% style="width: 85px;" %)**2**|=(% style="width: 186px;" %)**1**|=(% style="width: 100px;" %)**4**
484 -|**Value**|BAT|(% style="width:193px" %)(((
485 -Temperature(DS18B20)
486 -
487 -(PC13)
488 -
489 -
490 -)))|(% style="width:85px" %)(((
491 -ADC
492 -
493 -(PA4)
494 -)))|(% style="width:186px" %)(((
495 -Digital in(PB15) &
496 -
497 -Digital Interrupt(PA8)
498 -)))|(% style="width:100px" %)Weight
499 -
500 -[[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"]]
501 -
502 -
503 -==== 2.3.2.6  MOD~=6 (Counting Mode) ====
504 -
505 -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.
506 -
507 -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.
508 -
509 -[[image:image-20230512181814-9.png||height="543" width="697"]]
510 -
511 -**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.
512 -
513 -(% style="width:961px" %)
514 -|=**Size(bytes)**|=**2**|=(% style="width: 256px;" %)**2**|=(% style="width: 108px;" %)**2**|=(% style="width: 126px;" %)**1**|=(% style="width: 145px;" %)**4**
515 -|**Value**|BAT|(% style="width:256px" %)(((
516 -Temperature(DS18B20)
517 -
518 -(PC13)
519 -)))|(% style="width:108px" %)(((
520 -ADC
521 -
522 -(PA4)
523 -)))|(% style="width:126px" %)(((
524 -Digital in
525 -
526 -(PB15)
527 -)))|(% style="width:145px" %)(((
528 -Count
529 -
530 -(PA8)
531 -)))
532 -
533 -[[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"]]
534 -
535 -
536 -==== 2.3.2.7  MOD~=7 (Three interrupt contact modes) ====
537 -
538 -(% style="width:1108px" %)
539 -|=(((
540 -**Size(bytes)**
541 -)))|=**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
542 -|**Value**|BAT|(% style="width:188px" %)(((
543 -Temperature(DS18B20)
544 -
545 -(PC13)
546 -)))|(% style="width:83px" %)(((
547 -ADC
548 -
549 -(PA5)
550 -)))|(% style="width:184px" %)(((
551 -Digital Interrupt1(PA8)
552 -)))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved
553 -
554 -[[image:image-20230513111203-7.png||height="324" width="975"]]
555 -
556 -==== 2.3.2.8  MOD~=8 (3ADC+1DS18B20) ====
557 -
558 -(% style="width:922px" %)
559 -|=(((
560 -**Size(bytes)**
561 -)))|=**2**|=(% style="width: 207px;" %)**2**|=(% style="width: 94px;" %)**2**|=(% style="width: 198px;" %)**1**|=(% style="width: 84px;" %)**2**|=(% style="width: 82px;" %)2
562 -|**Value**|BAT|(% style="width:207px" %)(((
563 -Temperature(DS18B20)
564 -
565 -(PC13)
566 -)))|(% style="width:94px" %)(((
567 -ADC1
568 -
569 -(PA4)
570 -)))|(% style="width:198px" %)(((
571 -Digital Interrupt(PB15)
572 -)))|(% style="width:84px" %)(((
573 -ADC2
574 -
575 -(PA5)
576 -)))|(% style="width:82px" %)(((
577 -ADC3
578 -
579 -(PA8)
580 -)))
581 -
582 -[[image:image-20230513111231-8.png||height="335" width="900"]]
583 -
584 -
585 -==== 2.3.2.9  MOD~=9 (3DS18B20+ two Interrupt count mode) ====
586 -
587 -(% style="width:1010px" %)
588 -|=(((
589 -**Size(bytes)**
590 -)))|=**2**|=**2**|=**2**|=**1**|=(% style="width: 193px;" %)**2**|=(% style="width: 78px;" %)4|=(% style="width: 78px;" %)4
591 -|**Value**|BAT|(((
592 -Temperature1(DS18B20)
593 -
594 -(PC13)
595 -)))|(((
596 -Temperature2(DS18B20)
597 -
598 -(PB9)
599 -)))|(((
600 -Digital Interrupt
601 -
602 -(PB15)
603 -)))|(% style="width:193px" %)(((
604 -Temperature3(DS18B20)
605 -
606 -(PB8)
607 -)))|(% style="width:78px" %)(((
608 -Count1
609 -
610 -(PA8)
611 -)))|(% style="width:78px" %)(((
612 -Count2
613 -
614 -(PA4)
615 -)))
616 -
617 -[[image:image-20230513111255-9.png||height="341" width="899"]]
618 -
619 -**The newly added AT command is issued correspondingly:**
620 -
621 -**~ AT+INTMOD1** ** PA8**  pin:  Corresponding downlink:  **06 00 00 xx**
622 -
623 -**~ AT+INTMOD2**  **PA4**  pin:  Corresponding downlink:**  06 00 01 xx**
624 -
625 -**~ AT+INTMOD3**  **PB15**  pin:  Corresponding downlink:  ** 06 00 02 xx**
626 -
627 -**AT+SETCNT=aa,bb** 
628 -
629 -When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb
630 -
631 -When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb
632 -
633 -
634 -
635 -=== 2.3.3  ​Decode payload ===
636 -
637 -While using TTN V3 network, you can add the payload format to decode the payload.
638 -
639 -[[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"]]
640 -
641 -The payload decoder function for TTN V3 are here:
642 -
643 -SN50v3 TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
644 -
645 -
646 -==== 2.3.3.1 Battery Info ====
647 -
648 -Check the battery voltage for SN50v3.
649 -
650 650  Ex1: 0x0B45 = 2885mV
651 651  
652 652  Ex2: 0x0B49 = 2889mV
653 653  
654 654  
655 -==== 2.3.3.2  Temperature (DS18B20) ====
656 656  
657 -If there is a DS18B20 connected to PB3 pin. The temperature will be uploaded in the payload.
306 +==== (% style="color:#4472c4" %)**Temperature**(%%) ====
658 658  
659 -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]]
660 -
661 -**Connection:**
662 -
663 -[[image:image-20230512180718-8.png||height="538" width="647"]]
664 -
665 665  **Example**:
666 666  
667 667  If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
... ... @@ -671,210 +671,195 @@
671 671  (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
672 672  
673 673  
674 -==== 2.3.3.3 Digital Input ====
317 +==== (% style="color:#4472c4" %)**Humidity**(%%) ====
675 675  
676 -The digital input for pin PB15,
677 677  
678 -* When PB15 is high, the bit 1 of payload byte 6 is 1.
679 -* 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%
680 680  
681 -(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %)
682 -(((
683 -When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin.
684 684  
685 -**Note:**The maximum voltage input supports 3.6V.
686 -)))
323 +==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ====
687 687  
688 -==== 2.3.3.4  Analogue Digital Converter (ADC) ====
689 689  
690 -The measuring range of the ADC is only about 0V to 1.1V The voltage resolution is about 0.24mv.
326 +**Example:**
691 691  
692 -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
693 693  
694 -[[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
695 695  
696 -**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
697 697  
698 -==== 2.3.3.5 Digital Interrupt ====
334 +If payload >> 2 = 0x3 **~-~->**  means MOD=31, this message is a reply message for polling, this message contains the alarm settings. see [[this link>>path:#HPolltheAlarmsettings:]] for detail. 
699 699  
700 -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.
701 701  
702 -**~ Interrupt connection method:**
337 +== 2.4 Payload Decoder file ==
703 703  
704 -[[image:image-20230513105351-5.png||height="147" width="485"]]
705 705  
706 -**Example to use with door sensor :**
340 +In TTN, use can add a custom payload so it shows friendly reading
707 707  
708 -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.
342 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
709 709  
710 -[[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"]]
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]]
711 711  
712 -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.
713 713  
714 -**~ Below is the installation example:**
347 +== 2.5 Datalog Feature ==
715 715  
716 -Fix one piece of the magnetic sensor to the door and connect the two pins to SN50_v3 as follows:
717 717  
718 -* (((
719 -One pin to SN50_v3's PA8 pin
720 -)))
721 -* (((
722 -The other pin to SN50_v3's VDD pin
723 -)))
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.
724 724  
725 -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.
726 726  
727 -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.
353 +=== 2.5.1 Ways to get datalog via LoRaWAN ===
728 728  
729 -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.
730 730  
731 -[[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"]]
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.
732 732  
733 -The above photos shows the two parts of the magnetic switch fitted to a door.
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.
734 734  
735 -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.
361 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
736 736  
737 -The command is:
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"]]
738 738  
739 -**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]]**. **)
365 +=== 2.5.2 Unix TimeStamp ===
740 740  
741 -Below shows some screen captures in TTN V3:
742 742  
743 -[[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"]]
368 +S31x-LB uses Unix TimeStamp format based on
744 744  
745 -In MOD=1, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below:
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"]]
746 746  
747 -door= (bytes[6] & 0x80)? "CLOSE":"OPEN";
372 +User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
748 748  
374 +Below is the converter example
749 749  
750 -==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ====
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"]]
751 751  
752 -The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data.
378 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 Jan ~-~- 29 Friday 03:03:25
753 753  
754 -We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor.
755 755  
756 -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.
381 +=== 2.5.3 Set Device Time ===
757 757  
758 -Below is the connection to SHT20/ SHT31. The connection is as below:
759 759  
384 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
760 760  
761 -[[image:image-20230513103633-3.png||height="448" width="716"]]
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).
762 762  
763 -The device will be able to get the I2C sensor data now and upload to IoT Server.
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.**
764 764  
765 -[[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"]]
766 766  
767 -Convert the read byte to decimal and divide it by ten.
391 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) ===
768 768  
769 -**Example:**
770 770  
771 -Temperature:  Read:0116(H) = 278(D)  Value 278 /10=27.8℃;
394 +The Datalog uplinks will use below payload format.
772 772  
773 -Humidity:    Read:0248(H)=584(D)  Value:  584 / 10=58.4, So 58.4%
396 +**Retrieval data payload:**
774 774  
775 -If you want to use other I2C device, please refer the SHT20 part source code as reference.
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"]]
776 776  
406 +**Poll message flag & Ext:**
777 777  
778 -==== 2.3.3.7  ​Distance Reading ====
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"]]
779 779  
780 -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]].
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)
781 781  
412 +**Poll Message Flag**: 1: This message is a poll message reply.
782 782  
783 -==== 2.3.3.8 Ultrasonic Sensor ====
414 +* Poll Message Flag is set to 1.
784 784  
785 -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]]
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.
786 786  
787 -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.
418 +For example, in US915 band, the max payload for different DR is:
788 788  
789 -The working principle of this sensor is similar to the **HC-SR04** ultrasonic sensor.
420 +**a) DR0:** max is 11 bytes so one entry of data
790 790  
791 -The picture below shows the connection:
422 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
792 792  
793 -[[image:image-20230512173903-6.png||height="596" width="715"]]
424 +**c) DR2:** total payload includes 11 entries of data
794 794  
795 -Connect to the SN50_v3 and run **AT+MOD=2** to switch to ultrasonic mode (ULT).
426 +**d) DR3: **total payload includes 22 entries of data.
796 796  
797 -The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value.
428 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
798 798  
430 +
799 799  **Example:**
800 800  
801 -Distance:  Read: 0C2D(Hex) = 3117(D)  Value 3117 mm=311.7 cm
433 +If S31x-LB has below data inside Flash:
802 802  
435 +[[image:1682646494051-944.png]]
803 803  
437 +If user sends below downlink command: 3160065F9760066DA705
804 804  
805 -==== 2.3.3.9  Battery Output - BAT pin ====
439 +Where : Start time: 60065F97 = time 21/1/19 04:27:03
806 806  
807 -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
808 808  
809 809  
810 -==== 2.3.3.1 +5V Output ====
444 +**S31x-LB will uplink this payload.**
811 811  
812 -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"]]
813 813  
814 -The 5V output time can be controlled by AT Command.
448 +(((
449 +__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E
450 +)))
815 815  
816 -**AT+5VT=1000**
452 +(((
453 +Where the first 11 bytes is for the first entry:
454 +)))
817 817  
818 -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 +)))
819 819  
820 -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 +)))
821 821  
464 +(((
465 +**Temp**=0x088E/100=22.00
466 +)))
822 822  
468 +(((
469 +**Hum**=0x014B/10=32.6
470 +)))
823 823  
824 -==== 2.3.3.11  BH1750 Illumination Sensor ====
472 +(((
473 +**poll message flag & Ext**=0x41,means reply data,Ext=1
474 +)))
825 825  
826 -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 +)))
827 827  
828 -[[image:image-20230512172447-4.png||height="416" width="712"]]
829 829  
830 -[[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="单击并拖动以调整大小" %)的
831 831  
483 +== 2.6 Temperature Alarm Feature ==
832 832  
833 -==== 2.3.3.12  Working MOD ====
834 834  
835 -The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte).
486 +S31x-LB work flow with Alarm feature.
836 836  
837 -User can use the 3^^rd^^ ~~ 7^^th^^  bit of this byte to see the working mod:
838 838  
839 -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"]]
840 840  
841 -* 0: MOD1
842 -* 1: MOD2
843 -* 2: MOD3
844 -* 3: MOD4
845 -* 4: MOD5
846 -* 5: MOD6
847 -* 6: MOD7
848 -* 7: MOD8
849 -* 8: MOD9
850 850  
851 -== 2.4 Payload Decoder file ==
492 +== 2.7 Frequency Plans ==
852 852  
853 853  
854 -In TTN, use can add a custom payload so it shows friendly reading
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.
855 855  
856 -In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
857 -
858 -[[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]]
859 -
860 -
861 -
862 -
863 -
864 -== 2.5 Frequency Plans ==
865 -
866 -
867 -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.
868 -
869 869  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
870 870  
871 871  
872 -= 3. Configure SN50v3-LB =
500 += 3. Configure S31x-LB =
873 873  
874 874  == 3.1 Configure Methods ==
875 875  
876 876  
877 -SN50v3-LB supports below configure method:
505 +S31x-LB supports below configure method:
878 878  
879 879  * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
880 880  * 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]].
... ... @@ -893,7 +893,7 @@
893 893  [[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/]]
894 894  
895 895  
896 -== 3.3 Commands special design for SN50v3-LB ==
524 +== 3.3 Commands special design for S31x-LB ==
897 897  
898 898  
899 899  These commands only valid for S31x-LB, as below:
... ... @@ -901,6 +901,7 @@
901 901  
902 902  === 3.3.1 Set Transmit Interval Time ===
903 903  
532 +
904 904  Feature: Change LoRaWAN End Node Transmit Interval.
905 905  
906 906  (% style="color:blue" %)**AT Command: AT+TDC**
... ... @@ -926,173 +926,118 @@
926 926  * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
927 927  * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
928 928  
929 -(% class="wikigeneratedid" %)
930 -=== ===
931 -
932 932  === 3.3.2 Get Device Status ===
933 933  
934 -Send a LoRaWAN downlink to ask the device to send its status.
935 935  
561 +Send a LoRaWAN downlink to ask device send Alarm settings.
562 +
936 936  (% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
937 937  
938 938  Sensor will upload Device Status via FPORT=5. See payload section for detail.
939 939  
940 940  
941 -=== 3.3.3 Set Interrupt Mode ===
568 +=== 3.3.3 Set Temperature Alarm Threshold ===
942 942  
943 -Feature, Set Interrupt mode for GPIO_EXIT.
570 +* (% style="color:blue" %)**AT Command:**
944 944  
945 -(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3**
572 +(% style="color:#037691" %)**AT+SHTEMP=min,max**
946 946  
947 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
948 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
949 -|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
950 -0
951 -OK
952 -the mode is 0 =Disable Interrupt
953 -)))
954 -|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)(((
955 -Set Transmit Interval
956 -0. (Disable Interrupt),
957 -~1. (Trigger by rising and falling edge)
958 -2. (Trigger by falling edge)
959 -3. (Trigger by rising edge)
960 -)))|(% style="width:157px" %)OK
961 -|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)(((
962 -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
963 963  
964 -trigger by rising edge.
965 -)))|(% style="width:157px" %)OK
966 -|(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK
578 +Example:
967 967  
968 -(% style="color:blue" %)**Downlink Command: 0x06**
580 + AT+SHTEMP=0,30   ~/~/ Alarm when temperature higher than 30.
969 969  
970 -Format: Command Code (0x06) followed by 3 bytes.
582 +* (% style="color:blue" %)**Downlink Payload:**
971 971  
972 -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
973 973  
974 -* Example 1: Downlink Payload: 06000000  **~-~-->**  AT+INTMOD1=0
975 -* Example 2: Downlink Payload: 06000003  **~-~-->**  AT+INTMOD1=3
976 -* Example 3: Downlink Payload: 06000102  **~-~-->**  AT+INTMOD2=2
977 -* 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)**
978 978  
979 -(% class="wikigeneratedid" %)
980 -=== ===
981 981  
982 -=== 3.3.4 Set Power Output Duration ===
589 +=== 3.3.4 Set Humidity Alarm Threshold ===
983 983  
984 -Control the output duration 5V . Before each sampling, device will
591 +* (% style="color:blue" %)**AT Command:**
985 985  
986 -~1. first enable the power output to external sensor,
593 +(% style="color:#037691" %)**AT+SHHUM=min,max**
987 987  
988 -2. keep it on as per duration, read sensor value and construct uplink payload
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
989 989  
990 -3. final, close the power output.
599 +Example:
991 991  
992 -(% style="color:blue" %)**AT Command: AT+5VT**
601 + AT+SHHUM=70,0  ~/~/ Alarm when humidity lower than 70%.
993 993  
994 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
995 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
996 -|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)(((
997 -500(default)
603 +* (% style="color:blue" %)**Downlink Payload:**
998 998  
999 -OK
1000 -)))
1001 -|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)(((
1002 -Close after a delay of 1000 milliseconds.
1003 -)))|(% style="width:157px" %)OK
605 +(% style="color:#037691" %)**0x(0C 02 46 00)**(%%)  ~/~/ Set AT+SHTHUM=70,0
1004 1004  
1005 -(% 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))**
1006 1006  
1007 -Format: Command Code (0x07) followed by 2 bytes.
1008 1008  
1009 -The first and second bytes are the time to turn on.
610 +=== 3.3.5 Set Alarm Interval ===
1010 1010  
1011 -* Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
1012 -* Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
612 +The shortest time of two Alarm packet. (unit: min)
1013 1013  
1014 -(% class="wikigeneratedid" %)
1015 -=== ===
614 +* (% style="color:blue" %)**AT Command:**
1016 1016  
1017 -=== 3.3.5 Set Weighing parameters ===
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.
1018 1018  
1019 -Feature: Working mode 5 is effective, weight initialization and weight factor setting of HX711.
618 +* (% style="color:blue" %)**Downlink Payload:**
1020 1020  
1021 -(% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP**
620 +(% style="color:#037691" %)**0x(0D 00 1E)**(%%)     **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes
1022 1022  
1023 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1024 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
1025 -|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK
1026 -|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default)
1027 -|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK
1028 1028  
1029 -(% style="color:blue" %)**Downlink Command: 0x08**
623 +=== 3.3.6 Get Alarm settings ===
1030 1030  
1031 -Format: Command Code (0x08) followed by 2 bytes or 4 bytes.
1032 1032  
1033 -Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes.
626 +Send a LoRaWAN downlink to ask device send Alarm settings.
1034 1034  
1035 -The second and third bytes are multiplied by 10 times to be the AT+WEIGAP value.
628 +* (% style="color:#037691" %)**Downlink Payload **(%%)0x0E 01
1036 1036  
1037 -* Example 1: Downlink Payload: 0801  **~-~-->**  AT+WEIGRE
1038 -* Example 2: Downlink Payload: 08020FA3  **~-~-->**  AT+WEIGAP=400.3
1039 -* Example 3: Downlink Payload: 08020FA0  **~-~-->**  AT+WEIGAP=400.0
630 +**Example:**
1040 1040  
1041 -(% class="wikigeneratedid" %)
1042 -=== ===
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"]]
1043 1043  
1044 -=== 3.3.6 Set Digital pulse count value ===
1045 1045  
1046 -Feature: Set the pulse count value.
635 +**Explain:**
1047 1047  
1048 -Count 1 is PA8 pin of mode 6 and mode 9. Count 2 is PA4 pin of mode 9.
637 +* Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
1049 1049  
1050 -(% style="color:blue" %)**AT Command: AT+SETCNT**
639 +=== 3.3.7 Set Interrupt Mode ===
1051 1051  
1052 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1053 -|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
1054 -|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK
1055 -|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK
1056 1056  
1057 -(% style="color:blue" %)**Downlink Command: 0x09**
642 +Feature, Set Interrupt mode for GPIO_EXIT.
1058 1058  
1059 -Format: Command Code (0x09) followed by 5 bytes.
644 +(% style="color:blue" %)**AT Command: AT+INTMOD**
1060 1060  
1061 -The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized.
1062 -
1063 -* Example 1: Downlink Payload: 090100000000  **~-~-->**  AT+SETCNT=1,0
1064 -* Example 2: Downlink Payload: 0902000003E8  **~-~-->**  AT+SETCNT=2,1000
1065 -
1066 -(% class="wikigeneratedid" %)
1067 -=== ===
1068 -
1069 -=== 3.3.7 Set Workmode ===
1070 -
1071 -Feature: Switch working mode.
1072 -
1073 -(% style="color:blue" %)**AT Command: AT+MOD**
1074 -
1075 1075  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1076 1076  |=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
1077 -|(% 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
1078 1078  OK
651 +the mode is 0 =Disable Interrupt
1079 1079  )))
1080 -|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)(((
1081 -OK
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
1082 1082  
1083 -Attention:Take effect after ATZ
1084 -)))
661 +(% style="color:blue" %)**Downlink Command: 0x06**
1085 1085  
1086 -(% style="color:blue" %)**Downlink Command: 0x0A**
663 +Format: Command Code (0x06) followed by 3 bytes.
1087 1087  
1088 -Format: Command Code (0x0A) followed by 1 bytes.
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.
1089 1089  
1090 -* Example 1: Downlink Payload: 0A01  **~-~-->**  AT+MOD=1
1091 -* Example 2: Downlink Payload: 0A04  **~-~-->**  AT+MOD=4
667 +* Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
668 +* Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1092 1092  
1093 -(% class="wikigeneratedid" %)
1094 -= =
1095 -
1096 1096  = 4. Battery & Power Consumption =
1097 1097  
1098 1098  
... ... @@ -1121,10 +1121,7 @@
1121 1121  
1122 1122  = 6. FAQ =
1123 1123  
1124 -== 6.1 Where can i find source code of SN50v3-LB? ==
1125 1125  
1126 -* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].**
1127 -* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].**
1128 1128  
1129 1129  = 7. Order Info =
1130 1130  
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
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0