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)
-
Attachments (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,10 +1,12 @@ 1 -Contens 1 + **Table of** **Contents:** 2 2 3 3 {{toc/}} 4 4 5 5 6 + 6 6 = 1. Introduction = 7 7 9 + 8 8 Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands: 9 9 10 10 * **Common Commands:** They should be available for each sensor, such as: change uplink interval, reset device. ... ... @@ -17,30 +17,33 @@ 17 17 18 18 = 2. How to use AT Commands or Downlink command = 19 19 22 + 20 20 * 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/]] 21 21 * 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: 22 -** Use HEX format to send a downlink: [[TTN v3>> url:https://wiki.dragino.com/index.php/Notes_for_TTN#Send_Downlink_message]]23 -** Use Base64 format to send a downlink: [[Chirpstack>> url:https://wiki.dragino.com/index.php/Notes_for_ChirpStack#Downlink]].24 -** See use note for more serves [[Servers Note>> url:https://wiki.dragino.com/index.php/Main_Page#Use_Note_for_Server]]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]] 27 +** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server) 25 25 29 + 30 + 26 26 = 3. Support End Node and firmware version = 27 27 28 -(% border="1" style="background-color:#ffffcc; border:1;color:green; width:995.222px" %)29 -|=(% colspan="3" style="width: 9 92px;" %)(((33 +(% border="1" style="background-color:#ffffcc; color:green; width:966px" %) 34 +|=(% colspan="3" style="width: 963px;" %)((( 30 30 Dragino STM32 base hardware Firmware / LoRaWAN stack list 31 31 ))) 32 32 |(% style="width:187px" %)((( 33 33 **Model** 34 -)))|(% style="width:3 49px" %)(((39 +)))|(% style="width:330px" %)((( 35 35 **Description** 36 -)))|(% style="width:45 3px" %)(((41 +)))|(% style="width:445px" %)((( 37 37 **Firmware Version <~-~-> Stack Version** 38 38 ))) 39 39 |(% style="width:187px" %)((( 40 40 [[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]], 41 -)))|(% style="width:3 49px" %)(((46 +)))|(% style="width:330px" %)((( 42 42 Open Source Generic LoRaWAN Sensor Node 43 -)))|(% style="width:45 3px" %)(((48 +)))|(% style="width:445px" %)((( 44 44 ((( 45 45 LSN50 v1.6.0 <~-~-> DR-LWS-003; 46 46 ))) ... ... @@ -53,9 +53,9 @@ 53 53 ))) 54 54 |(% style="width:187px" %)((( 55 55 [[LGT92>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html]], 56 -)))|(% style="width:3 49px" %)(((61 +)))|(% style="width:330px" %)((( 57 57 LoRaWAN GPS Tracker 58 -)))|(% style="width:45 3px" %)(((63 +)))|(% style="width:445px" %)((( 59 59 ((( 60 60 LGT92 v1.6.3 <~-~-> DR-LWS-003; 61 61 ))) ... ... @@ -68,23 +68,23 @@ 68 68 ))) 69 69 |(% style="width:187px" %)((( 70 70 [[LBT1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/165-lbt1.html]], 71 -)))|(% style="width:3 49px" %)(((76 +)))|(% style="width:330px" %)((( 72 72 LoRaWAN BLE Indoor Tracker 73 -)))|(% style="width:45 3px" %)(((78 +)))|(% style="width:445px" %)((( 74 74 LBT1 v1.0 <~-~-> DR-LWS-005; 75 75 ))) 76 76 |(% style="width:187px" %)((( 77 77 [[RS485-LN>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/154-rs485-ln.html]], 78 -)))|(% style="width:3 49px" %)(((83 +)))|(% style="width:330px" %)((( 79 79 LoRaWAN RS485 Modbus Converter 80 -)))|(% style="width:45 3px" %)(((85 +)))|(% style="width:445px" %)((( 81 81 RS485-LN v1.3 <~-~-> DR-LWS-005; 82 82 ))) 83 83 |(% style="width:187px" %)((( 84 84 [[LHT65>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/151-lht65.html]], 85 -)))|(% style="width:3 49px" %)(((90 +)))|(% style="width:330px" %)((( 86 86 LoRaWAN Temperature & Humidity Sensor 87 -)))|(% style="width:45 3px" %)(((92 +)))|(% style="width:445px" %)((( 88 88 ((( 89 89 LHT65 v1.7 <~-~-> DR-LWS-003; 90 90 ))) ... ... @@ -123,7 +123,9 @@ 123 123 **Downlink Command: 0x01** 124 124 {{/info}} 125 125 131 +((( 126 126 Format: Command Code (0x01) followed by 3 bytes time value. 133 +))) 127 127 128 128 ((( 129 129 If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01. ... ... @@ -161,10 +161,16 @@ 161 161 **Downlink Command: 0x04** 162 162 {{/info}} 163 163 171 +((( 164 164 Format: Command Code (0x04) followed by FF. 173 +))) 165 165 175 +((( 166 166 If the downlink payload=**04FF**, the end node will reboot. 167 167 178 + 179 +))) 180 + 168 168 == 4.3 Reset to factory Default == 169 169 170 170 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. ... ... @@ -194,9 +194,13 @@ 194 194 **Downlink Command: 0x04** 195 195 {{/info}} 196 196 210 +((( 197 197 Format: Command Code (0x04) followed by FE. 212 +))) 198 198 214 +((( 199 199 If the downlink payload=**04FE**, Reset Parameters to Factory Default, Keys Reserve. 216 +))) 200 200 201 201 202 202 == 4.4 Show Firmware Version == ... ... @@ -207,10 +207,10 @@ 207 207 **AT Command: AT+VER** 208 208 {{/info}} 209 209 210 -(% border="1" style="background-color:#ffffcc; color:green" %) 211 -|=(% colspan="3" %)AT+VER: Image Version and Frequency Band 212 -|**Command Example**|**Function**|**Response** 213 -|AT+VER=?|Show Image version and Frequency Band|((( 227 +(% border="1" style="background-color:#ffffcc; color:green; width:586px" %) 228 +|=(% colspan="3" style="width: 583px;" %)AT+VER: Image Version and Frequency Band 229 +|(% style="width:170px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:113px" %)**Response** 230 +|(% style="width:170px" %)AT+VER=?|(% style="width:300px" %)Show Image version and Frequency Band|(% style="width:113px" %)((( 214 214 1.3 EU868 215 215 216 216 OK ... ... @@ -220,19 +220,25 @@ 220 220 **Downlink Command: 0x26 (Valid in 006 stack)** 221 221 {{/info}} 222 222 240 +((( 223 223 Downlink Format: 0x26 242 +))) 224 224 225 225 ((( 226 226 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 227 227 ))) 228 228 248 +((( 229 229 **xx: Software Type:** 250 +))) 230 230 231 231 * 0x00 01: LGT92 Version 232 232 * 0x00 02: LBT1 233 233 * 0x00 03: LSE01/LDDS75/LDDS20/LSPH01/LLMS01/LSNPK01 234 234 256 +((( 235 235 **yy: Frequency Band:** 258 +))) 236 236 237 237 * 0x01: EU868 238 238 * 0x02: US915 ... ... @@ -245,7 +245,9 @@ 245 245 * 0x09: AS923-2 246 246 * 0xa0: AS923-3 247 247 271 +((( 248 248 **zz: Subband** 273 +))) 249 249 250 250 firmware version: v1.1.0 ~-~-> 110 251 251 ... ... @@ -399,6 +399,8 @@ 399 399 400 400 == 6.1 Confirm Mode == 401 401 427 +=== AT+CFM command before DR-LWS007 software stack === 428 + 402 402 Feature: Get or Set the confirmation mode (0-1). 403 403 404 404 {{info}} ... ... @@ -423,6 +423,54 @@ 423 423 * Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1 424 424 * Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0 425 425 453 +=== AT+CFM command since DR-LWS007 software stack === 454 + 455 +{{info}} 456 +**AT Command: AT+CFM** 457 +{{/info}} 458 + 459 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 460 +|=(% colspan="3" style="width: 707px;" %)AT+CFM 461 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 462 +|(% style="width:160px" %)((( 463 +AT+CFM=1,0,0 464 + 465 +value1 466 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)((( 467 +1 468 + 469 +OK 470 +))) 471 +|(% style="width:160px" %)((( 472 +AT+CFM=0,?,0 473 + 474 +value2 475 +)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:349px" %)((( 476 +0~~7 477 + 478 +OK 479 +))) 480 +|(% style="width:160px" %)((( 481 +AT+CFM=0,0,1 482 + 483 +value3 484 +)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:349px" %)((( 485 +1 486 + 487 +OK 488 +))) 489 + 490 +{{info}} 491 +**Downlink Command: 0x05** 492 +{{/info}} 493 + 494 +Format: Command Code (0x05) followed by 2 bytes mode value. 495 + 496 +If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05. 497 + 498 +* Example 1: Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 499 +* Example 2: Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 500 + 426 426 == 6.2 Confirm Status == 427 427 428 428 Feature: Get confirmation status of the last AT+SEND (0-1). ... ... @@ -480,7 +480,7 @@ 480 480 481 481 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 482 482 483 -* **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM= O558 +* **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM=0 484 484 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 485 485 486 486 == 6.5 LoRa® Network Join Status == ... ... @@ -736,8 +736,10 @@ 736 736 737 737 == 7.9 Public Network Mode == 738 738 739 -Feature: Get or Set the public network mode. (0: off, 1: on) 814 +Feature: Get or Set the public network mode. (0: off, 1: on). A Public LoRaWAN network use 0x34 as syncword. Default Settings; PNM=1 740 740 816 +Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network 817 + 741 741 {{info}} 742 742 **AT Command:AT+PNM** 743 743 {{/info}} ... ... @@ -748,11 +748,16 @@ 748 748 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 749 749 OK 750 750 ))) 751 -|(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)Set the public network mode.|(% style="width:272px" %)(System will write new value to PNM)((( 828 +|(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)((( 829 +Set the public network mode. 830 + 831 +Set syncword=0x34 832 +)))|(% style="width:272px" %)(System will write new value to PNM)((( 752 752 OK 753 753 754 754 755 755 ))) 837 +|(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 756 756 757 757 == 7.10 Receive Delay1 == 758 758 ... ... @@ -772,7 +772,7 @@ 772 772 773 773 ))) 774 774 775 -== 7.11Receive Delay2 == 857 +== 7.11 Receive Delay2 == 776 776 777 777 Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms 778 778 ... ... @@ -969,12 +969,18 @@ 969 969 ))) 970 970 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK 971 971 972 -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. 1054 +((( 1055 +**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. 1056 +))) 973 973 974 -[[image:image-2022051 1120050-1.png]]1058 +[[image:image-20220526162535-1.png]] 975 975 1060 +((( 976 976 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. 977 977 1063 + 1064 +))) 1065 + 978 978 == 7.21 Get or Set RXwindows2 timeout == 979 979 980 980 Feature:Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255). ... ... @@ -1059,6 +1059,129 @@ 1059 1059 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1060 1060 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1061 1061 1150 +== 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1151 + 1152 +{{info}} 1153 +**AT Command: AT+SETMAXNBTRANS ** 1154 +{{/info}} 1155 + 1156 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1157 +|=(% colspan="3" style="width: 533px;" %)AT+**SETMAXNBTRANS** 1158 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1159 +|(% style="width:160px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:263px" %)Value1: set the maximum NBTrans.|(% style="width:109px" %)1((( 1160 +OK 1161 +))) 1162 +|(% 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" %)((( 1163 +1 1164 + 1165 +OK 1166 +))) 1167 + 1168 +{{info}} 1169 +**Downlink Command: 0x33** 1170 +{{/info}} 1171 + 1172 +Format: Command Code (0x33) followed by 2 bytes mode value. 1173 + 1174 +If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33. 1175 + 1176 +* Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1177 +* Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1178 + 1179 +== 7.25 Device offline rejoining (LWS007) == 1180 + 1181 +{{info}} 1182 +**AT Command: AT+DDETECT** 1183 +{{/info}} 1184 + 1185 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1186 +|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1187 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1188 +|(% style="width:160px" %)((( 1189 +AT+DDETECT=1,1440,2880 1190 + 1191 +value1 1192 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)((( 1193 +1 1194 + 1195 +OK 1196 +))) 1197 +|(% style="width:160px" %)((( 1198 +AT+DDETECT=1,?,2880 1199 + 1200 +value2 1201 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)((( 1202 + 1203 + 1204 +OK 1205 +))) 1206 +|(% style="width:160px" %)((( 1207 +AT+DDETECT=1,1440,? 1208 + 1209 +value3 1210 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)((( 1211 + 1212 + 1213 +OK 1214 +))) 1215 + 1216 +{{info}} 1217 +**Downlink Command: 0x33** 1218 +{{/info}} 1219 + 1220 +Format: Command Code (0x32) followed by 2 bytes mode value. 1221 + 1222 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 33. 1223 + 1224 +* Example 1: Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1225 + 1226 +== 7.26 Request the server to send an ACK == 1227 + 1228 +{{info}} 1229 +**AT Command: AT+PNACKMD** 1230 +{{/info}} 1231 + 1232 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1233 +|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD** 1234 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1235 +|(% 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((( 1236 +OK 1237 +))) 1238 +|(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)((( 1239 +0 1240 + 1241 +OK 1242 +))) 1243 + 1244 +== 7.27 Adjust network rejoining interval == 1245 + 1246 +{{info}} 1247 +**AT Command: AT+RJTDC** 1248 +{{/info}} 1249 + 1250 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 1251 +|=(% colspan="3" style="width: 724px;" %)AT+RJTDC 1252 +|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** 1253 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000((( 1254 +OK 1255 + 1256 +the interval is 30000ms = 30s 1257 +))) 1258 +|(% style="width:165px" %)AT+RJTDC=60000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK((( 1259 +Set the ReJoin data transmission interval to 60000ms = 60 seconds 1260 +))) 1261 + 1262 +{{info}} 1263 +**Downlink Command: 0x26** 1264 +{{/info}} 1265 + 1266 +Format: Command Code (0x26) followed by 2 bytes mode value. 1267 + 1268 +If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26. 1269 + 1270 +* Example 1: Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1271 +* Example 2: Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1272 + 1062 1062 = 8. AT Commands Combination = 1063 1063 1064 1064 == 8.1 Set a fix RX2DR for downlink window == ... ... @@ -1074,6 +1074,7 @@ 1074 1074 1075 1075 Same as: 1076 1076 1077 -* AT+ADR=0 [[Reference>>http://8.211.40.43:8080/xwiki/bin/view/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#Adaptive_Data_Rate]] 1078 -* AT+DR=5 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Data_Rate]] 1079 -* AT+TXP=0 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Transmit_Power]] 1288 +* AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1289 +* AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1290 +* AT+TXP=0 [[Reference>>||anchor="H7.14TransmitPower"]] 1291 +~)~)~)
- image-20220526162535-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +149.4 KB - Content