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,15 +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 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 ... ... @@ -102,8 +102,10 @@ 102 102 103 103 = 4. System Management Commands = 104 104 109 + 105 105 == 4.1 Change Uplink Interval == 106 106 112 + 107 107 Feature: Change LoRaWAN End Node Transmit Interval. 108 108 109 109 (% class="box infomessage" %) ... ... @@ -139,6 +139,7 @@ 139 139 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 140 140 141 141 148 + 142 142 == 4.2 Reboot End Node == 143 143 144 144 Feature: Reboot End Node to perform a new OTAA or ABP Join. ... ... @@ -300,7 +300,6 @@ 300 300 OK 301 301 ))) 302 302 303 - 304 304 = 5. Keys, IDs and EUIs management = 305 305 306 306 == 5.1 Application EUI == ... ... @@ -319,7 +319,6 @@ 319 319 ))) 320 320 |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK 321 321 322 - 323 323 == 5.2 Application Key == 324 324 325 325 Feature: Get or Set the Application Key. ... ... @@ -336,7 +336,6 @@ 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 - 340 340 == 5.3 Application Session Key == 341 341 342 342 Feature: Get or Set the Application Session Key. ... ... @@ -355,8 +355,6 @@ 355 355 OK 356 356 ))) 357 357 358 - 359 - 360 360 == 5.4 Device Address == 361 361 362 362 Feature: Get or Set the Device Address. ... ... @@ -375,8 +375,6 @@ 375 375 ))) 376 376 |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK 377 377 378 - 379 - 380 380 == 5.5 Device EUI == 381 381 382 382 Feature: Get or Set the Device EUI. ... ... @@ -395,8 +395,6 @@ 395 395 OK 396 396 ))) 397 397 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,8 +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 - 418 418 == 5.7 Network Session Key == 419 419 420 420 Feature: Get or Set the Network Session Key ... ... @@ -431,12 +431,12 @@ 431 431 ))) 432 432 |(% 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 433 433 434 - 435 - 436 436 = 6. Joining and sending date on LoRaWAN network = 437 437 438 438 == 6.1 Confirm Mode == 439 439 434 +=== AT+CFM command before DR-LWS007 software stack === 435 + 440 440 Feature: Get or Set the confirmation mode (0-1). 441 441 442 442 {{info}} ... ... @@ -461,6 +461,54 @@ 461 461 * Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1 462 462 * Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0 463 463 460 +=== AT+CFM command since DR-LWS007 software stack === 461 + 462 +{{info}} 463 +**AT Command: AT+CFM** 464 +{{/info}} 465 + 466 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 467 +|=(% colspan="3" style="width: 707px;" %)AT+CFM 468 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 469 +|(% style="width:160px" %)((( 470 +AT+CFM=1,0,0 471 + 472 +value1 473 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)((( 474 +1 475 + 476 +OK 477 +))) 478 +|(% style="width:160px" %)((( 479 +AT+CFM=0,?,0 480 + 481 +value2 482 +)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:349px" %)((( 483 +0~~7 484 + 485 +OK 486 +))) 487 +|(% style="width:160px" %)((( 488 +AT+CFM=0,0,1 489 + 490 +value3 491 +)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:349px" %)((( 492 +1 493 + 494 +OK 495 +))) 496 + 497 +{{info}} 498 +**Downlink Command: 0x05** 499 +{{/info}} 500 + 501 +Format: Command Code (0x05) followed by 2 bytes mode value. 502 + 503 +If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05. 504 + 505 +* Example 1: Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 506 +* Example 2: Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 507 + 464 464 == 6.2 Confirm Status == 465 465 466 466 Feature: Get confirmation status of the last AT+SEND (0-1). ... ... @@ -518,7 +518,7 @@ 518 518 519 519 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 520 520 521 -* **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM= O565 +* **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM=0 522 522 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 523 523 524 524 == 6.5 LoRa® Network Join Status == ... ... @@ -774,8 +774,10 @@ 774 774 775 775 == 7.9 Public Network Mode == 776 776 777 -Feature: Get or Set the public network mode. (0: off, 1: on) 821 +Feature: Get or Set the public network mode. (0: off, 1: on). A Public LoRaWAN network use 0x34 as syncword. Default Settings; PNM=1 778 778 823 +Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network 824 + 779 779 {{info}} 780 780 **AT Command:AT+PNM** 781 781 {{/info}} ... ... @@ -786,11 +786,16 @@ 786 786 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 787 787 OK 788 788 ))) 789 -|(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)Set the public network mode.|(% style="width:272px" %)(System will write new value to PNM)((( 835 +|(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)((( 836 +Set the public network mode. 837 + 838 +Set syncword=0x34 839 +)))|(% style="width:272px" %)(System will write new value to PNM)((( 790 790 OK 791 791 792 792 793 793 ))) 844 +|(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 794 794 795 795 == 7.10 Receive Delay1 == 796 796 ... ... @@ -1103,6 +1103,129 @@ 1103 1103 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1104 1104 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1105 1105 1157 +== 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1158 + 1159 +{{info}} 1160 +**AT Command: AT+SETMAXNBTRANS ** 1161 +{{/info}} 1162 + 1163 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1164 +|=(% colspan="3" style="width: 533px;" %)AT+**SETMAXNBTRANS** 1165 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1166 +|(% style="width:160px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:263px" %)Value1: set the maximum NBTrans.|(% style="width:109px" %)1((( 1167 +OK 1168 +))) 1169 +|(% 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" %)((( 1170 +1 1171 + 1172 +OK 1173 +))) 1174 + 1175 +{{info}} 1176 +**Downlink Command: 0x33** 1177 +{{/info}} 1178 + 1179 +Format: Command Code (0x33) followed by 2 bytes mode value. 1180 + 1181 +If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33. 1182 + 1183 +* Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1184 +* Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1185 + 1186 +== 7.25 Device offline rejoining (LWS007) == 1187 + 1188 +{{info}} 1189 +**AT Command: AT+DDETECT** 1190 +{{/info}} 1191 + 1192 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1193 +|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1194 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1195 +|(% style="width:160px" %)((( 1196 +AT+DDETECT=1,1440,2880 1197 + 1198 +value1 1199 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)((( 1200 +1 1201 + 1202 +OK 1203 +))) 1204 +|(% style="width:160px" %)((( 1205 +AT+DDETECT=1,?,2880 1206 + 1207 +value2 1208 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)((( 1209 + 1210 + 1211 +OK 1212 +))) 1213 +|(% style="width:160px" %)((( 1214 +AT+DDETECT=1,1440,? 1215 + 1216 +value3 1217 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)((( 1218 + 1219 + 1220 +OK 1221 +))) 1222 + 1223 +{{info}} 1224 +**Downlink Command: 0x33** 1225 +{{/info}} 1226 + 1227 +Format: Command Code (0x32) followed by 2 bytes mode value. 1228 + 1229 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 33. 1230 + 1231 +* Example 1: Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1232 + 1233 +== 7.26 Request the server to send an ACK == 1234 + 1235 +{{info}} 1236 +**AT Command: AT+PNACKMD** 1237 +{{/info}} 1238 + 1239 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1240 +|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD** 1241 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1242 +|(% 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((( 1243 +OK 1244 +))) 1245 +|(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)((( 1246 +0 1247 + 1248 +OK 1249 +))) 1250 + 1251 +== 7.27 Adjust network rejoining interval == 1252 + 1253 +{{info}} 1254 +**AT Command: AT+RJTDC** 1255 +{{/info}} 1256 + 1257 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 1258 +|=(% colspan="3" style="width: 724px;" %)AT+RJTDC 1259 +|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** 1260 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000((( 1261 +OK 1262 + 1263 +the interval is 30000ms = 30s 1264 +))) 1265 +|(% style="width:165px" %)AT+RJTDC=60000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK((( 1266 +Set the ReJoin data transmission interval to 60000ms = 60 seconds 1267 +))) 1268 + 1269 +{{info}} 1270 +**Downlink Command: 0x26** 1271 +{{/info}} 1272 + 1273 +Format: Command Code (0x26) followed by 2 bytes mode value. 1274 + 1275 +If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26. 1276 + 1277 +* Example 1: Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1278 +* Example 2: Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1279 + 1106 1106 = 8. AT Commands Combination = 1107 1107 1108 1108 == 8.1 Set a fix RX2DR for downlink window == ... ... @@ -1121,3 +1121,4 @@ 1121 1121 * AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1122 1122 * AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1123 1123 * AT+TXP=0 [[Reference>>||anchor="H7.14TransmitPower"]] 1298 +~)~)~)