Changes for page End Device AT Commands and Downlink Command
Last modified by kai on 2024/09/06 10:00
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Edwin1 +XWiki.Xiaoling - Content
-
... ... @@ -9,11 +9,12 @@ 9 9 10 10 Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands: 11 11 12 -* (% style="color:blue" %)**Common Commands:**(%%)They should be available for each sensor, such as: change uplink interval, reset device.13 -* (% style="color:blue" %)**Sensor Related Commands:**(%%)Only for special sensor, such as control relay, poll RS485 device.12 +* **Common Commands:** They should be available for each sensor, such as: change uplink interval, reset device. 13 +* **Sensor Related Commands:** Only for special sensor, such as control relay, poll RS485 device. 14 14 15 15 ((( 16 16 **This page shows the common commands since Dragino LoRaWAN stack DR-LWS-005. Make sure the end node support stack higher than DR-LWS-005 before checking this page.** 17 + 17 17 18 18 19 19 ))) ... ... @@ -21,13 +21,14 @@ 21 21 = 2. How to use AT Commands or Downlink command = 22 22 23 23 24 -* **AT Command**:See Devices User Manual forhow to connect to devicevia USB TTL adapter and use. The user manual can be found in each product page of [[Dragino Official Website>>url:http://www.dragino.com/]]25 -* **LoRaWAN DownlinkCommand**: The gateway transfer downlink command in HEX format. This page shows theDownlinkCommandIn HEXformat.PleasenotesomeLoRaWANservers use base64 as downlink codeso user need to convert HEX to Base64 and use. Below are referencesfor how to use downlink command:25 +* For AT Command , See Devices User Manual for Device. The user manual can be found in each product page of [[Dragino Official Website>>url:http://www.dragino.com/]] 26 +* For LoRaWAN Downlink: The gateway transfer downlink command in HEX format. This page shows the HEX format downlink code for each command. but some servers use base64 as downlink code. Below are reference for how to use downlink command: 26 26 ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]] 27 -** Use Base64 format to send a downlink: [[Chirpstack>>Notes for ChirpStack]] , [[How to Convert>>http://wiki.dragino.com/xwiki/bin/view/Main/Notes%20for%20ChirpStack/#H4.1ConvertHEXtoBase64]]?28 +** Use Base64 format to send a downlink: [[Chirpstack>>Notes for ChirpStack]] 28 28 ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server) 29 29 30 30 32 + 31 31 = 3. Support End Node and firmware version = 32 32 33 33 ... ... @@ -105,6 +105,7 @@ 105 105 106 106 = 4. System Management Commands = 107 107 110 + 108 108 == 4.1 Change Uplink Interval == 109 109 110 110 ... ... @@ -134,7 +134,7 @@ 134 134 ))) 135 135 136 136 ((( 137 -If the downlink payload=0100003C, it means set the END Node 's Transmit Interval to 0x00003C=60(S), while type code is 01.140 +If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01. 138 138 ))) 139 139 140 140 * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds ... ... @@ -175,6 +175,7 @@ 175 175 ((( 176 176 If the downlink payload=**04FF**, the end node will reboot. 177 177 181 + 178 178 179 179 ))) 180 180 ... ... @@ -214,6 +214,7 @@ 214 214 ))) 215 215 216 216 221 + 217 217 == 4.4 Show Firmware Version == 218 218 219 219 ... ... @@ -244,6 +244,7 @@ 244 244 ((( 245 245 246 246 252 + 247 247 **xx: Software Type:** 248 248 ))) 249 249 ... ... @@ -277,6 +277,7 @@ 277 277 firmware version: v1.1.0 ~-~-> 110 278 278 279 279 286 + 280 280 == 4.5 Show System Configure == 281 281 282 282 ... ... @@ -305,6 +305,7 @@ 305 305 306 306 = 5. Keys, IDs and EUIs management = 307 307 315 + 308 308 == 5.1 Application EUI == 309 309 310 310 ... ... @@ -432,8 +432,10 @@ 432 432 433 433 = 6. Joining and sending date on LoRaWAN network = 434 434 443 + 435 435 == 6.1 Confirm Mode == 436 436 446 + 437 437 === 6.1.1 AT+CFM command before DR-LWS007 software stack === 438 438 439 439 ... ... @@ -461,6 +461,7 @@ 461 461 * **Example 2:** Downlink Payload: 0500 ~/~/ Set AT+CFM=0 462 462 463 463 474 + 464 464 === 6.1.2 AT+CFM command since DR-LWS007 software stack === 465 465 466 466 ... ... @@ -507,6 +507,7 @@ 507 507 * **Example 2:** Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 508 508 509 509 521 + 510 510 == 6.2 Confirm Status == 511 511 512 512 ... ... @@ -515,10 +515,10 @@ 515 515 516 516 (% style="color:blue" %)**AT Command: AT+CFS** 517 517 518 -(% border="1" style="background-color:#ffffcc; color:green; width: 463px" %)519 -|=(% colspan="3" style="width: 460px;" %)AT+CFS520 -|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:1 07px" %)**Response**521 -|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:1 07px" %)0(((530 +(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 531 +|=(% colspan="3" style="width: 531px;" %)AT+CFS 532 +|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response** 533 +|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)0((( 522 522 OK 523 523 ))) 524 524 ... ... @@ -568,6 +568,7 @@ 568 568 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 569 569 570 570 583 + 571 571 == 6.5 LoRa® Network Join Status == 572 572 573 573 ... ... @@ -644,11 +644,11 @@ 644 644 645 645 (% style="color:blue" %)**AT Command: AT+SENDB** 646 646 647 -(% border="1" style="background-color:#ffffcc; color:green; width:110 1px" %)648 -|=(% colspan="3" style="width: 1 098px;" %)AT+SENDB649 -|(% style="width:257px" %)**Command Example**|(% style="width: 394px" %)**Function**|(% style="width:446px" %)**Response**650 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width: 394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK651 -|(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width: 394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)While Error in format, return(((660 +(% border="1" style="background-color:#ffffcc; color:green; width:1120.22px" %) 661 +|=(% colspan="3" style="width: 1117px;" %)AT+SENDB 662 +|(% style="width:257px" %)**Command Example**|(% style="width:406px" %)**Function**|(% style="width:453px" %)**Response** 663 +|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)OK 664 +|(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)While Error in format, return((( 652 652 AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 653 653 654 654 ... ... @@ -657,6 +657,7 @@ 657 657 658 658 = 7. LoRaWAN network management = 659 659 673 + 660 660 == 7.1 Adaptive Data Rate == 661 661 662 662 ... ... @@ -690,7 +690,7 @@ 690 690 Feature: Get or Set the Device Class(Currently only support class A, class C). 691 691 692 692 693 -(% style="color:blue" %)**AT Command: 707 +(% style="color:blue" %)**AT Command:AT+CLASS** 694 694 695 695 (% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %) 696 696 |=(% colspan="3" style="width: 504px;" %)AT+CLASS ... ... @@ -706,10 +706,10 @@ 706 706 == 7.3 Duty Cycle Setting == 707 707 708 708 709 -Feature: Get or Set the ETSI Duty Cycle setting **- 0**=disable,**1**=enable - Only for testing.723 +Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing. 710 710 711 711 712 -(% style="color:blue" %)**AT Command: 726 +(% style="color:blue" %)**AT Command:AT+DCS** 713 713 714 714 (% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %) 715 715 |=(% colspan="3" style="width: 512px;" %)AT+DCS ... ... @@ -725,14 +725,9 @@ 725 725 == 7.4 Data Rate == 726 726 727 727 728 -Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) . 742 +Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) . Note: while set Data Rate, please use set Adptive Data Rate, ADR=0 first. otherwise device will response to server's ADR command and change the DR to the setting from server 729 729 730 -(% style="color:red" %) 731 -**Notice:** 732 732 733 -* User need to set Adaptive Data Rate(ADR)=0 first. otherwise device will respond to server's ADR command and change the DR according to server auto-adjustment. 734 -* Data Rate specifies Spreading Factor. The mapping varies in different frequency bands. User can check this link for detail. [[rp2-1.0.3-lorawan-regional-parameters.pdf>>https://lora-alliance.org/resource_hub/rp2-1-0-3-lorawan-regional-parameters/]] 735 - 736 736 (% style="color:blue" %)**AT Command: AT+DR** 737 737 738 738 (% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %) ... ... @@ -759,7 +759,7 @@ 759 759 Feature: Get or Set the Frame Counter Downlink. 760 760 761 761 762 -(% style="color:blue" %)**AT Command: 771 +(% style="color:blue" %)**AT Command:AT+FCD** 763 763 764 764 (% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %) 765 765 |=(% colspan="3" style="width: 690px;" %)AT+FCD ... ... @@ -777,7 +777,7 @@ 777 777 Feature: Get or Set the Frame Counter Uplink. 778 778 779 779 780 -(% style="color:blue" %)**AT Command: 789 +(% style="color:blue" %)**AT Command:AT+FCU** 781 781 782 782 (% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 783 783 |=(% colspan="3" style="width: 531px;" %)AT+FCU ... ... @@ -796,7 +796,7 @@ 796 796 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms. 797 797 798 798 799 -(% style="color:blue" %)**AT Command: 808 +(% style="color:blue" %)**AT Command:AT+JN1DL** 800 800 801 801 (% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %) 802 802 |=(% colspan="3" style="width: 534px;" %)AT+JN1DL ... ... @@ -811,11 +811,10 @@ 811 811 812 812 == 7.8 Join Accept Delay2 == 813 813 814 - 815 815 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms. 816 816 817 817 818 -(% style="color:blue" %)**AT Command: 826 +(% style="color:blue" %)**AT Command:AT+JN2DL** 819 819 820 820 (% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %) 821 821 |=(% colspan="3" style="width: 535px;" %)AT+JN2DL ... ... @@ -836,7 +836,7 @@ 836 836 (% style="color:red" %)**Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network.** 837 837 838 838 839 -(% style="color:blue" %)**AT Command: 847 +(% style="color:blue" %)**AT Command:AT+PNM** 840 840 841 841 (% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %) 842 842 |=(% colspan="3" style="width: 664px;" %)AT+PNM ... ... @@ -862,7 +862,7 @@ 862 862 Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms 863 863 864 864 865 -(% style="color:blue" %)**AT Command: 873 +(% style="color:blue" %)**AT Command:AT+RX1DL** 866 866 867 867 (% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %) 868 868 |=(% colspan="3" style="width: 405px;" %)AT+RX1DL ... ... @@ -881,7 +881,7 @@ 881 881 Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms 882 882 883 883 884 -(% style="color:blue" %)**AT Command: 892 +(% style="color:blue" %)**AT Command:AT+RX2DL** 885 885 886 886 (% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %) 887 887 |=(% colspan="3" style="width: 478px;" %)AT+RX2DL ... ... @@ -900,7 +900,7 @@ 900 900 Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X) 901 901 902 902 903 -(% style="color:blue" %)**AT Command: 911 +(% style="color:blue" %)**AT Command:AT+RX2DR** 904 904 905 905 (% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %) 906 906 |=(% colspan="3" style="width: 522px;" %)AT+RX2DR ... ... @@ -919,7 +919,7 @@ 919 919 Feature: Get or Set the Rx2 window frequency 920 920 921 921 922 -(% style="color:blue" %)**AT Command: 930 +(% style="color:blue" %)**AT Command:AT+RX2FQ** 923 923 924 924 (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 925 925 |=(% colspan="3" style="width: 584px;" %)AT+RX2FQ ... ... @@ -937,10 +937,10 @@ 937 937 938 938 Feature: Get or Set the Transmit Power(0-5, MAX:0, MIN:5, according to LoRaWAN Spec, or 40=10dB, 41 = 11dB, …, 50 = 20dB which is out of LoRaWAN spec. ) 939 939 940 - (% style="color:red" %)**Notice: Transmit Power might be changed by ADR from LoRaWAN server. So manually change TXP also remember to set AT+ADR=0 in sensor**948 +Notice: Transmit Power might be changed by ADR from LoRaWAN server. So manually change TXP also remember to set AT+ADR=0 in sensor 941 941 942 942 943 -(% style="color:blue" %)**AT Command: 951 +(% style="color:blue" %)**AT Command:AT+TXP** 944 944 945 945 (% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %) 946 946 |=(% colspan="3" style="width: 462px;" %)AT+TXP ... ... @@ -960,6 +960,7 @@ 960 960 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+TXP=0. 961 961 962 962 971 + 963 963 == 7.15 RSSI of the Last Received Packet == 964 964 965 965 ... ... @@ -982,7 +982,7 @@ 982 982 Feature: Get the SNR of the last received packet 983 983 984 984 985 -(% style="color:blue" %)**AT Command: 994 +(% style="color:blue" %)**AT Command:AT+SNR** 986 986 987 987 (% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %) 988 988 |=(% colspan="3" style="width: 568px;" %)AT+SNR ... ... @@ -1018,6 +1018,7 @@ 1018 1018 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 1019 1019 1020 1020 1030 + 1021 1021 == 7.18 Single Channel Mode == 1022 1022 1023 1023 ... ... @@ -1053,7 +1053,7 @@ 1053 1053 ))) 1054 1054 |(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK 1055 1055 1056 -(% style="color:blue" %)**Downlink Command: 0x24 (LHT65,LHT65N Downlink Command:0x07)**1066 +(% style="color:blue" %)**Downlink Command: 0x24** 1057 1057 1058 1058 Format: Command Code (0x24) followed by 1 bytes channel value. 1059 1059 ... ... @@ -1063,6 +1063,7 @@ 1063 1063 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 1064 1064 1065 1065 1076 + 1066 1066 == 7.20 Get or Set RXwindows1 timeout == 1067 1067 1068 1068 ... ... @@ -1082,9 +1082,8 @@ 1082 1082 ((( 1083 1083 1084 1084 1096 +**AT+RX1TWO** is theRxSingle timeout value of receive window 1. If it is not set, then the queriedvalue is the default value. If it is set, then the queried value is the setvalue. AT+RX2TWO is thesame as above. The definitionof RxSingle timeout is as described in the following paragraph. 1085 1085 1086 -(% style="color:blue" %)**AT+RX1WTO**(%%) is theRxSingle timeout value of receive window 1. If it is not set, then the queriedvalue is the default value. If it is set, then the queried value is the setvalue. AT+RX2TWO is thesame as above. The definitionof RxSingle timeout is as described in the following paragraph. 1087 - 1088 1088 1089 1089 ))) 1090 1090 ... ... @@ -1140,6 +1140,7 @@ 1140 1140 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1141 1141 1142 1142 1153 + 1143 1143 == 7.23 Set Packet Receiving Response Level == 1144 1144 1145 1145 ... ... @@ -1180,6 +1180,7 @@ 1180 1180 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1181 1181 1182 1182 1194 + 1183 1183 == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1184 1184 1185 1185 ... ... @@ -1211,16 +1211,12 @@ 1211 1211 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1212 1212 1213 1213 1226 + 1214 1214 == 7.25 Device offline rejoining (LWS007) == 1215 1215 1216 1216 1217 1217 (% style="color:blue" %)**AT Command: AT+DDETECT** 1218 1218 1219 -AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880) 1220 - 1221 -* ACK_Timout_1: Unit: min 1222 -* ACK_Timout_2: Unit: min 1223 - 1224 1224 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1225 1225 |=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1226 1226 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** ... ... @@ -1252,19 +1252,16 @@ 1252 1252 OK 1253 1253 ))) 1254 1254 1255 -(% style="color:blue" %)**Downlink Command: 0x3 2**1263 +(% style="color:blue" %)**Downlink Command: 0x33** 1256 1256 1257 1257 Format: Command Code (0x32) followed by 2 bytes mode value. 1258 1258 1259 -If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 3 2.1267 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 33. 1260 1260 1261 -* **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1262 -** 0x01 : Flag 1263 -** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours) 1264 -** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours) 1265 -** **Explain**: Enable Online Detect, if end node doesn't receive any downlink within ACK_Timout_1( 1440 minutes or 24 hours). End node will use confirmed uplink to send packets during ACK_Timout_1 (the 24th hour) to ACK_Timout_2 ( the 48th hour). If from the 24th to 48th hour, end node got an downlink from server, it will switch back to unconfirmed uplink. end node will restart ACK_Timout_1. If from the 24th to 48th hour, end node still not got any downlink, means device doesn't get ACK from server within last 48 hours. Device will process rejoin, rejoin request interval is AT+RJTDC period. For AU915/ US915, device will use the sub-band used for last join. 1269 +* **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1266 1266 1267 1267 1272 + 1268 1268 == 7.26 Request the server to send an ACK == 1269 1269 1270 1270 ... ... @@ -1291,13 +1291,13 @@ 1291 1291 (% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 1292 1292 |=(% colspan="3" style="width: 724px;" %)AT+RJTDC 1293 1293 |(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** 1294 -|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30((( 1299 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000((( 1295 1295 OK 1296 1296 1297 -the interval is 30 in1302 +the interval is 30000ms = 30s 1298 1298 ))) 1299 -|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK((( 1300 -Set the ReJoin data transmission interval to 60 in1304 +|(% style="width:165px" %)AT+RJTDC=60000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK((( 1305 +Set the ReJoin data transmission interval to 60000ms = 60 seconds 1301 1301 ))) 1302 1302 1303 1303 (% style="color:blue" %)**Downlink Command: 0x26** ... ... @@ -1310,15 +1310,18 @@ 1310 1310 * **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1311 1311 1312 1312 1318 + 1313 1313 = 8. AT Commands Combination = 1314 1314 1321 + 1315 1315 == 8.1 Set a fix RX2DR for downlink window == 1316 1316 1317 1317 1318 -* (% style="color:blue" %)**AT+ADR=0 **(%%)**~-~->** Disable ADR first1319 -* (% style="color:blue" %)**AT+RX2DR=xxxx**(%%)**~-~->** Set xxxx to your wanted DataRate1325 +* **AT+ADR=0 ** **~-~->** Disable ADR first 1326 +* **AT+RX2DR=xxxx** **~-~->** Set xxxx to your wanted DataRate 1320 1320 1321 1321 1329 + 1322 1322 == 8.2 Use Downlink Command to set a fix uplink DR == 1323 1323 1324 1324