Changes for page End Device AT Commands and Downlink Command
Last modified by kai on 2024/09/06 10:00
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
Details
- Page properties
-
- Content
-
... ... @@ -7,13 +7,11 @@ 7 7 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.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 12 13 -((( 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.** 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. 15 15 16 -))) 17 17 18 18 = 2. How to use AT Commands or Downlink command = 19 19 ... ... @@ -23,79 +23,26 @@ 23 23 ** Use Base64 format to send a downlink: [[Chirpstack>>url:https://wiki.dragino.com/index.php/Notes_for_ChirpStack#Downlink]]. 24 24 ** See use note for more serves [[Servers Note>>url:https://wiki.dragino.com/index.php/Main_Page#Use_Note_for_Server]] 25 25 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;" %)((( 30 -Dragino STM32 base hardware Firmware / LoRaWAN stack list 31 -))) 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 -[[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 -Open Source Generic LoRaWAN Sensor Node 43 -)))|(% style="width:453px" %)((( 44 -((( 45 -LSN50 v1.6.0 <~-~-> DR-LWS-003; 46 -))) 25 +\\ 47 47 48 -((( 49 -((( 27 += 3. Support End Node and firmware version = 28 + 29 +|=(% colspan="3" %)Dragino STM32 base hardware Firmware / LoRaWAN stack list 30 +|**Model**|**Description**|**Firmware Version <~-~-> Stack Version** 31 +|[[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]],|Open Source Generic LoRaWAN Sensor Node|LSN50 v1.6.0 <~-~-> DR-LWS-003;((( 50 50 LSN50 v1.7.0 <~-~-> DR-LWS-005; ~-~-> Support since this version 51 51 ))) 52 -))) 53 -))) 54 -|(% style="width:187px" %)((( 55 -[[LGT92>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html]], 56 -)))|(% style="width:349px" %)((( 57 -LoRaWAN GPS Tracker 58 -)))|(% style="width:453px" %)((( 59 -((( 60 -LGT92 v1.6.3 <~-~-> DR-LWS-003; 61 -))) 62 - 63 -((( 64 -((( 34 +|[[LGT92>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html]],|LoRaWAN GPS Tracker|LGT92 v1.6.3 <~-~-> DR-LWS-003;((( 65 65 LGT92 v1.6.4 <~-~-> DR-LWS-005;~-~-> Support since this version 66 66 ))) 67 -))) 68 -))) 69 -|(% style="width:187px" %)((( 70 -[[LBT1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/165-lbt1.html]], 71 -)))|(% style="width:349px" %)((( 72 -LoRaWAN BLE Indoor Tracker 73 -)))|(% style="width:453px" %)((( 74 -LBT1 v1.0 <~-~-> DR-LWS-005; 75 -))) 76 -|(% style="width:187px" %)((( 77 -[[RS485-LN>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/154-rs485-ln.html]], 78 -)))|(% style="width:349px" %)((( 79 -LoRaWAN RS485 Modbus Converter 80 -)))|(% style="width:453px" %)((( 81 -RS485-LN v1.3 <~-~-> DR-LWS-005; 82 -))) 83 -|(% style="width:187px" %)((( 84 -[[LHT65>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/151-lht65.html]], 85 -)))|(% style="width:349px" %)((( 86 -LoRaWAN Temperature & Humidity Sensor 87 -)))|(% style="width:453px" %)((( 88 -((( 89 -LHT65 v1.7 <~-~-> DR-LWS-003; 90 -))) 91 - 92 -((( 93 -((( 37 +|[[LBT1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/165-lbt1.html]],|LoRaWAN BLE Indoor Tracker|LBT1 v1.0 <~-~-> DR-LWS-005; 38 +|[[RS485-LN>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/154-rs485-ln.html]],|LoRaWAN RS485 Modbus Converter|RS485-LN v1.3 <~-~-> DR-LWS-005; 39 +|[[LHT65>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/151-lht65.html]],|LoRaWAN Temperature & Humidity Sensor|LHT65 v1.7 <~-~-> DR-LWS-003;((( 94 94 LHT65 v1.8.0 <~-~-> DR-LWS-005;~-~-> Support since this version 95 95 ))) 96 -))) 97 -))) 98 98 43 + 99 99 = 4. System Management Commands = 100 100 101 101 == 4.1 Change Uplink Interval == ... ... @@ -102,101 +102,77 @@ 102 102 103 103 Feature: Change LoRaWAN End Node Transmit Interval. 104 104 105 -(% class="box infomessage" %) 106 -((( 107 -**AT Command: AT+TDC** 108 -))) 50 +AT Command: AT+TDC 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** 113 -|(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000((( 52 +|=(% colspan="3" %)AT+TDC 53 +|**Command Example**|**Function**|**Response** 54 +|AT+TDC=?|Show current transmit Interval|30000((( 114 114 OK 115 115 116 116 the interval is 30000ms = 30s 117 117 ))) 118 -| (% style="width:165px" %)AT+TDC=60000|(% style="width:227px" %)Set Transmit Interval|(% style="width:329px" %)OK(((59 +|AT+TDC=60000|Set Transmit Interval|OK((( 119 119 Set transmit interval to 60000ms = 60 seconds 120 120 ))) 121 121 122 -{{info}} 123 -**Downlink Command: 0x01** 124 -{{/info}} 125 125 64 +Downlink Command: 0x01 65 + 126 126 Format: Command Code (0x01) followed by 3 bytes time value. 127 127 128 -((( 129 129 If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01. 130 -))) 131 131 132 -* **Example 1**: Downlink Payload:**0100001E**~/~/ Set Transmit Interval (TDC) = 30 seconds133 -* **Example 2**: Downlink Payload:**0100003C**~/~/ Set Transmit Interval (TDC) = 60 seconds70 +* Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 71 +* Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 134 134 135 135 == 4.2 Reboot End Node == 136 136 137 137 Feature: Reboot End Node to perform a new OTAA or ABP Join. 138 138 139 -{{info}} 140 -**AT Command: ATZ** 141 -{{/info}} 77 +AT Command: ATZ 142 142 143 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 144 144 |=(% colspan="3" %)ATZ: Trig a reset of the MCU 145 145 |**Command Example**|**Function**|**Response** 146 -|ATZ|Reset MCU|((( 147 -Device reset and show booting info 81 +|ATZ|Reset MCU|Device reset and show booting info 148 148 149 -LSN50 Device/LoRa ST Module 150 - 83 +{{{LSN50 Device/LoRa ST Module 151 151 Image Version: XX 152 - 153 153 Frequency Band: XX 154 - 155 155 DevEui= XX XX XX XX XX XX XX XX 156 156 157 157 <followed by the Tx and Rx information> 158 - )))89 +}}} 159 159 160 -{{info}} 161 -**Downlink Command: 0x04** 162 -{{/info}} 163 163 92 +Downlink Command: 0x04 93 + 164 164 Format: Command Code (0x04) followed by FF. 165 165 166 -If the downlink payload= **04FF**, the end node will reboot.96 +If the downlink payload=04FF, the end node will reboot. 167 167 168 168 == 4.3 Reset to factory Default == 169 169 170 170 Feature: Reset the parameters to Factory Default, factory default value depends on the firmware settings, the OTAA and ABP keys will reserve after this command. 171 171 172 -{{info}} 173 -**AT Command: AT+FDR** 174 -{{/info}} 102 +AT Command: AT+FDR 175 175 176 -(% border="1" style="background-color:#ffffcc; color:green; width:831.222px" %) 177 -|=(% colspan="3" style="width: 828px;" %)Reset to factory default 178 -|(% style="width:181px" %)**Command Example**|(% style="width:181px" %)**Function**|(% style="width:465px" %)**Response** 179 -|(% style="width:181px" %)AT+FDR|(% style="width:181px" %)Reset to factory default|(% style="width:465px" %)((( 180 -Device reset to factory default parameters and show booting info 104 +|=(% colspan="3" %)Reset to factory default 105 +|**Command Example**|**Function**|**Response** 106 +|AT+FDR|Reset to factory default|Device reset to factory default parameters and show booting info 181 181 182 -LSN50 Device/LoRa ST Module 183 - 108 +{{{LSN50 Device/LoRa ST Module 184 184 Image Version: XX 185 - 186 186 Frequency Band: XX 187 - 188 188 DevEui= XX XX XX XX XX XX XX XX 189 - 190 190 Please set the parameters or reset Device to apply change 191 - )))113 +}}} 192 192 193 -{{info}} 194 -**Downlink Command: 0x04** 195 -{{/info}} 196 196 116 +Downlink Command: 0x04 117 + 197 197 Format: Command Code (0x04) followed by FE. 198 198 199 -If the downlink payload= **04FE**, Reset Parameters to Factory Default, Keys Reserve.120 +If the downlink payload=04FE, Reset Parameters to Factory Default, Keys Reserve. 200 200 201 201 202 202 == 4.4 Show Firmware Version == ... ... @@ -203,37 +203,32 @@ 203 203 204 204 Feature: Show firmware version. No downlink command yet. 205 205 206 -{{info}} 207 -**AT Command: AT+VER** 208 -{{/info}} 127 +AT Command: AT+VER 209 209 210 -(% border="1" style="background-color:#ffffcc; color:green" %) 211 211 |=(% colspan="3" %)AT+VER: Image Version and Frequency Band 212 212 |**Command Example**|**Function**|**Response** 213 -|AT+VER=?|Show Image version and Frequency Band|((( 214 -1.3 EU868 131 +|AT+VER=?|Show Image version and Frequency Band| 215 215 133 +{{{1.3 EU868 216 216 OK 217 - )))135 +}}} 218 218 219 -{{info}} 220 -**Downlink Command: 0x26 (Valid in 006 stack)** 221 -{{/info}} 222 222 138 +Downlink Command: 0x26 (Valid in 006 stack) 139 + 223 223 Downlink Format: 0x26 224 224 225 -((( 226 226 Device will reply with firmware version info, device info. frequency band info. detail please check device user manual. Total 5 bytes Example: If device is of firmware version 1.1.0 Upload: xx ~-~- yy ~-~- zz ~-~- 110 total 5 bytes 227 -))) 228 228 229 - **xx: Software Type:**144 +xx: Software Type: 230 230 231 231 * 0x00 01: LGT92 Version 232 232 * 0x00 02: LBT1 233 233 * 0x00 03: LSE01/LDDS75/LDDS20/LSPH01/LLMS01/LSNPK01 234 234 235 -**yy: Frequency Band:** 236 236 151 +yy: Frequency Band: 152 + 237 237 * 0x01: EU868 238 238 * 0x02: US915 239 239 * 0x03: IN865 ... ... @@ -245,7 +245,7 @@ 245 245 * 0x09: AS923-2 246 246 * 0xa0: AS923-3 247 247 248 - **zz: Subband**164 +zz: Subband 249 249 250 250 firmware version: v1.1.0 ~-~-> 110 251 251 ... ... @@ -254,27 +254,21 @@ 254 254 255 255 Feature: Show All configure. No downlink command yet. 256 256 257 -{{info}} 258 -**AT Command: AT+CFG** 259 -{{/info}} 173 +AT Command: AT+CFG 260 260 261 -(% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %) 262 -|=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations 263 -|(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response** 264 -|(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)((( 265 -AT+DEUI = XX XX XX XX XX XX XX XX 175 +|=(% colspan="3" %)AT+CFG: Print all configurations 176 +|**Command Example**|**Function**|**Response** 177 +|AT+CFG|Show all configures| 266 266 179 +{{{AT+DEUI = XX XX XX XX XX XX XX XX 267 267 AT+DADDR=XXXXXXXX 268 - 269 269 ………. 270 - 271 271 AT+RX2WTO=X 272 - 273 273 AT+CHS=868100000 274 - 275 275 OK 276 - )))185 +}}} 277 277 187 + 278 278 = 5. Keys, IDs and EUIs management = 279 279 280 280 == 5.1 Application EUI == ... ... @@ -281,120 +281,106 @@ 281 281 282 282 Feature: Get or Set the Application EUI. 283 283 284 -{{info}} 285 -**AT Command: AT+APPEUI** 286 -{{/info}} 194 +AT Command: AT+APPEUI 287 287 288 -(% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %) 289 -|=(% colspan="3" style="width: 683px;" %)AT+APPEUI 290 -|(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response** 291 -|(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00((( 196 +|=(% colspan="3" %)AT+APPEUI 197 +|**Command Example**|**Function**|**Response** 198 +|AT+APPEUI=?|Get the Application EUI|00 b3 d5 00 00 00 00 00((( 292 292 OK 293 293 ))) 294 -| (% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK201 +|AT+APPEUI=00 b3 d5 7e f0 00 4d 34|Set the Application EUI|OK 295 295 203 + 296 296 == 5.2 Application Key == 297 297 298 298 Feature: Get or Set the Application Key. 299 299 300 -{{info}} 301 -**AT Command: AT+APPKEY** 302 -{{/info}} 208 +AT Command: AT+APPKEY 303 303 304 -(% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %) 305 -|=(% colspan="3" style="width: 973px;" %)AT+APPKEY 306 -|(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response** 307 -|(% 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((( 210 +|=(% colspan="3" %)AT+APPKEY 211 +|**Command Example**|**Function**|**Response** 212 +|AT+APPKEY=?|Get the Application Key|00 35 55 55 22 23 55 53 43 24 23 42 34 35 35 35((( 308 308 OK 309 309 ))) 310 -| (% 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" %)OK215 +|AT+APPKEY=00 35 55 55 22 23 55 53 43 24 23 42 34 35 35 35|Set the Application Key.|OK 311 311 217 + 312 312 == 5.3 Application Session Key == 313 313 314 314 Feature: Get or Set the Application Session Key. 315 315 316 -{{info}} 317 -**AT Command: AT+APPSKEY** 318 -{{/info}} 222 +AT Command: AT+APPSKEY 319 319 320 -(% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %) 321 -|=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY 322 -|(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response** 323 -|(% 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((( 224 +|=(% colspan="3" %)AT+APPSKEY 225 +|**Command Example**|**Function**|**Response** 226 +|AT+APPSKEY=?|Get the Application Session Key|00 7d dc 73 33 d3 eb 9e 14 38 d5 a4 3e 62 5b e2((( 324 324 OK 325 325 ))) 326 -| (% style="width:451px" %)AT+APPSKEY=00 7d dc 73 33 d3 eb 9e 14 38 d5 a4 3e 62 5b e2|(% style="width:231px" %)Set the Application Session Key|(% style="width:354px" %)(While Error in format, return AT_PARAM_ERROR)(((229 +|AT+APPSKEY=00 7d dc 73 33 d3 eb 9e 14 38 d5 a4 3e 62 5b e2|Set the Application Session Key.|(While Error in format, return AT_PARAM_ERROR)((( 327 327 OK 328 328 ))) 329 329 233 + 330 330 == 5.4 Device Address == 331 331 332 332 Feature: Get or Set the Device Address. 333 333 334 -{{info}} 335 -**AT Command: AT+DADDR** 336 -{{/info}} 238 +AT Command: AT+DADDR 337 337 338 -(% border="1" style="background-color:#ffffcc; color:green; width:795.222px" %) 339 -|=(% colspan="3" style="width: 792px;" %)AT+DADDR 340 -|(% style="width:192px" %)**Command Example**|(% style="width:241px" %)**Function**|(% style="width:359px" %)**Response** 341 -|(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)((( 240 +|=(% colspan="3" %)AT+DADDR 241 +|**Command Example**|**Function**|**Response** 242 +|AT+DADDR=?|Get the Application Session Key.|(While Error in format, return AT_PARAM_ERROR)((( 342 342 A8 40 41 FF 343 343 344 344 OK 345 345 ))) 346 -| (% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK247 +|AT+DADDR=A8 40 41 FF|Set the Application Session Key.|OK 347 347 249 + 348 348 == 5.5 Device EUI == 349 349 350 350 Feature: Get or Set the Device EUI. 351 351 352 -{{info}} 353 -**AT Command: AT+DEUI** 354 -{{/info}} 254 +AT Command: AT+DEUI 355 355 356 -(% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %) 357 -|=(% colspan="3" style="width: 1032px;" %)AT+DEUI 358 -|(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response** 359 -|(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55((( 256 +|=(% colspan="3" %)AT+DEUI 257 +|**Command Example**|**Function**|**Response** 258 +|AT+DEUI=?|Get the Device EUI.|00 44 34 22 33 45 55 55((( 360 360 OK 361 361 ))) 362 -| (% style="width:250px" %)AT+DEUI=A8 40 41 FF FF 12 34 56|(% style="width:147px" %)Set the Device EUI.|(% style="width:634px" %)(System will write new value to Device EUI,While Error in format, return AT_PARAM_ERROR)(((261 +|AT+DEUI=A8 40 41 FF FF 12 34 56|Set the Device EUI.|(System will write new value to Device EUI,While Error in format, return AT_PARAM_ERROR)((( 363 363 OK 364 364 ))) 365 365 265 + 366 366 == 5.6 Network ID == 367 367 368 368 Feature: Get or Set the Network ID.(You can enter this command change only after successful network connection) 369 369 370 -{{info}} 371 -**AT Command: AT+NWKID** 372 -{{/info}} 270 +AT Command: AT+NWKID 373 373 374 -(% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %) 375 -|=(% colspan="3" style="width: 445px;" %)AT+NWKID 376 -|(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response** 377 -|(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff((( 272 +|=(% colspan="3" %)AT+NWKID 273 +|**Command Example**|**Function**|**Response** 274 +|AT+NWKID=?|Get the Network ID.|a8 40 41 ff((( 378 378 OK 379 379 ))) 380 -| (% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK277 +|AT+NWKID=A8 40 41 FF|Set the Network ID.|OK 381 381 279 + 382 382 == 5.7 Network Session Key == 383 383 384 384 Feature: Get or Set the Network Session Key 385 385 386 -{{info}} 387 -**AT Command: AT+NWKSKEY** 388 -{{/info}} 284 +AT Command: AT+NWKSKEY 389 389 390 -(% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %) 391 -|=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY 392 -|(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response** 393 -|(% 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((( 286 +|=(% colspan="3" %)AT+NWKSKEY 287 +|**Command Example**|**Function**|**Response** 288 +|AT+NWKSKEY=?|Get the Network Session Key.|00 4f 19 25 52 ce 97 09 d7 fa 84 71 db 51 02 92((( 394 394 OK 395 395 ))) 396 -| (% 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" %)OK291 +|AT+NWKSKEY=A8 40 41 FF FF 12 34 56 00 01 02 04 05 06 06 07|Set the Network Session Key.|OK 397 397 293 + 398 398 = 6. Joining and sending date on LoRaWAN network = 399 399 400 400 == 6.1 Confirm Mode == ... ... @@ -401,19 +401,17 @@ 401 401 402 402 Feature: Get or Set the confirmation mode (0-1). 403 403 404 -{{info}} 405 -**AT Command: AT+CFM** 406 -{{/info}} 300 +AT Command: AT+CFM 407 407 408 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 409 -|=(% colspan="3" style="width: 707px;" %)AT+CFM 410 -|(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response** 411 -|(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0((( 302 +|=(% colspan="3" %)AT+CFM 303 +|**Command Example**|**Function**|**Response** 304 +|AT+CFM=?|Get the confirmation mode|0((( 412 412 OK 413 413 ))) 414 -| (% style="width:155px" %)AT+CFM=1|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)OK415 -| (% style="width:155px" %)AT+CFM=2|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)While Error in format, return AT_PARAM_ERROR307 +|AT+CFM=1|Set the confirmation mode|OK 308 +|AT+CFM=2|Set the confirmation mode|While Error in format, return AT_PARAM_ERROR 416 416 310 + 417 417 Downlink Command: 0x05 418 418 419 419 Format: Command Code (0x05) followed by 2 bytes mode value. ... ... @@ -423,123 +423,108 @@ 423 423 * Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1 424 424 * Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0 425 425 320 + 426 426 == 6.2 Confirm Status == 427 427 428 428 Feature: Get confirmation status of the last AT+SEND (0-1). 429 429 430 -{{info}} 431 -**AT Command: AT+CFS** 432 -{{/info}} 325 +AT Command: AT+CFS 433 433 434 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 435 -|=(% colspan="3" style="width: 531px;" %)AT+CFS 436 -|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response** 437 -|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)0((( 327 +|=(% colspan="3" %)AT+CFS 328 +|**Command Example**|**Function**|**Response** 329 +|AT+CFS=?|Get confirmation status|0((( 438 438 OK 439 439 ))) 440 440 333 + 441 441 == 6.3 Join LoRa® Network == 442 442 443 443 Feature: Join network. 444 444 445 -{{info}} 446 -**AT Command: AT+JOIN** 447 -{{/info}} 338 +AT Command: AT+JOIN 448 448 449 -(% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %) 450 -|=(% colspan="3" style="width: 644px;" %)AT+JOIN 451 -|(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response** 452 -|(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network((( 340 +|=(% colspan="3" %)AT+JOIN 341 +|**Command Example**|**Function**|**Response** 342 +|AT+JOIN ?|Get imformation.|AT+JOIN: Join network((( 453 453 OK 454 454 455 455 While Error in format, return AT_BUSY_ERROR 456 456 ))) 457 457 348 + 458 458 == 6.4 LoRa® Network Join Mode == 459 459 460 460 Feature: Get or Set the Network Join Mode. (0: ABP, 1: OTAA). 461 461 462 -{{info}} 463 -**AT Command: AT+NJM** 464 -{{/info}} 353 +AT Command: AT+NJM 465 465 466 -(% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %) 467 -|=(% colspan="3" style="width: 750px;" %)AT+NJM 468 -|(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response** 469 -|(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1((( 355 +|=(% colspan="3" %)AT+NJM 356 +|**Command Example**|**Function**|**Response** 357 +|AT+NJM=?|Get the Network Join Mode|1((( 470 470 OK 471 471 ))) 472 -| (% style="width:162px" %)AT+NJM=0|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)OK473 -| (% style="width:162px" %)AT+NJM=2|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)While Error in format, return AT_PARAM_ERROR360 +|AT+NJM=0|Set the Network Join Mode|OK 361 +|AT+NJM=2|Set the Network Join Mode|While Error in format, return AT_PARAM_ERROR 474 474 475 -{{info}} 476 -**Downlink Command: 0x20** 477 -{{/info}} 478 478 364 +Downlink Command: 0x20 365 + 479 479 Format: Command Code (0x20) followed by 1 bytes mode value. 480 480 481 481 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 482 482 483 -* **Example 1:**Downlink Payload:**2000**~/~/ Set AT+NJM=O484 -* **Example 2:**Downlink Payload:**2001**~/~/ Set AT+NJM=1370 +* Example 1: Downlink Payload: 2000 ~/~/ Set AT+NJM=O 371 +* Example 2: Downlink Payload: 2001 ~/~/ Set AT+NJM=1 485 485 373 + 486 486 == 6.5 LoRa® Network Join Status == 487 487 488 488 Feature: LoRa® Network Join Status. 489 489 490 -{{info}} 491 -**AT Command: AT+NJS** 492 -{{/info}} 378 +AT Command: AT+NJS 493 493 494 -(% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %) 495 -|=(% colspan="3" style="width: 495px;" %)AT+NJS 496 -|(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response** 497 -|(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0((( 380 +|=(% colspan="3" %)AT+NJS 381 +|**Command Example**|**Function**|**Response** 382 +|AT+NJS=?|Get the join status.|0((( 498 498 OK 499 499 ))) 500 500 386 + 501 501 == 6.6 Print Last Received Data in Raw Format == 502 502 503 503 Feature: Print Last Received Data in Raw Format<port:data>. 504 504 505 -{{info}} 506 -**AT Command: AT+RECV** 507 -{{/info}} 391 +AT Command: AT+RECV 508 508 509 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 510 -|=(% colspan="3" style="width: 584px;" %)AT+RECV 511 -|(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response** 512 -|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:((( 393 +|=(% colspan="3" %)AT+RECV 394 +|**Command Example**|**Function**|**Response** 395 +|AT+RECV=?|print last received data in raw format.|0:((( 513 513 OK 514 514 ))) 515 515 399 + 516 516 == 6.7 Print Last Received Data in Binary Format == 517 517 518 518 Feature: Print Last Received Data in Binary Format<port:data>. 519 519 520 -{{info}} 521 -**AT Command: AT+RECVB** 522 -{{/info}} 404 +AT Command: AT+RECVB 523 523 524 -(% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %) 525 -|=(% colspan="3" style="width: 790px;" %)AT+RECVB 526 -|(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response** 527 -|(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010((( 406 +|=(% colspan="3" %)AT+RECVB 407 +|**Command Example**|**Function**|**Response** 408 +|AT+RECVB=?|print last received data in binary format (with hexadecimal values).|2: 0010((( 528 528 OK 529 529 ))) 530 530 412 + 531 531 == 6.8 Send Text Data == 532 532 533 533 Feature: Send Text Data<port:data>. 534 534 535 -{{info}} 536 -**AT Command: AT+SEND** 537 -{{/info}} 417 +AT Command: AT+SEND 538 538 539 -(% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %) 540 -|=(% colspan="3" style="width: 988px;" %)AT+SEND 541 -|(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response** 542 -|(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK((( 419 +|=(% colspan="3" %)AT+SEND 420 +|**Command Example**|**Function**|**Response** 421 +|AT+SEND=12:hello world|Send text data along with the application port.|OK((( 543 543 While Error in format, return 544 544 545 545 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED ... ... @@ -547,24 +547,23 @@ 547 547 548 548 ))) 549 549 429 + 550 550 == 6.9 Send Hexadecimal Data == 551 551 552 552 Feature: Send hexadecimal data along with the application port. 553 553 554 -{{info}} 555 -**AT Command: AT+SENDB** 556 -{{/info}} 434 +AT Command: AT+SENDB 557 557 558 -(% border="1" style="background-color:#ffffcc; color:green; width:1120.22px" %) 559 -|=(% colspan="3" style="width: 1117px;" %)AT+SENDB 560 -|(% style="width:257px" %)**Command Example**|(% style="width:406px" %)**Function**|(% style="width:453px" %)**Response** 561 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)OK 562 -|(% 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((( 436 +|=(% colspan="3" %)AT+SENDB 437 +|**Command Example**|**Function**|**Response** 438 +|AT+SENDB=12:abcdef0123456789|Send hexadecimal data along with the application port.|OK 439 +|AT+SENDB=abcdef0123456789|Send hexadecimal data along with the application port.|While Error in format, return((( 563 563 AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 564 564 565 565 566 566 ))) 567 567 445 + 568 568 = 7. LoRaWAN network management = 569 569 570 570 == 7.1 Adaptive Data Rate == ... ... @@ -571,276 +571,246 @@ 571 571 572 572 Feature: Get or Set the Adaptive Data Rate setting. (0: off, 1: on). 573 573 574 -{{info}} 575 -**AT Command: AT+ADR** 576 -{{/info}} 577 577 578 -(% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %) 579 -|=(% colspan="3" style="width: 680px;" %)AT+ADR 580 -|(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response** 581 -|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1((( 453 +AT Command: AT+ADR 454 + 455 +|=(% colspan="3" %)AT+ADR 456 +|**Command Example**|**Function**|**Response** 457 +|AT+ADR=?|Get the Adaptive Data Rate setting.|1((( 582 582 OK 583 583 ))) 584 -| (% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)OK585 -| (% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)While Error in format, return(((460 +|AT+ADR=0|Set the Adaptive Data Rate setting.|OK 461 +|AT+ADR=2|Set the Adaptive Data Rate setting.|While Error in format, return((( 586 586 AT_PARAM_ERROR 587 587 ))) 588 588 589 -{{info}} 590 -**Downlink Command: 0x22** 591 -{{/info}} 592 592 466 +Downlink Command: 0x22 593 593 468 + 594 594 If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22. 595 595 596 -* **Example 1**: Downlink Payload:**2201**~/~/ Set AT+ADR=1.597 -* **Example 2**: Downlink Payload:**2200FFFF**~/~/ Set AT+ADR=0.471 +* Example 1: Downlink Payload: 2201 ~/~/ Set AT+ADR=1. 472 +* Example 2: Downlink Payload: 2200FFFF ~/~/ Set AT+ADR=0. 598 598 474 + 599 599 == 7.2 LoRa® Class == 600 600 601 601 Feature: Get or Set the Device Class(Currently only support class A, class C). 602 602 603 -{{info}} 604 -**AT Command:AT+CLASS** 605 -{{/info}} 479 +AT Command:AT+CLASS 606 606 607 -(% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %) 608 -|=(% colspan="3" style="width: 504px;" %)AT+CLASS 609 -|(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response** 610 -|(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A((( 481 +|=(% colspan="3" %)AT+CLASS 482 +|**Command Example**|**Function**|**Response** 483 +|AT+CLASS=?|Get the Device Class.|A((( 611 611 OK 612 612 ))) 613 -| (% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:175px" %)OK(((486 +|AT+CLASS=C|Set the Device Class.|OK((( 614 614 615 615 ))) 616 616 490 + 617 617 == 7.3 Duty Cycle Setting == 618 618 619 619 Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing. 620 620 621 -{{info}} 622 -**AT Command:AT+DCS** 623 -{{/info}} 495 +AT Command:AT+DCS 624 624 625 -(% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %) 626 -|=(% colspan="3" style="width: 512px;" %)AT+DCS 627 -|(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response** 628 -|(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1((( 497 +|=(% colspan="3" %)AT+DCS 498 +|**Command Example**|**Function**|**Response** 499 +|AT+DCS=?|Get the ETSI Duty Cycle setting.|1((( 629 629 OK 630 630 ))) 631 -| (% style="width:165px" %)AT+DCS=1|(% style="width:239px" %)Set the ETSI Duty Cycle setting.|(% style="width:107px" %)OK(((502 +|AT+DCS=1|Set the ETSI Duty Cycle setting.|OK((( 632 632 633 633 ))) 634 634 506 + 635 635 == 7.4 Data Rate == 636 636 637 637 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 638 638 639 -{{info}} 640 -**AT Command: AT+DR** 641 -{{/info}} 511 +AT Command: AT+DR 642 642 643 -(% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %) 644 -|=(% colspan="3" style="width: 463px;" %)AT+DR 645 -|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response** 646 -|(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5((( 513 +|=(% colspan="3" %)AT+DR 514 +|**Command Example**|**Function**|**Response** 515 +|AT+DR=?|Get the Data Rate.|5((( 647 647 OK 648 648 ))) 649 -| (% style="width:156px" %)AT+DR=2|(% style="width:167px" %)Set the Data Rate.|(% style="width:140px" %)OK(((518 +|AT+DR=2|Set the Data Rate.|OK((( 650 650 651 651 ))) 652 652 653 -{{info}} 654 -**Downlink Command: 0x2200aaFF** 655 -{{/info}} 656 656 523 +Downlink Command: 0x2200aaFF 657 657 525 + 658 658 If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF. 659 659 660 -* **Example 1**: Downlink Payload:**220001FF**~/~/ Set AT+DR=1.661 -* **Example 2**: Downlink Payload:**220000FF**~/~/ Set AT+DR=0.528 +* Example 1: Downlink Payload: 220001FF ~/~/ Set AT+DR=1. 529 +* Example 2: Downlink Payload: 220000FF ~/~/ Set AT+DR=0. 662 662 531 + 663 663 == 7.5 Frame Counter Downlink == 664 664 665 665 Feature: Get or Set the Frame Counter Downlink. 666 666 667 -{{info}} 668 -**AT Command:AT+FCD** 669 -{{/info}} 536 +AT Command:AT+FCD 670 670 671 -(% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %) 672 -|=(% colspan="3" style="width: 690px;" %)AT+FCD 673 -|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response** 674 -|(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0((( 538 +|=(% colspan="3" %)AT+FCD 539 +|**Command Example**|**Function**|**Response** 540 +|AT+FCD=?|Get the Frame Counter Downlink.|0((( 675 675 OK 676 676 ))) 677 -| (% style="width:162px" %)AT+FCD=10|(% style="width:258px" %)Set the Frame Counter Downlink.|(% style="width:269px" %)(System will write new value to FCD)(((543 +|AT+FCD=10|Set the Frame Counter Downlink.|(System will write new value to FCD)((( 678 678 OK 679 679 680 680 681 681 ))) 682 682 549 + 683 683 == 7.6 Frame Counter Uplink == 684 684 685 685 Feature: Get or Set the Frame Counter Uplink. 686 686 687 -{{info}} 688 -**AT Command:AT+FCU** 689 -{{/info}} 554 +AT Command:AT+FCU 690 690 691 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 692 -|=(% colspan="3" style="width: 531px;" %)AT+FCU 693 -|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response** 694 -|(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0((( 556 +|=(% colspan="3" %)AT+FCU 557 +|**Command Example**|**Function**|**Response** 558 +|AT+FCU=?|Get the Frame Counter Uplink.|0((( 695 695 OK 696 696 ))) 697 -| (% style="width:177px" %)AT+FCU=10|(% style="width:239px" %)Set the Frame Counter Uplink.|(% style="width:113px" %)OK(((561 +|AT+FCU=10|Set the Frame Counter Uplink.|OK((( 698 698 699 699 ))) 700 700 565 + 701 701 == 7.7 Join Accept Delay1 == 702 702 703 703 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms. 704 704 705 -{{info}} 706 -**AT Command:AT+JN1DL** 707 -{{/info}} 570 +AT Command:AT+JN1DL 708 708 709 -(% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %) 710 -|=(% colspan="3" style="width: 534px;" %)AT+JN1DL 711 -|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response** 712 -|(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000((( 572 +|=(% colspan="3" %)AT+JN1DL 573 +|**Command Example**|**Function**|**Response** 574 +|AT+JN1DL=?|Get the Join Accept Delay.|5000((( 713 713 OK 714 714 ))) 715 -| (% style="width:164px" %)AT+JN1DL=10000|(% style="width:229px" %)Set the Join Accept Delay.|(% style="width:140px" %)OK(((577 +|AT+JN1DL=10000|Set the Join Accept Delay.|OK((( 716 716 717 717 ))) 718 718 581 + 719 719 == 7.8 Join Accept Delay2 == 720 720 721 721 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms. 722 722 723 -{{info}} 724 -**AT Command:AT+JN2DL** 725 -{{/info}} 586 +AT Command:AT+JN2DL 726 726 727 -(% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %) 728 -|=(% colspan="3" style="width: 535px;" %)AT+JN2DL 729 -|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response** 730 -|(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000((( 588 +|=(% colspan="3" %)AT+JN2DL 589 +|**Command Example**|**Function**|**Response** 590 +|AT+JN2DL=?|Get the Join Accept Delay.|6000((( 731 731 OK 732 732 ))) 733 -| (% style="width:160px" %)AT+JN2DL=20000|(% style="width:228px" %)Set the Join Accept Delay.|(% style="width:146px" %)OK(((593 +|AT+JN2DL=20000|Set the Join Accept Delay.|OK((( 734 734 735 735 ))) 736 736 597 + 737 737 == 7.9 Public Network Mode == 738 738 739 739 Feature: Get or Set the public network mode. (0: off, 1: on) 740 740 741 -{{info}} 742 -**AT Command:AT+PNM** 743 -{{/info}} 602 +AT Command:AT+PNM 744 744 745 -(% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %) 746 -|=(% colspan="3" style="width: 664px;" %)AT+PNM 747 -|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response** 748 -|(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 604 +|=(% colspan="3" %)AT+PNM 605 +|**Command Example**|**Function**|**Response** 606 +|AT+PNM=?|Get the public network mode.|1((( 749 749 OK 750 750 ))) 751 -| (% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)Set the public network mode.|(% style="width:272px" %)(System will write new value to PNM)(((609 +|AT+PNM=1|Set the public network mode.|(System will write new value to PNM)((( 752 752 OK 753 753 754 754 755 755 ))) 756 756 615 + 757 757 == 7.10 Receive Delay1 == 758 758 759 759 Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms 760 760 761 -{{info}} 762 -**AT Command:AT+RX1DL** 763 -{{/info}} 620 +AT Command:AT+RX1DL 764 764 765 -(% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %) 766 -|=(% colspan="3" style="width: 405px;" %)AT+RX1DL 767 -|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response** 768 -|(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000((( 622 +|=(% colspan="3" %)AT+RX1DL 623 +|**Command Example**|**Function**|**Response** 624 +|AT+RX1DL=?|Get the delay.|1000((( 769 769 OK 770 770 ))) 771 -| (% style="width:155px" %)AT+RX1DL=1500|(% style="width:128px" %)Set the delay.|(% style="width:122px" %)OK(((627 +|AT+RX1DL=1500|Set the delay.|OK((( 772 772 773 773 ))) 774 774 631 + 775 775 == 7.11Receive Delay2 == 776 776 777 777 Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms 778 778 779 -{{info}} 780 -**AT Command:AT+RX2DL** 781 -{{/info}} 636 +AT Command:AT+RX2DL 782 782 783 -(% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %) 784 -|=(% colspan="3" style="width: 478px;" %)AT+RX2DL 785 -|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response** 786 -|(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000((( 638 +|=(% colspan="3" %)AT+RX2DL 639 +|**Command Example**|**Function**|**Response** 640 +|AT+RX2DL=?|Get the delay.|2000((( 787 787 OK 788 788 ))) 789 -| (% style="width:175px" %)AT+RX2DL=2500|(% style="width:152px" %)Set the delay.|(% style="width:150px" %)OK(((643 +|AT+RX2DL=2500|Set the delay.|OK((( 790 790 791 791 ))) 792 792 647 + 793 793 == 7.12 Rx2 Window Data Rate == 794 794 795 795 Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X) 796 796 797 -{{info}} 798 -**AT Command:AT+RX2DR** 799 -{{/info}} 652 +AT Command:AT+RX2DR 800 800 801 -(% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %) 802 -|=(% colspan="3" style="width: 522px;" %)AT+RX2DR 803 -|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response** 804 -|(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2((( 654 +|=(% colspan="3" %)AT+RX2DR 655 +|**Command Example**|**Function**|**Response** 656 +|AT+RX2DR=?|Get the Rx2 window data rate.|2((( 805 805 OK 806 806 ))) 807 -| (% style="width:160px" %)AT+RX2DR=6|(% style="width:232px" %)Set the Rx2 window data rate.|(% style="width:130px" %)OK(((659 +|AT+RX2DR=6|Set the Rx2 window data rate.|OK((( 808 808 809 809 ))) 810 810 663 + 811 811 == 7.13 Rx2 Window Frequency == 812 812 813 813 Feature: Get or Set the Rx2 window frequency 814 814 815 -{{info}} 816 -**AT Command:AT+RX2FQ** 817 -{{/info}} 668 +AT Command:AT+RX2FQ 818 818 819 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 820 -|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ 821 -|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response** 822 -|(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000((( 670 +|=(% colspan="3" %)AT+RX2FQ 671 +|**Command Example**|**Function**|**Response** 672 +|AT+RX2FQ=?|Get the Rx2 window frequency.|434665000((( 823 823 OK 824 824 ))) 825 -| (% style="width:183px" %)AT+RX2FQ=434665000|(% style="width:240px" %)Set the Rx2 window frequency.|(% style="width:160px" %)OK(((675 +|AT+RX2FQ=434665000|Set the Rx2 window frequency.|OK((( 826 826 827 827 ))) 828 828 679 + 829 829 == 7.14 Transmit Power == 830 830 831 831 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. ) 832 832 833 -{{info}} 834 -**AT Command:AT+TXP** 835 -{{/info}} 684 +AT Command:AT+TXP 836 836 837 -(% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %) 838 -|=(% colspan="3" style="width: 462px;" %)AT+TXP 839 -|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response** 840 -|(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0((( 686 +|=(% colspan="3" %)AT+TXP 687 +|**Command Example**|**Function**|**Response** 688 +|AT+TXP=?|Get the Transmit Power.|0((( 841 841 OK 842 842 ))) 843 -| (% style="width:161px" %)AT+TXP=1|(% style="width:189px" %)Set the Transmit Power.|(% style="width:112px" %)OK(((691 +|AT+TXP=1|Set the Transmit Power.|OK((( 844 844 845 845 ))) 846 846 ... ... @@ -848,130 +848,116 @@ 848 848 849 849 If the downlink payload=22000100, it means setting the TXP to 0. 850 850 851 -* **Example 1**: Downlink Payload:**22000102**~/~/ Set AT+TXP=2.852 -* **Example 2**: Downlink Payload:**220000FF**~/~/ Set AT+TXP=0.699 +* Example 1: Downlink Payload: 22000102 ~/~/ Set AT+TXP=2. 700 +* Example 2: Downlink Payload: 220000FF ~/~/ Set AT+TXP=0. 853 853 702 + 854 854 == 7.15 RSSI of the Last Received Packet == 855 855 856 856 Feature: Get or Set the Rx2 window frequency 857 857 858 -{{info}} 859 -**AT Command:AT+RSSI** 860 -{{/info}} 707 +AT Command:AT+RSSI 861 861 862 -(% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %) 863 -|=(% colspan="3" style="width: 554px;" %)AT+RSSI 864 -|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response** 865 -|(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0((( 709 +|=(% colspan="3" %)AT+RSSI 710 +|**Command Example**|**Function**|**Response** 711 +|AT+RSSI=?|Get the RSSI of the last received packet.|0((( 866 866 OK 867 867 ))) 868 868 715 + 869 869 == 7.16 SNR of the Last Received Packet == 870 870 871 871 Feature: Get the SNR of the last received packet 872 872 873 -{{info}} 874 -**AT Command:AT+SNR** 875 -{{/info}} 720 +AT Command:AT+SNR 876 876 877 -(% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %) 878 -|=(% colspan="3" style="width: 568px;" %)AT+SNR 879 -|(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response** 880 -|(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0((( 722 +|=(% colspan="3" %)AT+SNR 723 +|**Command Example**|**Function**|**Response** 724 +|AT+SNR=?|Get the RSSI of the last received packet.|0((( 881 881 OK 882 882 ))) 883 883 728 + 884 884 == 7.17 Application Port == 885 885 886 886 Feature: Get or set the application port. 887 887 888 -{{info}} 889 -**AT Command: AT+PORT** 890 -{{/info}} 733 +AT Command: AT+PORT 891 891 892 -(% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %) 893 -|=(% colspan="3" style="width: 497px;" %)AT+PORT 894 -|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response** 895 -|(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21((( 735 +|=(% colspan="3" %)AT+PORT 736 +|**Command Example**|**Function**|**Response** 737 +|AT+PORT=?|Get the application port|21((( 896 896 OK 897 897 ))) 898 -| (% style="width:157px" %)AT+PORT=21|(% style="width:204px" %)Set the application port|(% style="width:135px" %)OK740 +|AT+PORT=21|Set the application port|OK 899 899 900 -{{info}} 901 -**Downlink Command: 0x23** 902 -{{/info}} 903 903 743 +Downlink Command: 0x23 744 + 904 904 Format: Command Code (0x23) followed by 1 bytes port value. 905 905 906 906 If the downlink payload=2301, it means set the application port to 1, while type code is 23. 907 907 908 -* **Example 1**: Downlink Payload:**2301**~/~/ set the application port to 1909 -* **Example 2**: Downlink Payload:**2305**~/~/ set the application port to 5749 +* Example 1: Downlink Payload: 2301 ~/~/ set the application port to 1 750 +* Example 2: Downlink Payload: 2305 ~/~/ set the application port to 5 910 910 752 + 911 911 == 7.18 Single Channel Mode == 912 912 913 913 Feature:Get or Set Frequency (Unit: Hz) for Single Channel Mode. 914 914 915 -{{info}} 916 -**AT Command: AT+CHS** 917 -{{/info}} 757 +AT Command: AT+CHS 918 918 919 -(% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %) 920 -|=(% colspan="3" style="width: 600px;" %)AT+CHS 921 -|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response** 922 -|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0((( 759 +|=(% colspan="3" %)AT+CHS 760 +|**Command Example**|**Function**|**Response** 761 +|AT+CHS=?|Get Frequency for Single Channel Mode|0((( 923 923 OK 924 924 ))) 925 -| (% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK764 +|AT+CHS=868100000|Set Frequency for Single Channel Mode|OK 926 926 766 + 927 927 == 7.19 Eight Channel Mode == 928 928 929 929 Feature: Get or Set eight channels mode,Only for US915,AU915,CN470. 930 930 931 -{{info}} 932 -**AT Command: AT+CHE** 933 -{{/info}} 771 +AT Command: AT+CHE 934 934 935 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 936 -|=(% colspan="3" style="width: 707px;" %)AT+CHE 937 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 938 -|(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1((( 773 +|=(% colspan="3" %)AT+CHE 774 +|**Command Example**|**Function**|**Response** 775 +|AT+CHE=?|Get eight channels mode|1((( 939 939 902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7 940 940 941 941 OK 942 942 ))) 943 -| (% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK780 +|AT+CHE=1|Set eight channels mode|OK 944 944 945 -{{info}} 946 -**Downlink Command: 0x24** 947 -{{/info}} 948 948 783 +Downlink Command: 0x24 784 + 949 949 Format: Command Code (0x24) followed by 1 bytes channel value. 950 950 951 951 If the downlink payload=2401, it means set channel mode to 1, while type code is 24. 952 952 953 -* **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1954 -* **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5789 +* Example 1: Downlink Payload: 2401 ~/~/ set channel mode to 1 790 +* Example 2: Downlink Payload: 2405 ~/~/ set channel mode to 5 955 955 792 + 956 956 == 7.20 Get or Set RXwindows1 timeout == 957 957 958 958 Feature:Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255). 959 959 960 -{{info}} 961 -**AT Command: AT+RX1WTO** 962 -{{/info}} 797 +AT Command: AT+RX1WTO 963 963 964 -(% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %) 965 -|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO 966 -|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response** 967 -|(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14((( 799 +|=(% colspan="3" %)AT+ RX1WTO 800 +|**Command Example**|**Function**|**Response** 801 +|AT+RX1WTO=?|Get RXwindows1 timeout|14((( 968 968 OK 969 969 ))) 970 -| (% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK804 +|AT+RX1WTO=60|Set RXwindows1 timeout|OK 971 971 972 972 AT+RX1TWO is theRxSingle timeout value of receive window 1. If it is not set, then the queriedvalue is the default value. If it is set, then the queried value is the setvalue. AT+RX2TWO is thesame as above. The definitionof RxSingle timeout is as described in the following paragraph. 973 973 974 -[[image:image -20220511120050-1.png]]808 +[[~[~[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]] 975 975 976 976 Increasing thisvalue is equal to extending the time that the receiving window is opened, butthe corresponding power consumption will also increase. Properly increasingthis value can increase the success rate of the downlink. 977 977 ... ... @@ -979,45 +979,40 @@ 979 979 980 980 Feature:Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255). 981 981 982 -{{info}} 983 -**AT Command: AT+RX2WTO** 984 -{{/info}} 816 +AT Command: AT+RX2WTO 985 985 986 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 987 -|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO 988 -|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response** 989 -|(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7((( 818 +|=(% colspan="3" %)AT+ RX2WTO 819 +|**Command Example**|**Function**|**Response** 820 +|AT+RX2WTO=?|Get RXwindows2 timeout|7((( 990 990 OK 991 991 ))) 992 -| (% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK823 +|AT+RX2WTO=20|Set RXwindows2 timeout|OK 993 993 825 + 994 994 == 7.22 Setting up uplinkdwelltime (as923, au915) == 995 995 996 996 Feature: Get or Set uplinkdwelltime 997 997 998 -{{info}} 999 -**AT Command: AT+DWELLT** 1000 -{{/info}} 830 +AT Command: AT+DWELLT 1001 1001 1002 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 1003 -|=(% colspan="3" style="width: 494px;" %)AT+DWELLT 1004 -|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response** 1005 -|(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1((( 832 +|=(% colspan="3" %)AT+DWELLT 833 +|**Command Example**|**Function**|**Response** 834 +|AT+DWELLT=?|Get uplinkdwelltime|1((( 1006 1006 OK 1007 1007 ))) 1008 -| (% style="width:183px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK837 +|AT+DWELLT=0|Set uplinkdwelltime|OK 1009 1009 1010 -{{info}} 1011 -**Downlink Command: 0x25** 1012 -{{/info}} 1013 1013 840 +Downlink Command: 0x25 841 + 1014 1014 Format: Command Code (0x25) followed by 1 bytes state value. 1015 1015 1016 1016 If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25. 1017 1017 1018 -* **Example 1**: Downlink Payload:**2501**~/~/ set uplinkdwelltime to 11019 -* **Example 2**: Downlink Payload:**2500**~/~/ set uplinkdwelltime to 0846 +* Example 1: Downlink Payload: 2501 ~/~/ set uplinkdwelltime to 1 847 +* Example 2: Downlink Payload: 2500 ~/~/ set uplinkdwelltime to 0 1020 1020 849 + 1021 1021 == 7.23 Set Packet Receiving Response Level == 1022 1022 1023 1023 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. ... ... @@ -1024,11 +1024,11 @@ 1024 1024 1025 1025 RPL value: 1026 1026 1027 -* **AT+RPL=0:**Device won't immediately reply any downlink commands from platform.1028 -* **AT+RPL=1:**Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.1029 -* **AT+RPL=2:**Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.1030 -* **AT+RPL=3:**Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.1031 -* **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.856 +* AT+RPL=0: Device won't immediately reply any downlink commands from platform. 857 +* AT+RPL=1: Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00. 858 +* AT+RPL=2: Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command. 859 +* AT+RPL=3: Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command. 860 +* 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. 1032 1032 1033 1033 Case Analyes: 1034 1034 ... ... @@ -1036,44 +1036,41 @@ 1036 1036 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command. 1037 1037 * 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. 1038 1038 1039 -{{info}} 1040 -**AT Command: AT+RPL** 1041 -{{/info}} 1042 1042 1043 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1044 -|=(% colspan="3" style="width: 533px;" %)AT+RPL 1045 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1046 -|(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1((( 869 +AT Command: AT+RPL 870 + 871 +|=(% colspan="3" %)AT+RPL 872 +|**Command Example**|**Function**|**Response** 873 +|AT+RPL=?|Get packet receiving response level|1((( 1047 1047 OK 1048 1048 ))) 1049 -| (% style="width:160px" %)AT+RPL=0|(% style="width:263px" %)Set packet receiving response level|(% style="width:109px" %)OK876 +|AT+RPL=0|Set packet receiving response level|OK 1050 1050 1051 -{{info}} 1052 -**Downlink Command: 0x21** 1053 -{{/info}} 1054 1054 879 +Downlink Command: 0x21 880 + 1055 1055 Format: Command Code (0x21) followed by 1 bytes level value. 1056 1056 1057 1057 If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21. 1058 1058 1059 -* **Example 1**: Downlink Payload:**2101**~/~/ set packet receiving response level to 11060 -* **Example 2**: Downlink Payload:**2102**~/~/ set packet receiving response level to 2885 +* Example 1: Downlink Payload: 2101 ~/~/ set packet receiving response level to 1 886 +* Example 2: Downlink Payload: 2102 ~/~/ set packet receiving response level to 2 1061 1061 888 + 1062 1062 = 8. AT Commands Combination = 1063 1063 1064 1064 == 8.1 Set a fix RX2DR for downlink window == 1065 1065 1066 -* **AT+ADR=0**~-~-> Disable ADR first1067 -* **AT+RX2DR=xxxx**~-~-> Set xxxx to your wanted DataRate893 +* AT+ADR=0 ~-~-> Disable ADR first 894 +* AT+RX2DR=xxxx ~-~-> Set xxxx to your wanted DataRate 1068 1068 896 + 1069 1069 == 8.2 Use Downlink Command to set a fix uplink DR == 1070 1070 1071 -{{info}} 1072 -**Downlink Command: 0x22000500** 1073 -{{/info}} 899 +Downlink Command: 0x22000500 1074 1074 1075 1075 Same as: 1076 1076 1077 -* AT+ADR=0 [[Reference>>http:// 8.211.40.43:8080/xwiki/bin/view/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#Adaptive_Data_Rate]]903 +* AT+ADR=0 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Adaptive_Data_Rate]] 1078 1078 * AT+DR=5 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Data_Rate]] 1079 1079 * AT+TXP=0 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Transmit_Power]]
- image-20220511120050-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -136.3 KB - Content