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)
-
Attachments (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.Edwin - Content
-
... ... @@ -1,8 +1,9 @@ 1 -Contens 1 + **Contents:** 2 2 3 3 {{toc/}} 4 4 5 5 6 + 6 6 = 1. Introduction = 7 7 8 8 Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands: ... ... @@ -10,33 +10,91 @@ 10 10 * **Common Commands:** They should be available for each sensor, such as: change uplink interval, reset device. 11 11 * **Sensor Related Commands:** Only for special sensor, such as control relay, poll RS485 device. 12 12 14 +((( 13 13 **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.** 14 14 17 +))) 15 15 16 16 = 2. How to use AT Commands or Downlink command = 17 17 18 18 * 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/]] 19 19 * 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: 20 -** Use HEX format to send a downlink: [[TTN v3>> url:https://wiki.dragino.com/index.php/Notes_for_TTN#Send_Downlink_message]]21 -** Use Base64 format to send a downlink: [[Chirpstack>> url:https://wiki.dragino.com/index.php/Notes_for_ChirpStack#Downlink]].22 -** See use note for more serves [[Servers Note>> url:https://wiki.dragino.com/index.php/Main_Page#Use_Note_for_Server]]23 +** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]] 24 +** Use Base64 format to send a downlink: [[Chirpstack>>Notes for ChirpStack]] 25 +** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server) 23 23 24 24 = 3. Support End Node and firmware version = 25 25 26 -(% border="1" style="background-color:#ffffcc; border:1; color:green; width:995.222px" %) 27 -|=(% colspan="3" style="width: 992px;" %)Dragino STM32 base hardware Firmware / LoRaWAN stack list 28 -|(% style="width:187px" %)**Model**|(% style="width:349px" %)**Description**|(% style="width:453px" %)**Firmware Version <~-~-> Stack Version** 29 -|(% style="width:187px" %)[[LSN50-v1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/128-lsn50.html]], [[LSN50-V2>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/155-lsn50-v2.html]],|(% style="width:349px" %)Open Source Generic LoRaWAN Sensor Node|(% style="width:453px" %)LSN50 v1.6.0 <~-~-> DR-LWS-003;((( 29 +(% border="1" style="background-color:#ffffcc; color:green; width:966px" %) 30 +|=(% colspan="3" style="width: 963px;" %)((( 31 +Dragino STM32 base hardware Firmware / LoRaWAN stack list 32 +))) 33 +|(% style="width:187px" %)((( 34 +**Model** 35 +)))|(% style="width:330px" %)((( 36 +**Description** 37 +)))|(% style="width:445px" %)((( 38 +**Firmware Version <~-~-> Stack Version** 39 +))) 40 +|(% style="width:187px" %)((( 41 +[[LSN50-v1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/128-lsn50.html]], [[LSN50-V2>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/155-lsn50-v2.html]], 42 +)))|(% style="width:330px" %)((( 43 +Open Source Generic LoRaWAN Sensor Node 44 +)))|(% style="width:445px" %)((( 45 +((( 46 +LSN50 v1.6.0 <~-~-> DR-LWS-003; 47 +))) 48 + 49 +((( 50 +((( 30 30 LSN50 v1.7.0 <~-~-> DR-LWS-005; ~-~-> Support since this version 31 31 ))) 32 -|(% style="width:187px" %)[[LGT92>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html]],|(% style="width:349px" %)LoRaWAN GPS Tracker|(% style="width:453px" %)LGT92 v1.6.3 <~-~-> DR-LWS-003;((( 53 +))) 54 +))) 55 +|(% style="width:187px" %)((( 56 +[[LGT92>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html]], 57 +)))|(% style="width:330px" %)((( 58 +LoRaWAN GPS Tracker 59 +)))|(% style="width:445px" %)((( 60 +((( 61 +LGT92 v1.6.3 <~-~-> DR-LWS-003; 62 +))) 63 + 64 +((( 65 +((( 33 33 LGT92 v1.6.4 <~-~-> DR-LWS-005;~-~-> Support since this version 34 34 ))) 35 -|(% style="width:187px" %)[[LBT1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/165-lbt1.html]],|(% style="width:349px" %)LoRaWAN BLE Indoor Tracker|(% style="width:453px" %)LBT1 v1.0 <~-~-> DR-LWS-005; 36 -|(% style="width:187px" %)[[RS485-LN>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/154-rs485-ln.html]],|(% style="width:349px" %)LoRaWAN RS485 Modbus Converter|(% style="width:453px" %)RS485-LN v1.3 <~-~-> DR-LWS-005; 37 -|(% style="width:187px" %)[[LHT65>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/151-lht65.html]],|(% style="width:349px" %)LoRaWAN Temperature & Humidity Sensor|(% style="width:453px" %)LHT65 v1.7 <~-~-> DR-LWS-003;((( 68 +))) 69 +))) 70 +|(% style="width:187px" %)((( 71 +[[LBT1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/165-lbt1.html]], 72 +)))|(% style="width:330px" %)((( 73 +LoRaWAN BLE Indoor Tracker 74 +)))|(% style="width:445px" %)((( 75 +LBT1 v1.0 <~-~-> DR-LWS-005; 76 +))) 77 +|(% style="width:187px" %)((( 78 +[[RS485-LN>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/154-rs485-ln.html]], 79 +)))|(% style="width:330px" %)((( 80 +LoRaWAN RS485 Modbus Converter 81 +)))|(% style="width:445px" %)((( 82 +RS485-LN v1.3 <~-~-> DR-LWS-005; 83 +))) 84 +|(% style="width:187px" %)((( 85 +[[LHT65>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/151-lht65.html]], 86 +)))|(% style="width:330px" %)((( 87 +LoRaWAN Temperature & Humidity Sensor 88 +)))|(% style="width:445px" %)((( 89 +((( 90 +LHT65 v1.7 <~-~-> DR-LWS-003; 91 +))) 92 + 93 +((( 94 +((( 38 38 LHT65 v1.8.0 <~-~-> DR-LWS-005;~-~-> Support since this version 39 39 ))) 97 +))) 98 +))) 40 40 41 41 = 4. System Management Commands = 42 42 ... ... @@ -65,9 +65,13 @@ 65 65 **Downlink Command: 0x01** 66 66 {{/info}} 67 67 127 +((( 68 68 Format: Command Code (0x01) followed by 3 bytes time value. 129 +))) 69 69 131 +((( 70 70 If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01. 133 +))) 71 71 72 72 * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 73 73 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds ... ... @@ -101,10 +101,16 @@ 101 101 **Downlink Command: 0x04** 102 102 {{/info}} 103 103 167 +((( 104 104 Format: Command Code (0x04) followed by FF. 169 +))) 105 105 171 +((( 106 106 If the downlink payload=**04FF**, the end node will reboot. 107 107 174 + 175 +))) 176 + 108 108 == 4.3 Reset to factory Default == 109 109 110 110 Feature: Reset the parameters to Factory Default, factory default value depends on the firmware settings, the OTAA and ABP keys will reserve after this command. ... ... @@ -134,9 +134,13 @@ 134 134 **Downlink Command: 0x04** 135 135 {{/info}} 136 136 206 +((( 137 137 Format: Command Code (0x04) followed by FE. 208 +))) 138 138 210 +((( 139 139 If the downlink payload=**04FE**, Reset Parameters to Factory Default, Keys Reserve. 212 +))) 140 140 141 141 142 142 == 4.4 Show Firmware Version == ... ... @@ -147,10 +147,10 @@ 147 147 **AT Command: AT+VER** 148 148 {{/info}} 149 149 150 -(% border="1" style="background-color:#ffffcc; color:green" %) 151 -|=(% colspan="3" %)AT+VER: Image Version and Frequency Band 152 -|**Command Example**|**Function**|**Response** 153 -|AT+VER=?|Show Image version and Frequency Band|((( 223 +(% border="1" style="background-color:#ffffcc; color:green; width:586px" %) 224 +|=(% colspan="3" style="width: 583px;" %)AT+VER: Image Version and Frequency Band 225 +|(% style="width:170px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:113px" %)**Response** 226 +|(% style="width:170px" %)AT+VER=?|(% style="width:300px" %)Show Image version and Frequency Band|(% style="width:113px" %)((( 154 154 1.3 EU868 155 155 156 156 OK ... ... @@ -160,17 +160,25 @@ 160 160 **Downlink Command: 0x26 (Valid in 006 stack)** 161 161 {{/info}} 162 162 236 +((( 163 163 Downlink Format: 0x26 238 +))) 164 164 240 +((( 165 165 Device will reply with firmware version info, device info. frequency band info. detail please check device user manual. Total 5 bytes Example: If device is of firmware version 1.1.0 Upload: xx ~-~- yy ~-~- zz ~-~- 110 total 5 bytes 242 +))) 166 166 244 +((( 167 167 **xx: Software Type:** 246 +))) 168 168 169 169 * 0x00 01: LGT92 Version 170 170 * 0x00 02: LBT1 171 171 * 0x00 03: LSE01/LDDS75/LDDS20/LSPH01/LLMS01/LSNPK01 172 172 252 +((( 173 173 **yy: Frequency Band:** 254 +))) 174 174 175 175 * 0x01: EU868 176 176 * 0x02: US915 ... ... @@ -183,7 +183,9 @@ 183 183 * 0x09: AS923-2 184 184 * 0xa0: AS923-3 185 185 267 +((( 186 186 **zz: Subband** 269 +))) 187 187 188 188 firmware version: v1.1.0 ~-~-> 110 189 189 ... ... @@ -337,6 +337,8 @@ 337 337 338 338 == 6.1 Confirm Mode == 339 339 423 +=== AT+CFM command before DR-LWS007 software stack === 424 + 340 340 Feature: Get or Set the confirmation mode (0-1). 341 341 342 342 {{info}} ... ... @@ -361,6 +361,54 @@ 361 361 * Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1 362 362 * Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0 363 363 449 +=== AT+CFM command since DR-LWS007 software stack === 450 + 451 +{{info}} 452 +**AT Command: AT+CFM** 453 +{{/info}} 454 + 455 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 456 +|=(% colspan="3" style="width: 707px;" %)AT+CFM 457 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 458 +|(% style="width:160px" %)((( 459 +AT+CFM=1,0,0 460 + 461 +value1 462 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)((( 463 +1 464 + 465 +OK 466 +))) 467 +|(% style="width:160px" %)((( 468 +AT+CFM=0,?,0 469 + 470 +value2 471 +)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:349px" %)((( 472 +0~~7 473 + 474 +OK 475 +))) 476 +|(% style="width:160px" %)((( 477 +AT+CFM=0,0,1 478 + 479 +value3 480 +)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:349px" %)((( 481 +1 482 + 483 +OK 484 +))) 485 + 486 +{{info}} 487 +**Downlink Command: 0x05** 488 +{{/info}} 489 + 490 +Format: Command Code (0x05) followed by 2 bytes mode value. 491 + 492 +If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05. 493 + 494 +* Example 1: Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 495 +* Example 2: Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 496 + 364 364 == 6.2 Confirm Status == 365 365 366 366 Feature: Get confirmation status of the last AT+SEND (0-1). ... ... @@ -674,8 +674,10 @@ 674 674 675 675 == 7.9 Public Network Mode == 676 676 677 -Feature: Get or Set the public network mode. (0: off, 1: on) 810 +Feature: Get or Set the public network mode. (0: off, 1: on). A Public LoRaWAN network use 0x34 as syncword. Default Settings; PNM=1 678 678 812 +Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network 813 + 679 679 {{info}} 680 680 **AT Command:AT+PNM** 681 681 {{/info}} ... ... @@ -686,11 +686,16 @@ 686 686 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 687 687 OK 688 688 ))) 689 -|(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)Set the public network mode.|(% style="width:272px" %)(System will write new value to PNM)((( 824 +|(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)((( 825 +Set the public network mode. 826 + 827 +Set syncword=0x34 828 +)))|(% style="width:272px" %)(System will write new value to PNM)((( 690 690 OK 691 691 692 692 693 693 ))) 833 +|(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 694 694 695 695 == 7.10 Receive Delay1 == 696 696 ... ... @@ -710,7 +710,7 @@ 710 710 711 711 ))) 712 712 713 -== 7.11Receive Delay2 == 853 +== 7.11 Receive Delay2 == 714 714 715 715 Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms 716 716 ... ... @@ -907,12 +907,18 @@ 907 907 ))) 908 908 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK 909 909 910 -AT+RX1TWO 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. 1050 +((( 1051 +**AT+RX1TWO** 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. 1052 +))) 911 911 912 -[[image:image-2022051 1120050-1.png]]1054 +[[image:image-20220526162535-1.png]] 913 913 1056 +((( 914 914 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. 915 915 1059 + 1060 +))) 1061 + 916 916 == 7.21 Get or Set RXwindows2 timeout == 917 917 918 918 Feature:Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255). ... ... @@ -997,6 +997,129 @@ 997 997 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 998 998 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 999 999 1146 +== 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1147 + 1148 +{{info}} 1149 +**AT Command: AT+SETMAXNBTRANS ** 1150 +{{/info}} 1151 + 1152 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1153 +|=(% colspan="3" style="width: 533px;" %)AT+**SETMAXNBTRANS** 1154 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1155 +|(% style="width:160px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:263px" %)Value1: set the maximum NBTrans.|(% style="width:109px" %)1((( 1156 +OK 1157 +))) 1158 +|(% 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" %)((( 1159 +1 1160 + 1161 +OK 1162 +))) 1163 + 1164 +{{info}} 1165 +**Downlink Command: 0x33** 1166 +{{/info}} 1167 + 1168 +Format: Command Code (0x33) followed by 2 bytes mode value. 1169 + 1170 +If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33. 1171 + 1172 +* Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1173 +* Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1174 + 1175 +== 7.25 Device offline rejoining (LWS007) == 1176 + 1177 +{{info}} 1178 +**AT Command: AT+DDETECT** 1179 +{{/info}} 1180 + 1181 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1182 +|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1183 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1184 +|(% style="width:160px" %)((( 1185 +AT+DDETECT=1,1440,2880 1186 + 1187 +value1 1188 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)((( 1189 +1 1190 + 1191 +OK 1192 +))) 1193 +|(% style="width:160px" %)((( 1194 +AT+DDETECT=1,?,2880 1195 + 1196 +value2 1197 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)((( 1198 + 1199 + 1200 +OK 1201 +))) 1202 +|(% style="width:160px" %)((( 1203 +AT+DDETECT=1,1440,? 1204 + 1205 +value3 1206 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)((( 1207 + 1208 + 1209 +OK 1210 +))) 1211 + 1212 +{{info}} 1213 +**Downlink Command: 0x33** 1214 +{{/info}} 1215 + 1216 +Format: Command Code (0x32) followed by 2 bytes mode value. 1217 + 1218 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 33. 1219 + 1220 +* Example 1: Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1221 + 1222 +== 7.26 Request the server to send an ACK == 1223 + 1224 +{{info}} 1225 +**AT Command: AT+PNACKMD** 1226 +{{/info}} 1227 + 1228 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1229 +|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD** 1230 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1231 +|(% 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((( 1232 +OK 1233 +))) 1234 +|(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)((( 1235 +0 1236 + 1237 +OK 1238 +))) 1239 + 1240 +== 7.27 Adjust network rejoining interval == 1241 + 1242 +{{info}} 1243 +**AT Command: AT+RJTDC** 1244 +{{/info}} 1245 + 1246 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 1247 +|=(% colspan="3" style="width: 724px;" %)AT+RJTDC 1248 +|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** 1249 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000((( 1250 +OK 1251 + 1252 +the interval is 30000ms = 30s 1253 +))) 1254 +|(% style="width:165px" %)AT+RJTDC=60000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK((( 1255 +Set the ReJoin data transmission interval to 60000ms = 60 seconds 1256 +))) 1257 + 1258 +{{info}} 1259 +**Downlink Command: 0x26** 1260 +{{/info}} 1261 + 1262 +Format: Command Code (0x26) followed by 2 bytes mode value. 1263 + 1264 +If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26. 1265 + 1266 +* Example 1: Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1267 +* Example 2: Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1268 + 1000 1000 = 8. AT Commands Combination = 1001 1001 1002 1002 == 8.1 Set a fix RX2DR for downlink window == ... ... @@ -1012,6 +1012,7 @@ 1012 1012 1013 1013 Same as: 1014 1014 1015 -* AT+ADR=0 [[Reference>>http://8.211.40.43:8080/xwiki/bin/view/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#Adaptive_Data_Rate]] 1016 -* AT+DR=5 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Data_Rate]] 1017 -* AT+TXP=0 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Transmit_Power]] 1284 +* AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1285 +* AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1286 +* AT+TXP=0 [[Reference>>||anchor="H7.14TransmitPower"]] 1287 +~)~)~)
- image-20220526162535-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +149.4 KB - Content