<
From version < 7.7 >
edited by Xiaoling
on 2022/05/11 10:45
To version < 62.1 >
edited by Edwin Chen
on 2023/04/05 11:29
>
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,56 +353,108 @@
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 -{{info}}
370 -**AT Command: AT+CFS**
371 -{{/info}}
372 372  
373 -(% style="background-color:#ffffcc; color:green; width:534.222px" %)
374 -|=(% colspan="3" style="width: 531px;" %)AT+CFS
375 -|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response**
376 -|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)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(((
377 377  OK
378 378  )))
379 379  
531 +(% style="display:none" %) (%%)
532 +
380 380  == 6.3 Join LoRa® Network ==
381 381  
535 +
382 382  Feature: Join network.
383 383  
384 -{{info}}
385 -**AT Command: AT+JOIN**
386 -{{/info}}
387 387  
388 -(% style="background-color:#ffffcc; color:green; width:647.222px" %)
539 +(% style="color:blue" %)**AT Command: AT+JOIN**
540 +
541 +(% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %)
389 389  |=(% colspan="3" style="width: 644px;" %)AT+JOIN
390 390  |(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response**
391 391  |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
392 392  OK
393 -
394 394  While Error in format, return AT_BUSY_ERROR
395 395  )))
396 396  
549 +(% style="display:none" %) (%%)
550 +
397 397  == 6.4 LoRa® Network Join Mode ==
398 398  
553 +
399 399  Feature: Get or Set the Network Join Mode. (0: ABP, 1: OTAA).
400 400  
401 -{{info}}
402 -**AT Command: AT+NJM**
403 -{{/info}}
404 404  
405 -(% style="background-color:#ffffcc; color:green; width:753.222px" %)
557 +(% style="color:blue" %)**AT Command: AT+NJM**
558 +
559 +(% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %)
406 406  |=(% colspan="3" style="width: 750px;" %)AT+NJM
407 407  |(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response**
408 408  |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
... ... @@ -411,313 +411,415 @@
411 411  |(% style="width:162px" %)AT+NJM=0|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)OK
412 412  |(% 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
413 413  
414 -Downlink Command: 0x20
568 +(% style="color:blue" %)**Downlink Command: 0x20**
415 415  
416 416  Format: Command Code (0x20) followed by 1 bytes mode value.
417 417  
418 418  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
419 419  
420 -* Example 1: Downlink Payload: 2000 ~/~/ Set AT+NJM=O
421 -* 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
422 422  
577 +(% style="display:none" %) (%%)
578 +
423 423  == 6.5 LoRa® Network Join Status ==
424 424  
581 +
425 425  Feature: LoRa® Network Join Status.
426 426  
427 -AT Command: AT+NJS
428 428  
429 -|=(% colspan="3" %)AT+NJS
430 -|**Command Example**|**Function**|**Response**
431 -|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(((
432 432  OK
433 433  )))
434 434  
594 +(% style="display:none" %) (%%)
595 +
435 435  == 6.6 Print Last Received Data in Raw Format ==
436 436  
598 +
437 437  Feature: Print Last Received Data in Raw Format<port:data>.
438 438  
439 -AT Command: AT+RECV
440 440  
441 -|=(% colspan="3" %)AT+RECV
442 -|**Command Example**|**Function**|**Response**
443 -|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:(((
444 444  OK
445 445  )))
446 446  
611 +(% style="display:none" %) (%%)
612 +
447 447  == 6.7 Print Last Received Data in Binary Format ==
448 448  
615 +
449 449  Feature: Print Last Received Data in Binary Format<port:data>.
450 450  
451 -AT Command: AT+RECVB
452 452  
453 -|=(% colspan="3" %)AT+RECVB
454 -|**Command Example**|**Function**|**Response**
455 -|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(((
456 456  OK
457 457  )))
458 458  
628 +(% style="display:none" %) (%%)
629 +
459 459  == 6.8 Send Text Data ==
460 460  
632 +
461 461  Feature: Send Text Data<port:data>.
462 462  
463 -AT Command: AT+SEND
464 464  
465 -|=(% colspan="3" %)AT+SEND
466 -|**Command Example**|**Function**|**Response**
467 -|AT+SEND=12:hello world|Send text data along with the application port.|OK(((
468 -While Error in format, return
636 +(% style="color:blue" %)**AT Command: AT+SEND**
469 469  
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
470 470  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
471 -
472 -
473 473  )))
474 474  
646 +(% style="display:none" %) (%%)
647 +
475 475  == 6.9 Send Hexadecimal Data ==
476 476  
650 +
477 477  Feature: Send hexadecimal data along with the application port.
478 478  
479 -AT Command: AT+SENDB
480 480  
481 -|=(% colspan="3" %)AT+SENDB
482 -|**Command Example**|**Function**|**Response**
483 -|AT+SENDB=12:abcdef0123456789|Send hexadecimal data along with the application port.|OK
484 -|AT+SENDB=abcdef0123456789|Send hexadecimal data along with the application port.|While Error in format, return(((
485 -AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
654 +(% style="color:blue" %)**AT Command: AT+SENDB**
486 486  
487 -
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
488 488  )))
489 489  
664 +(% style="display:none" %) (%%)
665 +
490 490  = 7. LoRaWAN network management =
491 491  
492 492  == 7.1 Adaptive Data Rate ==
493 493  
670 +
494 494  Feature: Get or Set the Adaptive Data Rate setting. (0: off, 1: on).
495 495  
496 496  
497 -AT Command: AT+ADR
674 +(% style="color:blue" %)**AT Command: AT+ADR**
498 498  
499 -|=(% colspan="3" %)AT+ADR
500 -|**Command Example**|**Function**|**Response**
501 -|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(((
502 502  OK
503 503  )))
504 -|AT+ADR=0|Set the Adaptive Data Rate setting.|OK
505 -|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(((
506 506  AT_PARAM_ERROR
507 507  )))
508 508  
509 -Downlink Command: 0x22
687 +(% style="color:blue" %)**Downlink Command: 0x22**
510 510  
511 -
512 512  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
513 513  
514 -* Example 1: Downlink Payload: 2201 ~/~/ Set AT+ADR=1.
515 -* 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.
516 516  
694 +(% style="display:none" %) (%%)
695 +
517 517  == 7.2 LoRa® Class ==
518 518  
698 +
519 519  Feature: Get or Set the Device Class(Currently only support class A, class C).
520 520  
521 -AT Command:AT+CLASS
522 522  
523 -|=(% colspan="3" %)AT+CLASS
524 -|**Command Example**|**Function**|**Response**
525 -|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(((
526 526  OK
527 527  )))
528 -|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(((
529 529  
530 530  )))
531 531  
714 +(% style="display:none" %)
715 +
716 +(% style="color:red" %)Notice:(%%)
717 +
718 +
719 +
532 532  == 7.3 Duty Cycle Setting ==
533 533  
534 -Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing.
535 535  
536 -AT Command:AT+DCS
723 +Feature: Get or Set the ETSI Duty Cycle setting** - 0**=disable, **1**=enable - Only for testing.
537 537  
538 -|=(% colspan="3" %)AT+DCS
539 -|**Command Example**|**Function**|**Response**
540 -|AT+DCS=?|Get the ETSI Duty Cycle setting.|1(((
725 +
726 +(% style="color:blue" %)**AT Command:  AT+DCS**
727 +
728 +(% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
729 +|=(% colspan="3" style="width: 512px;" %)AT+DCS
730 +|(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response**
731 +|(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
541 541  OK
542 542  )))
543 -|AT+DCS=1|Set the ETSI Duty Cycle setting.|OK(((
734 +|(% style="width:165px" %)AT+DCS=1|(% style="width:239px" %)Set the ETSI Duty Cycle setting.|(% style="width:107px" %)OK(((
544 544  
545 545  )))
546 546  
738 +(% style="display:none" %) (%%)
739 +
547 547  == 7.4 Data Rate ==
548 548  
549 -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
550 550  
551 -AT Command: AT+DR
743 +Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) .
552 552  
553 -|=(% colspan="3" %)AT+DR
554 -|**Command Example**|**Function**|**Response**
555 -|AT+DR=?|Get the Data Rate.|5(((
745 +(% style="color:red" %)
746 +**Notice:**
747 +
748 +* 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.
749 +* 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/]]
750 +
751 +(% style="color:blue" %)**AT Command: AT+DR**
752 +
753 +(% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
754 +|=(% colspan="3" style="width: 463px;" %)AT+DR
755 +|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response**
756 +|(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5(((
556 556  OK
557 557  )))
558 -|AT+DR=2|Set the Data Rate.|OK(((
759 +|(% style="width:156px" %)AT+DR=2|(% style="width:167px" %)Set the Data Rate.|(% style="width:140px" %)OK(((
559 559  
560 560  )))
561 561  
562 -Downlink Command: 0x2200aaFF
763 +(% style="color:blue" %)**Downlink Command: 0x2200aaFF**
563 563  
564 -
565 565  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
566 566  
567 -* Example 1: Downlink Payload: 220001FF ~/~/ Set AT+DR=1.
568 -* Example 2: Downlink Payload: 220000FF ~/~/ Set AT+DR=0.
767 +* **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
768 +* **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
569 569  
770 +(% style="display:none" %) (%%)
771 +
570 570  == 7.5 Frame Counter Downlink ==
571 571  
774 +
572 572  Feature: Get or Set the Frame Counter Downlink.
573 573  
574 -AT Command:AT+FCD
575 575  
576 -|=(% colspan="3" %)AT+FCD
577 -|**Command Example**|**Function**|**Response**
578 -|AT+FCD=?|Get the Frame Counter Downlink.|0(((
778 +(% style="color:blue" %)**AT Command:  AT+FCD**
779 +
780 +(% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %)
781 +|=(% colspan="3" style="width: 690px;" %)AT+FCD
782 +|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response**
783 +|(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
579 579  OK
580 580  )))
581 -|AT+FCD=10|Set the Frame Counter Downlink.|(System will write new value to FCD)(((
786 +|(% style="width:162px" %)AT+FCD=10|(% style="width:258px" %)Set the Frame Counter Downlink.|(% style="width:269px" %)(System will write new value to FCD)(((
582 582  OK
583 -
584 -
585 585  )))
586 586  
790 +(% style="display:none" %) (%%)
791 +
587 587  == 7.6 Frame Counter Uplink ==
588 588  
589 589  Feature: Get or Set the Frame Counter Uplink.
590 590  
591 -AT Command:AT+FCU
592 592  
593 -|=(% colspan="3" %)AT+FCU
594 -|**Command Example**|**Function**|**Response**
595 -|AT+FCU=?|Get the Frame Counter Uplink.|0(((
797 +(% style="color:blue" %)**AT Command:  AT+FCU**
798 +
799 +(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
800 +|=(% colspan="3" style="width: 531px;" %)AT+FCU
801 +|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response**
802 +|(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
596 596  OK
597 597  )))
598 -|AT+FCU=10|Set the Frame Counter Uplink.|OK(((
805 +|(% style="width:177px" %)AT+FCU=10|(% style="width:239px" %)Set the Frame Counter Uplink.|(% style="width:113px" %)OK(((
599 599  
600 600  )))
601 601  
809 +(% style="display:none" %) (%%)
810 +
602 602  == 7.7 Join Accept Delay1 ==
603 603  
813 +
604 604  Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms.
605 605  
606 -AT Command:AT+JN1DL
607 607  
608 -|=(% colspan="3" %)AT+JN1DL
609 -|**Command Example**|**Function**|**Response**
610 -|AT+JN1DL=?|Get the Join Accept Delay.|5000(((
817 +(% style="color:blue" %)**AT Command:  AT+JN1DL**
818 +
819 +(% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %)
820 +|=(% colspan="3" style="width: 534px;" %)AT+JN1DL
821 +|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response**
822 +|(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
611 611  OK
612 612  )))
613 -|AT+JN1DL=10000|Set the Join Accept Delay.|OK(((
825 +|(% style="width:164px" %)AT+JN1DL=10000|(% style="width:229px" %)Set the Join Accept Delay.|(% style="width:140px" %)OK(((
614 614  
615 615  )))
616 616  
829 +(% style="display:none" %) (%%)
830 +
617 617  == 7.8 Join Accept Delay2 ==
618 618  
833 +
619 619  Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms.
620 620  
621 -AT Command:AT+JN2DL
622 622  
623 -|=(% colspan="3" %)AT+JN2DL
624 -|**Command Example**|**Function**|**Response**
625 -|AT+JN2DL=?|Get the Join Accept Delay.|6000(((
837 +(% style="color:blue" %)**AT Command:  AT+JN2DL**
838 +
839 +(% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %)
840 +|=(% colspan="3" style="width: 535px;" %)AT+JN2DL
841 +|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response**
842 +|(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
626 626  OK
627 627  )))
628 -|AT+JN2DL=20000|Set the Join Accept Delay.|OK(((
845 +|(% style="width:160px" %)AT+JN2DL=20000|(% style="width:228px" %)Set the Join Accept Delay.|(% style="width:146px" %)OK(((
629 629  
630 630  )))
631 631  
849 +(% style="display:none" %) (%%)
850 +
632 632  == 7.9 Public Network Mode ==
633 633  
634 -Feature: Get or Set the public network mode. (0: off, 1: on)
635 635  
636 -AT Command:AT+PNM
854 +Feature: Get or Set the public network mode. (0: off, 1: on). A Public LoRaWAN network use 0x34 as syncword. Default Settings; PNM=1
637 637  
638 -|=(% colspan="3" %)AT+PNM
639 -|**Command Example**|**Function**|**Response**
640 -|AT+PNM=?|Get the public network mode.|1(((
856 +(% style="color:red" %)**Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network.**
857 +
858 +
859 +(% style="color:blue" %)**AT Command:  AT+PNM**
860 +
861 +(% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %)
862 +|=(% colspan="3" style="width: 664px;" %)AT+PNM
863 +|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response**
864 +|(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
641 641  OK
642 642  )))
643 -|AT+PNM=1|Set the public network mode.|(System will write new value to PNM)(((
867 +|(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)(((
868 +Set the public network mode.
869 +
870 +Set syncword=0x34
871 +)))|(% style="width:272px" %)(System will write new value to PNM)(((
644 644  OK
645 645  
646 646  
647 647  )))
876 +|(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %)
648 648  
878 +(% style="display:none" %) (%%)
879 +
649 649  == 7.10 Receive Delay1 ==
650 650  
882 +
651 651  Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms
652 652  
653 -AT Command:AT+RX1DL
654 654  
655 -|=(% colspan="3" %)AT+RX1DL
656 -|**Command Example**|**Function**|**Response**
657 -|AT+RX1DL=?|Get the delay.|1000(((
886 +(% style="color:blue" %)**AT Command: AT+RX1DL**
887 +
888 +(% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %)
889 +|=(% colspan="3" style="width: 405px;" %)AT+RX1DL
890 +|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response**
891 +|(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
658 658  OK
659 659  )))
660 -|AT+RX1DL=1500|Set the delay.|OK(((
894 +|(% style="width:155px" %)AT+RX1DL=1500|(% style="width:128px" %)Set the delay.|(% style="width:122px" %)OK(((
661 661  
662 662  )))
663 663  
664 -== 7.11Receive Delay2 ==
898 +(% style="display:none" %) (%%)
665 665  
900 +== 7.11 Receive Delay2 ==
901 +
902 +
666 666  Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms
667 667  
668 -AT Command:AT+RX2DL
669 669  
670 -|=(% colspan="3" %)AT+RX2DL
671 -|**Command Example**|**Function**|**Response**
672 -|AT+RX2DL=?|Get the delay.|2000(((
906 +(% style="color:blue" %)**AT Command: AT+RX2DL**
907 +
908 +(% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %)
909 +|=(% colspan="3" style="width: 478px;" %)AT+RX2DL
910 +|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response**
911 +|(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
673 673  OK
674 674  )))
675 -|AT+RX2DL=2500|Set the delay.|OK(((
914 +|(% style="width:175px" %)AT+RX2DL=2500|(% style="width:152px" %)Set the delay.|(% style="width:150px" %)OK(((
676 676  
677 677  )))
678 678  
918 +(% style="display:none" %) (%%)
919 +
679 679  == 7.12 Rx2 Window Data Rate ==
680 680  
922 +
681 681  Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X)
682 682  
683 -AT Command:AT+RX2DR
684 684  
685 -|=(% colspan="3" %)AT+RX2DR
686 -|**Command Example**|**Function**|**Response**
687 -|AT+RX2DR=?|Get the Rx2 window data rate.|2(((
926 +(% style="color:blue" %)**AT Command:  AT+RX2DR**
927 +
928 +(% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %)
929 +|=(% colspan="3" style="width: 522px;" %)AT+RX2DR
930 +|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response**
931 +|(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
688 688  OK
689 689  )))
690 -|AT+RX2DR=6|Set the Rx2 window data rate.|OK(((
934 +|(% style="width:160px" %)AT+RX2DR=6|(% style="width:232px" %)Set the Rx2 window data rate.|(% style="width:130px" %)OK(((
691 691  
692 692  )))
693 693  
938 +(% style="display:none" %) (%%)
939 +
694 694  == 7.13 Rx2 Window Frequency ==
695 695  
942 +
696 696  Feature: Get or Set the Rx2 window frequency
697 697  
698 -AT Command:AT+RX2FQ
699 699  
700 -|=(% colspan="3" %)AT+RX2FQ
701 -|**Command Example**|**Function**|**Response**
702 -|AT+RX2FQ=?|Get the Rx2 window frequency.|434665000(((
946 +(% style="color:blue" %)**AT Command:  AT+RX2FQ**
947 +
948 +(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
949 +|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ
950 +|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response**
951 +|(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
703 703  OK
704 704  )))
705 -|AT+RX2FQ=434665000|Set the Rx2 window frequency.|OK(((
954 +|(% style="width:183px" %)AT+RX2FQ=434665000|(% style="width:240px" %)Set the Rx2 window frequency.|(% style="width:160px" %)OK(((
706 706  
707 707  )))
708 708  
958 +(% style="display:none" %) (%%)
959 +
709 709  == 7.14 Transmit Power ==
710 710  
962 +
711 711  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. )
712 712  
713 -AT Command:AT+TXP
965 +(% 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**
714 714  
715 -|=(% colspan="3" %)AT+TXP
716 -|**Command Example**|**Function**|**Response**
717 -|AT+TXP=?|Get the Transmit Power.|0(((
967 +
968 +(% style="color:blue" %)**AT Command:  AT+TXP**
969 +
970 +(% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %)
971 +|=(% colspan="3" style="width: 462px;" %)AT+TXP
972 +|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response**
973 +|(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
718 718  OK
719 719  )))
720 -|AT+TXP=1|Set the Transmit Power.|OK(((
976 +|(% style="width:161px" %)AT+TXP=1|(% style="width:189px" %)Set the Transmit Power.|(% style="width:112px" %)OK(((
721 721  
722 722  )))
723 723  
... ... @@ -725,195 +725,389 @@
725 725  
726 726  If the downlink payload=22000100, it means setting the TXP to 0.
727 727  
728 -* Example 1: Downlink Payload: 22000102 ~/~/ Set AT+TXP=2.
729 -* Example 2: Downlink Payload: 220000FF ~/~/ Set AT+TXP=0.
984 +* **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
985 +* **Example 2**: Downlink Payload: **22000000**  ~/~/ Set AT+TXP=0.
730 730  
987 +(% style="display:none" %) (%%)
988 +
731 731  == 7.15 RSSI of the Last Received Packet ==
732 732  
991 +
733 733  Feature: Get or Set the Rx2 window frequency
734 734  
735 -AT Command:AT+RSSI
736 736  
737 -|=(% colspan="3" %)AT+RSSI
738 -|**Command Example**|**Function**|**Response**
739 -|AT+RSSI=?|Get the RSSI of the last received packet.|0(((
995 +(% style="color:blue" %)**AT Command:AT+RSSI**
996 +
997 +(% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %)
998 +|=(% colspan="3" style="width: 554px;" %)AT+RSSI
999 +|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response**
1000 +|(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
740 740  OK
741 741  )))
742 742  
1004 +(% style="display:none" %) (%%)
1005 +
743 743  == 7.16 SNR of the Last Received Packet ==
744 744  
1008 +
745 745  Feature: Get the SNR of the last received packet
746 746  
747 -AT Command:AT+SNR
748 748  
749 -|=(% colspan="3" %)AT+SNR
750 -|**Command Example**|**Function**|**Response**
751 -|AT+SNR=?|Get the RSSI of the last received packet.|0(((
1012 +(% style="color:blue" %)**AT Command:  AT+SNR**
1013 +
1014 +(% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %)
1015 +|=(% colspan="3" style="width: 568px;" %)AT+SNR
1016 +|(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response**
1017 +|(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
752 752  OK
753 753  )))
754 754  
1021 +(% style="display:none" %) (%%)
1022 +
755 755  == 7.17 Application Port ==
756 756  
1025 +
757 757  Feature: Get or set the application port.
758 758  
759 -AT Command: AT+PORT
760 760  
761 -|=(% colspan="3" %)AT+PORT
762 -|**Command Example**|**Function**|**Response**
763 -|AT+PORT=?|Get the application port|21(((
1029 +(% style="color:blue" %)**AT Command: AT+PORT**
1030 +
1031 +(% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %)
1032 +|=(% colspan="3" style="width: 497px;" %)AT+PORT
1033 +|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response**
1034 +|(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21(((
764 764  OK
765 765  )))
766 -|AT+PORT=21|Set the application port|OK
1037 +|(% style="width:157px" %)AT+PORT=21|(% style="width:204px" %)Set the application port|(% style="width:135px" %)OK
767 767  
768 -Downlink Command: 0x23
1039 +(% style="color:blue" %)**Downlink Command: 0x23**
769 769  
770 770  Format: Command Code (0x23) followed by 1 bytes port value.
771 771  
772 772  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
773 773  
774 -* Example 1: Downlink Payload: 2301 ~/~/ set the application port to 1
775 -* Example 2: Downlink Payload: 2305 ~/~/ set the application port to 5
1045 +* **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1046 +* **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
776 776  
1048 +(% style="display:none" %) (%%)
1049 +
777 777  == 7.18 Single Channel Mode ==
778 778  
1052 +
779 779  Feature:Get or Set Frequency (Unit: Hz) for Single Channel Mode.
780 780  
781 -AT Command: AT+CHS
782 782  
783 -|=(% colspan="3" %)AT+CHS
784 -|**Command Example**|**Function**|**Response**
785 -|AT+CHS=?|Get Frequency for Single Channel Mode|0(((
1056 +(% style="color:blue" %)**AT Command: AT+CHS**
1057 +
1058 +(% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %)
1059 +|=(% colspan="3" style="width: 600px;" %)AT+CHS
1060 +|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response**
1061 +|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0(((
786 786  OK
787 787  )))
788 -|AT+CHS=868100000|Set Frequency for Single Channel Mode|OK
1064 +|(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK
789 789  
1066 +(% style="display:none" %) (%%)
1067 +
790 790  == 7.19 Eight Channel Mode ==
791 791  
1070 +
792 792  Feature: Get or Set eight channels mode,Only for US915,AU915,CN470.
793 793  
794 -AT Command: AT+CHE
795 795  
796 -|=(% colspan="3" %)AT+CHE
797 -|**Command Example**|**Function**|**Response**
798 -|AT+CHE=?|Get eight channels mode|1(((
1074 +(% style="color:blue" %)**AT Command: AT+CHE**
1075 +
1076 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1077 +|=(% colspan="3" style="width: 707px;" %)AT+CHE
1078 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1079 +|(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
799 799  902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
800 800  
801 801  OK
802 802  )))
803 -|AT+CHE=1|Set eight channels mode|OK
1084 +|(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK
804 804  
805 -Downlink Command: 0x24
1086 +(% style="color:blue" %)**Downlink Command: 0x24 (LHT65,LHT65N Downlink Command:0x07)**
806 806  
807 807  Format: Command Code (0x24) followed by 1 bytes channel value.
808 808  
809 809  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
810 810  
811 -* Example 1: Downlink Payload: 2401 ~/~/ set channel mode to 1
812 -* Example 2: Downlink Payload: 2405 ~/~/ set channel mode to 5
1092 +* **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1093 +* **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
813 813  
1095 +(% style="display:none" %) (%%)
1096 +
814 814  == 7.20 Get or Set RXwindows1 timeout ==
815 815  
816 -Feature:Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255).
817 817  
818 -AT Command: AT+RX1WTO
1100 +Feature: Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255).
819 819  
820 -|=(% colspan="3" %)AT+ RX1WTO
821 -|**Command Example**|**Function**|**Response**
822 -|AT+RX1WTO=?|Get RXwindows1 timeout|14(((
1102 +
1103 +(% style="color:blue" %)**AT Command: AT+RX1WTO**
1104 +
1105 +(% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %)
1106 +|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO
1107 +|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response**
1108 +|(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
823 823  OK
824 824  )))
825 -|AT+RX1WTO=60|Set RXwindows1 timeout|OK
1111 +|(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK
826 826  
827 -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.
1113 +(% style="display:none" %) (%%)
828 828  
829 -[[~[~[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]]
1115 +(((
1116 +(% 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.
1117 +)))
830 830  
1119 +[[image:image-20220526162535-1.png]]
1120 +
1121 +(((
831 831  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.
1123 +)))
832 832  
1125 +
833 833  == 7.21 Get or Set RXwindows2 timeout ==
834 834  
835 -Feature:Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255).
836 836  
837 -AT Command: AT+RX2WTO
1129 +Feature: Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255).
838 838  
839 -|=(% colspan="3" %)AT+ RX2WTO
840 -|**Command Example**|**Function**|**Response**
841 -|AT+RX2WTO=?|Get RXwindows2 timeout|7(((
1131 +
1132 +(% style="color:blue" %)**AT Command: AT+RX2WTO**
1133 +
1134 +(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1135 +|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO
1136 +|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response**
1137 +|(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7(((
842 842  OK
843 843  )))
844 -|AT+RX2WTO=20|Set RXwindows2 timeout|OK
1140 +|(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK
845 845  
1142 +(% style="display:none" %) (%%)
1143 +
846 846  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
847 847  
1146 +
848 848  Feature: Get or Set uplinkdwelltime
849 849  
850 -AT Command: AT+DWELLT
851 851  
852 -|=(% colspan="3" %)AT+DWELLT
853 -|**Command Example**|**Function**|**Response**
854 -|AT+DWELLT=?|Get uplinkdwelltime|1(((
1150 +(% style="color:blue" %)**AT Command: AT+DWELLT**
1151 +
1152 +(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1153 +|=(% colspan="3" style="width: 494px;" %)AT+DWELLT
1154 +|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response**
1155 +|(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1(((
855 855  OK
856 856  )))
857 -|AT+DWELLT=0|Set uplinkdwelltime|OK
1158 +|(% style="width:183px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK
858 858  
859 -Downlink Command: 0x25
1160 +(% style="color:blue" %)**Downlink Command: 0x25**
860 860  
861 861  Format: Command Code (0x25) followed by 1 bytes state value.
862 862  
863 863  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
864 864  
865 -* Example 1: Downlink Payload: 2501 ~/~/ set uplinkdwelltime to 1
866 -* Example 2: Downlink Payload: 2500 ~/~/ set uplinkdwelltime to 0
1166 +* **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1167 +* **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
867 867  
1169 +(% style="display:none" %) (%%)
1170 +
868 868  == 7.23 Set Packet Receiving Response Level ==
869 869  
1173 +
870 870  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.
871 871  
872 -RPL value:
873 873  
874 -* AT+RPL=0: Device won't immediately reply any downlink commands from platform.
875 -* AT+RPL=1: Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
876 -* AT+RPL=2: Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
877 -* AT+RPL=3: Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
878 -* 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.
1177 +**RPL value:**
879 879  
880 -Case Analyes:
1179 +* **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1180 +* **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1181 +* **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1182 +* **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1183 +* **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.
881 881  
1185 +**Case Analyes:**
1186 +
882 882  * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
883 883  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
884 884  * 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.
885 885  
886 -AT Command: AT+RPL
1191 +(% style="color:blue" %)**AT Command: AT+RPL**
887 887  
888 -|=(% colspan="3" %)AT+RPL
889 -|**Command Example**|**Function**|**Response**
890 -|AT+RPL=?|Get packet receiving response level|1(((
1193 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1194 +|=(% colspan="3" style="width: 533px;" %)AT+RPL
1195 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1196 +|(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
891 891  OK
892 892  )))
893 -|AT+RPL=0|Set packet receiving response level|OK
1199 +|(% style="width:160px" %)AT+RPL=0|(% style="width:263px" %)Set packet receiving response level|(% style="width:109px" %)OK
894 894  
895 -Downlink Command: 0x21
1201 +(% style="color:blue" %)**Downlink Command: 0x21**
896 896  
897 897  Format: Command Code (0x21) followed by 1 bytes level value.
898 898  
899 899  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
900 900  
901 -* Example 1: Downlink Payload: 2101 ~/~/ set packet receiving response level to 1
902 -* Example 2: Downlink Payload: 2102 ~/~/ set packet receiving response level to 2
1207 +* **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1208 +* **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
903 903  
1210 +(% style="display:none" %) (%%)
1211 +
1212 +== 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) ==
1213 +
1214 +
1215 +(% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1216 +
1217 +(% border="1" style="background-color:#ffffcc; color:green; width:589px" %)
1218 +|=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS**
1219 +|(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response**
1220 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1(((
1221 +OK
1222 +)))
1223 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((
1224 +value2: 0: uplink fcnt doesn't change for each NBTrans;
1225 +
1226 +1: uplink fcnt increase by 1 for each NBTrans.
1227 +)))|(% style="width:87px" %)(((
1228 +1
1229 +
1230 +OK
1231 +)))
1232 +
1233 +(% style="color:blue" %)**Downlink Command: 0x33**
1234 +
1235 +Format: Command Code (0x33) followed by 2 bytes mode value.
1236 +
1237 +If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1238 +
1239 +* Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1240 +* Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1241 +
1242 +(% style="display:none" %) (%%)
1243 +
1244 +== 7.25 Device offline rejoining (LWS007) ==
1245 +
1246 +
1247 +(% style="color:blue" %)**AT Command: AT+DDETECT**
1248 +
1249 +AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880)
1250 +
1251 +* ACK_Timout_1: Unit: min
1252 +* ACK_Timout_2: Unit: min
1253 +
1254 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1255 +|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT**
1256 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1257 +|(% style="width:160px" %)(((
1258 +AT+DDETECT=1,1440,2880
1259 +
1260 +value1
1261 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)(((
1262 +1
1263 +
1264 +OK
1265 +)))
1266 +|(% style="width:160px" %)(((
1267 +AT+DDETECT=1,?,2880
1268 +
1269 +value2
1270 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)(((
1271 +
1272 +
1273 +OK
1274 +)))
1275 +|(% style="width:160px" %)(((
1276 +AT+DDETECT=1,1440,?
1277 +
1278 +value3
1279 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)(((
1280 +
1281 +
1282 +OK
1283 +)))
1284 +
1285 +(% style="color:blue" %)**Downlink Command: 0x32**
1286 +
1287 +Format: Command Code (0x32) followed by 2 bytes mode value.
1288 +
1289 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1290 +
1291 +* **Example 1:** Downlink Payload: 320105A00B40  ~/~/ Set AT+DDETECT=1,1440,2880
1292 +** 0x01 : Flag
1293 +** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours)
1294 +** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours)
1295 +** **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.
1296 +
1297 +(% style="display:none" %) (%%)
1298 +
1299 +== 7.26 Request the server to send an ACK ==
1300 +
1301 +
1302 +(% style="color:blue" %)**AT Command: AT+PNACKMD**
1303 +
1304 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1305 +|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD**
1306 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1307 +|(% 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(((
1308 +OK
1309 +)))
1310 +|(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((
1311 +0
1312 +OK
1313 +)))
1314 +
1315 +(% style="display:none" %) (%%)
1316 +
1317 +== 7.27 Adjust network rejoining interval ==
1318 +
1319 +
1320 +(% style="color:blue" %)**AT Command: AT+RJTDC**
1321 +
1322 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
1323 +|=(% colspan="3" style="width: 724px;" %)AT+RJTDC
1324 +|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
1325 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30(((
1326 +OK
1327 +
1328 +the interval is 30 min
1329 +)))
1330 +|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1331 +Set the ReJoin data transmission interval to 60 min
1332 +)))
1333 +
1334 +(% style="color:blue" %)**Downlink Command: 0x26**
1335 +
1336 +Format: Command Code (0x26) followed by 2 bytes mode value.
1337 +
1338 +If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1339 +
1340 +* **Example 1:** Downlink Payload: 26000A  ~/~/ Set AT+RJTDC=10
1341 +* **Example 2: **Downlink Payload: 260002  ~/~/ Set AT+RJTDC=2
1342 +
1343 +(% style="display:none" %) (%%)
1344 +
904 904  = 8. AT Commands Combination =
905 905  
906 906  == 8.1 Set a fix RX2DR for downlink window ==
907 907  
908 -* AT+ADR=0 ~-~-> Disable ADR first
909 -* AT+RX2DR=xxxx ~-~-> Set xxxx to your wanted DataRate
910 910  
1350 +* (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1351 +
1352 +* (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~-~->**  Set xxxx to your wanted DataRate
1353 +
1354 +(% style="display:none" %) (%%)
1355 +
911 911  == 8.2 Use Downlink Command to set a fix uplink DR ==
912 912  
913 -Downlink Command: 0x22000500
914 914  
915 -Same as:
1359 +(% style="color:blue" %)**Downlink Command: 0x22000500**
916 916  
917 -* AT+ADR=0 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Adaptive_Data_Rate]]
918 -* AT+DR=5 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Data_Rate]]
919 -* AT+TXP=0 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Transmit_Power]]
1361 +**Same as:**
1362 +
1363 +* AT+ADR=0  [[Reference>>||anchor="H7.1AdaptiveDataRate"]]
1364 +
1365 +* AT+DR=5  [[Reference>>||anchor="H7.4DataRate"]]
1366 +
1367 +* AT+TXP=0  [[Reference>>||anchor="H7.14TransmitPower"]]
1368 +
1369 +
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