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 ... ... @@ -291,15 +291,20 @@ 291 291 |(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response** 292 292 |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)((( 293 293 AT+DEUI = XX XX XX XX XX XX XX XX 296 + 294 294 AT+DADDR=XXXXXXXX 298 + 295 295 ………. 300 + 296 296 AT+RX2WTO=X 302 + 297 297 AT+CHS=868100000 304 + 298 298 OK 299 299 ))) 300 300 301 -(% style="display:none" %) (%%) 302 302 309 + 303 303 = 5. Keys, IDs and EUIs management = 304 304 305 305 == 5.1 Application EUI == ... ... @@ -318,8 +318,8 @@ 318 318 ))) 319 319 |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK 320 320 321 -(% style="display:none" %) (%%) 322 322 329 + 323 323 == 5.2 Application Key == 324 324 325 325 ... ... @@ -336,8 +336,8 @@ 336 336 ))) 337 337 |(% 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 338 338 339 -(% style="display:none" %) (%%) 340 340 347 + 341 341 == 5.3 Application Session Key == 342 342 343 343 ... ... @@ -356,8 +356,8 @@ 356 356 OK 357 357 ))) 358 358 359 -(% style="display:none" %) (%%) 360 360 367 + 361 361 == 5.4 Device Address == 362 362 363 363 ... ... @@ -376,8 +376,8 @@ 376 376 ))) 377 377 |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK 378 378 379 -(% style="display:none" %) (%%) 380 380 387 + 381 381 == 5.5 Device EUI == 382 382 383 383 ... ... @@ -396,8 +396,8 @@ 396 396 OK 397 397 ))) 398 398 399 -(% style="display:none" %) (%%) 400 400 407 + 401 401 == 5.6 Network ID == 402 402 403 403 ... ... @@ -414,8 +414,8 @@ 414 414 ))) 415 415 |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK 416 416 417 -(% style="display:none" %) (%%) 418 418 425 + 419 419 == 5.7 Network Session Key == 420 420 421 421 ... ... @@ -432,8 +432,8 @@ 432 432 ))) 433 433 |(% 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 434 434 435 -(% style="display:none" %) (%%) 436 436 443 + 437 437 = 6. Joining and sending date on LoRaWAN network = 438 438 439 439 == 6.1 Confirm Mode == ... ... @@ -464,8 +464,8 @@ 464 464 * **Example 1:** Downlink Payload: 0501 ~/~/ Set AT+CFM=1 465 465 * **Example 2:** Downlink Payload: 0500 ~/~/ Set AT+CFM=0 466 466 467 -(% style="display:none" %) (%%) 468 468 475 + 469 469 === 6.1.2 AT+CFM command since DR-LWS007 software stack === 470 470 471 471 ... ... @@ -511,8 +511,8 @@ 511 511 * **Example 1:** Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 512 512 * **Example 2:** Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 513 513 514 -(% style="display:none" %) (%%) 515 515 522 + 516 516 == 6.2 Confirm Status == 517 517 518 518 ... ... @@ -528,6 +528,8 @@ 528 528 OK 529 529 ))) 530 530 538 + 539 + 531 531 == 6.3 Join LoRa® Network == 532 532 533 533 ... ... @@ -545,6 +545,8 @@ 545 545 While Error in format, return AT_BUSY_ERROR 546 546 ))) 547 547 557 + 558 + 548 548 == 6.4 LoRa® Network Join Mode == 549 549 550 550 ... ... @@ -571,8 +571,8 @@ 571 571 * **Example 1: **Downlink Payload: **2000 ** ~/~/ Set AT+NJM=0 572 572 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 573 573 574 -(% style="display:none" %) (%%) 575 575 586 + 576 576 == 6.5 LoRa® Network Join Status == 577 577 578 578 ... ... @@ -588,8 +588,8 @@ 588 588 OK 589 589 ))) 590 590 591 -(% style="display:none" %) (%%) 592 592 603 + 593 593 == 6.6 Print Last Received Data in Raw Format == 594 594 595 595 ... ... @@ -605,8 +605,8 @@ 605 605 OK 606 606 ))) 607 607 608 -(% style="display:none" %) (%%) 609 609 620 + 610 610 == 6.7 Print Last Received Data in Binary Format == 611 611 612 612 ... ... @@ -622,8 +622,8 @@ 622 622 OK 623 623 ))) 624 624 625 -(% style="display:none" %) (%%) 626 626 637 + 627 627 == 6.8 Send Text Data == 628 628 629 629 ... ... @@ -637,11 +637,14 @@ 637 637 |(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response** 638 638 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK((( 639 639 While Error in format, return 651 + 640 640 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 653 + 654 + 641 641 ))) 642 642 643 -(% style="display:none" %) (%%) 644 644 658 + 645 645 == 6.9 Send Hexadecimal Data == 646 646 647 647 ... ... @@ -655,11 +655,13 @@ 655 655 |(% style="width:257px" %)**Command Example**|(% style="width:394px" %)**Function**|(% style="width:446px" %)**Response** 656 656 |(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK 657 657 |(% 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((( 658 -AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 672 +AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 673 + 674 + 659 659 ))) 660 660 661 -(% style="display:none" %) (%%) 662 662 678 + 663 663 = 7. LoRaWAN network management = 664 664 665 665 == 7.1 Adaptive Data Rate == ... ... @@ -688,8 +688,8 @@ 688 688 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 689 689 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 690 690 691 -(% style="display:none" %) (%%) 692 692 708 + 693 693 == 7.2 LoRa® Class == 694 694 695 695 ... ... @@ -708,8 +708,8 @@ 708 708 709 709 ))) 710 710 711 -(% style="display:none" %) (%%) 712 712 728 + 713 713 == 7.3 Duty Cycle Setting == 714 714 715 715 ... ... @@ -728,8 +728,8 @@ 728 728 729 729 ))) 730 730 731 -(% style="display:none" %) (%%) 732 732 748 + 733 733 == 7.4 Data Rate == 734 734 735 735 ... ... @@ -760,8 +760,8 @@ 760 760 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 761 761 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 762 762 763 -(% style="display:none" %) (%%) 764 764 780 + 765 765 == 7.5 Frame Counter Downlink == 766 766 767 767 ... ... @@ -780,6 +780,8 @@ 780 780 OK 781 781 ))) 782 782 799 + 800 + 783 783 == 7.6 Frame Counter Uplink == 784 784 785 785 Feature: Get or Set the Frame Counter Uplink. ... ... @@ -797,8 +797,8 @@ 797 797 798 798 ))) 799 799 800 -(% style="display:none" %) (%%) 801 801 819 + 802 802 == 7.7 Join Accept Delay1 == 803 803 804 804 ... ... @@ -817,8 +817,8 @@ 817 817 818 818 ))) 819 819 820 -(% style="display:none" %) (%%) 821 821 839 + 822 822 == 7.8 Join Accept Delay2 == 823 823 824 824 ... ... @@ -837,8 +837,8 @@ 837 837 838 838 ))) 839 839 840 -(% style="display:none" %) (%%) 841 841 859 + 842 842 == 7.9 Public Network Mode == 843 843 844 844 ... ... @@ -866,8 +866,8 @@ 866 866 ))) 867 867 |(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 868 868 869 -(% style="display:none" %) (%%) 870 870 888 + 871 871 == 7.10 Receive Delay1 == 872 872 873 873 ... ... @@ -886,8 +886,8 @@ 886 886 887 887 ))) 888 888 889 -(% style="display:none" %) (%%) 890 890 908 + 891 891 == 7.11 Receive Delay2 == 892 892 893 893 ... ... @@ -906,8 +906,8 @@ 906 906 907 907 ))) 908 908 909 -(% style="display:none" %) (%%) 910 910 928 + 911 911 == 7.12 Rx2 Window Data Rate == 912 912 913 913 ... ... @@ -926,8 +926,8 @@ 926 926 927 927 ))) 928 928 929 -(% style="display:none" %) (%%) 930 930 948 + 931 931 == 7.13 Rx2 Window Frequency == 932 932 933 933 ... ... @@ -946,8 +946,8 @@ 946 946 947 947 ))) 948 948 949 -(% style="display:none" %) (%%) 950 950 968 + 951 951 == 7.14 Transmit Power == 952 952 953 953 ... ... @@ -975,8 +975,8 @@ 975 975 * **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 976 976 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+TXP=0. 977 977 978 -(% style="display:none" %) (%%) 979 979 997 + 980 980 == 7.15 RSSI of the Last Received Packet == 981 981 982 982 ... ... @@ -992,8 +992,8 @@ 992 992 OK 993 993 ))) 994 994 995 -(% style="display:none" %) (%%) 996 996 1014 + 997 997 == 7.16 SNR of the Last Received Packet == 998 998 999 999 ... ... @@ -1009,8 +1009,8 @@ 1009 1009 OK 1010 1010 ))) 1011 1011 1012 -(% style="display:none" %) (%%) 1013 1013 1031 + 1014 1014 == 7.17 Application Port == 1015 1015 1016 1016 ... ... @@ -1036,8 +1036,8 @@ 1036 1036 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 1037 1037 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 1038 1038 1039 -(% style="display:none" %) (%%) 1040 1040 1058 + 1041 1041 == 7.18 Single Channel Mode == 1042 1042 1043 1043 ... ... @@ -1054,8 +1054,8 @@ 1054 1054 ))) 1055 1055 |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK 1056 1056 1057 -(% style="display:none" %) (%%) 1058 1058 1076 + 1059 1059 == 7.19 Eight Channel Mode == 1060 1060 1061 1061 ... ... @@ -1083,8 +1083,8 @@ 1083 1083 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 1084 1084 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 1085 1085 1086 -(% style="display:none" %) (%%) 1087 1087 1105 + 1088 1088 == 7.20 Get or Set RXwindows1 timeout == 1089 1089 1090 1090 ... ... @@ -1101,19 +1101,24 @@ 1101 1101 ))) 1102 1102 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK 1103 1103 1104 -(% style="display:none" %) (%%) 1105 - 1106 1106 ((( 1123 + 1124 + 1125 + 1107 1107 (% 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 + 1108 1108 ))) 1109 1109 1110 1110 [[image:image-20220526162535-1.png]] 1111 1111 1133 + 1112 1112 ((( 1113 1113 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 + 1114 1114 ))) 1115 1115 1116 - 1117 1117 == 7.21 Get or Set RXwindows2 timeout == 1118 1118 1119 1119 ... ... @@ -1130,8 +1130,8 @@ 1130 1130 ))) 1131 1131 |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK 1132 1132 1133 -(% style="display:none" %) (%%) 1134 1134 1157 + 1135 1135 == 7.22 Setting up uplinkdwelltime (as923, au915) == 1136 1136 1137 1137 ... ... @@ -1157,8 +1157,8 @@ 1157 1157 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1158 1158 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1159 1159 1160 -(% style="display:none" %) (%%) 1161 1161 1184 + 1162 1162 == 7.23 Set Packet Receiving Response Level == 1163 1163 1164 1164 ... ... @@ -1198,8 +1198,8 @@ 1198 1198 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1199 1199 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1200 1200 1201 -(% style="display:none" %) (%%) 1202 1202 1225 + 1203 1203 == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1204 1204 1205 1205 ... ... @@ -1230,18 +1230,13 @@ 1230 1230 * Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1231 1231 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1232 1232 1233 -(% style="display:none" %) (%%) 1234 1234 1257 + 1235 1235 == 7.25 Device offline rejoining (LWS007) == 1236 1236 1237 1237 1238 1238 (% style="color:blue" %)**AT Command: AT+DDETECT** 1239 1239 1240 -AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880) 1241 - 1242 -* ACK_Timout_1: Unit: min 1243 -* ACK_Timout_2: Unit: min 1244 - 1245 1245 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1246 1246 |=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1247 1247 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** ... ... @@ -1273,20 +1273,16 @@ 1273 1273 OK 1274 1274 ))) 1275 1275 1276 -(% style="color:blue" %)**Downlink Command: 0x3 2**1294 +(% style="color:blue" %)**Downlink Command: 0x33** 1277 1277 1278 1278 Format: Command Code (0x32) followed by 2 bytes mode value. 1279 1279 1280 -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. 1281 1281 1282 -* **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1283 -** 0x01 : Flag 1284 -** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours) 1285 -** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours) 1286 -** **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 1287 1287 1288 -(% style="display:none" %) (%%) 1289 1289 1303 + 1290 1290 == 7.26 Request the server to send an ACK == 1291 1291 1292 1292 ... ... @@ -1300,11 +1300,12 @@ 1300 1300 ))) 1301 1301 |(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)((( 1302 1302 0 1317 + 1303 1303 OK 1304 1304 ))) 1305 1305 1306 -(% style="display:none" %) (%%) 1307 1307 1322 + 1308 1308 == 7.27 Adjust network rejoining interval == 1309 1309 1310 1310 ... ... @@ -1331,8 +1331,8 @@ 1331 1331 * **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1332 1332 * **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1333 1333 1334 -(% style="display:none" %) (%%) 1335 1335 1350 + 1336 1336 = 8. AT Commands Combination = 1337 1337 1338 1338 == 8.1 Set a fix RX2DR for downlink window == ... ... @@ -1339,11 +1339,10 @@ 1339 1339 1340 1340 1341 1341 * (% style="color:blue" %)**AT+ADR=0 **(%%) **~-~->** Disable ADR first 1342 - 1343 1343 * (% style="color:blue" %)**AT+RX2DR=xxxx** (%%) **~-~->** Set xxxx to your wanted DataRate 1344 1344 1345 -(% style="display:none" %) (%%) 1346 1346 1360 + 1347 1347 == 8.2 Use Downlink Command to set a fix uplink DR == 1348 1348 1349 1349 ... ... @@ -1352,9 +1352,7 @@ 1352 1352 **Same as:** 1353 1353 1354 1354 * AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1355 - 1356 1356 * AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1357 - 1358 1358 * AT+TXP=0 [[Reference>>||anchor="H7.14TransmitPower"]] 1359 1359 1360 1360