Last modified by Xiaoling on 2025/07/31 15:09

From version 21.6
edited by Xiaoling
on 2025/07/31 15:00
Change comment: There is no comment for this version
To version 19.1
edited by Xiaoye
on 2022/08/02 11:54
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +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: [[DLOS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/225-dlos8n.html]], [[LPS8N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/200-lps8n.html]], [[LG308N>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/229-lg308n.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  
65 +LG308 log by "(% style="color:red" %)**logread -f**" (%%)command
71 71  
72 -LG308N log by "(% style="color:red" %)**logread -f**" (%%)command
73 73  
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:
... ... @@ -100,7 +100,6 @@
100 100  )))
101 101  
102 102  
103 -
104 104  (% class="box" %)
105 105  (((
106 106  (% style="color:red" %)**Notice 2**(%%): The upstream payload length should match the LoRaWAN length requirement (max length depends on Frequency and DR), otherwise the gateway can't decode the payload.
... ... @@ -107,6 +107,7 @@
107 107  )))
108 108  
109 109  
100 +
110 110  === 2.2.1 Decode Method ===
111 111  
112 112  
... ... @@ -146,6 +146,7 @@
146 146  Above scripts are store in /etc/lora/decoder/. User can put their scripts here and select it in the UI.
147 147  
148 148  
140 +
149 149  === 2.2.2 How to Decode My End Node ===
150 150  
151 151  
... ... @@ -167,15 +167,10 @@
167 167  **Some notice:**
168 168  
169 169  * RSSI and SNR are added when gateway receive the packet, so there is always this field.
170 -
171 171  * If you rename the file, please make it executable.
172 -
173 173  * See this link for lua.bit module: [[http:~~/~~/luaforge.net/projects/bit/>>url:http://luaforge.net/projects/bit/]]
174 -
175 175  * Lua json module: [[http:~~/~~/json.luaforge.net/>>url:http://json.luaforge.net/]]
176 -
177 177  * the last line return is what will be used for MQTT
178 -
179 179  * User can use other language ,not limited to Lua, just make sure the return is what you want to send.
180 180  
181 181  
... ... @@ -189,25 +189,19 @@
189 189  
190 190  (% style="color:#037691" %)**dev_addr,imme/time,txt/hex,payload**
191 191  
179 +Since fimware > Dragino-v2 lgw-5.4.1608518541 . Support more option
192 192  
193 -Since fimware > [[Dragino lgw~~-~~-build-v5.4.1668567157>>https://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LG308-LG301/Firmware/Release/]] . Support more option
181 +(% style="color:#037691" %)**dev_addr,imme/time,txt/hex,payload,txpw,txbw,SF,frequency,rxwindow**
194 194  
195 -(% style="color:#037691" %)**dev_addr,imme/time,txt/hex,payload,txpw,txbw,SF,frequency,rxwindow,Fport**
196 -
197 197  * **dev_addr:** Inptu the device address
198 -
199 199  * **imme/time:**
200 200  ** imme: send downstream immediately,For Class C end node.
201 201  ** time: send downstream after receive device's uplink. For Class A end node
202 -
203 203  * **txt/hex:**
204 204  ** txt: send payload in ASCII
205 205  ** hex: send payload in HEX
206 -
207 207  * **payload: **payload to be sent, payload lenght should match the LoRaWAN protocol requirement.
208 -
209 209  * **txpw:** Transmit Power. example: 20
210 -
211 211  * **txbw:** bandwidth:
212 212  ** 1: 500 kHz
213 213  ** 2: 250 kHz
... ... @@ -214,41 +214,27 @@
214 214  ** 3: 125 kHz
215 215  ** 4: 62.5 kHz
216 216  * **SF:** Spreading Factor : SF7/SF8/SF9/SF10/SF11/SF12
217 -
218 218  * **Frequency:** Transmit Frequency: example: 923300000
219 -
220 220  * **rxwindow:** transmit on Rx1Window or Rx2Window.
221 221  
222 -* **Fport: **Transmit port,example:8
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:** echo 018193F4,imme,hex,0101,20,1,SF12,923300000,2,8 > /var/iot/push/test
206 +(% style="color:#037691" %)**Downstream Frequency**
229 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 -
251 -
252 252  (% style="color:#037691" %)**Examples:**
253 253  
254 254  (% class="box" %)
... ... @@ -297,6 +297,7 @@
297 297  )))
298 298  
299 299  
267 +
300 300  = 3. Example 1: Communicate with LT-22222-L =
301 301  
302 302  
... ... @@ -341,44 +341,38 @@
341 341  )))
342 342  
343 343  
344 -(% style="color:blue" %)**1. Input keys**
312 +**~1. Input keys**
345 345  
346 -
347 347  [[image:image-20220527162450-3.png]]
348 348  
349 349  Input Keys in LPS8
350 350  
351 351  
319 +**2. Make sure the LPS8 and LT use the same frequency bands, choose EU868 in this test.**
352 352  
353 -(% style="color:blue" %)**2. Make sure the LPS8 and LT use the same frequency bands, choose EU868 in this test.**
354 354  
322 +**3. Choose Built-in server**
355 355  
356 -(% style="color:blue" %)**3. Choose Built-in server**
357 -
358 -
359 359  [[image:image-20220527162518-4.png]]
360 360  
361 361  Choose Built-in server
362 362  
363 363  
329 +**4. Run the script.**
364 364  
365 -(% style="color:blue" %)**4. Run the script.**
366 -
367 -
368 368  [[image:image-20220722115213-2.png]]
369 369  
370 370  Run the script
371 371  
372 372  
336 +**5. Output:**
373 373  
374 -(% style="color:blue" %)**5. Output:**
375 -
376 -
377 377  [[image:image-20220722115133-1.png]]
378 378  
379 379  Output from LPS8
380 380  
381 381  
343 +
382 382  = 4. Example 2: Communicate to TCP Server =
383 383  
384 384  
... ... @@ -389,9 +389,9 @@
389 389  
390 390  Full instruction video inlcude how to write scripts to fit server needed is here:
391 391  
354 +
392 392  (% style="color:#037691" %)**Video Instruction**(%%): **[[https:~~/~~/youtu.be/-nevW6U2TsE>>url:https://youtu.be/-nevW6U2TsE]]**
393 393  
394 -(% style="display:none" %) (%%)
395 395  
396 396  (% style="color:red" %)**Note: Firmware version must be higher than lgw-5.4.1607519907**
397 397  
... ... @@ -404,9 +404,8 @@
404 404  
405 405  
406 406  
407 -(% style="color:blue" %)**run socket tool in PC**
369 +**run socket tool in PC**
408 408  
409 -
410 410  [[image:image-20220527163028-9.png]]
411 411  
412 412  
... ... @@ -414,9 +414,8 @@
414 414  
415 415  
416 416  
417 -(% style="color:blue" %)**Input Server address and port**
378 +**Input Server address and port**
418 418  
419 -
420 420  [[image:image-20220527163106-10.png]]
421 421  
422 422  Input Server address and port
... ... @@ -423,11 +423,10 @@
423 423  
424 424  
425 425  
426 -(% style="color:blue" %)**See value receive in socket tool:**
386 +**See value receive in socket tool:**
427 427  
388 +[[image:image-20220527163144-11.png]]
428 428  
429 -[[image:image-20220527163144-11.png||height="502" width="1371"]]
430 -
431 431  value receive in socket tool
432 432  
433 433