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
-
... ... @@ -422,6 +422,7 @@ 422 422 423 423 (% style="color:#037691" %)**Each RS485 commands include two parts:** 424 424 425 + 425 425 ~1. What commands RS485-LN will send to the RS485 sensors. There are total 15 commands from **AT+COMMAD1**, **ATCOMMAND2**,…, to **AT+COMMANDF**. All commands are of same grammar. 426 426 427 427 2. How to get wanted value the from RS485 sensors returns from by 1). There are total 15 AT Commands to handle the return, commands are **AT+DATACUT1**,**AT+DATACUT2**,…, **AT+DATACUTF** corresponding to the commands from 1). All commands are of same grammar. ... ... @@ -461,8 +461,10 @@ 461 461 * **c: define the position for valid value. ** 462 462 ))) 463 463 465 + 464 464 **Examples:** 465 465 468 + 466 466 * (% style="color:#037691" %)**Grab bytes** 467 467 468 468 (% aria-label="image-20220602153621-1.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602153621-1.png||data-widget="image"]](% style="background-image:url(http://wiki.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" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) ... ... @@ -503,15 +503,13 @@ 503 503 ))) 504 504 505 505 ((( 506 -Final Payload is 509 +Final Payload is (% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx** 507 507 ))) 508 508 509 509 ((( 510 -(% style="color:#4f81bd" %)**Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx** 511 -))) 512 - 513 -((( 514 514 Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 514 + 515 + 515 515 ))) 516 516 517 517 (% aria-label="1653269759169-150.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1653269759169-150.png||data-widget="image" height="513" width="716"]](% style="background-image:url(http://wiki.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" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) ... ... @@ -522,16 +522,16 @@ 522 522 523 523 Compose the uplink payload with value returns in sequence and send with (% style="color:red" %)**Multiply UPLINKs**. 524 524 525 -Final Payload is 526 +Final Payload is (% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 526 526 527 -(% style="color:#4f81bd" %)**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA** 528 528 529 - 530 530 1. PAYVER: Defined by AT+PAYVER 531 531 1. PAYLOAD COUNT: Total how many uplinks of this sampling. 532 532 1. PAYLOAD#: Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 533 533 1. DATA: Valid value: max 8 bytes for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 8 bytes 534 534 534 + 535 + 535 535 (% aria-label="image-20220602155039-4.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220602155039-4.png||data-widget="image"]](% style="background-image:url(http://wiki.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" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 536 536 537 537 ... ... @@ -546,6 +546,7 @@ 546 546 547 547 (% style="color:red" %)**Notice: In firmware v1.3, the Max bytes has been changed according to the max bytes in different Frequency Bands for lowest SF. As below:** 548 548 550 + 549 549 ~* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink. 550 550 551 551 * For AU915/AS923 bands, if UplinkDwell time=0, max 11 bytes for each uplink. ... ... @@ -561,17 +561,23 @@ 561 561 562 562 (% style="color:#4f81bd" %)**If the data is empty, return to the display(Since v1.4.0)** 563 563 564 -1)When AT+MOD=1, if the data intercepted by AT+DATACUT or AT+MBFUN is empty, it will display NULL, and the payload will be filled with n FFs. 566 +1 ) When **(% style="color:blue" %)AT+MOD=1**(%%), if the data intercepted by** AT+DATACUT** or **AT+MBFUN** is empty, it will display **NULL**, and the payload will be filled with **n FFs**. 565 565 568 + 566 566 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/test/WebHome/image-20220824114359-3.png?width=1106&height=297&rev=1.1||alt="image-20220824114359-3.png" height="297" width="1106"]] 567 567 568 -2)When AT+MOD=2, if the data intercepted by AT+DATACUT or AT+MBFUN is empty, it will display NULL, and the payload will be filled with n 00s. 569 569 572 + 573 +2 ) When **(% style="color:blue" %)AT+MOD=2**(%%), if the data intercepted by **AT+DATACUT** or **AT+MBFUN** is empty, it will display **NULL**, and the payload will be filled with **n 00s**. 574 + 575 + 570 570 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/test/WebHome/image-20220824114330-2.png?rev=1.1||alt="image-20220824114330-2.png"]] 571 571 572 572 579 + 573 573 Below are the uplink payloads: 574 574 582 + 575 575 (% aria-label="1654157178836-407.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654157178836-407.png||data-widget="image"]](% style="background-image:url(http://wiki.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" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 576 576 577 577 ... ... @@ -581,11 +581,11 @@ 581 581 582 582 Except uplink periodically, RS485-LN is able to uplink on demand. The server send downlink command to RS485-LN and RS485 will uplink data base on the command. 583 583 584 -Downlink control command: 592 +**(% style="color:blue" %)Downlink control command:** 585 585 586 -**0x08 command**: Poll an uplink with current command set in RS485-LN. 594 +**(% style="color:#4472C4" %) 0x08 command**(%%): Poll an uplink with current command set in RS485-LN. 587 587 588 -**0xA8 command**: Send a command to RS485-LN and uplink the output from sensors. 596 +**(% style="color:#4472C4" %) 0xA8 command**(%%): Send a command to RS485-LN and uplink the output from sensors. 589 589 590 590 591 591 ... ... @@ -594,6 +594,7 @@ 594 594 595 595 RS485-LN support external Interrupt uplink since hardware v1.2 release. 596 596 605 + 597 597 (% aria-label="1654157342174-798.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:1654157342174-798.png||data-widget="image"]](% style="background-image:url(http://wiki.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" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]](% title="Click and drag to resize" %) 598 598 599 599 Connect the Interrupt pin to RS485-LN INT port and connect the GND pin to V- port. When there is a high voltage (Max 24v) on INT pin. Device will send an uplink packet. ... ... @@ -603,8 +603,10 @@ 603 603 == 3.4 Uplink Payload == 604 604 605 605 606 -(% aria-label="image-20220606110929-1.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220606110929-1.png||data-widget="image"]](% style="background-image:url(http://wiki.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" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]] (% title="Click and drag to resize" %)615 +(% aria-label="image-20220606110929-1.png image widget" contenteditable="false" role="region" tabindex="-1" %)[[image:image-20220606110929-1.png||data-widget="image"]](% style="background-image:url(http://wiki.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" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||draggable="true" height="15" role="presentation" title="Click and drag to move" width="15"]] 607 607 617 +(% title="Click and drag to resize" %) 618 + 608 608 Below is the decoder for the first 3 bytes. The rest bytes are dynamic depends on different RS485 sensors. 609 609 610 610 ... ... @@ -668,7 +668,7 @@ 668 668 (% style="color:#037691" %)**AT Command** 669 669 670 670 ((( 671 -**AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m** m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 682 +**(% style="color:#4472C4" %) AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m** (%%) m: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command 672 672 ))) 673 673 ))) 674 674 ... ... @@ -681,7 +681,7 @@ 681 681 ))) 682 682 683 683 ((( 684 -Format: A8 MM NN XX XX XX XX YY 695 +Format:(%%) **(% style="color:#4472C4" %) A8 MM NN XX XX XX XX YY** 685 685 ))) 686 686 687 687 ((( ... ... @@ -790,7 +790,7 @@ 790 790 * ((( 791 791 (% style="color:#037691" %)**AT Command:** 792 792 793 -**AT+PAYVER: **Set PAYVER field = 1 804 +**(% style="color:#4472C4" %) AT+PAYVER: ** (%%) Set PAYVER field = 1 794 794 795 795 796 796 ))) ... ... @@ -799,18 +799,18 @@ 799 799 ))) 800 800 801 801 ((( 802 -**0xAE 01** ~-~-> Set PAYVER field = 0x01 813 +**(% style="color:#4472C4" %) 0xAE 01** (%%) ~-~-> Set PAYVER field = 0x01 803 803 ))) 804 804 805 805 ((( 806 -**0xAE 0F** ~-~-> Set PAYVER field = 0x0F 817 +**(% style="color:#4472C4" %) 0xAE 0F** (%%) ~-~-> Set PAYVER field = 0x0F 807 807 ))) 808 808 809 809 810 -1)Add the interrupt flag at the highest bit of the Payver byte, that is, Byte7 of the first byte. (Since v1.4.0)[[image:image-20220824145428-2.png||height="168" width="1300"]] 821 +1) Add the interrupt flag at the highest bit of the Payver byte, that is, Byte7 of the first byte. (Since v1.4.0)[[image:image-20220824145428-2.png||height="168" width="1300"]] 811 811 812 812 813 -2)if the data intercepted by AT+DATACUT or AT+MBFUN is empty, it will display NULL, and the payload will be filled with n FFs. 824 +2) if the data intercepted by AT+DATACUT or AT+MBFUN is empty, it will display NULL, and the payload will be filled with n FFs. 814 814 815 815 [[image:image-20220824145428-3.png||height="308" width="1200"]] 816 816 ... ... @@ -834,9 +834,9 @@ 834 834 (% style="color:#037691" %)**AT Command:** 835 835 ))) 836 836 837 -**AT+COMMANDx: **Configure RS485 read command to sensor. 848 +**(% style="color:#4472C4" %) AT+COMMANDx: ** (%%) Configure RS485 read command to sensor. 838 838 839 -**AT+DATACUTx: **Configure how to handle return from RS485 devices. 850 +**(% style="color:#4472C4" %) AT+DATACUTx: **(%%) Configure how to handle return from RS485 devices. 840 840 841 841 842 842 * ((( ... ... @@ -844,19 +844,19 @@ 844 844 ))) 845 845 846 846 ((( 847 -**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 858 +**(% style="color:#4472C4" %) 0xAF**(%%) downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 848 848 849 849 850 850 ))) 851 851 852 852 ((( 853 -(% style="color:red" %)**Note **(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.864 +(% style="color:red" %)**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.** 854 854 855 855 856 856 ))) 857 857 858 858 ((( 859 -Format: AF MM NN LL XX XX XX XX YY 870 +Format: (%%)**(% style="color:#4472C4" %) AF MM NN LL XX XX XX XX YY** 860 860 ))) 861 861 862 862 ((( ... ... @@ -904,7 +904,7 @@ 904 904 905 905 906 906 ((( 907 -**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]]. 918 +**(% style="color:#4472C4" %) 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]]. 908 908 ))) 909 909 910 910 ((( ... ... @@ -956,7 +956,7 @@ 956 956 * ((( 957 957 (% style="color:#037691" %)** AT Command:** 958 958 959 -**AT+CMDDLaa=hex(bb cc)*1000** 970 +**(% style="color:#4472C4" %) AT+CMDDLaa=hex(bb cc)*1000** 960 960 ))) 961 961 962 962 ((( ... ... @@ -966,7 +966,7 @@ 966 966 ))) 967 967 968 968 ((( 969 -**AT+CMDDL1=1000** to send the open time to 1000ms 980 +**(% style="color:#4472C4" %) AT+CMDDL1=1000** (%%)to send the open time to 1000ms 970 970 ))) 971 971 972 972 ((( ... ... @@ -978,7 +978,7 @@ 978 978 ))) 979 979 980 980 ((( 981 -**0x AA aa bb cc** 992 +**(% style="color:#4472C4" %) 0x AA aa bb cc** 982 982 ))) 983 983 984 984 ((( ... ... @@ -1010,14 +1010,14 @@ 1010 1010 * ((( 1011 1011 (% style="color:#037691" %)** AT Command:** 1012 1012 1013 -**AT+DATAUP=0** 1024 +**(% style="color:#4472C4" %) AT+DATAUP=0** 1014 1014 1015 -**AT+DATAUP=1** 1026 +**(% style="color:#4472C4" %) AT+DATAUP=1** 1016 1016 1017 1017 1018 1018 ))) 1019 1019 1020 -**0xAD 01 00 00 14** **~-~->** Same as AT+DATAUP=1,20000 ~/~/(00 00 14 is 20 seconds) 1031 +**(% style="color:#4472C4" %) 0xAD 01 00 00 14** (%%) **~-~->** Same as AT+DATAUP=1,20000 ~/~/(00 00 14 is 20 seconds) 1021 1021 1022 1022 Each uplink is sent to the server at 20-second intervals when segmented. 1023 1023 ... ... @@ -1026,9 +1026,9 @@ 1026 1026 (% style="color:#037691" %)** Downlink Payload:** 1027 1027 ))) 1028 1028 1029 -**0xAD 00** **~-~->** Same as AT+DATAUP=0 1040 +**(% style="color:#4472C4" %) 0xAD 00** (%%) **~-~->** Same as AT+DATAUP=0 1030 1030 1031 -**0xAD 01** **~-~->** Same as AT+DATAUP=1 ~/~/Each uplink is sent to the server one after the other as it is segmented. 1042 +**(% style="color:#4472C4" %) 0xAD 01** (%%) **~-~->** Same as AT+DATAUP=1 ~/~/Each uplink is sent to the server one after the other as it is segmented. 1032 1032 1033 1033 1034 1034 * ((( ... ... @@ -1035,7 +1035,7 @@ 1035 1035 (% style="color:#037691" %)** AT Command:** 1036 1036 ))) 1037 1037 1038 -**AT+DATAUP=1,Timeout** 1049 +**(% style="color:#4472C4" %) AT+DATAUP=1,Timeout** 1039 1039 1040 1040 1041 1041 * ((( ... ... @@ -1042,10 +1042,12 @@ 1042 1042 (% style="color:#037691" %)** Downlink Payload:** 1043 1043 ))) 1044 1044 1045 -**0xAD 01 00 00 14** **~-~->** Same as AT+DATAUP=1,20000 ~/~/(00 00 14 is 20 seconds) 1056 +**(% style="color:#4472C4" %) 0xAD 01 00 00 14** (%%) **~-~->** Same as AT+DATAUP=1,20000 ~/~/(00 00 14 is 20 seconds) 1046 1046 1047 1047 Each uplink is sent to the server at 20-second intervals when segmented. 1048 1048 1060 + 1061 + 1049 1049 ==== (% style="color:blue" %)**Manually trigger an Uplink**(%%) ==== 1050 1050 1051 1051 ... ... @@ -1070,7 +1070,7 @@ 1070 1070 ))) 1071 1071 1072 1072 ((( 1073 -**0x08 FF**, RS485-LN will immediately send an uplink. 1086 +**(% style="color:#4472C4" %) 0x08 FF**(%%), RS485-LN will immediately send an uplink. 1074 1074 ))) 1075 1075 1076 1076 ... ... @@ -1090,7 +1090,7 @@ 1090 1090 ))) 1091 1091 1092 1092 ((( 1093 -**AT+CMDEAR=mm,nn** mm: start position of erase ,nn: stop position of erase 1106 +**(% style="color:#4472C4" %) AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase 1094 1094 ))) 1095 1095 1096 1096 ((( ... ... @@ -1117,7 +1117,7 @@ 1117 1117 ))) 1118 1118 1119 1119 ((( 1120 -**0x09 aa bb** same as AT+CMDEAR=aa,bb 1133 +**(% style="color:#4472C4" %) 0x09 aa bb** (%%) same as AT+CMDEAR=aa,bb 1121 1121 ))) 1122 1122 1123 1123 ... ... @@ -1140,7 +1140,7 @@ 1140 1140 * Set Baud Rate 1141 1141 ))) 1142 1142 1143 -**AT+BAUDR=9600** ~/~/ Options: (200~~115200) When using low baud rate or receiving multiple bytes, you need to use AT+CMDDL to increase the receive timeout (the default receive timeout is 400ms), otherwise data will be lost 1156 +**(% style="color:#4472C4" %) AT+BAUDR=9600** (%%) ~/~/ Options: (200~~115200) When using low baud rate or receiving multiple bytes, you need to use AT+CMDDL to increase the receive timeout (the default receive timeout is 400ms), otherwise data will be lost 1144 1144 1145 1145 1146 1146 ((( ... ... @@ -1147,7 +1147,7 @@ 1147 1147 * Set UART Parity 1148 1148 ))) 1149 1149 1150 -**AT+PARITY=0** ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 1163 +**(% style="color:#4472C4" %) AT+PARITY=0** (%%) ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity 1151 1151 1152 1152 1153 1153 (((