Last modified by Xiaoling on 2023/04/20 18:14
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -10,7 +10,6 @@ 10 10 The Dragino LoRaWAN gateway can commuicate with LoRaWAN ABP End Node without the need of LoRaWAN server. It can be used in some cases such as: 11 11 12 12 * No internet connection. 13 - 14 14 * User wants to get data forward in gateway and forward to their server base on MQTT/HTTP, etc. (Combine ABP communication method and [[MQTT forward together>>MQTT Forward Instruction]]). 15 15 16 16 ((( ... ... @@ -17,11 +17,11 @@ 17 17 The basic of this feature is the decoding of (% style="color:red" %)**LoRaWAN ABP End Node**(%%). Requirements: 18 18 ))) 19 19 20 -* LoRaWAN End Node in ABP mode. Make sure your end node works in this mode. End node most are default set to OTAA mode 19 +1. LoRaWAN End Node in ABP mode. Make sure your end node works in this mode. End node most are default set to OTAA mode 20 +1. LoRaWAN Gateway model: [[LPS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/148-lps8.html]], [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]], [[DLOS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/160-dlos8.html]] ,[[LIG16>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/171-lig16.html]] 21 +1. Firmware version for below instruction:**[[(% style="color:purple" %)Since LG02_LG08~~-~~-build-v5.4.1593400722-20200629-1120>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]](%%)** 21 21 22 -* LoRaWAN Gateway model: [[LPS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/148-lps8.html]], [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]], [[DLOS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/160-dlos8.html]] ,[[LIG16>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/171-lig16.html]] 23 23 24 -* Firmware version for below instruction: **[[(% style="color:purple" %)Since LG02_LG08~~-~~-build-v5.4.1593400722-20200629-1120>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]](%%)** 25 25 26 26 27 27 = 2. How it works = ... ... @@ -47,13 +47,12 @@ 47 47 48 48 We need to input above keys in LG308 and enable ABP decryption. 49 49 50 - 51 51 [[image:image-20220527161119-1.png]] 52 52 53 - 54 54 Input the ABP keys in LG308 55 55 56 56 54 + 57 57 == 2.1 Upstream == 58 58 59 59 ... ... @@ -60,18 +60,14 @@ 60 60 Now when this End Node (Dev Addr=2602111D) send a uplink packet. When this packet arrive LG308, LG308 will decode it and put the decode data on the file /var/iot/channels/2602111D . So we have this data for further process with other applications in LG308. 61 61 62 62 ((( 63 -We can see the log of LG308 to know this packet arrive. 64 - 65 - 61 +We can see the log of LG308 to know this packet arrive 66 66 ))) 67 67 68 68 [[image:image-20220527161149-2.png]] 69 69 70 - 71 71 LG308 log by "(% style="color:red" %)**logread -f**" (%%)command 72 72 73 73 74 - 75 75 The data of End Node is stored in the file /var/iot/channels/2602111D. We can use hexdump command to check it. 76 76 77 77 (% class="box" %) ... ... @@ -83,11 +83,11 @@ 83 83 ))) 84 84 85 85 * **RSSI**: 4646 4646 4646 3946 = 0xFFFF FF9F : So RSSI = (0xFFFF FF9F - 0x100000000) = -97 86 - 87 87 * **SNR**: 3030 3030 3030 3546 = 0x0000 005F = 95, need to divide 10 so SNR is 9.5 88 - 89 89 * **Payload**: 0xcc0c 0b63 0266 017f ff7f ff00 90 90 83 + 84 + 91 91 (% class="box" %) 92 92 ((( 93 93 (% style="color:red" %)**Notice 1**(%%): The data file stored in LG308 for the end node is bin file. If the end node sends ASCII string to gateway, the output will as below: ... ... @@ -105,6 +105,7 @@ 105 105 ))) 106 106 107 107 102 + 108 108 === 2.2.1 Decode Method === 109 109 110 110 ... ... @@ -144,6 +144,7 @@ 144 144 Above scripts are store in /etc/lora/decoder/. User can put their scripts here and select it in the UI. 145 145 146 146 142 + 147 147 === 2.2.2 How to Decode My End Node === 148 148 149 149 ... ... @@ -165,17 +165,15 @@ 165 165 **Some notice:** 166 166 167 167 * RSSI and SNR are added when gateway receive the packet, so there is always this field. 168 - 169 169 * If you rename the file, please make it executable. 170 - 171 171 * See this link for lua.bit module: [[http:~~/~~/luaforge.net/projects/bit/>>url:http://luaforge.net/projects/bit/]] 172 - 173 173 * Lua json module: [[http:~~/~~/json.luaforge.net/>>url:http://json.luaforge.net/]] 174 - 175 175 * the last line return is what will be used for MQTT 176 - 177 177 * User can use other language ,not limited to Lua, just make sure the return is what you want to send. 178 178 170 + 171 + 172 + 179 179 == 2.2 Downstream == 180 180 181 181 ... ... @@ -185,25 +185,19 @@ 185 185 186 186 (% style="color:#037691" %)**dev_addr,imme/time,txt/hex,payload** 187 187 182 +Since fimware > Dragino-v2 lgw-5.4.1608518541 . Support more option 188 188 189 - Sincefimware> [[Draginogw~~-~~-build-v5.4.1668567157>>https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LG308-LG301/Firmware/Release/]] . Support moreoption184 +(% style="color:#037691" %)**dev_addr,imme/time,txt/hex,payload,txpw,txbw,SF,frequency,rxwindow** 190 190 191 -(% style="color:#037691" %)**dev_addr,imme/time,txt/hex,payload,txpw,txbw,SF,frequency,rxwindow,Fport** 192 - 193 193 * **dev_addr:** Inptu the device address 194 - 195 195 * **imme/time:** 196 196 ** imme: send downstream immediately,For Class C end node. 197 197 ** time: send downstream after receive device's uplink. For Class A end node 198 - 199 199 * **txt/hex:** 200 200 ** txt: send payload in ASCII 201 201 ** hex: send payload in HEX 202 - 203 203 * **payload: **payload to be sent, payload lenght should match the LoRaWAN protocol requirement. 204 - 205 205 * **txpw:** Transmit Power. example: 20 206 - 207 207 * **txbw:** bandwidth: 208 208 ** 1: 500 kHz 209 209 ** 2: 250 kHz ... ... @@ -210,41 +210,25 @@ 210 210 ** 3: 125 kHz 211 211 ** 4: 62.5 kHz 212 212 * **SF:** Spreading Factor : SF7/SF8/SF9/SF10/SF11/SF12 213 - 214 214 * **Frequency:** Transmit Frequency: example: 923300000 215 - 216 216 * **rxwindow:** transmit on Rx1Window or Rx2Window. 217 217 218 -* **Fport: **Transmit port,example:8 219 - 220 - 221 - 222 222 (% style="color:blue" %)**Completely exmaple:** 223 223 224 224 * **Old version:** echo 018193F4,imme,hex,0101 > /var/iot/push/test 207 +* **New version:** echo 018193F4,imme,hex,0101,20,1,SF12,923300000,2 > /var/iot/push/test 225 225 226 - ***New version:**echo18193F4,imme,hex,0101,20,1,SF12,923300000,2,8> /var/iot/push/test209 +(% style="color:#037691" %)**Downstream Frequency** 227 227 228 - 229 - 230 -Downstream(% style="color:#037691" %)** Frequency:** 231 - 232 232 The LG308 will use the RX2 window info to send the downstream payload, use the default LoRaWAN settings, as below: 233 233 234 234 * EU868: 869.525Mhz, DR0(SF12BW125) 235 - 236 236 * US915: 923.3Mhz, SF12 BW500 237 - 238 238 * CN470: 505.3Mhz, SF12 BW125 239 - 240 240 * AU915: 923.3Mhz, SF12 BW500 241 - 242 242 * AS923: 923.2Mhz, SF10 BW125 243 - 244 244 * KR920: 921.9Mhz, SF12 BW125 245 - 246 246 * IN865: 866.55Mhz, SF10 BW125 247 - 248 248 * RU864: 869.1Mhz, SF12 BW125 249 249 250 250 (% style="color:#037691" %)**Examples:** ... ... @@ -295,6 +295,7 @@ 295 295 ))) 296 296 297 297 270 + 298 298 = 3. Example 1: Communicate with LT-22222-L = 299 299 300 300 ... ... @@ -339,44 +339,38 @@ 339 339 ))) 340 340 341 341 342 - (% style="color:blue" %)**1. Input keys**315 +**~1. Input keys** 343 343 344 - 345 345 [[image:image-20220527162450-3.png]] 346 346 347 347 Input Keys in LPS8 348 348 349 349 322 +**2. Make sure the LPS8 and LT use the same frequency bands, choose EU868 in this test.** 350 350 351 -(% style="color:blue" %)**2. Make sure the LPS8 and LT use the same frequency bands, choose EU868 in this test.** 352 352 325 +**3. Choose Built-in server** 353 353 354 -(% style="color:blue" %)**3. Choose Built-in server** 355 - 356 - 357 357 [[image:image-20220527162518-4.png]] 358 358 359 359 Choose Built-in server 360 360 361 361 332 +**4. Run the script.** 362 362 363 -(% style="color:blue" %)**4. Run the script.** 364 - 365 - 366 366 [[image:image-20220722115213-2.png]] 367 367 368 368 Run the script 369 369 370 370 339 +**5. Output:** 371 371 372 -(% style="color:blue" %)**5. Output:** 373 - 374 - 375 375 [[image:image-20220722115133-1.png]] 376 376 377 377 Output from LPS8 378 378 379 379 346 + 380 380 = 4. Example 2: Communicate to TCP Server = 381 381 382 382 ... ... @@ -387,9 +387,9 @@ 387 387 388 388 Full instruction video inlcude how to write scripts to fit server needed is here: 389 389 357 + 390 390 (% style="color:#037691" %)**Video Instruction**(%%): **[[https:~~/~~/youtu.be/-nevW6U2TsE>>url:https://youtu.be/-nevW6U2TsE]]** 391 391 392 -(% style="display:none" %) (%%) 393 393 394 394 (% style="color:red" %)**Note: Firmware version must be higher than lgw-5.4.1607519907** 395 395 ... ... @@ -402,9 +402,8 @@ 402 402 403 403 404 404 405 - (% style="color:blue" %)**run socket tool in PC**372 +**run socket tool in PC** 406 406 407 - 408 408 [[image:image-20220527163028-9.png]] 409 409 410 410 ... ... @@ -412,9 +412,8 @@ 412 412 413 413 414 414 415 - (% style="color:blue" %)**Input Server address and port**381 +**Input Server address and port** 416 416 417 - 418 418 [[image:image-20220527163106-10.png]] 419 419 420 420 Input Server address and port ... ... @@ -421,11 +421,10 @@ 421 421 422 422 423 423 424 - (% style="color:blue" %)**See value receive in socket tool:**389 +**See value receive in socket tool:** 425 425 391 +[[image:image-20220527163144-11.png]] 426 426 427 -[[image:image-20220527163144-11.png||height="502" width="1371"]] 428 - 429 429 value receive in socket tool 430 430 431 431