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,14 +18,18 @@ 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 -** Use HEX format to send a downlink: [[TTN v3>> doc:Main.Notes for TTN.WebHome]]24 -** Use Base64 format to send a downlink: [[Chirpstack>> doc:Main.Notes for ChirpStack.WebHome]].25 +** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]] 26 +** Use Base64 format to send a downlink: [[Chirpstack>>Notes for ChirpStack]] 25 25 ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server) 26 26 29 + 30 + 27 27 = 3. Support End Node and firmware version = 28 28 33 + 29 29 (% border="1" style="background-color:#ffffcc; color:green; width:966px" %) 30 30 |=(% colspan="3" style="width: 963px;" %)((( 31 31 Dragino STM32 base hardware Firmware / LoRaWAN stack list ... ... @@ -97,10 +97,13 @@ 97 97 ))) 98 98 ))) 99 99 105 + 100 100 = 4. System Management Commands = 101 101 108 + 102 102 == 4.1 Change Uplink Interval == 103 103 111 + 104 104 Feature: Change LoRaWAN End Node Transmit Interval. 105 105 106 106 (% class="box infomessage" %) ... ... @@ -135,6 +135,8 @@ 135 135 * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 136 136 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 137 137 146 + 147 + 138 138 == 4.2 Reboot End Node == 139 139 140 140 Feature: Reboot End Node to perform a new OTAA or ABP Join. ... ... @@ -296,8 +296,6 @@ 296 296 OK 297 297 ))) 298 298 299 - 300 - 301 301 = 5. Keys, IDs and EUIs management = 302 302 303 303 == 5.1 Application EUI == ... ... @@ -316,8 +316,6 @@ 316 316 ))) 317 317 |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK 318 318 319 - 320 - 321 321 == 5.2 Application Key == 322 322 323 323 Feature: Get or Set the Application Key. ... ... @@ -334,8 +334,6 @@ 334 334 ))) 335 335 |(% 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 336 336 337 - 338 - 339 339 == 5.3 Application Session Key == 340 340 341 341 Feature: Get or Set the Application Session Key. ... ... @@ -354,8 +354,6 @@ 354 354 OK 355 355 ))) 356 356 357 - 358 - 359 359 == 5.4 Device Address == 360 360 361 361 Feature: Get or Set the Device Address. ... ... @@ -428,6 +428,8 @@ 428 428 429 429 == 6.1 Confirm Mode == 430 430 433 +=== AT+CFM command before DR-LWS007 software stack === 434 + 431 431 Feature: Get or Set the confirmation mode (0-1). 432 432 433 433 {{info}} ... ... @@ -452,7 +452,54 @@ 452 452 * Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1 453 453 * Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0 454 454 459 +=== AT+CFM command since DR-LWS007 software stack === 455 455 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 + 456 456 == 6.2 Confirm Status == 457 457 458 458 Feature: Get confirmation status of the last AT+SEND (0-1). ... ... @@ -468,7 +468,6 @@ 468 468 OK 469 469 ))) 470 470 471 - 472 472 == 6.3 Join LoRa® Network == 473 473 474 474 Feature: Join network. ... ... @@ -486,7 +486,6 @@ 486 486 While Error in format, return AT_BUSY_ERROR 487 487 ))) 488 488 489 - 490 490 == 6.4 LoRa® Network Join Mode == 491 491 492 492 Feature: Get or Set the Network Join Mode. (0: ABP, 1: OTAA). ... ... @@ -512,10 +512,9 @@ 512 512 513 513 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 514 514 515 -* **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM= O564 +* **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM=0 516 516 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 517 517 518 - 519 519 == 6.5 LoRa® Network Join Status == 520 520 521 521 Feature: LoRa® Network Join Status. ... ... @@ -531,7 +531,6 @@ 531 531 OK 532 532 ))) 533 533 534 - 535 535 == 6.6 Print Last Received Data in Raw Format == 536 536 537 537 Feature: Print Last Received Data in Raw Format<port:data>. ... ... @@ -547,7 +547,6 @@ 547 547 OK 548 548 ))) 549 549 550 - 551 551 == 6.7 Print Last Received Data in Binary Format == 552 552 553 553 Feature: Print Last Received Data in Binary Format<port:data>. ... ... @@ -563,7 +563,6 @@ 563 563 OK 564 564 ))) 565 565 566 - 567 567 == 6.8 Send Text Data == 568 568 569 569 Feature: Send Text Data<port:data>. ... ... @@ -583,7 +583,6 @@ 583 583 584 584 ))) 585 585 586 - 587 587 == 6.9 Send Hexadecimal Data == 588 588 589 589 Feature: Send hexadecimal data along with the application port. ... ... @@ -773,8 +773,10 @@ 773 773 774 774 == 7.9 Public Network Mode == 775 775 776 -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 777 777 822 +Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network 823 + 778 778 {{info}} 779 779 **AT Command:AT+PNM** 780 780 {{/info}} ... ... @@ -785,11 +785,16 @@ 785 785 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 786 786 OK 787 787 ))) 788 -|(% 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)((( 789 789 OK 790 790 791 791 792 792 ))) 843 +|(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 793 793 794 794 == 7.10 Receive Delay1 == 795 795 ... ... @@ -1102,6 +1102,129 @@ 1102 1102 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1103 1103 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1104 1104 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 + 1105 1105 = 8. AT Commands Combination = 1106 1106 1107 1107 == 8.1 Set a fix RX2DR for downlink window == ... ... @@ -1120,3 +1120,4 @@ 1120 1120 * AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1121 1121 * AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1122 1122 * AT+TXP=0 [[Reference>>||anchor="H7.14TransmitPower"]] 1297 +~)~)~)