<
From version < 15.2 >
edited by Xiaoling
on 2022/05/12 10:57
To version < 63.45 >
edited by Xiaoling
on 2023/05/29 16:00
>
Change comment: There is no comment for this version

Summary

Details

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