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