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
-
... ... @@ -1,4 +1,4 @@ 1 - **Contents:** 1 + **Table of** **Contents:** 2 2 3 3 {{toc/}} 4 4 ... ... @@ -6,6 +6,7 @@ 6 6 7 7 = 1. Introduction = 8 8 9 + 9 9 Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands: 10 10 11 11 * **Common Commands:** They should be available for each sensor, such as: change uplink interval, reset device. ... ... @@ -18,6 +18,7 @@ 18 18 19 19 = 2. How to use AT Commands or Downlink command = 20 20 22 + 21 21 * 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/]] 22 22 * 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: 23 23 ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]] ... ... @@ -25,8 +25,10 @@ 25 25 ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server) 26 26 27 27 30 + 28 28 = 3. Support End Node and firmware version = 29 29 33 + 30 30 (% border="1" style="background-color:#ffffcc; color:green; width:966px" %) 31 31 |=(% colspan="3" style="width: 963px;" %)((( 32 32 Dragino STM32 base hardware Firmware / LoRaWAN stack list ... ... @@ -99,11 +99,12 @@ 99 99 ))) 100 100 101 101 102 - 103 103 = 4. System Management Commands = 104 104 108 + 105 105 == 4.1 Change Uplink Interval == 106 106 111 + 107 107 Feature: Change LoRaWAN End Node Transmit Interval. 108 108 109 109 (% class="box infomessage" %) ... ... @@ -301,8 +301,6 @@ 301 301 OK 302 302 ))) 303 303 304 - 305 - 306 306 = 5. Keys, IDs and EUIs management = 307 307 308 308 == 5.1 Application EUI == ... ... @@ -321,8 +321,6 @@ 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 - 325 - 326 326 == 5.2 Application Key == 327 327 328 328 Feature: Get or Set the Application Key. ... ... @@ -339,7 +339,6 @@ 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 - 343 343 == 5.3 Application Session Key == 344 344 345 345 Feature: Get or Set the Application Session Key. ... ... @@ -358,7 +358,6 @@ 358 358 OK 359 359 ))) 360 360 361 - 362 362 == 5.4 Device Address == 363 363 364 364 Feature: Get or Set the Device Address. ... ... @@ -377,7 +377,6 @@ 377 377 ))) 378 378 |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK 379 379 380 - 381 381 == 5.5 Device EUI == 382 382 383 383 Feature: Get or Set the Device EUI. ... ... @@ -396,7 +396,6 @@ 396 396 OK 397 397 ))) 398 398 399 - 400 400 == 5.6 Network ID == 401 401 402 402 Feature: Get or Set the Network ID.(You can enter this command change only after successful network connection) ... ... @@ -413,7 +413,6 @@ 413 413 ))) 414 414 |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK 415 415 416 - 417 417 == 5.7 Network Session Key == 418 418 419 419 Feature: Get or Set the Network Session Key ... ... @@ -430,11 +430,12 @@ 430 430 ))) 431 431 |(% 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 432 432 433 - 434 434 = 6. Joining and sending date on LoRaWAN network = 435 435 436 436 == 6.1 Confirm Mode == 437 437 433 +=== AT+CFM command before DR-LWS007 software stack === 434 + 438 438 Feature: Get or Set the confirmation mode (0-1). 439 439 440 440 {{info}} ... ... @@ -459,7 +459,54 @@ 459 459 * Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1 460 460 * Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0 461 461 459 +=== AT+CFM command since DR-LWS007 software stack === 462 462 461 +{{info}} 462 +**AT Command: AT+CFM** 463 +{{/info}} 464 + 465 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 466 +|=(% colspan="3" style="width: 707px;" %)AT+CFM 467 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 468 +|(% style="width:160px" %)((( 469 +AT+CFM=1,0,0 470 + 471 +value1 472 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)((( 473 +1 474 + 475 +OK 476 +))) 477 +|(% style="width:160px" %)((( 478 +AT+CFM=0,?,0 479 + 480 +value2 481 +)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:349px" %)((( 482 +0~~7 483 + 484 +OK 485 +))) 486 +|(% style="width:160px" %)((( 487 +AT+CFM=0,0,1 488 + 489 +value3 490 +)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:349px" %)((( 491 +1 492 + 493 +OK 494 +))) 495 + 496 +{{info}} 497 +**Downlink Command: 0x05** 498 +{{/info}} 499 + 500 +Format: Command Code (0x05) followed by 2 bytes mode value. 501 + 502 +If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05. 503 + 504 +* Example 1: Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 505 +* Example 2: Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 506 + 463 463 == 6.2 Confirm Status == 464 464 465 465 Feature: Get confirmation status of the last AT+SEND (0-1). ... ... @@ -475,7 +475,6 @@ 475 475 OK 476 476 ))) 477 477 478 - 479 479 == 6.3 Join LoRa® Network == 480 480 481 481 Feature: Join network. ... ... @@ -493,8 +493,6 @@ 493 493 While Error in format, return AT_BUSY_ERROR 494 494 ))) 495 495 496 - 497 - 498 498 == 6.4 LoRa® Network Join Mode == 499 499 500 500 Feature: Get or Set the Network Join Mode. (0: ABP, 1: OTAA). ... ... @@ -520,11 +520,9 @@ 520 520 521 521 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 522 522 523 -* **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM= O564 +* **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM=0 524 524 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 525 525 526 - 527 - 528 528 == 6.5 LoRa® Network Join Status == 529 529 530 530 Feature: LoRa® Network Join Status. ... ... @@ -540,8 +540,6 @@ 540 540 OK 541 541 ))) 542 542 543 - 544 - 545 545 == 6.6 Print Last Received Data in Raw Format == 546 546 547 547 Feature: Print Last Received Data in Raw Format<port:data>. ... ... @@ -557,8 +557,6 @@ 557 557 OK 558 558 ))) 559 559 560 - 561 - 562 562 == 6.7 Print Last Received Data in Binary Format == 563 563 564 564 Feature: Print Last Received Data in Binary Format<port:data>. ... ... @@ -574,8 +574,6 @@ 574 574 OK 575 575 ))) 576 576 577 - 578 - 579 579 == 6.8 Send Text Data == 580 580 581 581 Feature: Send Text Data<port:data>. ... ... @@ -595,8 +595,6 @@ 595 595 596 596 ))) 597 597 598 - 599 - 600 600 == 6.9 Send Hexadecimal Data == 601 601 602 602 Feature: Send hexadecimal data along with the application port. ... ... @@ -615,8 +615,6 @@ 615 615 616 616 ))) 617 617 618 - 619 - 620 620 = 7. LoRaWAN network management = 621 621 622 622 == 7.1 Adaptive Data Rate == ... ... @@ -648,8 +648,6 @@ 648 648 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 649 649 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 650 650 651 - 652 - 653 653 == 7.2 LoRa® Class == 654 654 655 655 Feature: Get or Set the Device Class(Currently only support class A, class C). ... ... @@ -668,8 +668,6 @@ 668 668 669 669 ))) 670 670 671 - 672 - 673 673 == 7.3 Duty Cycle Setting == 674 674 675 675 Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing. ... ... @@ -688,8 +688,6 @@ 688 688 689 689 ))) 690 690 691 - 692 - 693 693 == 7.4 Data Rate == 694 694 695 695 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 ... ... @@ -718,8 +718,6 @@ 718 718 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 719 719 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 720 720 721 - 722 - 723 723 == 7.5 Frame Counter Downlink == 724 724 725 725 Feature: Get or Set the Frame Counter Downlink. ... ... @@ -740,8 +740,6 @@ 740 740 741 741 ))) 742 742 743 - 744 - 745 745 == 7.6 Frame Counter Uplink == 746 746 747 747 Feature: Get or Set the Frame Counter Uplink. ... ... @@ -760,8 +760,6 @@ 760 760 761 761 ))) 762 762 763 - 764 - 765 765 == 7.7 Join Accept Delay1 == 766 766 767 767 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms. ... ... @@ -780,8 +780,6 @@ 780 780 781 781 ))) 782 782 783 - 784 - 785 785 == 7.8 Join Accept Delay2 == 786 786 787 787 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms. ... ... @@ -800,12 +800,12 @@ 800 800 801 801 ))) 802 802 803 - 804 - 805 805 == 7.9 Public Network Mode == 806 806 807 -Feature: Get or Set the public network mode. (0: off, 1: on) 820 +Feature: Get or Set the public network mode. (0: off, 1: on). A Public LoRaWAN network use 0x34 as syncword. Default Settings; PNM=1 808 808 822 +Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network 823 + 809 809 {{info}} 810 810 **AT Command:AT+PNM** 811 811 {{/info}} ... ... @@ -816,11 +816,16 @@ 816 816 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 817 817 OK 818 818 ))) 819 -|(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)Set the public network mode.|(% style="width:272px" %)(System will write new value to PNM)((( 834 +|(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)((( 835 +Set the public network mode. 836 + 837 +Set syncword=0x34 838 +)))|(% style="width:272px" %)(System will write new value to PNM)((( 820 820 OK 821 821 822 822 823 823 ))) 843 +|(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 824 824 825 825 == 7.10 Receive Delay1 == 826 826 ... ... @@ -1133,6 +1133,129 @@ 1133 1133 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1134 1134 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1135 1135 1156 +== 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1157 + 1158 +{{info}} 1159 +**AT Command: AT+SETMAXNBTRANS ** 1160 +{{/info}} 1161 + 1162 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1163 +|=(% colspan="3" style="width: 533px;" %)AT+**SETMAXNBTRANS** 1164 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1165 +|(% style="width:160px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:263px" %)Value1: set the maximum NBTrans.|(% style="width:109px" %)1((( 1166 +OK 1167 +))) 1168 +|(% style="width:160px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:263px" %)value2: 0: uplink fcnt doesn't change for each NBTrans; 1: uplink fcnt increase by 1 for each NBTrans.|(% style="width:109px" %)((( 1169 +1 1170 + 1171 +OK 1172 +))) 1173 + 1174 +{{info}} 1175 +**Downlink Command: 0x33** 1176 +{{/info}} 1177 + 1178 +Format: Command Code (0x33) followed by 2 bytes mode value. 1179 + 1180 +If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33. 1181 + 1182 +* Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1183 +* Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1184 + 1185 +== 7.25 Device offline rejoining (LWS007) == 1186 + 1187 +{{info}} 1188 +**AT Command: AT+DDETECT** 1189 +{{/info}} 1190 + 1191 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1192 +|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1193 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1194 +|(% style="width:160px" %)((( 1195 +AT+DDETECT=1,1440,2880 1196 + 1197 +value1 1198 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)((( 1199 +1 1200 + 1201 +OK 1202 +))) 1203 +|(% style="width:160px" %)((( 1204 +AT+DDETECT=1,?,2880 1205 + 1206 +value2 1207 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)((( 1208 + 1209 + 1210 +OK 1211 +))) 1212 +|(% style="width:160px" %)((( 1213 +AT+DDETECT=1,1440,? 1214 + 1215 +value3 1216 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)((( 1217 + 1218 + 1219 +OK 1220 +))) 1221 + 1222 +{{info}} 1223 +**Downlink Command: 0x33** 1224 +{{/info}} 1225 + 1226 +Format: Command Code (0x32) followed by 2 bytes mode value. 1227 + 1228 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 33. 1229 + 1230 +* Example 1: Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1231 + 1232 +== 7.26 Request the server to send an ACK == 1233 + 1234 +{{info}} 1235 +**AT Command: AT+PNACKMD** 1236 +{{/info}} 1237 + 1238 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1239 +|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD** 1240 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1241 +|(% style="width:160px" %)**AT+PNACKMD=1**|(% style="width:263px" %)If the node uploads the ACK as confirm, it will request the server to send an ACK. If the server ack is not received, the node will upload the packets that have not received the ACK the next time it receives the ACK|(% style="width:109px" %)1((( 1242 +OK 1243 +))) 1244 +|(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)((( 1245 +0 1246 + 1247 +OK 1248 +))) 1249 + 1250 +== 7.27 Adjust network rejoining interval == 1251 + 1252 +{{info}} 1253 +**AT Command: AT+RJTDC** 1254 +{{/info}} 1255 + 1256 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 1257 +|=(% colspan="3" style="width: 724px;" %)AT+RJTDC 1258 +|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** 1259 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000((( 1260 +OK 1261 + 1262 +the interval is 30000ms = 30s 1263 +))) 1264 +|(% style="width:165px" %)AT+RJTDC=60000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK((( 1265 +Set the ReJoin data transmission interval to 60000ms = 60 seconds 1266 +))) 1267 + 1268 +{{info}} 1269 +**Downlink Command: 0x26** 1270 +{{/info}} 1271 + 1272 +Format: Command Code (0x26) followed by 2 bytes mode value. 1273 + 1274 +If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26. 1275 + 1276 +* Example 1: Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1277 +* Example 2: Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1278 + 1136 1136 = 8. AT Commands Combination = 1137 1137 1138 1138 == 8.1 Set a fix RX2DR for downlink window == ... ... @@ -1151,3 +1151,4 @@ 1151 1151 * AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1152 1152 * AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1153 1153 * AT+TXP=0 [[Reference>>||anchor="H7.14TransmitPower"]] 1297 +~)~)~)