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,6 +548,7 @@ 548 548 549 549 550 550 551 + 551 551 ==== **RS485 Debug Command** ==== 552 552 553 553 ((( ... ... @@ -668,85 +668,161 @@ 668 668 669 669 670 670 672 + 671 671 ==== **Set Payload version** ==== 672 672 675 +((( 673 673 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 +))) 674 674 675 -* **AT Command:** 679 +* ((( 680 +**AT Command:** 681 +))) 676 676 677 677 (% class="box infomessage" %) 678 678 ((( 685 +((( 679 679 **AT+PAYVER: Set PAYVER field = 1** 680 680 ))) 688 +))) 681 681 682 -* **Downlink Payload:** 690 +* ((( 691 +**Downlink Payload:** 692 +))) 683 683 694 +((( 684 684 **0xAE 01** ~-~-> Set PAYVER field = 0x01 696 +))) 685 685 698 +((( 686 686 **0xAE 0F** ~-~-> Set PAYVER field = 0x0F 700 +))) 687 687 688 688 689 689 704 + 690 690 ==== **Set RS485 Sampling Commands** ==== 691 691 707 +((( 692 692 AT+COMMANDx or AT+DATACUTx 709 +))) 693 693 711 +((( 694 694 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 +))) 695 695 715 +((( 716 + 717 +))) 696 696 697 -* **AT Command:** 719 +* ((( 720 +**AT Command:** 721 +))) 698 698 699 699 (% class="box infomessage" %) 700 700 ((( 725 +((( 701 701 **AT+COMMANDx: Configure RS485 read command to sensor.** 702 702 ))) 728 +))) 703 703 704 704 (% class="box infomessage" %) 705 705 ((( 732 +((( 706 706 **AT+DATACUTx: Configure how to handle return from RS485 devices.** 707 707 ))) 735 +))) 708 708 737 +((( 738 + 739 +))) 709 709 710 -* **Downlink Payload:** 741 +* ((( 742 +**Downlink Payload:** 743 +))) 711 711 745 +((( 712 712 **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 747 +))) 713 713 749 +((( 714 714 (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink. 751 +))) 715 715 753 +((( 716 716 Format: AF MM NN LL XX XX XX XX YY 755 +))) 717 717 757 +((( 718 718 Where: 759 +))) 719 719 720 -* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 721 -* NN: 0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value. 722 -* LL: The length of AT+COMMAND or AT+DATACUT command 723 -* XX XX XX XX: AT+COMMAND or AT+DATACUT command 724 -* 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 +))) 725 725 777 +((( 726 726 **Example:** 779 +))) 727 727 781 +((( 728 728 (% 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 +))) 729 729 785 +((( 730 730 (% 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 +))) 731 731 789 +((( 732 732 (% 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 +))) 733 733 734 734 735 735 795 + 736 736 ==== **Fast command to handle MODBUS device** ==== 737 737 798 +((( 738 738 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 +))) 739 739 802 +((( 740 740 This command is valid since v1.3 firmware version 804 +))) 741 741 806 +((( 742 742 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 +))) 743 743 810 +((( 811 + 812 +))) 744 744 814 +((( 745 745 **Example:** 816 +))) 746 746 747 -* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0). So RS485-LN. 748 -* 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. 749 -* 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 +))) 750 750 751 751 [[image:image-20220602165351-6.png]] 752 752 ... ... @@ -754,201 +754,376 @@ 754 754 755 755 756 756 834 + 757 757 ==== **RS485 command timeout** ==== 758 758 837 +((( 759 759 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 +))) 760 760 841 +((( 761 761 Default value: 0, range: 0 ~~ 65 seconds 843 +))) 762 762 763 -* **AT Command:** 845 +* ((( 846 +**AT Command:** 847 +))) 764 764 765 765 (% class="box infomessage" %) 766 766 ((( 851 +((( 767 767 **AT+CMDDLaa=hex(bb cc)*1000** 768 768 ))) 854 +))) 769 769 856 +((( 770 770 **Example:** 858 +))) 771 771 860 +((( 772 772 **AT+CMDDL1=1000** to send the open time to 1000ms 862 +))) 773 773 864 +((( 865 + 866 +))) 774 774 775 -* **Downlink Payload:** 868 +* ((( 869 +**Downlink Payload:** 870 +))) 776 776 872 +((( 777 777 **0x AA aa bb cc** 874 +))) 778 778 876 +((( 779 779 Same as: AT+CMDDLaa=hex(bb cc)*1000 878 +))) 780 780 880 +((( 781 781 **Example:** 882 +))) 782 782 884 +((( 783 783 0xAA 01 00 01 ~-~-> Same as **AT+CMDDL1=1000 ms** 886 +))) 784 784 785 785 786 786 890 + 787 787 ==== **Uplink payload mode** ==== 788 788 893 +((( 789 789 Define to use one uplink or multiple uplinks for the sampling. 895 +))) 790 790 897 +((( 791 791 The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]] 899 +))) 792 792 793 -* **AT Command:** 901 +* ((( 902 +**AT Command:** 903 +))) 794 794 795 795 (% class="box infomessage" %) 796 796 ((( 907 +((( 797 797 **AT+DATAUP=0** 798 798 ))) 910 +))) 799 799 800 800 (% class="box infomessage" %) 801 801 ((( 914 +((( 802 802 **AT+DATAUP=1** 803 803 ))) 917 +))) 804 804 919 +((( 920 + 921 +))) 805 805 806 -* **Downlink Payload:** 923 +* ((( 924 +**Downlink Payload:** 925 +))) 807 807 927 +((( 808 808 **0xAD 00** **~-~->** Same as AT+DATAUP=0 929 +))) 809 809 931 +((( 810 810 **0xAD 01** **~-~->** Same as AT+DATAUP=1 933 +))) 811 811 812 812 813 813 937 + 814 814 ==== **Manually trigger an Uplink** ==== 815 815 940 +((( 816 816 Ask device to send an uplink immediately. 942 +))) 817 817 818 -* **AT Command:** 944 +* ((( 945 +**AT Command:** 946 +))) 819 819 948 +((( 820 820 No AT Command for this, user can press the [[ACT button>>||anchor="H3.7Buttons"]] for 1 second for the same. 950 +))) 821 821 952 +((( 953 + 954 +))) 822 822 823 -* **Downlink Payload:** 956 +* ((( 957 +**Downlink Payload:** 958 +))) 824 824 960 +((( 825 825 **0x08 FF**, RS485-LN will immediately send an uplink. 962 +))) 826 826 827 827 828 828 966 + 829 829 ==== **Clear RS485 Command** ==== 830 830 969 +((( 831 831 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 971 +))) 832 832 833 -* **AT Command:** 973 +* ((( 974 +**AT Command:** 975 +))) 834 834 977 +((( 835 835 **AT+CMDEAR=mm,nn** mm: start position of erase ,nn: stop position of erase 979 +))) 836 836 981 +((( 837 837 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 983 +))) 838 838 985 +((( 839 839 Example screen shot after clear all RS485 commands. 987 +))) 840 840 989 +((( 990 + 991 +))) 841 841 993 +((( 842 842 The uplink screen shot is: 995 +))) 843 843 844 844 [[image:1654160691922-496.png]] 845 845 846 846 847 -* **Downlink Payload:** 1000 +* ((( 1001 +**Downlink Payload:** 1002 +))) 848 848 1004 +((( 849 849 **0x09 aa bb** same as AT+CMDEAR=aa,bb 1006 +))) 850 850 851 851 852 852 1010 + 853 853 ==== **Set Serial Communication Parameters** ==== 854 854 1013 +((( 855 855 Set the Rs485 serial communication parameters: 1015 +))) 856 856 857 -* **AT Command:** 1017 +* ((( 1018 +**AT Command:** 1019 +))) 858 858 1021 +((( 859 859 Set Baud Rate: 1023 +))) 860 860 861 861 (% class="box infomessage" %) 862 862 ((( 1027 +((( 863 863 **AT+BAUDR=9600** ~/~/ Options: (1200,2400,4800,14400,19200,115200) 864 864 ))) 1030 +))) 865 865 1032 +((( 866 866 Set UART Parity 1034 +))) 867 867 868 868 (% class="box infomessage" %) 869 869 ((( 1038 +((( 870 870 **AT+PARITY=0** ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 871 871 ))) 1041 +))) 872 872 1043 +((( 873 873 Set STOPBIT 1045 +))) 874 874 875 875 (% class="box infomessage" %) 876 876 ((( 1049 +((( 877 877 **AT+STOPBIT=0** ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits 878 878 ))) 1052 +))) 879 879 1054 +((( 1055 + 1056 +))) 880 880 881 -* **Downlink Payload:** 1058 +* ((( 1059 +**Downlink Payload:** 1060 +))) 882 882 1062 +((( 883 883 **A7 01 aa bb**: Same AT+BAUDR=hex(aa bb)*100 1064 +))) 884 884 1066 +((( 885 885 **Example:** 1068 +))) 886 886 887 -* A7 01 00 60 same as AT+BAUDR=9600 888 -* A7 01 04 80 same as AT+BAUDR=115200 1070 +* ((( 1071 +A7 01 00 60 same as AT+BAUDR=9600 1072 +))) 1073 +* ((( 1074 +A7 01 04 80 same as AT+BAUDR=115200 1075 +))) 889 889 1077 +((( 890 890 A7 02 aa: Same as AT+PARITY=aa (aa value: 00 , 01 or 02) 1079 +))) 891 891 1081 +((( 892 892 A7 03 aa: Same as AT+STOPBIT=aa (aa value: 00 , 01 or 02) 1083 +))) 893 893 894 894 1086 + 1087 + 895 895 == 3.6 Listening mode for RS485 network == 896 896 1090 +((( 897 897 This feature support since firmware v1.4 1092 +))) 898 898 1094 +((( 899 899 RS485-LN supports listening mode, it can listen the RS485 network packets and send them via LoRaWAN uplink. Below is the structure. The blue arrow shows the RS485 network packets to RS485-LN. 1096 +))) 900 900 901 901 [[image:image-20220602171200-8.png||height="567" width="1007"]] 902 902 1100 +((( 903 903 To enable the listening mode, use can run the command AT+RXMODE. 1102 +))) 904 904 1104 +((( 1105 + 1106 +))) 905 905 906 -(% border="1" style="background-color:#ffffcc; width:500px" %) 907 -|=(% style="width: 161px;" %)**Command example:**|=(% style="width: 337px;" %)**Function** 908 -|(% style="width:161px" %)AT+RXMODE=1,10 |(% style="width:337px" %)Enable listening mode 1, if RS485-LN has received more than 10 RS485 commands from the network. RS485-LN will send these commands via LoRaWAN uplinks. 909 -|(% style="width:161px" %)AT+RXMODE=2,500|(% style="width:337px" %)Enable listening mode 2, RS485-LN will capture and send a 500ms content once from the first detect of character. Max value is 65535 ms 910 -|(% style="width:161px" %)AT+RXMODE=0,0|(% style="width:337px" %)Disable listening mode. This is the default settings. 911 -|(% style="width:161px" %) |(% style="width:337px" %)A6 aa bb cc same as AT+RXMODE=aa,(bb<<8 ~| cc) 1108 +(% border="1" cellspacing="10" style="background-color:#ffffcc; width:500px" %) 1109 +|=(% style="width: 161px;" %)((( 1110 +**Command example:** 1111 +)))|=(% style="width: 337px;" %)((( 1112 +**Function** 1113 +))) 1114 +|(% style="width:161px" %)((( 1115 +AT+RXMODE=1,10 1116 +)))|(% style="width:337px" %)((( 1117 +Enable listening mode 1, if RS485-LN has received more than 10 RS485 commands from the network. RS485-LN will send these commands via LoRaWAN uplinks. 1118 +))) 1119 +|(% style="width:161px" %)((( 1120 +AT+RXMODE=2,500 1121 +)))|(% style="width:337px" %)((( 1122 +Enable listening mode 2, RS485-LN will capture and send a 500ms content once from the first detect of character. Max value is 65535 ms 1123 +))) 1124 +|(% style="width:161px" %)((( 1125 +AT+RXMODE=0,0 1126 +)))|(% style="width:337px" %)((( 1127 +Disable listening mode. This is the default settings. 1128 +))) 1129 +|(% style="width:161px" %)((( 1130 + 1131 +)))|(% style="width:337px" %)((( 1132 +A6 aa bb cc same as AT+RXMODE=aa,(bb<<8 | cc) 1133 +))) 912 912 1135 +((( 913 913 **Downlink Command:** 1137 +))) 914 914 1139 +((( 915 915 **0xA6 aa bb cc ** same as AT+RXMODE=aa,(bb<<8 | cc) 1141 +))) 916 916 1143 +((( 1144 + 1145 +))) 917 917 1147 +((( 918 918 **Example**: 1149 +))) 919 919 1151 +((( 920 920 The RS485-LN is set to AT+RXMODE=2,1000 1153 +))) 921 921 1155 +((( 922 922 There is a two Modbus commands in the RS485 network as below: 1157 +))) 923 923 1159 +((( 924 924 The Modbus master send a command: (% style="background-color:#ffc000" %)01 03 00 00 00 02 c4 0b 1161 +))) 925 925 1163 +((( 926 926 And Modbus slave reply with: (% style="background-color:green" %)01 03 04 00 00 00 00 fa 33 1165 +))) 927 927 1167 +((( 928 928 RS485-LN will capture both and send the uplink: (% style="background-color:#ffc000" %)01 03 00 00 00 02 c4 0b (% style="background-color:green" %)01 03 04 00 00 00 00 fa 33 1169 +))) 929 929 1171 +((( 930 930 [[image:image-20220602171200-9.png]] 1173 +))) 931 931 1175 +((( 1176 + 1177 +))) 932 932 1179 +((( 933 933 (% style="color:red" %)Notice: Listening mode can work with the default polling mode of RS485-LN. When RS485-LN is in to send the RS485 commands (from AT+COMMANDx), the listening mode will be interrupt for a while. 1181 +))) 934 934 935 935 936 936 == 3.7 Buttons == 937 937 938 938 939 -(% border="1" style="background-color:#f7faff; width:500px" %) 1187 +(% border="1" cellspacing="10" style="background-color:#f7faff; width:500px" %) 940 940 |=**Button**|=(% style="width: 1420px;" %)**Feature** 941 941 |**ACT**|(% style="width:1420px" %)If RS485 joined in network, press this button for more than 1 second, RS485 will upload a packet, and the SYS LED will give a (% style="color:blue" %)**Blue blink** 942 942 |**RST**|(% style="width:1420px" %)Reboot RS485 943 943 |**PRO**|(% style="width:1420px" %)Use for upload image, see [[How to Update Image>>||anchor="H6.1Howtoupgradetheimage3F"]] 944 944 1193 + 1194 + 945 945 == 3.8 LEDs == 946 946 947 -(% border="1" style="background-color:#f7faff; width:500px" %) 1197 +(% border="1" cellspacing="10" style="background-color:#f7faff; width:500px" %) 948 948 |=**LEDs**|=**Feature** 949 949 |**PWR**|Always on if there is power 950 950 |**SYS**|After device is powered on, the SYS will (% style="color:green" %)**fast blink in GREEN** (%%)for 5 times, means RS485-LN start to join LoRaWAN network. If join success, SYS will be (% style="color:green" %)**on GREEN for 5 seconds**(%%)**. **SYS will (% style="color:green" %)**blink Blue**(%%) on every upload and (% style="color:green" %)**blink Green**(%%) once receive a downlink message. 951 951 1202 + 1203 + 952 952 = 4. Case Study = 953 953 954 954 User can check this URL for some case studies: [[APP RS485 COMMUNICATE WITH SENSORS>>doc:Main.Application Note \: Communicate with Different Sensors ----- RS485-LN RS485-BL.WebHome]] ... ... @@ -958,19 +958,26 @@ 958 958 959 959 == 5.1 Access AT Command == 960 960 1213 +((( 961 961 RS485-BL supports AT Command set. User can use a USB to TTL adapter plus the 3.5mm Program Cable to connect to RS485-BL to use AT command, as below. 1215 +))) 962 962 963 963 [[image:1654162355560-817.png]] 964 964 965 965 1220 +((( 966 966 In PC, User needs to set (% style="color:blue" %)**serial tool**(%%)(such as [[putty>>url:https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baud rate to (% style="color:green" %)**9600**(%%) to access to access serial console of RS485-BL. The default password is 123456. Below is the output for reference: 1222 +))) 967 967 968 968 [[image:1654162368066-342.png]] 969 969 970 970 1227 +((( 971 971 More detail AT Command manual can be found at [[AT Command Manual>>https://www.dragino.com/downloads/index.php?dir=LT_LoRa_IO_Controller/LT33222-L/]] 1229 +))) 972 972 973 973 1232 + 974 974 == 5.2 Common AT Command Sequence == 975 975 976 976 === 5.2.1 Multi-channel ABP mode (Use with SX1301/LG308) ===