<
From version < 58.2 >
edited by Xiaoling
on 2022/06/06 11:09
To version < 58.13 >
edited by Xiaoling
on 2022/06/06 11:22
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -509,14 +509,27 @@
509 509  
510 510  == 3.5 Configure RS485-BL via AT or Downlink ==
511 511  
512 +(((
512 512  User can configure RS485-LN via AT Commands or LoRaWAN Downlink Commands
514 +)))
513 513  
516 +(((
514 514  There are two kinds of Commands:
518 +)))
515 515  
516 -* (% style="color:#4f81bd" %)**Common Commands**(%%): They should be available for each sensor, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
520 +* (((
521 +(% style="color:#4f81bd" %)**Common Commands**(%%): They should be available for each sensor, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
522 +)))
517 517  
518 -* (% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-LN.  User can see these commands below:
524 +* (((
525 +(% style="color:#4f81bd" %)**Sensor Related Commands**(%%): These commands are special designed for RS485-LN.  User can see these commands below:
526 +)))
519 519  
528 +(((
529 +
530 +)))
531 +
532 +
520 520  === 3.5.1 Common Commands ===
521 521  
522 522  They should be available for each of Dragino Sensors, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
... ... @@ -535,142 +535,282 @@
535 535  
536 536  
537 537  
551 +
538 538  ==== **RS485 Debug Command** ====
539 539  
554 +(((
540 540  This command is used to configure the RS485 devices; they won’t be used during sampling.
556 +)))
541 541  
542 -* **AT Command**
558 +* (((
559 +**AT Command**
560 +)))
543 543  
544 544  (% class="box infomessage" %)
545 545  (((
564 +(((
546 546  **AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m**
547 547  )))
567 +)))
548 548  
569 +(((
549 549  m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
571 +)))
550 550  
551 -* **Downlink Payload**
573 +* (((
574 +**Downlink Payload**
575 +)))
552 552  
577 +(((
553 553  Format: A8 MM NN XX XX XX XX YY
579 +)))
554 554  
581 +(((
555 555  Where:
583 +)))
556 556  
557 -* MM: 1: add CRC-16/MODBUS ; 0: no CRC
558 -* NN: The length of RS485 command
559 -* XX XX XX XX: RS485 command total NN bytes
560 -* YY: How many bytes will be uplink from the return of this RS485 command,
561 -** if YY=0, RS485-LN will execute the downlink command without uplink;
562 -** if YY>0, RS485-LN will uplink total YY bytes from the output of this RS485 command; Fport=200
563 -** if YY=FF, RS485-LN will uplink RS485 output with the downlink command content; Fport=200.
585 +* (((
586 +MM: 1: add CRC-16/MODBUS ; 0: no CRC
587 +)))
588 +* (((
589 +NN: The length of RS485 command
590 +)))
591 +* (((
592 +XX XX XX XX: RS485 command total NN bytes
593 +)))
594 +* (((
595 +(((
596 +YY: How many bytes will be uplink from the return of this RS485 command,
597 +)))
564 564  
599 +* (((
600 +if YY=0, RS485-LN will execute the downlink command without uplink;
601 +)))
602 +* (((
603 +if YY>0, RS485-LN will uplink total YY bytes from the output of this RS485 command; Fport=200
604 +)))
605 +* (((
606 +if YY=FF, RS485-LN will uplink RS485 output with the downlink command content; Fport=200.
607 +)))
608 +)))
609 +
610 +(((
565 565  **Example 1** ~-~-> Configure without ask for uplink (YY=0)
612 +)))
566 566  
614 +(((
567 567  To connect a Modbus Alarm with below commands.
616 +)))
568 568  
569 -* The command to active alarm is: 0A 05 00 04 00 01 4C B0. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually.
618 +* (((
619 +The command to active alarm is: 0A 05 00 04 00 01 4C B0. Where 0A 05 00 04 00 01 is the Modbus command to read the register 00 40 where stored the DI status. The 4C B0 is the CRC-16/MODBUS which calculate manually.
620 +)))
570 570  
571 -* The command to deactivate alarm is: 0A 05 00 04 00 00 8D 70. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually.
622 +* (((
623 +The command to deactivate alarm is: 0A 05 00 04 00 00 8D 70. Where 0A 05 00 04 00 00 is the Modbus command to read the register 00 40 where stored the DI status. The 8D 70 is the CRC-16/MODBUS which calculate manually.
624 +)))
572 572  
626 +(((
573 573  So if user want to use downlink command to control to RS485 Alarm, he can use:
628 +)))
574 574  
630 +(((
575 575  (% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm
632 +)))
576 576  
634 +(((
577 577  (% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm
636 +)))
578 578  
638 +(((
579 579  A8 is type code and 01 means add CRC-16/MODBUS at the end, the 3^^rd^^ byte is 06, means the next 6 bytes are the command to be sent to the RS485 network, the final byte 00 means this command don’t need to acquire output.
640 +)))
580 580  
642 +(((
643 +
644 +)))
581 581  
646 +(((
582 582  **Example 2** ~-~-> Configure with requesting uplink and original downlink command (**YY=FF**)
648 +)))
583 583  
650 +(((
584 584  User in IoT server send a downlink command: (% style="color:#4f81bd" %)**A8 01 06 0A 08 00 04 00 01 YY**
652 +)))
585 585  
654 +(((
655 +
656 +)))
586 586  
658 +(((
587 587  RS485-LN got this downlink command and send (% style="color:#4f81bd" %)**0A 08 00 04 00 01 **(%%)to Modbus network. One of the RS485 sensor in the network send back Modbus reply **0A 08 00 04 00 00**. RS485-LN get this reply and combine with the original downlink command and uplink. The uplink message is:
660 +)))
588 588  
662 +(((
589 589   **A8** (% style="color:#4f81bd" %)**0A 08 00 04 00  **(% style="color:red" %)**01 06** ** **(% style="color:green" %)**0A 08 00 04 00 00**
664 +)))
590 590  
666 +(((
591 591   [[image:1654159460680-153.png]]
668 +)))
592 592  
593 593  
594 594  
672 +
595 595  ==== **Set Payload version** ====
596 596  
675 +(((
597 597  This is the first byte of the uplink payload. RS485-BL can connect to different sensors. User can set the PAYVER field to tell server how to decode the current payload.
677 +)))
598 598  
599 -* **AT Command:**
679 +* (((
680 +**AT Command:**
681 +)))
600 600  
601 601  (% class="box infomessage" %)
602 602  (((
685 +(((
603 603  **AT+PAYVER: Set PAYVER field = 1**
604 604  )))
688 +)))
605 605  
606 -* **Downlink Payload:**
690 +* (((
691 +**Downlink Payload:**
692 +)))
607 607  
694 +(((
608 608  **0xAE 01**  ~-~-> Set PAYVER field =  0x01
696 +)))
609 609  
698 +(((
610 610  **0xAE 0F**   ~-~-> Set PAYVER field =  0x0F
700 +)))
611 611  
612 612  
613 613  
704 +
614 614  ==== **Set RS485 Sampling Commands** ====
615 615  
707 +(((
616 616  AT+COMMANDx or AT+DATACUTx
709 +)))
617 617  
711 +(((
618 618  These three commands are used to configure how the RS485-LN polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]].
713 +)))
619 619  
715 +(((
716 +
717 +)))
620 620  
621 -* **AT Command:**
719 +* (((
720 +**AT Command:**
721 +)))
622 622  
623 623  (% class="box infomessage" %)
624 624  (((
725 +(((
625 625  **AT+COMMANDx: Configure RS485 read command to sensor.**
626 626  )))
728 +)))
627 627  
628 628  (% class="box infomessage" %)
629 629  (((
732 +(((
630 630  **AT+DATACUTx: Configure how to handle return from RS485 devices.**
631 631  )))
735 +)))
632 632  
737 +(((
738 +
739 +)))
633 633  
634 -* **Downlink Payload:**
741 +* (((
742 +**Downlink Payload:**
743 +)))
635 635  
745 +(((
636 636  **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
747 +)))
637 637  
749 +(((
638 638  (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
751 +)))
639 639  
753 +(((
640 640  Format: AF MM NN LL XX XX XX XX YY
755 +)))
641 641  
757 +(((
642 642  Where:
759 +)))
643 643  
644 -* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
645 -* NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
646 -* LL:  The length of AT+COMMAND or AT+DATACUT command
647 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command
648 -* YY:  If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command.
761 +* (((
762 +MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
763 +)))
764 +* (((
765 +NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
766 +)))
767 +* (((
768 +LL:  The length of AT+COMMAND or AT+DATACUT command
769 +)))
770 +* (((
771 +XX XX XX XX: AT+COMMAND or AT+DATACUT command
772 +)))
773 +* (((
774 +YY:  If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command.
775 +)))
649 649  
777 +(((
650 650  **Example:**
779 +)))
651 651  
781 +(((
652 652  (% style="color:#037691" %)**AF 03 01 06 0A 05 00 04 00 01 00**(%%): Same as AT+COMMAND3=0A 05 00 04 00 01,1
783 +)))
653 653  
785 +(((
654 654  (% style="color:#037691" %)**AF 03 02 06**(% style="color:orange" %)** 10 **(% style="color:red" %)**01 **(% style="color:green" %)**05 06 09 0A**(% style="color:#037691" %)** 00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**16**(%%),(% style="color:red" %)**1**(%%),(% style="color:green" %)**5+6+9+10**
787 +)))
655 655  
789 +(((
656 656  (% style="color:#037691" %)**AF 03 02 06 **(% style="color:orange" %)**0B**(% style="color:red" %)** 02 **(% style="color:green" %)**05 07 08 0A **(% style="color:#037691" %)**00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**11**(%%),(% style="color:red" %)**2**(%%),(% style="color:green" %)**5~~7+8~~10**
791 +)))
657 657  
658 658  
659 659  
795 +
660 660  ==== **Fast command to handle MODBUS device** ====
661 661  
798 +(((
662 662  AT+MBFUN is valid since v1.3 firmware version. The command is for fast configure to read Modbus devices. It is only valid for the devices which follow the [[MODBUS-RTU protocol>>url:https://www.modbustools.com/modbus.html]].
800 +)))
663 663  
802 +(((
664 664  This command is valid since v1.3 firmware version
804 +)))
665 665  
806 +(((
666 666  AT+MBFUN can auto read the Modbus function code: 01, 02, 03 or 04. AT+MBFUN has lower priority vs AT+DATACUT command. If AT+DATACUT command is configured, AT+MBFUN will be ignore.
808 +)))
667 667  
810 +(((
811 +
812 +)))
668 668  
814 +(((
669 669  **Example:**
816 +)))
670 670  
671 -* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). So RS485-LN.
672 -* AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08.
673 -* AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10.
818 +* (((
819 +AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). So RS485-LN.
820 +)))
821 +* (((
822 +AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08.
823 +)))
824 +* (((
825 +AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10.
826 +)))
674 674  
675 675  [[image:image-20220602165351-6.png]]
676 676  
... ... @@ -678,63 +678,110 @@
678 678  
679 679  
680 680  
834 +
681 681  ==== **RS485 command timeout** ====
682 682  
837 +(((
683 683  Some Modbus device has slow action to send replies. This command is used to configure the RS485-LN to use longer time to wait for their action.
839 +)))
684 684  
841 +(((
685 685  Default value: 0, range:  0 ~~ 65 seconds
843 +)))
686 686  
687 -* **AT Command:**
845 +* (((
846 +**AT Command:**
847 +)))
688 688  
689 689  (% class="box infomessage" %)
690 690  (((
851 +(((
691 691  **AT+CMDDLaa=hex(bb cc)*1000**
692 692  )))
854 +)))
693 693  
856 +(((
694 694  **Example:**
858 +)))
695 695  
860 +(((
696 696  **AT+CMDDL1=1000** to send the open time to 1000ms
862 +)))
697 697  
864 +(((
865 +
866 +)))
698 698  
699 -* **Downlink Payload:**
868 +* (((
869 +**Downlink Payload:**
870 +)))
700 700  
872 +(((
701 701  **0x AA aa bb cc**
874 +)))
702 702  
876 +(((
703 703  Same as: AT+CMDDLaa=hex(bb cc)*1000
878 +)))
704 704  
880 +(((
705 705   **Example:**
882 +)))
706 706  
884 +(((
707 707   0xAA 01 00 01  ~-~-> Same as **AT+CMDDL1=1000 ms**
886 +)))
708 708  
709 709  
710 710  
890 +
711 711  ==== **Uplink payload mode** ====
712 712  
893 +(((
713 713  Define to use one uplink or multiple uplinks for the sampling.
895 +)))
714 714  
897 +(((
715 715  The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]]
899 +)))
716 716  
717 -* **AT Command:**
901 +* (((
902 +**AT Command:**
903 +)))
718 718  
719 719  (% class="box infomessage" %)
720 720  (((
907 +(((
721 721  **AT+DATAUP=0**
722 722  )))
910 +)))
723 723  
724 724  (% class="box infomessage" %)
725 725  (((
914 +(((
726 726  **AT+DATAUP=1**
727 727  )))
917 +)))
728 728  
919 +(((
920 +
921 +)))
729 729  
730 -* **Downlink Payload:**
923 +* (((
924 +**Downlink Payload:**
925 +)))
731 731  
927 +(((
732 732  **0xAD 00**  **~-~->** Same as AT+DATAUP=0
929 +)))
733 733  
931 +(((
734 734  **0xAD 01**  **~-~->** Same as AT+DATAUP=1
933 +)))
735 735  
736 736  
737 737  
937 +
738 738  ==== **Manually trigger an Uplink** ====
739 739  
740 740  Ask device to send an uplink immediately.
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0