<
From version < 7.6 >
edited by Xiaoling
on 2022/05/11 10:27
To version < 63.1 >
edited by Edwin Chen
on 2023/04/05 11:31
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.Edwin
Content
... ... @@ -1,55 +1,120 @@
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 -* **Common Commands:** They should be available for each sensor, such as: change uplink interval, reset device.
11 -* **Sensor Related Commands:** Only for special sensor, such as control relay, poll RS485 device.
12 +* (% style="color:blue" %)**Common Commands:** (%%) They should be available for each sensor, such as: change uplink interval, reset device.
13 +* (% style="color:blue" %)**Sensor Related Commands:** (%%) Only for special sensor, such as control relay, poll RS485 device.
12 12  
15 +(((
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 -
17 +)))
15 15  
19 +
16 16  = 2. How to use AT Commands or Downlink command =
17 17  
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 -* 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 23  
23 +* **AT Command** : See Devices User Manual for how to connect to device via USB TTL adapter and use. The user manual can be found in each product page of [[Dragino Official Website>>url:http://www.dragino.com/]]
24 +* **LoRaWAN Downlink Command**: The gateway transfer downlink command in HEX format. This page shows the Downlink Command In HEX format. Please note some LoRaWAN servers use base64 as downlink code so user need to convert HEX to Base64 and use. Below are references for how to use downlink command:
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]], [[How to Convert>>http://wiki.dragino.com/xwiki/bin/view/Main/Notes%20for%20ChirpStack/#H4.1ConvertHEXtoBase64]]?
27 +** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server)
28 +
29 +(% style="display:none" %) (%%)
30 +
24 24  = 3. Support End Node and firmware version =
25 25  
26 -(% style="background-color:#ffffcc; 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;(((
33 +
34 +(% border="1" style="background-color:#ffffcc; color:green; width:966px" %)
35 +|=(% colspan="3" style="width: 963px;" %)(((
36 +Dragino STM32 base hardware Firmware / LoRaWAN stack list
37 +)))
38 +|(% style="width:187px" %)(((
39 +**Model**
40 +)))|(% style="width:330px" %)(((
41 +**Description**
42 +)))|(% style="width:445px" %)(((
43 +**Firmware Version <~-~-> Stack Version**
44 +)))
45 +|(% style="width:187px" %)(((
46 +[[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]],
47 +)))|(% style="width:330px" %)(((
48 +Open Source Generic LoRaWAN Sensor Node
49 +)))|(% style="width:445px" %)(((
50 +(((
51 +LSN50 v1.6.0 <~-~-> DR-LWS-003;
52 +)))
53 +
54 +(((
55 +(((
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;(((
58 +)))
59 +)))
60 +|(% style="width:187px" %)(((
61 +[[LGT92>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html]],
62 +)))|(% style="width:330px" %)(((
63 +LoRaWAN GPS Tracker
64 +)))|(% style="width:445px" %)(((
65 +(((
66 +LGT92 v1.6.3 <~-~-> DR-LWS-003;
67 +)))
68 +
69 +(((
70 +(((
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;(((
73 +)))
74 +)))
75 +|(% style="width:187px" %)(((
76 +[[LBT1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/165-lbt1.html]],
77 +)))|(% style="width:330px" %)(((
78 +LoRaWAN BLE Indoor Tracker
79 +)))|(% style="width:445px" %)(((
80 +LBT1 v1.0 <~-~-> DR-LWS-005;
81 +)))
82 +|(% style="width:187px" %)(((
83 +[[RS485-LN>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/154-rs485-ln.html]],
84 +)))|(% style="width:330px" %)(((
85 +LoRaWAN RS485 Modbus Converter
86 +)))|(% style="width:445px" %)(((
87 +RS485-LN v1.3 <~-~-> DR-LWS-005;
88 +)))
89 +|(% style="width:187px" %)(((
90 +[[LHT65>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/151-lht65.html]],
91 +)))|(% style="width:330px" %)(((
92 +LoRaWAN Temperature & Humidity Sensor
93 +)))|(% style="width:445px" %)(((
94 +(((
95 +LHT65 v1.7 <~-~-> DR-LWS-003;
96 +)))
97 +
98 +(((
99 +(((
38 38  LHT65 v1.8.0 <~-~-> DR-LWS-005;~-~-> Support since this version
39 39  )))
102 +)))
103 +)))
40 40  
105 +(% style="display:none" %) (%%)
106 +
41 41  = 4. System Management Commands =
42 42  
43 43  == 4.1 Change Uplink Interval ==
44 44  
111 +
45 45  Feature: Change LoRaWAN End Node Transmit Interval.
46 46  
47 -(% class="box infomessage" %)
48 -(((
49 -**AT Command: AT+TDC**
50 -)))
51 51  
52 -(% style="background-color:#ffffcc; color:green; width:727.222px" %)
115 +(% style="color:blue" %)**AT Command: AT+TDC**
116 +
117 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
53 53  |=(% colspan="3" style="width: 724px;" %)AT+TDC
54 54  |(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
55 55  |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000(((
... ... @@ -61,29 +61,35 @@
61 61  Set transmit interval to 60000ms = 60 seconds
62 62  )))
63 63  
64 -{{info}}
65 -**Downlink Command: 0x01**
66 -{{/info}}
129 +(((
130 +
67 67  
132 +(% style="color:blue" %)**Downlink Command: 0x01**
133 +
68 68  Format: Command Code (0x01) followed by 3 bytes time value.
135 +)))
69 69  
70 -If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01.
137 +(((
138 +If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
139 +)))
71 71  
72 -* **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds
73 -* **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds
141 +* **Example 1**: Downlink Payload:** 0100001E**  ~/~/ Set Transmit Interval (TDC) = 30 seconds
142 +* **Example 2**: Downlink Payload:** 0100003C**  ~/~/ Set Transmit Interval (TDC) = 60 seconds
74 74  
144 +(% style="display:none" %) (%%)
145 +
75 75  == 4.2 Reboot End Node ==
76 76  
148 +
77 77  Feature: Reboot End Node to perform a new OTAA or ABP Join.
78 78  
79 -{{info}}
80 -**AT Command: ATZ**
81 -{{/info}}
82 82  
83 -(% border="0" style="background-color:#ffffcc; color:green; width:727.222px" %)
84 -|=(% colspan="3" %)ATZ: Trig a reset of the MCU
85 -|**Command Example**|**Function**|**Response**
86 -|ATZ|Reset MCU|(((
152 +(% style="color:blue" %)**AT Command: ATZ**
153 +
154 +(% border="1" style="background-color:#ffffcc; color:green; width:546px" %)
155 +|=(% colspan="3" style="width: 543px;" %)ATZ: Trig a reset of the MCU
156 +|(% style="width:157px" %)**Command Example**|(% style="width:92px" %)**Function**|(% style="width:294px" %)**Response**
157 +|(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)(((
87 87  Device reset and show booting info
88 88  
89 89  LSN50 Device/LoRa ST Module
... ... @@ -97,26 +97,29 @@
97 97  <followed by the Tx and Rx information>
98 98  )))
99 99  
100 -{{info}}
101 -**Downlink Command: 0x04**
102 -{{/info}}
171 +(% style="color:blue" %)**Downlink Command: 0x04**
103 103  
173 +(((
104 104  Format: Command Code (0x04) followed by FF.
175 +)))
105 105  
106 -If the downlink payload=**04FF**, the end node will reboot.
177 +(((
178 +If the downlink payload=**04FF**, the end node will reboot.
179 +)))
107 107  
181 +
108 108  == 4.3 Reset to factory Default ==
109 109  
184 +
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.
111 111  
112 -{{info}}
113 -**AT Command: AT+FDR**
114 -{{/info}}
115 115  
116 -(% style="background-color:#ffffcc; color:green; width:831.222px" %)
117 -|=(% colspan="3" style="width: 828px;" %)Reset to factory default
118 -|(% style="width:181px" %)**Command Example**|(% style="width:181px" %)**Function**|(% style="width:465px" %)**Response**
119 -|(% style="width:181px" %)AT+FDR|(% style="width:181px" %)Reset to factory default|(% style="width:465px" %)(((
188 +(% style="color:blue" %)**AT Command: AT+FDR**
189 +
190 +(% border="1" style="background-color:#ffffcc; color:green; width:789px" %)
191 +|=(% colspan="3" style="width: 786px;" %)Reset to factory default
192 +|(% style="width:154px" %)**Command Example**|(% style="width:175px" %)**Function**|(% style="width:456px" %)**Response**
193 +|(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)(((
120 120  Device reset to factory default parameters and show booting info
121 121  
122 122  LSN50 Device/LoRa ST Module
... ... @@ -130,47 +130,59 @@
130 130  Please set the parameters or reset Device to apply change
131 131  )))
132 132  
133 -{{info}}
134 -**Downlink Command: 0x04**
135 -{{/info}}
207 +(% style="color:blue" %)**Downlink Command: 0x04**
136 136  
209 +(((
137 137  Format: Command Code (0x04) followed by FE.
211 +)))
138 138  
213 +(((
139 139  If the downlink payload=**04FE**, Reset Parameters to Factory Default, Keys Reserve.
215 +)))
140 140  
141 141  
142 142  == 4.4 Show Firmware Version ==
143 143  
220 +
144 144  Feature: Show firmware version. No downlink command yet.
145 145  
146 -{{info}}
147 -**AT Command: AT+VER**
148 -{{/info}}
149 149  
150 -(% 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|(((
224 +(% style="color:blue" %)**AT Command: AT+VER**
225 +
226 +(% border="1" style="background-color:#ffffcc; color:green; width:542px" %)
227 +|=(% colspan="3" style="width: 539px;" %)AT+VER: Image Version and Frequency Band
228 +|(% style="width:157px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:86px" %)**Response**
229 +|(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)(((
154 154  1.3 EU868
155 155  
156 156  OK
157 157  )))
158 158  
159 -{{info}}
160 -**Downlink Command: 0x26 (Valid in 006 stack)**
161 -{{/info}}
235 +(% style="color:blue" %)**Downlink Command: 0x26 (Valid in 006 stack)**
162 162  
237 +(((
163 163  Downlink Format: 0x26
239 +)))
164 164  
241 +(((
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
243 +)))
166 166  
245 +(((
246 +
247 +
167 167  **xx: Software Type:**
249 +)))
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  
255 +(((
256 +
257 +
173 173  **yy: Frequency Band:**
259 +)))
174 174  
175 175  * 0x01: EU868
176 176  * 0x02: US915
... ... @@ -183,7 +183,11 @@
183 183  * 0x09: AS923-2
184 184  * 0xa0: AS923-3
185 185  
272 +(((
273 +
274 +
186 186  **zz: Subband**
276 +)))
187 187  
188 188  firmware version: v1.1.0 ~-~-> 110
189 189  
... ... @@ -190,41 +190,37 @@
190 190  
191 191  == 4.5 Show System Configure ==
192 192  
283 +
193 193  Feature: Show All configure. No downlink command yet.
194 194  
195 -{{info}}
196 -**AT Command: AT+CFG**
197 -{{/info}}
198 198  
199 -(% style="background-color:#ffffcc; color:green; width:599.222px" %)
287 +(% style="color:blue" %)**AT Command: AT+CFG**
288 +
289 +(% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %)
200 200  |=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations
201 201  |(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response**
202 202  |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)(((
203 203  AT+DEUI = XX XX XX XX XX XX XX XX
204 -
205 205  AT+DADDR=XXXXXXXX
206 -
207 207  ……….
208 -
209 209  AT+RX2WTO=X
210 -
211 211  AT+CHS=868100000
212 -
213 213  OK
214 214  )))
215 215  
301 +(% style="display:none" %) (%%)
216 216  
217 217  = 5. Keys, IDs and EUIs management =
218 218  
219 219  == 5.1 Application EUI ==
220 220  
307 +
221 221  Feature: Get or Set the Application EUI.
222 222  
223 -{{info}}
224 -**AT Command: AT+APPEUI**
225 -{{/info}}
226 226  
227 -(% style="background-color:#ffffcc; color:green; width:686.222px" %)
311 +(% style="color:blue" %)**AT Command: AT+APPEUI**
312 +
313 +(% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %)
228 228  |=(% colspan="3" style="width: 683px;" %)AT+APPEUI
229 229  |(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response**
230 230  |(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00(((
... ... @@ -232,15 +232,17 @@
232 232  )))
233 233  |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK
234 234  
321 +(% style="display:none" %) (%%)
322 +
235 235  == 5.2 Application Key ==
236 236  
325 +
237 237  Feature: Get or Set the Application Key.
238 238  
239 -{{info}}
240 -**AT Command: AT+APPKEY**
241 -{{/info}}
242 242  
243 -(% style="background-color:#ffffcc; color:green; width:976.222px" %)
329 +(% style="color:blue" %)**AT Command: AT+APPKEY**
330 +
331 +(% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %)
244 244  |=(% colspan="3" style="width: 973px;" %)AT+APPKEY
245 245  |(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response**
246 246  |(% style="width:441px" %)AT+APPKEY=?|(% style="width:180px" %)Get the Application Key|(% style="width:350px" %)00 35 55 55 22 23 55 53 43 24 23 42 34 35 35 35(((
... ... @@ -248,15 +248,17 @@
248 248  )))
249 249  |(% 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
250 250  
339 +(% style="display:none" %) (%%)
340 +
251 251  == 5.3 Application Session Key ==
252 252  
343 +
253 253  Feature: Get or Set the Application Session Key.
254 254  
255 -{{info}}
256 -**AT Command: AT+APPSKEY**
257 -{{/info}}
258 258  
259 -(% style="background-color:#ffffcc; color:green; width:1040.22px" %)
347 +(% style="color:blue" %)**AT Command: AT+APPSKEY**
348 +
349 +(% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %)
260 260  |=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY
261 261  |(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response**
262 262  |(% style="width:451px" %)AT+APPSKEY=?|(% style="width:231px" %)Get the Application Session Key|(% style="width:354px" %)00 7d dc 73 33 d3 eb 9e 14 38 d5 a4 3e 62 5b e2(((
... ... @@ -266,15 +266,17 @@
266 266  OK
267 267  )))
268 268  
359 +(% style="display:none" %) (%%)
360 +
269 269  == 5.4 Device Address ==
270 270  
363 +
271 271  Feature: Get or Set the Device Address.
272 272  
273 -{{info}}
274 -**AT Command: AT+DADDR**
275 -{{/info}}
276 276  
277 -(% style="background-color:#ffffcc; color:green; width:795.222px" %)
367 +(% style="color:blue" %)**AT Command: AT+DADDR**
368 +
369 +(% border="1" style="background-color:#ffffcc; color:green; width:795.222px" %)
278 278  |=(% colspan="3" style="width: 792px;" %)AT+DADDR
279 279  |(% style="width:192px" %)**Command Example**|(% style="width:241px" %)**Function**|(% style="width:359px" %)**Response**
280 280  |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
... ... @@ -284,15 +284,17 @@
284 284  )))
285 285  |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK
286 286  
379 +(% style="display:none" %) (%%)
380 +
287 287  == 5.5 Device EUI ==
288 288  
383 +
289 289  Feature: Get or Set the Device EUI.
290 290  
291 -{{info}}
292 -**AT Command: AT+DEUI**
293 -{{/info}}
294 294  
295 -(% style="background-color:#ffffcc; color:green; width:1035.22px" %)
387 +(% style="color:blue" %)**AT Command: AT+DEUI**
388 +
389 +(% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %)
296 296  |=(% colspan="3" style="width: 1032px;" %)AT+DEUI
297 297  |(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response**
298 298  |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
... ... @@ -302,15 +302,17 @@
302 302  OK
303 303  )))
304 304  
399 +(% style="display:none" %) (%%)
400 +
305 305  == 5.6 Network ID ==
306 306  
403 +
307 307  Feature: Get or Set the Network ID.(You can enter this command change only after successful network connection)
308 308  
309 -{{info}}
310 -**AT Command: AT+NWKID**
311 -{{/info}}
312 312  
313 -(% style="background-color:#ffffcc; color:green; width:448.222px" %)
407 +(% style="color:blue" %)**AT Command: AT+NWKID**
408 +
409 +(% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %)
314 314  |=(% colspan="3" style="width: 445px;" %)AT+NWKID
315 315  |(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response**
316 316  |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
... ... @@ -318,15 +318,17 @@
318 318  )))
319 319  |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK
320 320  
417 +(% style="display:none" %) (%%)
418 +
321 321  == 5.7 Network Session Key ==
322 322  
421 +
323 323  Feature: Get or Set the Network Session Key
324 324  
325 -{{info}}
326 -**AT Command: AT+NWKSKEY**
327 -{{/info}}
328 328  
329 -(% style="background-color:#ffffcc; color:green; width:1017.22px" %)
425 +(% style="color:blue" %)**AT Command: AT+NWKSKEY**
426 +
427 +(% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %)
330 330  |=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY
331 331  |(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response**
332 332  |(% style="width:455px" %)AT+NWKSKEY=?|(% style="width:215px" %)Get the Network Session Key.|(% style="width:343px" %)00 4f 19 25 52 ce 97 09 d7 fa 84 71 db 51 02 92(((
... ... @@ -334,17 +334,21 @@
334 334  )))
335 335  |(% 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
336 336  
435 +(% style="display:none" %) (%%)
436 +
337 337  = 6. Joining and sending date on LoRaWAN network =
338 338  
339 339  == 6.1 Confirm Mode ==
340 340  
441 +=== 6.1.1  AT+CFM command before DR-LWS007 software stack ===
442 +
443 +
341 341  Feature: Get or Set the confirmation mode (0-1).
342 342  
343 -{{info}}
344 -**AT Command: AT+CFM**
345 -{{/info}}
346 346  
347 -(% style="background-color:#ffffcc; color:green; width:710.222px" %)
447 +(% style="color:blue" %)**AT Command: AT+CFM**
448 +
449 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
348 348  |=(% colspan="3" style="width: 707px;" %)AT+CFM
349 349  |(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response**
350 350  |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
... ... @@ -353,362 +353,527 @@
353 353  |(% style="width:155px" %)AT+CFM=1|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)OK
354 354  |(% style="width:155px" %)AT+CFM=2|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)While Error in format, return AT_PARAM_ERROR
355 355  
356 -Downlink Command: 0x05
458 +(% style="color:blue" %)**Downlink Command: 0x05**
357 357  
358 358  Format: Command Code (0x05) followed by 2 bytes mode value.
359 359  
360 360  If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
361 361  
362 -* Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1
363 -* Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0
464 +* **Example 1:** Downlink Payload: 0501  ~/~/ Set AT+CFM=1
465 +* **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
364 364  
467 +(% style="display:none" %) (%%)
468 +
469 +=== 6.1.2  AT+CFM command since DR-LWS007 software stack ===
470 +
471 +
472 +(% style="color:blue" %)**AT Command: AT+CFM**
473 +
474 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
475 +|=(% colspan="3" style="width: 707px;" %)AT+CFM
476 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
477 +|(% style="width:160px" %)(((
478 +AT+CFM=1,0,0
479 +
480 +value1
481 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)(((
482 +1
483 +
484 +OK
485 +)))
486 +|(% style="width:160px" %)(((
487 +AT+CFM=0,?,0
488 +
489 +value2
490 +)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:349px" %)(((
491 +0~~7
492 +
493 +OK
494 +)))
495 +|(% style="width:160px" %)(((
496 +AT+CFM=0,0,1
497 +
498 +value3
499 +)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:349px" %)(((
500 +1
501 +
502 +OK
503 +)))
504 +
505 +(% style="color:blue" %)**Downlink Command: 0x05**
506 +
507 +Format: Command Code (0x05) followed by 2 bytes mode value.
508 +
509 +If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
510 +
511 +* **Example 1:** Downlink Payload: 05010101  ~/~/ Set AT+CFM=1,1,1
512 +* **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
513 +
514 +(% style="display:none" %) (%%)
515 +
365 365  == 6.2 Confirm Status ==
366 366  
518 +
367 367  Feature: Get confirmation status of the last AT+SEND (0-1).
368 368  
369 -AT Command: AT+CFS
370 370  
371 -|=(% colspan="3" %)AT+CFS
372 -|**Command Example**|**Function**|**Response**
373 -|AT+CFS=?|Get confirmation status|0(((
522 +(% style="color:blue" %)**AT Command: AT+CFS**
523 +
524 +(% border="1" style="background-color:#ffffcc; color:green; width:463px" %)
525 +|=(% colspan="3" style="width: 460px;" %)AT+CFS
526 +|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:107px" %)**Response**
527 +|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0(((
374 374  OK
375 375  )))
376 376  
531 +(% style="display:none" %) (%%)
532 +
377 377  == 6.3 Join LoRa® Network ==
378 378  
535 +
379 379  Feature: Join network.
380 380  
381 -AT Command: AT+JOIN
382 382  
383 -|=(% colspan="3" %)AT+JOIN
384 -|**Command Example**|**Function**|**Response**
385 -|AT+JOIN ?|Get imformation.|AT+JOIN: Join network(((
386 -OK
539 +(% style="color:blue" %)**AT Command: AT+JOIN**
387 387  
541 +(% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %)
542 +|=(% colspan="3" style="width: 644px;" %)AT+JOIN
543 +|(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response**
544 +|(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
545 +OK
388 388  While Error in format, return AT_BUSY_ERROR
389 389  )))
390 390  
549 +(% style="display:none" %) (%%)
550 +
391 391  == 6.4 LoRa® Network Join Mode ==
392 392  
553 +
393 393  Feature: Get or Set the Network Join Mode. (0: ABP, 1: OTAA).
394 394  
395 -AT Command: AT+NJM
396 396  
397 -|=(% colspan="3" %)AT+NJM
398 -|**Command Example**|**Function**|**Response**
399 -|AT+NJM=?|Get the Network Join Mode|1(((
557 +(% style="color:blue" %)**AT Command: AT+NJM**
558 +
559 +(% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %)
560 +|=(% colspan="3" style="width: 750px;" %)AT+NJM
561 +|(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response**
562 +|(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
400 400  OK
401 401  )))
402 -|AT+NJM=0|Set the Network Join Mode|OK
403 -|AT+NJM=2|Set the Network Join Mode|While Error in format, return AT_PARAM_ERROR
565 +|(% style="width:162px" %)AT+NJM=0|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)OK
566 +|(% style="width:162px" %)AT+NJM=2|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)While Error in format, return AT_PARAM_ERROR
404 404  
405 -Downlink Command: 0x20
568 +(% style="color:blue" %)**Downlink Command: 0x20**
406 406  
407 407  Format: Command Code (0x20) followed by 1 bytes mode value.
408 408  
409 409  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
410 410  
411 -* Example 1: Downlink Payload: 2000 ~/~/ Set AT+NJM=O
412 -* Example 2: Downlink Payload: 2001 ~/~/ Set AT+NJM=1
574 +* **Example 1: **Downlink Payload: **2000                  ** ~/~/ Set AT+NJM=0
575 +* **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
413 413  
577 +(% style="display:none" %) (%%)
578 +
414 414  == 6.5 LoRa® Network Join Status ==
415 415  
581 +
416 416  Feature: LoRa® Network Join Status.
417 417  
418 -AT Command: AT+NJS
419 419  
420 -|=(% colspan="3" %)AT+NJS
421 -|**Command Example**|**Function**|**Response**
422 -|AT+NJS=?|Get the join status.|0(((
585 +(% style="color:blue" %)**AT Command: AT+NJS**
586 +
587 +(% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %)
588 +|=(% colspan="3" style="width: 495px;" %)AT+NJS
589 +|(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response**
590 +|(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0(((
423 423  OK
424 424  )))
425 425  
594 +(% style="display:none" %) (%%)
595 +
426 426  == 6.6 Print Last Received Data in Raw Format ==
427 427  
598 +
428 428  Feature: Print Last Received Data in Raw Format<port:data>.
429 429  
430 -AT Command: AT+RECV
431 431  
432 -|=(% colspan="3" %)AT+RECV
433 -|**Command Example**|**Function**|**Response**
434 -|AT+RECV=?|print last received data in raw format.|0:(((
602 +(% style="color:blue" %)**AT Command: AT+RECV**
603 +
604 +(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
605 +|=(% colspan="3" style="width: 584px;" %)AT+RECV
606 +|(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response**
607 +|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:(((
435 435  OK
436 436  )))
437 437  
611 +(% style="display:none" %) (%%)
612 +
438 438  == 6.7 Print Last Received Data in Binary Format ==
439 439  
615 +
440 440  Feature: Print Last Received Data in Binary Format<port:data>.
441 441  
442 -AT Command: AT+RECVB
443 443  
444 -|=(% colspan="3" %)AT+RECVB
445 -|**Command Example**|**Function**|**Response**
446 -|AT+RECVB=?|print last received data in binary format (with hexadecimal values).|2: 0010(((
619 +(% style="color:blue" %)**AT Command: AT+RECVB**
620 +
621 +(% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %)
622 +|=(% colspan="3" style="width: 790px;" %)AT+RECVB
623 +|(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response**
624 +|(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
447 447  OK
448 448  )))
449 449  
628 +(% style="display:none" %) (%%)
629 +
450 450  == 6.8 Send Text Data ==
451 451  
632 +
452 452  Feature: Send Text Data<port:data>.
453 453  
454 -AT Command: AT+SEND
455 455  
456 -|=(% colspan="3" %)AT+SEND
457 -|**Command Example**|**Function**|**Response**
458 -|AT+SEND=12:hello world|Send text data along with the application port.|OK(((
459 -While Error in format, return
636 +(% style="color:blue" %)**AT Command: AT+SEND**
460 460  
638 +(% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %)
639 +|=(% colspan="3" style="width: 988px;" %)AT+SEND
640 +|(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response**
641 +|(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
642 +While Error in format, return
461 461  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
462 -
463 -
464 464  )))
465 465  
646 +(% style="display:none" %) (%%)
647 +
466 466  == 6.9 Send Hexadecimal Data ==
467 467  
650 +
468 468  Feature: Send hexadecimal data along with the application port.
469 469  
470 -AT Command: AT+SENDB
471 471  
472 -|=(% colspan="3" %)AT+SENDB
473 -|**Command Example**|**Function**|**Response**
474 -|AT+SENDB=12:abcdef0123456789|Send hexadecimal data along with the application port.|OK
475 -|AT+SENDB=abcdef0123456789|Send hexadecimal data along with the application port.|While Error in format, return(((
476 -AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
654 +(% style="color:blue" %)**AT Command: AT+SENDB**
477 477  
478 -
656 +(% border="1" style="background-color:#ffffcc; color:green; width:1101px" %)
657 +|=(% colspan="3" style="width: 1098px;" %)AT+SENDB
658 +|(% style="width:257px" %)**Command Example**|(% style="width:394px" %)**Function**|(% style="width:446px" %)**Response**
659 +|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK
660 +|(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)While Error in format, return(((
661 +AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
479 479  )))
480 480  
664 +(% style="display:none" %) (%%)
665 +
481 481  = 7. LoRaWAN network management =
482 482  
483 483  == 7.1 Adaptive Data Rate ==
484 484  
670 +
485 485  Feature: Get or Set the Adaptive Data Rate setting. (0: off, 1: on).
486 486  
487 487  
488 -AT Command: AT+ADR
674 +(% style="color:blue" %)**AT Command: AT+ADR**
489 489  
490 -|=(% colspan="3" %)AT+ADR
491 -|**Command Example**|**Function**|**Response**
492 -|AT+ADR=?|Get the Adaptive Data Rate setting.|1(((
676 +(% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %)
677 +|=(% colspan="3" style="width: 680px;" %)AT+ADR
678 +|(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response**
679 +|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1(((
493 493  OK
494 494  )))
495 -|AT+ADR=0|Set the Adaptive Data Rate setting.|OK
496 -|AT+ADR=2|Set the Adaptive Data Rate setting.|While Error in format, return(((
682 +|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)OK
683 +|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)While Error in format, return(((
497 497  AT_PARAM_ERROR
498 498  )))
499 499  
500 -Downlink Command: 0x22
687 +(% style="color:blue" %)**Downlink Command: 0x22**
501 501  
502 -
503 503  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
504 504  
505 -* Example 1: Downlink Payload: 2201 ~/~/ Set AT+ADR=1.
506 -* Example 2: Downlink Payload: 2200FFFF ~/~/ Set AT+ADR=0.
691 +* **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
692 +* **Example 2**: Downlink Payload: **2200FFFF**  ~/~/ Set AT+ADR=0.
507 507  
694 +(% style="display:none" %) (%%)
695 +
508 508  == 7.2 LoRa® Class ==
509 509  
698 +
510 510  Feature: Get or Set the Device Class(Currently only support class A, class C).
511 511  
512 -AT Command:AT+CLASS
513 513  
514 -|=(% colspan="3" %)AT+CLASS
515 -|**Command Example**|**Function**|**Response**
516 -|AT+CLASS=?|Get the Device Class.|A(((
702 +(% style="color:blue" %)**AT Command:  AT+CLASS**
703 +
704 +(% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %)
705 +|=(% colspan="3" style="width: 504px;" %)AT+CLASS
706 +|(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response**
707 +|(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A(((
517 517  OK
518 518  )))
519 -|AT+CLASS=C|Set the Device Class.|OK(((
710 +|(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:175px" %)OK(((
520 520  
521 521  )))
522 522  
714 +(% style="display:none" %)
715 +
716 +(% style="color:red" %)**Notice:**
717 +
718 +* Run AT+FDR before running AT+CLASS=C
719 +* After change to Class=C, Before OTAA Join Successfule, the end node will still shows to use CLASS=A for OTAA Joined. It will use CLASS=C after OTAA Join Succeccful.
720 +
721 +
523 523  == 7.3 Duty Cycle Setting ==
524 524  
525 -Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing.
526 526  
527 -AT Command:AT+DCS
725 +Feature: Get or Set the ETSI Duty Cycle setting** - 0**=disable, **1**=enable - Only for testing.
528 528  
529 -|=(% colspan="3" %)AT+DCS
530 -|**Command Example**|**Function**|**Response**
531 -|AT+DCS=?|Get the ETSI Duty Cycle setting.|1(((
727 +
728 +(% style="color:blue" %)**AT Command:  AT+DCS**
729 +
730 +(% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
731 +|=(% colspan="3" style="width: 512px;" %)AT+DCS
732 +|(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response**
733 +|(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
532 532  OK
533 533  )))
534 -|AT+DCS=1|Set the ETSI Duty Cycle setting.|OK(((
736 +|(% style="width:165px" %)AT+DCS=1|(% style="width:239px" %)Set the ETSI Duty Cycle setting.|(% style="width:107px" %)OK(((
535 535  
536 536  )))
537 537  
740 +(% style="display:none" %) (%%)
741 +
538 538  == 7.4 Data Rate ==
539 539  
540 -Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) . Note: while set Data Rate, please use set Adptive Data Rate, ADR=0 first. otherwise device will response to server's ADR command and change the DR to the setting from server
541 541  
542 -AT Command: AT+DR
745 +Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) .
543 543  
544 -|=(% colspan="3" %)AT+DR
545 -|**Command Example**|**Function**|**Response**
546 -|AT+DR=?|Get the Data Rate.|5(((
747 +(% style="color:red" %)
748 +**Notice:**
749 +
750 +* User need to set Adaptive Data Rate(ADR)=0 first. otherwise device will respond to server's ADR command and change the DR according to server auto-adjustment.
751 +* Data Rate specifies Spreading Factor. The mapping varies in different frequency bands. User can check this link for detail. [[rp2-1.0.3-lorawan-regional-parameters.pdf>>https://lora-alliance.org/resource_hub/rp2-1-0-3-lorawan-regional-parameters/]]
752 +
753 +(% style="color:blue" %)**AT Command: AT+DR**
754 +
755 +(% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
756 +|=(% colspan="3" style="width: 463px;" %)AT+DR
757 +|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response**
758 +|(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5(((
547 547  OK
548 548  )))
549 -|AT+DR=2|Set the Data Rate.|OK(((
761 +|(% style="width:156px" %)AT+DR=2|(% style="width:167px" %)Set the Data Rate.|(% style="width:140px" %)OK(((
550 550  
551 551  )))
552 552  
553 -Downlink Command: 0x2200aaFF
765 +(% style="color:blue" %)**Downlink Command: 0x2200aaFF**
554 554  
555 -
556 556  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
557 557  
558 -* Example 1: Downlink Payload: 220001FF ~/~/ Set AT+DR=1.
559 -* Example 2: Downlink Payload: 220000FF ~/~/ Set AT+DR=0.
769 +* **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
770 +* **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
560 560  
772 +(% style="display:none" %) (%%)
773 +
561 561  == 7.5 Frame Counter Downlink ==
562 562  
776 +
563 563  Feature: Get or Set the Frame Counter Downlink.
564 564  
565 -AT Command:AT+FCD
566 566  
567 -|=(% colspan="3" %)AT+FCD
568 -|**Command Example**|**Function**|**Response**
569 -|AT+FCD=?|Get the Frame Counter Downlink.|0(((
780 +(% style="color:blue" %)**AT Command:  AT+FCD**
781 +
782 +(% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %)
783 +|=(% colspan="3" style="width: 690px;" %)AT+FCD
784 +|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response**
785 +|(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
570 570  OK
571 571  )))
572 -|AT+FCD=10|Set the Frame Counter Downlink.|(System will write new value to FCD)(((
788 +|(% style="width:162px" %)AT+FCD=10|(% style="width:258px" %)Set the Frame Counter Downlink.|(% style="width:269px" %)(System will write new value to FCD)(((
573 573  OK
574 -
575 -
576 576  )))
577 577  
792 +(% style="display:none" %) (%%)
793 +
578 578  == 7.6 Frame Counter Uplink ==
579 579  
580 580  Feature: Get or Set the Frame Counter Uplink.
581 581  
582 -AT Command:AT+FCU
583 583  
584 -|=(% colspan="3" %)AT+FCU
585 -|**Command Example**|**Function**|**Response**
586 -|AT+FCU=?|Get the Frame Counter Uplink.|0(((
799 +(% style="color:blue" %)**AT Command:  AT+FCU**
800 +
801 +(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
802 +|=(% colspan="3" style="width: 531px;" %)AT+FCU
803 +|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response**
804 +|(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
587 587  OK
588 588  )))
589 -|AT+FCU=10|Set the Frame Counter Uplink.|OK(((
807 +|(% style="width:177px" %)AT+FCU=10|(% style="width:239px" %)Set the Frame Counter Uplink.|(% style="width:113px" %)OK(((
590 590  
591 591  )))
592 592  
811 +(% style="display:none" %) (%%)
812 +
593 593  == 7.7 Join Accept Delay1 ==
594 594  
815 +
595 595  Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms.
596 596  
597 -AT Command:AT+JN1DL
598 598  
599 -|=(% colspan="3" %)AT+JN1DL
600 -|**Command Example**|**Function**|**Response**
601 -|AT+JN1DL=?|Get the Join Accept Delay.|5000(((
819 +(% style="color:blue" %)**AT Command:  AT+JN1DL**
820 +
821 +(% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %)
822 +|=(% colspan="3" style="width: 534px;" %)AT+JN1DL
823 +|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response**
824 +|(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
602 602  OK
603 603  )))
604 -|AT+JN1DL=10000|Set the Join Accept Delay.|OK(((
827 +|(% style="width:164px" %)AT+JN1DL=10000|(% style="width:229px" %)Set the Join Accept Delay.|(% style="width:140px" %)OK(((
605 605  
606 606  )))
607 607  
831 +(% style="display:none" %) (%%)
832 +
608 608  == 7.8 Join Accept Delay2 ==
609 609  
835 +
610 610  Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms.
611 611  
612 -AT Command:AT+JN2DL
613 613  
614 -|=(% colspan="3" %)AT+JN2DL
615 -|**Command Example**|**Function**|**Response**
616 -|AT+JN2DL=?|Get the Join Accept Delay.|6000(((
839 +(% style="color:blue" %)**AT Command:  AT+JN2DL**
840 +
841 +(% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %)
842 +|=(% colspan="3" style="width: 535px;" %)AT+JN2DL
843 +|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response**
844 +|(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
617 617  OK
618 618  )))
619 -|AT+JN2DL=20000|Set the Join Accept Delay.|OK(((
847 +|(% style="width:160px" %)AT+JN2DL=20000|(% style="width:228px" %)Set the Join Accept Delay.|(% style="width:146px" %)OK(((
620 620  
621 621  )))
622 622  
851 +(% style="display:none" %) (%%)
852 +
623 623  == 7.9 Public Network Mode ==
624 624  
625 -Feature: Get or Set the public network mode. (0: off, 1: on)
626 626  
627 -AT Command:AT+PNM
856 +Feature: Get or Set the public network mode. (0: off, 1: on). A Public LoRaWAN network use 0x34 as syncword. Default Settings; PNM=1
628 628  
629 -|=(% colspan="3" %)AT+PNM
630 -|**Command Example**|**Function**|**Response**
631 -|AT+PNM=?|Get the public network mode.|1(((
858 +(% style="color:red" %)**Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network.**
859 +
860 +
861 +(% style="color:blue" %)**AT Command:  AT+PNM**
862 +
863 +(% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %)
864 +|=(% colspan="3" style="width: 664px;" %)AT+PNM
865 +|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response**
866 +|(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
632 632  OK
633 633  )))
634 -|AT+PNM=1|Set the public network mode.|(System will write new value to PNM)(((
869 +|(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)(((
870 +Set the public network mode.
871 +
872 +Set syncword=0x34
873 +)))|(% style="width:272px" %)(System will write new value to PNM)(((
635 635  OK
636 636  
637 637  
638 638  )))
878 +|(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %)
639 639  
880 +(% style="display:none" %) (%%)
881 +
640 640  == 7.10 Receive Delay1 ==
641 641  
884 +
642 642  Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms
643 643  
644 -AT Command:AT+RX1DL
645 645  
646 -|=(% colspan="3" %)AT+RX1DL
647 -|**Command Example**|**Function**|**Response**
648 -|AT+RX1DL=?|Get the delay.|1000(((
888 +(% style="color:blue" %)**AT Command: AT+RX1DL**
889 +
890 +(% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %)
891 +|=(% colspan="3" style="width: 405px;" %)AT+RX1DL
892 +|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response**
893 +|(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
649 649  OK
650 650  )))
651 -|AT+RX1DL=1500|Set the delay.|OK(((
896 +|(% style="width:155px" %)AT+RX1DL=1500|(% style="width:128px" %)Set the delay.|(% style="width:122px" %)OK(((
652 652  
653 653  )))
654 654  
655 -== 7.11Receive Delay2 ==
900 +(% style="display:none" %) (%%)
656 656  
902 +== 7.11 Receive Delay2 ==
903 +
904 +
657 657  Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms
658 658  
659 -AT Command:AT+RX2DL
660 660  
661 -|=(% colspan="3" %)AT+RX2DL
662 -|**Command Example**|**Function**|**Response**
663 -|AT+RX2DL=?|Get the delay.|2000(((
908 +(% style="color:blue" %)**AT Command: AT+RX2DL**
909 +
910 +(% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %)
911 +|=(% colspan="3" style="width: 478px;" %)AT+RX2DL
912 +|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response**
913 +|(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
664 664  OK
665 665  )))
666 -|AT+RX2DL=2500|Set the delay.|OK(((
916 +|(% style="width:175px" %)AT+RX2DL=2500|(% style="width:152px" %)Set the delay.|(% style="width:150px" %)OK(((
667 667  
668 668  )))
669 669  
920 +(% style="display:none" %) (%%)
921 +
670 670  == 7.12 Rx2 Window Data Rate ==
671 671  
924 +
672 672  Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X)
673 673  
674 -AT Command:AT+RX2DR
675 675  
676 -|=(% colspan="3" %)AT+RX2DR
677 -|**Command Example**|**Function**|**Response**
678 -|AT+RX2DR=?|Get the Rx2 window data rate.|2(((
928 +(% style="color:blue" %)**AT Command:  AT+RX2DR**
929 +
930 +(% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %)
931 +|=(% colspan="3" style="width: 522px;" %)AT+RX2DR
932 +|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response**
933 +|(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
679 679  OK
680 680  )))
681 -|AT+RX2DR=6|Set the Rx2 window data rate.|OK(((
936 +|(% style="width:160px" %)AT+RX2DR=6|(% style="width:232px" %)Set the Rx2 window data rate.|(% style="width:130px" %)OK(((
682 682  
683 683  )))
684 684  
940 +(% style="display:none" %) (%%)
941 +
685 685  == 7.13 Rx2 Window Frequency ==
686 686  
944 +
687 687  Feature: Get or Set the Rx2 window frequency
688 688  
689 -AT Command:AT+RX2FQ
690 690  
691 -|=(% colspan="3" %)AT+RX2FQ
692 -|**Command Example**|**Function**|**Response**
693 -|AT+RX2FQ=?|Get the Rx2 window frequency.|434665000(((
948 +(% style="color:blue" %)**AT Command:  AT+RX2FQ**
949 +
950 +(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
951 +|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ
952 +|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response**
953 +|(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
694 694  OK
695 695  )))
696 -|AT+RX2FQ=434665000|Set the Rx2 window frequency.|OK(((
956 +|(% style="width:183px" %)AT+RX2FQ=434665000|(% style="width:240px" %)Set the Rx2 window frequency.|(% style="width:160px" %)OK(((
697 697  
698 698  )))
699 699  
960 +(% style="display:none" %) (%%)
961 +
700 700  == 7.14 Transmit Power ==
701 701  
964 +
702 702  Feature: Get or Set the Transmit Power(0-5, MAX:0, MIN:5, according to LoRaWAN Spec, or 40=10dB, 41 = 11dB, …, 50 = 20dB which is out of LoRaWAN spec. )
703 703  
704 -AT Command:AT+TXP
967 +(% style="color:red" %)**Notice: Transmit Power might be changed by ADR from LoRaWAN server. So manually change TXP also remember to set AT+ADR=0 in sensor**
705 705  
706 -|=(% colspan="3" %)AT+TXP
707 -|**Command Example**|**Function**|**Response**
708 -|AT+TXP=?|Get the Transmit Power.|0(((
969 +
970 +(% style="color:blue" %)**AT Command:  AT+TXP**
971 +
972 +(% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %)
973 +|=(% colspan="3" style="width: 462px;" %)AT+TXP
974 +|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response**
975 +|(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
709 709  OK
710 710  )))
711 -|AT+TXP=1|Set the Transmit Power.|OK(((
978 +|(% style="width:161px" %)AT+TXP=1|(% style="width:189px" %)Set the Transmit Power.|(% style="width:112px" %)OK(((
712 712  
713 713  )))
714 714  
... ... @@ -716,195 +716,389 @@
716 716  
717 717  If the downlink payload=22000100, it means setting the TXP to 0.
718 718  
719 -* Example 1: Downlink Payload: 22000102 ~/~/ Set AT+TXP=2.
720 -* Example 2: Downlink Payload: 220000FF ~/~/ Set AT+TXP=0.
986 +* **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
987 +* **Example 2**: Downlink Payload: **22000000**  ~/~/ Set AT+TXP=0.
721 721  
989 +(% style="display:none" %) (%%)
990 +
722 722  == 7.15 RSSI of the Last Received Packet ==
723 723  
993 +
724 724  Feature: Get or Set the Rx2 window frequency
725 725  
726 -AT Command:AT+RSSI
727 727  
728 -|=(% colspan="3" %)AT+RSSI
729 -|**Command Example**|**Function**|**Response**
730 -|AT+RSSI=?|Get the RSSI of the last received packet.|0(((
997 +(% style="color:blue" %)**AT Command:AT+RSSI**
998 +
999 +(% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %)
1000 +|=(% colspan="3" style="width: 554px;" %)AT+RSSI
1001 +|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response**
1002 +|(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
731 731  OK
732 732  )))
733 733  
1006 +(% style="display:none" %) (%%)
1007 +
734 734  == 7.16 SNR of the Last Received Packet ==
735 735  
1010 +
736 736  Feature: Get the SNR of the last received packet
737 737  
738 -AT Command:AT+SNR
739 739  
740 -|=(% colspan="3" %)AT+SNR
741 -|**Command Example**|**Function**|**Response**
742 -|AT+SNR=?|Get the RSSI of the last received packet.|0(((
1014 +(% style="color:blue" %)**AT Command:  AT+SNR**
1015 +
1016 +(% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %)
1017 +|=(% colspan="3" style="width: 568px;" %)AT+SNR
1018 +|(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response**
1019 +|(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
743 743  OK
744 744  )))
745 745  
1023 +(% style="display:none" %) (%%)
1024 +
746 746  == 7.17 Application Port ==
747 747  
1027 +
748 748  Feature: Get or set the application port.
749 749  
750 -AT Command: AT+PORT
751 751  
752 -|=(% colspan="3" %)AT+PORT
753 -|**Command Example**|**Function**|**Response**
754 -|AT+PORT=?|Get the application port|21(((
1031 +(% style="color:blue" %)**AT Command: AT+PORT**
1032 +
1033 +(% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %)
1034 +|=(% colspan="3" style="width: 497px;" %)AT+PORT
1035 +|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response**
1036 +|(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21(((
755 755  OK
756 756  )))
757 -|AT+PORT=21|Set the application port|OK
1039 +|(% style="width:157px" %)AT+PORT=21|(% style="width:204px" %)Set the application port|(% style="width:135px" %)OK
758 758  
759 -Downlink Command: 0x23
1041 +(% style="color:blue" %)**Downlink Command: 0x23**
760 760  
761 761  Format: Command Code (0x23) followed by 1 bytes port value.
762 762  
763 763  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
764 764  
765 -* Example 1: Downlink Payload: 2301 ~/~/ set the application port to 1
766 -* Example 2: Downlink Payload: 2305 ~/~/ set the application port to 5
1047 +* **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1048 +* **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
767 767  
1050 +(% style="display:none" %) (%%)
1051 +
768 768  == 7.18 Single Channel Mode ==
769 769  
1054 +
770 770  Feature:Get or Set Frequency (Unit: Hz) for Single Channel Mode.
771 771  
772 -AT Command: AT+CHS
773 773  
774 -|=(% colspan="3" %)AT+CHS
775 -|**Command Example**|**Function**|**Response**
776 -|AT+CHS=?|Get Frequency for Single Channel Mode|0(((
1058 +(% style="color:blue" %)**AT Command: AT+CHS**
1059 +
1060 +(% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %)
1061 +|=(% colspan="3" style="width: 600px;" %)AT+CHS
1062 +|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response**
1063 +|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0(((
777 777  OK
778 778  )))
779 -|AT+CHS=868100000|Set Frequency for Single Channel Mode|OK
1066 +|(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK
780 780  
1068 +(% style="display:none" %) (%%)
1069 +
781 781  == 7.19 Eight Channel Mode ==
782 782  
1072 +
783 783  Feature: Get or Set eight channels mode,Only for US915,AU915,CN470.
784 784  
785 -AT Command: AT+CHE
786 786  
787 -|=(% colspan="3" %)AT+CHE
788 -|**Command Example**|**Function**|**Response**
789 -|AT+CHE=?|Get eight channels mode|1(((
1076 +(% style="color:blue" %)**AT Command: AT+CHE**
1077 +
1078 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1079 +|=(% colspan="3" style="width: 707px;" %)AT+CHE
1080 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1081 +|(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
790 790  902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
791 791  
792 792  OK
793 793  )))
794 -|AT+CHE=1|Set eight channels mode|OK
1086 +|(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK
795 795  
796 -Downlink Command: 0x24
1088 +(% style="color:blue" %)**Downlink Command: 0x24 (LHT65,LHT65N Downlink Command:0x07)**
797 797  
798 798  Format: Command Code (0x24) followed by 1 bytes channel value.
799 799  
800 800  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
801 801  
802 -* Example 1: Downlink Payload: 2401 ~/~/ set channel mode to 1
803 -* Example 2: Downlink Payload: 2405 ~/~/ set channel mode to 5
1094 +* **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1095 +* **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
804 804  
1097 +(% style="display:none" %) (%%)
1098 +
805 805  == 7.20 Get or Set RXwindows1 timeout ==
806 806  
807 -Feature:Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255).
808 808  
809 -AT Command: AT+RX1WTO
1102 +Feature: Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255).
810 810  
811 -|=(% colspan="3" %)AT+ RX1WTO
812 -|**Command Example**|**Function**|**Response**
813 -|AT+RX1WTO=?|Get RXwindows1 timeout|14(((
1104 +
1105 +(% style="color:blue" %)**AT Command: AT+RX1WTO**
1106 +
1107 +(% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %)
1108 +|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO
1109 +|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response**
1110 +|(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
814 814  OK
815 815  )))
816 -|AT+RX1WTO=60|Set RXwindows1 timeout|OK
1113 +|(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK
817 817  
818 -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.
1115 +(% style="display:none" %) (%%)
819 819  
820 -[[~[~[image:https://wiki.dragino.com/images/thumb/5/51/RX1WTO.JPG/600px-RX1WTO.JPG~|~|alt="RX1WTO.JPG" height="239" width="600"~]~]>>url:https://wiki.dragino.com/index.php/File:RX1WTO.JPG]]
1117 +(((
1118 +(% style="color:blue" %)**AT+RX1WTO**(%%) 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.
1119 +)))
821 821  
1121 +[[image:image-20220526162535-1.png]]
1122 +
1123 +(((
822 822  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.
1125 +)))
823 823  
1127 +
824 824  == 7.21 Get or Set RXwindows2 timeout ==
825 825  
826 -Feature:Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255).
827 827  
828 -AT Command: AT+RX2WTO
1131 +Feature: Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255).
829 829  
830 -|=(% colspan="3" %)AT+ RX2WTO
831 -|**Command Example**|**Function**|**Response**
832 -|AT+RX2WTO=?|Get RXwindows2 timeout|7(((
1133 +
1134 +(% style="color:blue" %)**AT Command: AT+RX2WTO**
1135 +
1136 +(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1137 +|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO
1138 +|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response**
1139 +|(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7(((
833 833  OK
834 834  )))
835 -|AT+RX2WTO=20|Set RXwindows2 timeout|OK
1142 +|(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK
836 836  
1144 +(% style="display:none" %) (%%)
1145 +
837 837  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
838 838  
1148 +
839 839  Feature: Get or Set uplinkdwelltime
840 840  
841 -AT Command: AT+DWELLT
842 842  
843 -|=(% colspan="3" %)AT+DWELLT
844 -|**Command Example**|**Function**|**Response**
845 -|AT+DWELLT=?|Get uplinkdwelltime|1(((
1152 +(% style="color:blue" %)**AT Command: AT+DWELLT**
1153 +
1154 +(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1155 +|=(% colspan="3" style="width: 494px;" %)AT+DWELLT
1156 +|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response**
1157 +|(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1(((
846 846  OK
847 847  )))
848 -|AT+DWELLT=0|Set uplinkdwelltime|OK
1160 +|(% style="width:183px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK
849 849  
850 -Downlink Command: 0x25
1162 +(% style="color:blue" %)**Downlink Command: 0x25**
851 851  
852 852  Format: Command Code (0x25) followed by 1 bytes state value.
853 853  
854 854  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
855 855  
856 -* Example 1: Downlink Payload: 2501 ~/~/ set uplinkdwelltime to 1
857 -* Example 2: Downlink Payload: 2500 ~/~/ set uplinkdwelltime to 0
1168 +* **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1169 +* **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
858 858  
1171 +(% style="display:none" %) (%%)
1172 +
859 859  == 7.23 Set Packet Receiving Response Level ==
860 860  
1175 +
861 861  Feature: Get or Set packet receiving response level. This feature is used to set compatible with different LoRaWAN servers. If RPL doesn;t match , user will see strange message in the server portal.
862 862  
863 -RPL value:
864 864  
865 -* AT+RPL=0: Device won't immediately reply any downlink commands from platform.
866 -* AT+RPL=1: Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
867 -* AT+RPL=2: Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
868 -* AT+RPL=3: Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
869 -* AT+RPL=4: Device will immediately reply message to Confirmed Data Down & MAC Command. Payload is 0x00 and requied response header for these two commands.
1179 +**RPL value:**
870 870  
871 -Case Analyes:
1181 +* **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1182 +* **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1183 +* **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1184 +* **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1185 +* **AT+RPL=4: **Device will immediately reply message to Confirmed Data Down & MAC Command. Payload is 0x00 and requied response header for these two commands.
872 872  
1187 +**Case Analyes:**
1188 +
873 873  * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
874 874  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
875 875  * For Class C devices used in TTI, need to set AT+RPL=4 because TTI require immediately reply message to Confirmed Data Down & MAC Command.
876 876  
877 -AT Command: AT+RPL
1193 +(% style="color:blue" %)**AT Command: AT+RPL**
878 878  
879 -|=(% colspan="3" %)AT+RPL
880 -|**Command Example**|**Function**|**Response**
881 -|AT+RPL=?|Get packet receiving response level|1(((
1195 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1196 +|=(% colspan="3" style="width: 533px;" %)AT+RPL
1197 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1198 +|(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
882 882  OK
883 883  )))
884 -|AT+RPL=0|Set packet receiving response level|OK
1201 +|(% style="width:160px" %)AT+RPL=0|(% style="width:263px" %)Set packet receiving response level|(% style="width:109px" %)OK
885 885  
886 -Downlink Command: 0x21
1203 +(% style="color:blue" %)**Downlink Command: 0x21**
887 887  
888 888  Format: Command Code (0x21) followed by 1 bytes level value.
889 889  
890 890  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
891 891  
892 -* Example 1: Downlink Payload: 2101 ~/~/ set packet receiving response level to 1
893 -* Example 2: Downlink Payload: 2102 ~/~/ set packet receiving response level to 2
1209 +* **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1210 +* **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
894 894  
1212 +(% style="display:none" %) (%%)
1213 +
1214 +== 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) ==
1215 +
1216 +
1217 +(% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1218 +
1219 +(% border="1" style="background-color:#ffffcc; color:green; width:589px" %)
1220 +|=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS**
1221 +|(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response**
1222 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1(((
1223 +OK
1224 +)))
1225 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((
1226 +value2: 0: uplink fcnt doesn't change for each NBTrans;
1227 +
1228 +1: uplink fcnt increase by 1 for each NBTrans.
1229 +)))|(% style="width:87px" %)(((
1230 +1
1231 +
1232 +OK
1233 +)))
1234 +
1235 +(% style="color:blue" %)**Downlink Command: 0x33**
1236 +
1237 +Format: Command Code (0x33) followed by 2 bytes mode value.
1238 +
1239 +If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1240 +
1241 +* Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1242 +* Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1243 +
1244 +(% style="display:none" %) (%%)
1245 +
1246 +== 7.25 Device offline rejoining (LWS007) ==
1247 +
1248 +
1249 +(% style="color:blue" %)**AT Command: AT+DDETECT**
1250 +
1251 +AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880)
1252 +
1253 +* ACK_Timout_1: Unit: min
1254 +* ACK_Timout_2: Unit: min
1255 +
1256 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1257 +|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT**
1258 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1259 +|(% style="width:160px" %)(((
1260 +AT+DDETECT=1,1440,2880
1261 +
1262 +value1
1263 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)(((
1264 +1
1265 +
1266 +OK
1267 +)))
1268 +|(% style="width:160px" %)(((
1269 +AT+DDETECT=1,?,2880
1270 +
1271 +value2
1272 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)(((
1273 +
1274 +
1275 +OK
1276 +)))
1277 +|(% style="width:160px" %)(((
1278 +AT+DDETECT=1,1440,?
1279 +
1280 +value3
1281 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)(((
1282 +
1283 +
1284 +OK
1285 +)))
1286 +
1287 +(% style="color:blue" %)**Downlink Command: 0x32**
1288 +
1289 +Format: Command Code (0x32) followed by 2 bytes mode value.
1290 +
1291 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1292 +
1293 +* **Example 1:** Downlink Payload: 320105A00B40  ~/~/ Set AT+DDETECT=1,1440,2880
1294 +** 0x01 : Flag
1295 +** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours)
1296 +** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours)
1297 +** **Explain**: Enable Online Detect, if end node doesn't receive any downlink within ACK_Timout_1( 1440 minutes or 24 hours). End node will use confirmed uplink to send packets during ACK_Timout_1 (the 24th hour) to ACK_Timout_2 ( the 48th hour). If from the 24th to 48th hour, end node got an downlink from server, it will switch back to unconfirmed uplink. end node will restart ACK_Timout_1. If from the 24th to 48th hour, end node still not got any downlink, means device doesn't get ACK from server within last 48 hours. Device will process rejoin, rejoin request interval is AT+RJTDC period. For AU915/ US915, device will use the sub-band used for last join.
1298 +
1299 +(% style="display:none" %) (%%)
1300 +
1301 +== 7.26 Request the server to send an ACK ==
1302 +
1303 +
1304 +(% style="color:blue" %)**AT Command: AT+PNACKMD**
1305 +
1306 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1307 +|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD**
1308 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1309 +|(% 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(((
1310 +OK
1311 +)))
1312 +|(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((
1313 +0
1314 +OK
1315 +)))
1316 +
1317 +(% style="display:none" %) (%%)
1318 +
1319 +== 7.27 Adjust network rejoining interval ==
1320 +
1321 +
1322 +(% style="color:blue" %)**AT Command: AT+RJTDC**
1323 +
1324 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
1325 +|=(% colspan="3" style="width: 724px;" %)AT+RJTDC
1326 +|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
1327 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30(((
1328 +OK
1329 +
1330 +the interval is 30 min
1331 +)))
1332 +|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1333 +Set the ReJoin data transmission interval to 60 min
1334 +)))
1335 +
1336 +(% style="color:blue" %)**Downlink Command: 0x26**
1337 +
1338 +Format: Command Code (0x26) followed by 2 bytes mode value.
1339 +
1340 +If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1341 +
1342 +* **Example 1:** Downlink Payload: 26000A  ~/~/ Set AT+RJTDC=10
1343 +* **Example 2: **Downlink Payload: 260002  ~/~/ Set AT+RJTDC=2
1344 +
1345 +(% style="display:none" %) (%%)
1346 +
895 895  = 8. AT Commands Combination =
896 896  
897 897  == 8.1 Set a fix RX2DR for downlink window ==
898 898  
899 -* AT+ADR=0 ~-~-> Disable ADR first
900 -* AT+RX2DR=xxxx ~-~-> Set xxxx to your wanted DataRate
901 901  
1352 +* (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1353 +
1354 +* (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~-~->**  Set xxxx to your wanted DataRate
1355 +
1356 +(% style="display:none" %) (%%)
1357 +
902 902  == 8.2 Use Downlink Command to set a fix uplink DR ==
903 903  
904 -Downlink Command: 0x22000500
905 905  
906 -Same as:
1361 +(% style="color:blue" %)**Downlink Command: 0x22000500**
907 907  
908 -* AT+ADR=0 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Adaptive_Data_Rate]]
909 -* AT+DR=5 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Data_Rate]]
910 -* AT+TXP=0 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Transmit_Power]]
1363 +**Same as:**
1364 +
1365 +* AT+ADR=0  [[Reference>>||anchor="H7.1AdaptiveDataRate"]]
1366 +
1367 +* AT+DR=5  [[Reference>>||anchor="H7.4DataRate"]]
1368 +
1369 +* AT+TXP=0  [[Reference>>||anchor="H7.14TransmitPower"]]
1370 +
1371 +
image-20220511120050-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +136.3 KB
Content
image-20220526162535-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +149.4 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0