Changes for page RS485-LN – RS485 to LoRaWAN Converter User Manual
Last modified by Bei Jinggeng on 2025/01/16 11:36
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -548,142 +548,282 @@ 548 548 549 549 550 550 551 + 551 551 ==== **RS485 Debug Command** ==== 552 552 554 +((( 553 553 This command is used to configure the RS485 devices; they won’t be used during sampling. 556 +))) 554 554 555 -* **AT Command** 558 +* ((( 559 +**AT Command** 560 +))) 556 556 557 557 (% class="box infomessage" %) 558 558 ((( 564 +((( 559 559 **AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m** 560 560 ))) 567 +))) 561 561 569 +((( 562 562 m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 571 +))) 563 563 564 -* **Downlink Payload** 573 +* ((( 574 +**Downlink Payload** 575 +))) 565 565 577 +((( 566 566 Format: A8 MM NN XX XX XX XX YY 579 +))) 567 567 581 +((( 568 568 Where: 583 +))) 569 569 570 -* MM: 1: add CRC-16/MODBUS ; 0: no CRC 571 -* NN: The length of RS485 command 572 -* XX XX XX XX: RS485 command total NN bytes 573 -* YY: How many bytes will be uplink from the return of this RS485 command, 574 -** if YY=0, RS485-LN will execute the downlink command without uplink; 575 -** if YY>0, RS485-LN will uplink total YY bytes from the output of this RS485 command; Fport=200 576 -** 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 +))) 577 577 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 +((( 578 578 **Example 1** ~-~-> Configure without ask for uplink (YY=0) 612 +))) 579 579 614 +((( 580 580 To connect a Modbus Alarm with below commands. 616 +))) 581 581 582 -* 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 +))) 583 583 584 -* 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 +))) 585 585 626 +((( 586 586 So if user want to use downlink command to control to RS485 Alarm, he can use: 628 +))) 587 587 630 +((( 588 588 (% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 01 00**(%%): to activate the RS485 Alarm 632 +))) 589 589 634 +((( 590 590 (% style="color:#4f81bd" %)**A8 01 06 0A 05 00 04 00 00 00**(%%): to deactivate the RS485 Alarm 636 +))) 591 591 638 +((( 592 592 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 +))) 593 593 642 +((( 643 + 644 +))) 594 594 646 +((( 595 595 **Example 2** ~-~-> Configure with requesting uplink and original downlink command (**YY=FF**) 648 +))) 596 596 650 +((( 597 597 User in IoT server send a downlink command: (% style="color:#4f81bd" %)**A8 01 06 0A 08 00 04 00 01 YY** 652 +))) 598 598 654 +((( 655 + 656 +))) 599 599 658 +((( 600 600 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 +))) 601 601 662 +((( 602 602 **A8** (% style="color:#4f81bd" %)**0A 08 00 04 00 **(% style="color:red" %)**01 06** ** **(% style="color:green" %)**0A 08 00 04 00 00** 664 +))) 603 603 666 +((( 604 604 [[image:1654159460680-153.png]] 668 +))) 605 605 606 606 607 607 672 + 608 608 ==== **Set Payload version** ==== 609 609 675 +((( 610 610 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 +))) 611 611 612 -* **AT Command:** 679 +* ((( 680 +**AT Command:** 681 +))) 613 613 614 614 (% class="box infomessage" %) 615 615 ((( 685 +((( 616 616 **AT+PAYVER: Set PAYVER field = 1** 617 617 ))) 688 +))) 618 618 619 -* **Downlink Payload:** 690 +* ((( 691 +**Downlink Payload:** 692 +))) 620 620 694 +((( 621 621 **0xAE 01** ~-~-> Set PAYVER field = 0x01 696 +))) 622 622 698 +((( 623 623 **0xAE 0F** ~-~-> Set PAYVER field = 0x0F 700 +))) 624 624 625 625 626 626 704 + 627 627 ==== **Set RS485 Sampling Commands** ==== 628 628 707 +((( 629 629 AT+COMMANDx or AT+DATACUTx 709 +))) 630 630 711 +((( 631 631 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 +))) 632 632 715 +((( 716 + 717 +))) 633 633 634 -* **AT Command:** 719 +* ((( 720 +**AT Command:** 721 +))) 635 635 636 636 (% class="box infomessage" %) 637 637 ((( 725 +((( 638 638 **AT+COMMANDx: Configure RS485 read command to sensor.** 639 639 ))) 728 +))) 640 640 641 641 (% class="box infomessage" %) 642 642 ((( 732 +((( 643 643 **AT+DATACUTx: Configure how to handle return from RS485 devices.** 644 644 ))) 735 +))) 645 645 737 +((( 738 + 739 +))) 646 646 647 -* **Downlink Payload:** 741 +* ((( 742 +**Downlink Payload:** 743 +))) 648 648 745 +((( 649 649 **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 747 +))) 650 650 749 +((( 651 651 (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 751 +))) 652 652 753 +((( 653 653 Format: AF MM NN LL XX XX XX XX YY 755 +))) 654 654 757 +((( 655 655 Where: 759 +))) 656 656 657 -* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 658 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 659 -* LL: The length of AT+COMMAND or AT+DATACUT command 660 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command 661 -* 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 +))) 662 662 777 +((( 663 663 **Example:** 779 +))) 664 664 781 +((( 665 665 (% 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 +))) 666 666 785 +((( 667 667 (% 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 +))) 668 668 789 +((( 669 669 (% 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 +))) 670 670 671 671 672 672 795 + 673 673 ==== **Fast command to handle MODBUS device** ==== 674 674 798 +((( 675 675 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 +))) 676 676 802 +((( 677 677 This command is valid since v1.3 firmware version 804 +))) 678 678 806 +((( 679 679 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 +))) 680 680 810 +((( 811 + 812 +))) 681 681 814 +((( 682 682 **Example:** 816 +))) 683 683 684 -* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). So RS485-LN. 685 -* 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. 686 -* 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 +))) 687 687 688 688 [[image:image-20220602165351-6.png]] 689 689 ... ... @@ -693,61 +693,107 @@ 693 693 694 694 ==== **RS485 command timeout** ==== 695 695 836 +((( 696 696 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. 838 +))) 697 697 840 +((( 698 698 Default value: 0, range: 0 ~~ 65 seconds 842 +))) 699 699 700 -* **AT Command:** 844 +* ((( 845 +**AT Command:** 846 +))) 701 701 702 702 (% class="box infomessage" %) 703 703 ((( 850 +((( 704 704 **AT+CMDDLaa=hex(bb cc)*1000** 705 705 ))) 853 +))) 706 706 855 +((( 707 707 **Example:** 857 +))) 708 708 859 +((( 709 709 **AT+CMDDL1=1000** to send the open time to 1000ms 861 +))) 710 710 863 +((( 864 + 865 +))) 711 711 712 -* **Downlink Payload:** 867 +* ((( 868 +**Downlink Payload:** 869 +))) 713 713 871 +((( 714 714 **0x AA aa bb cc** 873 +))) 715 715 875 +((( 716 716 Same as: AT+CMDDLaa=hex(bb cc)*1000 877 +))) 717 717 879 +((( 718 718 **Example:** 881 +))) 719 719 883 +((( 720 720 0xAA 01 00 01 ~-~-> Same as **AT+CMDDL1=1000 ms** 885 +))) 721 721 722 722 723 723 889 + 724 724 ==== **Uplink payload mode** ==== 725 725 892 +((( 726 726 Define to use one uplink or multiple uplinks for the sampling. 894 +))) 727 727 896 +((( 728 728 The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]] 898 +))) 729 729 730 -* **AT Command:** 900 +* ((( 901 +**AT Command:** 902 +))) 731 731 732 732 (% class="box infomessage" %) 733 733 ((( 906 +((( 734 734 **AT+DATAUP=0** 735 735 ))) 909 +))) 736 736 737 737 (% class="box infomessage" %) 738 738 ((( 913 +((( 739 739 **AT+DATAUP=1** 740 740 ))) 916 +))) 741 741 918 +((( 919 + 920 +))) 742 742 743 -* **Downlink Payload:** 922 +* ((( 923 +**Downlink Payload:** 924 +))) 744 744 926 +((( 745 745 **0xAD 00** **~-~->** Same as AT+DATAUP=0 928 +))) 746 746 930 +((( 747 747 **0xAD 01** **~-~->** Same as AT+DATAUP=1 932 +))) 748 748 749 749 750 750 936 + 751 751 ==== **Manually trigger an Uplink** ==== 752 752 753 753 Ask device to send an uplink immediately.