Changes for page End Device AT Commands and Downlink Command
Last modified by kai on 2024/09/06 10:00
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -14,9 +14,10 @@ 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 + 18 + 17 17 ))) 18 18 19 - 20 20 = 2. How to use AT Commands or Downlink command = 21 21 22 22 ... ... @@ -26,8 +26,8 @@ 26 26 ** 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]]? 27 27 ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server) 28 28 29 -(% style="display:none" %) (%%) 30 30 31 + 31 31 = 3. Support End Node and firmware version = 32 32 33 33 ... ... @@ -102,8 +102,8 @@ 102 102 ))) 103 103 ))) 104 104 105 -(% style="display:none" %) (%%) 106 106 107 + 107 107 = 4. System Management Commands = 108 108 109 109 == 4.1 Change Uplink Interval == ... ... @@ -141,8 +141,8 @@ 141 141 * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 142 142 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 143 143 144 -(% style="display:none" %) (%%) 145 145 146 + 146 146 == 4.2 Reboot End Node == 147 147 148 148 ... ... @@ -175,10 +175,11 @@ 175 175 ))) 176 176 177 177 ((( 178 -If the downlink payload=**04FF**, the end node will reboot. 179 +If the downlink payload=**04FF**, the end node will reboot. 180 + 181 + 179 179 ))) 180 180 181 - 182 182 == 4.3 Reset to factory Default == 183 183 184 184 ... ... @@ -303,6 +303,8 @@ 303 303 OK 304 304 ))) 305 305 308 + 309 + 306 306 = 5. Keys, IDs and EUIs management = 307 307 308 308 == 5.1 Application EUI == ... ... @@ -321,8 +321,8 @@ 321 321 ))) 322 322 |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK 323 323 324 -(% style="display:none" %) (%%) 325 325 329 + 326 326 == 5.2 Application Key == 327 327 328 328 ... ... @@ -339,8 +339,8 @@ 339 339 ))) 340 340 |(% style="width:441px" %)AT+APPKEY=00 35 55 55 22 23 55 53 43 24 23 42 34 35 35 35|(% style="width:180px" %)Set the Application Key|(% style="width:350px" %)OK 341 341 342 -(% style="display:none" %) (%%) 343 343 347 + 344 344 == 5.3 Application Session Key == 345 345 346 346 ... ... @@ -359,8 +359,8 @@ 359 359 OK 360 360 ))) 361 361 362 -(% style="display:none" %) (%%) 363 363 367 + 364 364 == 5.4 Device Address == 365 365 366 366 ... ... @@ -379,8 +379,8 @@ 379 379 ))) 380 380 |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK 381 381 382 -(% style="display:none" %) (%%) 383 383 387 + 384 384 == 5.5 Device EUI == 385 385 386 386 ... ... @@ -399,8 +399,8 @@ 399 399 OK 400 400 ))) 401 401 402 -(% style="display:none" %) (%%) 403 403 407 + 404 404 == 5.6 Network ID == 405 405 406 406 ... ... @@ -417,8 +417,8 @@ 417 417 ))) 418 418 |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK 419 419 420 -(% style="display:none" %) (%%) 421 421 425 + 422 422 == 5.7 Network Session Key == 423 423 424 424 ... ... @@ -435,8 +435,8 @@ 435 435 ))) 436 436 |(% style="width:455px" %)AT+NWKSKEY=A8 40 41 FF FF 12 34 56 00 01 02 04 05 06 06 07|(% style="width:215px" %)Set the Network Session Key.|(% style="width:343px" %)OK 437 437 438 -(% style="display:none" %) (%%) 439 439 443 + 440 440 = 6. Joining and sending date on LoRaWAN network = 441 441 442 442 == 6.1 Confirm Mode == ... ... @@ -467,8 +467,8 @@ 467 467 * **Example 1:** Downlink Payload: 0501 ~/~/ Set AT+CFM=1 468 468 * **Example 2:** Downlink Payload: 0500 ~/~/ Set AT+CFM=0 469 469 470 -(% style="display:none" %) (%%) 471 471 475 + 472 472 === 6.1.2 AT+CFM command since DR-LWS007 software stack === 473 473 474 474 ... ... @@ -514,8 +514,8 @@ 514 514 * **Example 1:** Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 515 515 * **Example 2:** Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 516 516 517 -(% style="display:none" %) (%%) 518 518 522 + 519 519 == 6.2 Confirm Status == 520 520 521 521 ... ... @@ -531,6 +531,8 @@ 531 531 OK 532 532 ))) 533 533 538 + 539 + 534 534 == 6.3 Join LoRa® Network == 535 535 536 536 ... ... @@ -548,6 +548,8 @@ 548 548 While Error in format, return AT_BUSY_ERROR 549 549 ))) 550 550 557 + 558 + 551 551 == 6.4 LoRa® Network Join Mode == 552 552 553 553 ... ... @@ -574,8 +574,8 @@ 574 574 * **Example 1: **Downlink Payload: **2000 ** ~/~/ Set AT+NJM=0 575 575 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 576 576 577 -(% style="display:none" %) (%%) 578 578 586 + 579 579 == 6.5 LoRa® Network Join Status == 580 580 581 581 ... ... @@ -591,8 +591,8 @@ 591 591 OK 592 592 ))) 593 593 594 -(% style="display:none" %) (%%) 595 595 603 + 596 596 == 6.6 Print Last Received Data in Raw Format == 597 597 598 598 ... ... @@ -608,8 +608,8 @@ 608 608 OK 609 609 ))) 610 610 611 -(% style="display:none" %) (%%) 612 612 620 + 613 613 == 6.7 Print Last Received Data in Binary Format == 614 614 615 615 ... ... @@ -625,8 +625,8 @@ 625 625 OK 626 626 ))) 627 627 628 -(% style="display:none" %) (%%) 629 629 637 + 630 630 == 6.8 Send Text Data == 631 631 632 632 ... ... @@ -640,11 +640,14 @@ 640 640 |(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response** 641 641 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK((( 642 642 While Error in format, return 651 + 643 643 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 653 + 654 + 644 644 ))) 645 645 646 -(% style="display:none" %) (%%) 647 647 658 + 648 648 == 6.9 Send Hexadecimal Data == 649 649 650 650 ... ... @@ -658,11 +658,13 @@ 658 658 |(% style="width:257px" %)**Command Example**|(% style="width:394px" %)**Function**|(% style="width:446px" %)**Response** 659 659 |(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK 660 660 |(% 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((( 661 -AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 672 +AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 673 + 674 + 662 662 ))) 663 663 664 -(% style="display:none" %) (%%) 665 665 678 + 666 666 = 7. LoRaWAN network management = 667 667 668 668 == 7.1 Adaptive Data Rate == ... ... @@ -691,8 +691,8 @@ 691 691 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 692 692 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 693 693 694 -(% style="display:none" %) (%%) 695 695 708 + 696 696 == 7.2 LoRa® Class == 697 697 698 698 ... ... @@ -711,8 +711,8 @@ 711 711 712 712 ))) 713 713 714 -(% style="display:none" %) (%%) 715 715 728 + 716 716 == 7.3 Duty Cycle Setting == 717 717 718 718 ... ... @@ -731,8 +731,8 @@ 731 731 732 732 ))) 733 733 734 -(% style="display:none" %) (%%) 735 735 748 + 736 736 == 7.4 Data Rate == 737 737 738 738 ... ... @@ -763,8 +763,8 @@ 763 763 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 764 764 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 765 765 766 -(% style="display:none" %) (%%) 767 767 780 + 768 768 == 7.5 Frame Counter Downlink == 769 769 770 770 ... ... @@ -783,6 +783,8 @@ 783 783 OK 784 784 ))) 785 785 799 + 800 + 786 786 == 7.6 Frame Counter Uplink == 787 787 788 788 Feature: Get or Set the Frame Counter Uplink. ... ... @@ -800,8 +800,8 @@ 800 800 801 801 ))) 802 802 803 -(% style="display:none" %) (%%) 804 804 819 + 805 805 == 7.7 Join Accept Delay1 == 806 806 807 807 ... ... @@ -820,8 +820,8 @@ 820 820 821 821 ))) 822 822 823 -(% style="display:none" %) (%%) 824 824 839 + 825 825 == 7.8 Join Accept Delay2 == 826 826 827 827 ... ... @@ -840,8 +840,8 @@ 840 840 841 841 ))) 842 842 843 -(% style="display:none" %) (%%) 844 844 859 + 845 845 == 7.9 Public Network Mode == 846 846 847 847 ... ... @@ -869,8 +869,8 @@ 869 869 ))) 870 870 |(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 871 871 872 -(% style="display:none" %) (%%) 873 873 888 + 874 874 == 7.10 Receive Delay1 == 875 875 876 876 ... ... @@ -889,8 +889,8 @@ 889 889 890 890 ))) 891 891 892 -(% style="display:none" %) (%%) 893 893 908 + 894 894 == 7.11 Receive Delay2 == 895 895 896 896 ... ... @@ -909,8 +909,8 @@ 909 909 910 910 ))) 911 911 912 -(% style="display:none" %) (%%) 913 913 928 + 914 914 == 7.12 Rx2 Window Data Rate == 915 915 916 916 ... ... @@ -929,8 +929,8 @@ 929 929 930 930 ))) 931 931 932 -(% style="display:none" %) (%%) 933 933 948 + 934 934 == 7.13 Rx2 Window Frequency == 935 935 936 936 ... ... @@ -949,8 +949,8 @@ 949 949 950 950 ))) 951 951 952 -(% style="display:none" %) (%%) 953 953 968 + 954 954 == 7.14 Transmit Power == 955 955 956 956 ... ... @@ -978,8 +978,8 @@ 978 978 * **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 979 979 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+TXP=0. 980 980 981 -(% style="display:none" %) (%%) 982 982 997 + 983 983 == 7.15 RSSI of the Last Received Packet == 984 984 985 985 ... ... @@ -995,8 +995,8 @@ 995 995 OK 996 996 ))) 997 997 998 -(% style="display:none" %) (%%) 999 999 1014 + 1000 1000 == 7.16 SNR of the Last Received Packet == 1001 1001 1002 1002 ... ... @@ -1012,8 +1012,8 @@ 1012 1012 OK 1013 1013 ))) 1014 1014 1015 -(% style="display:none" %) (%%) 1016 1016 1031 + 1017 1017 == 7.17 Application Port == 1018 1018 1019 1019 ... ... @@ -1039,8 +1039,8 @@ 1039 1039 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 1040 1040 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 1041 1041 1042 -(% style="display:none" %) (%%) 1043 1043 1058 + 1044 1044 == 7.18 Single Channel Mode == 1045 1045 1046 1046 ... ... @@ -1057,8 +1057,8 @@ 1057 1057 ))) 1058 1058 |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK 1059 1059 1060 -(% style="display:none" %) (%%) 1061 1061 1076 + 1062 1062 == 7.19 Eight Channel Mode == 1063 1063 1064 1064 ... ... @@ -1086,8 +1086,8 @@ 1086 1086 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 1087 1087 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 1088 1088 1089 -(% style="display:none" %) (%%) 1090 1090 1105 + 1091 1091 == 7.20 Get or Set RXwindows1 timeout == 1092 1092 1093 1093 ... ... @@ -1104,19 +1104,24 @@ 1104 1104 ))) 1105 1105 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK 1106 1106 1107 -(% style="display:none" %) (%%) 1108 - 1109 1109 ((( 1123 + 1124 + 1125 + 1110 1110 (% 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. 1127 + 1128 + 1111 1111 ))) 1112 1112 1113 1113 [[image:image-20220526162535-1.png]] 1114 1114 1133 + 1115 1115 ((( 1116 1116 Increasing thisvalue is equal to extending the time that the receiving window is opened, butthe corresponding power consumption will also increase. Properly increasingthis value can increase the success rate of the downlink. 1136 + 1137 + 1117 1117 ))) 1118 1118 1119 - 1120 1120 == 7.21 Get or Set RXwindows2 timeout == 1121 1121 1122 1122 ... ... @@ -1133,8 +1133,8 @@ 1133 1133 ))) 1134 1134 |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK 1135 1135 1136 -(% style="display:none" %) (%%) 1137 1137 1157 + 1138 1138 == 7.22 Setting up uplinkdwelltime (as923, au915) == 1139 1139 1140 1140 ... ... @@ -1160,8 +1160,8 @@ 1160 1160 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1161 1161 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1162 1162 1163 -(% style="display:none" %) (%%) 1164 1164 1184 + 1165 1165 == 7.23 Set Packet Receiving Response Level == 1166 1166 1167 1167 ... ... @@ -1201,8 +1201,8 @@ 1201 1201 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1202 1202 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1203 1203 1204 -(% style="display:none" %) (%%) 1205 1205 1225 + 1206 1206 == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1207 1207 1208 1208 ... ... @@ -1233,18 +1233,13 @@ 1233 1233 * Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1234 1234 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1235 1235 1236 -(% style="display:none" %) (%%) 1237 1237 1257 + 1238 1238 == 7.25 Device offline rejoining (LWS007) == 1239 1239 1240 1240 1241 1241 (% style="color:blue" %)**AT Command: AT+DDETECT** 1242 1242 1243 -AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880) 1244 - 1245 -* ACK_Timout_1: Unit: min 1246 -* ACK_Timout_2: Unit: min 1247 - 1248 1248 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1249 1249 |=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1250 1250 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** ... ... @@ -1276,20 +1276,16 @@ 1276 1276 OK 1277 1277 ))) 1278 1278 1279 -(% style="color:blue" %)**Downlink Command: 0x3 2**1294 +(% style="color:blue" %)**Downlink Command: 0x33** 1280 1280 1281 1281 Format: Command Code (0x32) followed by 2 bytes mode value. 1282 1282 1283 -If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 3 2.1298 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 33. 1284 1284 1285 -* **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1286 -** 0x01 : Flag 1287 -** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours) 1288 -** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours) 1289 -** **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. 1300 +* **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1290 1290 1291 -(% style="display:none" %) (%%) 1292 1292 1303 + 1293 1293 == 7.26 Request the server to send an ACK == 1294 1294 1295 1295 ... ... @@ -1303,11 +1303,12 @@ 1303 1303 ))) 1304 1304 |(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)((( 1305 1305 0 1317 + 1306 1306 OK 1307 1307 ))) 1308 1308 1309 -(% style="display:none" %) (%%) 1310 1310 1322 + 1311 1311 == 7.27 Adjust network rejoining interval == 1312 1312 1313 1313 ... ... @@ -1334,8 +1334,8 @@ 1334 1334 * **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1335 1335 * **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1336 1336 1337 -(% style="display:none" %) (%%) 1338 1338 1350 + 1339 1339 = 8. AT Commands Combination = 1340 1340 1341 1341 == 8.1 Set a fix RX2DR for downlink window == ... ... @@ -1342,11 +1342,10 @@ 1342 1342 1343 1343 1344 1344 * (% style="color:blue" %)**AT+ADR=0 **(%%) **~-~->** Disable ADR first 1345 - 1346 1346 * (% style="color:blue" %)**AT+RX2DR=xxxx** (%%) **~-~->** Set xxxx to your wanted DataRate 1347 1347 1348 -(% style="display:none" %) (%%) 1349 1349 1360 + 1350 1350 == 8.2 Use Downlink Command to set a fix uplink DR == 1351 1351 1352 1352 ... ... @@ -1355,9 +1355,7 @@ 1355 1355 **Same as:** 1356 1356 1357 1357 * AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1358 - 1359 1359 * AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1360 - 1361 1361 * AT+TXP=0 [[Reference>>||anchor="H7.14TransmitPower"]] 1362 1362 1363 1363