Changes for page End Device AT Commands and Downlink Command
Last modified by kai on 2024/09/06 10:00
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Bei1 +XWiki.Xiaoling - 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]] ... ... @@ -24,8 +24,11 @@ 24 24 ** 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. ... ... @@ -420,6 +420,8 @@ 420 420 421 421 == 6.1 Confirm Mode == 422 422 433 +=== AT+CFM command before DR-LWS007 software stack === 434 + 423 423 Feature: Get or Set the confirmation mode (0-1). 424 424 425 425 {{info}} ... ... @@ -444,6 +444,54 @@ 444 444 * Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1 445 445 * Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0 446 446 459 +=== AT+CFM command since DR-LWS007 software stack === 460 + 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 + 447 447 == 6.2 Confirm Status == 448 448 449 449 Feature: Get confirmation status of the last AT+SEND (0-1). ... ... @@ -501,7 +501,7 @@ 501 501 502 502 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 503 503 504 -* **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM= O564 +* **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM=0 505 505 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 506 506 507 507 == 6.5 LoRa® Network Join Status == ... ... @@ -757,8 +757,10 @@ 757 757 758 758 == 7.9 Public Network Mode == 759 759 760 -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 761 761 822 +Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network 823 + 762 762 {{info}} 763 763 **AT Command:AT+PNM** 764 764 {{/info}} ... ... @@ -769,11 +769,16 @@ 769 769 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 770 770 OK 771 771 ))) 772 -|(% 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)((( 773 773 OK 774 774 775 775 776 776 ))) 843 +|(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 777 777 778 778 == 7.10 Receive Delay1 == 779 779 ... ... @@ -1086,43 +1086,129 @@ 1086 1086 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1087 1087 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1088 1088 1089 -== 7.24 Set retransmission packets (LWS007) ==1156 +== 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1090 1090 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 + 1091 1091 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1092 -|=(% colspan="3" style="width: 707px;" %)AT+C FM1192 +|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1093 1093 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1094 1094 |(% style="width:160px" %)((( 1095 -AT+C FM=1,0,01195 +AT+DDETECT=1,1440,2880 1096 1096 1097 1097 value1 1098 -)))|(% style="width:198px" %) confirmeduplink|(% style="width:349px" %)(((1198 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)((( 1099 1099 1 1100 1100 1101 1101 OK 1102 1102 ))) 1103 1103 |(% style="width:160px" %)((( 1104 -AT+C FM=0,?,01204 +AT+DDETECT=1,?,2880 1105 1105 1106 1106 value2 1107 -)))|(% style="width:198px" %) setmax retry, range:0 ~~ 7|(% style="width:349px" %)(((1108 - 0~~71207 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)((( 1208 + 1109 1109 1110 1110 OK 1111 1111 ))) 1112 1112 |(% style="width:160px" %)((( 1113 -AT+C FM=0,0,11213 +AT+DDETECT=1,1440,? 1114 1114 1115 1115 value3 1116 -)))|(% style="width:198px" %) uplink fcnt increaseby 1 forach retry|(% style="width:349px" %)(((1117 - 11216 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)((( 1217 + 1118 1118 1119 1119 OK 1120 1120 ))) 1121 1121 1122 1122 {{info}} 1123 -** ATCommand:AT+CFM**1223 +**Downlink Command: 0x33** 1124 1124 {{/info}} 1125 1125 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 + 1126 1126 = 8. AT Commands Combination = 1127 1127 1128 1128 == 8.1 Set a fix RX2DR for downlink window ==