<
From version < 16.3 >
edited by Xiaoling
on 2022/07/22 11:41
To version < 21.3 >
edited by Xiaoling
on 2023/04/20 17:54
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -10,6 +10,7 @@
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 +
13 13  * 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]]).
14 14  
15 15  (((
... ... @@ -16,11 +16,13 @@
16 16  The basic of this feature is the decoding of (% style="color:red" %)**LoRaWAN ABP End Node**(%%). Requirements:
17 17  )))
18 18  
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/]](%%)**
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
22 22  
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 +
26 +
24 24  = 2. How it works =
25 25  
26 26  
... ... @@ -44,8 +44,10 @@
44 44  
45 45  We need to input above keys in LG308 and enable ABP decryption.
46 46  
50 +
47 47  [[image:image-20220527161119-1.png]]
48 48  
53 +
49 49  Input the ABP keys in LG308
50 50  
51 51  
... ... @@ -55,14 +55,18 @@
55 55  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.
56 56  
57 57  (((
58 -We can see the log of LG308 to know this packet arrive
63 +We can see the log of LG308 to know this packet arrive.
64 +
65 +
59 59  )))
60 60  
61 61  [[image:image-20220527161149-2.png]]
62 62  
70 +
63 63  LG308 log by "(% style="color:red" %)**logread -f**" (%%)command
64 64  
65 65  
74 +
66 66  The data of End Node is stored in the file /var/iot/channels/2602111D. We can use hexdump command to check it.
67 67  
68 68  (% class="box" %)
... ... @@ -74,7 +74,9 @@
74 74  )))
75 75  
76 76  * **RSSI**: 4646 4646 4646 3946 = 0xFFFF FF9F : So RSSI = (0xFFFF FF9F - 0x100000000) = -97
86 +
77 77  * **SNR**: 3030 3030 3030 3546 = 0x0000 005F = 95, need to divide 10 so SNR is 9.5
88 +
78 78  * **Payload**: 0xcc0c 0b63 0266 017f ff7f ff00
79 79  
80 80  (% class="box" %)
... ... @@ -87,6 +87,7 @@
87 87  000001c
88 88  )))
89 89  
101 +
90 90  (% class="box" %)
91 91  (((
92 92  (% 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.
... ... @@ -132,7 +132,6 @@
132 132  Above scripts are store in /etc/lora/decoder/. User can put their scripts here and select it in the UI.
133 133  
134 134  
135 -
136 136  === 2.2.2 How to Decode My End Node ===
137 137  
138 138  
... ... @@ -154,14 +154,17 @@
154 154  **Some notice:**
155 155  
156 156  * RSSI and SNR are added when gateway receive the packet, so there is always this field.
168 +
157 157  * If you rename the file, please make it executable.
170 +
158 158  * See this link for lua.bit module: [[http:~~/~~/luaforge.net/projects/bit/>>url:http://luaforge.net/projects/bit/]]
172 +
159 159  * Lua json module: [[http:~~/~~/json.luaforge.net/>>url:http://json.luaforge.net/]]
174 +
160 160  * the last line return is what will be used for MQTT
176 +
161 161  * User can use other language ,not limited to Lua, just make sure the return is what you want to send.
162 162  
163 -
164 -
165 165  == 2.2 Downstream ==
166 166  
167 167  
... ... @@ -171,19 +171,25 @@
171 171  
172 172  (% style="color:#037691" %)**dev_addr,imme/time,txt/hex,payload**
173 173  
174 -Since fimware > Dragino-v2 lgw-5.4.1608518541 . Support more option
175 175  
176 -(% style="color:#037691" %)**dev_addr,imme/time,txt/hex,payload,txpw,txbw,SF,frequency,rxwindow**
189 +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
177 177  
191 +(% style="color:#037691" %)**dev_addr,imme/time,txt/hex,payload,txpw,txbw,SF,frequency,rxwindow,Fport**
192 +
178 178  * **dev_addr:** Inptu the device address
194 +
179 179  * **imme/time:**
180 180  ** imme: send downstream immediately,For Class C end node.
181 181  ** time: send downstream after receive device's uplink. For Class A end node
198 +
182 182  * **txt/hex:**
183 183  ** txt: send payload in ASCII
184 184  ** hex: send payload in HEX
202 +
185 185  * **payload: **payload to be sent, payload lenght should match the LoRaWAN protocol requirement.
204 +
186 186  * **txpw:** Transmit Power. example: 20
206 +
187 187  * **txbw:** bandwidth:
188 188  ** 1: 500 kHz
189 189  ** 2: 250 kHz
... ... @@ -190,9 +190,12 @@
190 190  ** 3: 125 kHz
191 191  ** 4: 62.5 kHz
192 192  * **SF:** Spreading Factor : SF7/SF8/SF9/SF10/SF11/SF12
213 +
193 193  * **Frequency:** Transmit Frequency: example: 923300000
215 +
194 194  * **rxwindow:** transmit on Rx1Window or Rx2Window.
195 195  
218 +* **Fport: **Transmit port,example:8
196 196  
197 197  
198 198  
... ... @@ -199,27 +199,31 @@
199 199  (% style="color:blue" %)**Completely exmaple:**
200 200  
201 201  * **Old version:** echo 018193F4,imme,hex,0101 > /var/iot/push/test
202 -* **New version:** echo 018193F4,imme,hex,0101,20,1,SF12,923300000,2 > /var/iot/push/test
203 203  
226 +* **New version:** echo 018193F4,imme,hex,0101,20,1,SF12,923300000,2,8 > /var/iot/push/test
204 204  
205 205  
206 206  
207 -(% style="color:#037691" %)**Downstream Frequency**
230 +Downstream(% style="color:#037691" %)** Frequency:**
208 208  
209 209  The LG308 will use the RX2 window info to send the downstream payload, use the default LoRaWAN settings, as below:
210 210  
211 211  * EU868: 869.525Mhz, DR0(SF12BW125)
235 +
212 212  * US915: 923.3Mhz, SF12 BW500
237 +
213 213  * CN470: 505.3Mhz, SF12 BW125
239 +
214 214  * AU915: 923.3Mhz, SF12 BW500
241 +
215 215  * AS923: 923.2Mhz, SF10 BW125
243 +
216 216  * KR920: 921.9Mhz, SF12 BW125
245 +
217 217  * IN865: 866.55Mhz, SF10 BW125
247 +
218 218  * RU864: 869.1Mhz, SF12 BW125
219 219  
220 -
221 -
222 -
223 223  (% style="color:#037691" %)**Examples:**
224 224  
225 225  (% class="box" %)
... ... @@ -226,25 +226,19 @@
226 226  (((
227 227  we can use echo command to create files in LG308 for downstream.
228 228  root@dragino-1d25dc:~~# echo 2602111D,time,hex,12345678 > /var/iot/push/test
229 -)))
230 230  
231 -(% class="box" %)
232 -(((
257 +
233 233  **1)** From logread -f of gateway, we can see it has been added as pedning.
234 234  lora_pkt_fwd[4286]: INFO~~ [DNLK]Looking file : test
235 235  lora_pkt_fwd[4286]: INFO~~ [DNLK]devaddr:2602111D, txmode:time, pdfm:hex, size:4, payload1:4Vx,payload_hex:77C1BB90
236 236  lora_pkt_fwd[4286]: INFO~~ [DNLK] DNLINK PENDING!(1 elems).
237 -)))
238 238  
239 -(% class="box" %)
240 -(((
263 +
241 241  **2)** When there is an upstrea from end node, this downstream will be sent and shows:
242 242  lora_pkt_fwd[4286]: INFO: tx_start_delay=1497 (1497.000000) - (1497, bw_delay=0.000000, notch_delay=0.000000)
243 243  lora_pkt_fwd[4286]: [LGWSEND]lgw_send done: count_us=3537314420, freq=923300000, size=17
244 -)))
245 245  
246 -(% class="box" %)
247 -(((
268 +
248 248  **3)** and the end node will got:
249 249  [5764825]~*~*~*~** UpLinkCounter= 98 ~*~*~*~**
250 250  [5764827]TX on freq 905300000 Hz at DR 0
... ... @@ -257,10 +257,8 @@
257 257  Rssi= -41
258 258  Receive data
259 259  (% style="color:#037691" %)**2:12345678**  (%%) ~-~-> Hex
260 -)))
261 261  
262 -(% class="box" %)
263 -(((
282 +
264 264  **4) **If we use the command "echo 2602111D,time,txt,12345678 > /var/iot/push/test" for downstream, the end node will got:
265 265  [5955877]~*~*~*~** UpLinkCounter= 102 ~*~*~*~**
266 266  [5955879]TX on freq 904100000 Hz at DR 0
... ... @@ -319,33 +319,42 @@
319 319  #  whether the Device 2 has been changed.//
320 320  )))
321 321  
322 -**~1. Input keys**
323 323  
342 +(% style="color:blue" %)**1. Input keys**
343 +
344 +
324 324  [[image:image-20220527162450-3.png]]
325 325  
326 326  Input Keys in LPS8
327 327  
328 328  
329 -**2. Make sure the LPS8 and LT use the same frequency bands, choose EU868 in this test.**
330 330  
331 -**3. Choose Built-in server**
351 +(% style="color:blue" %)**2. Make sure the LPS8 and LT use the same frequency bands, choose EU868 in this test.**
332 332  
353 +
354 +(% style="color:blue" %)**3. Choose Built-in server**
355 +
356 +
333 333  [[image:image-20220527162518-4.png]]
334 334  
335 335  Choose Built-in server
336 336  
337 337  
338 -**4. Run the script.**
339 339  
340 -[[image:image-20220527162552-5.png]]
363 +(% style="color:blue" %)**4. Run the script.**
341 341  
365 +
366 +[[image:image-20220722115213-2.png]]
367 +
342 342  Run the script
343 343  
344 344  
345 -**5. Output:**
346 346  
347 -[[image:image-20220527162619-6.png]]
372 +(% style="color:blue" %)**5. Output:**
348 348  
374 +
375 +[[image:image-20220722115133-1.png]]
376 +
349 349  Output from LPS8
350 350  
351 351  
... ... @@ -359,9 +359,9 @@
359 359  
360 360  Full instruction video inlcude how to write scripts to fit server needed is here:
361 361  
362 -
363 363  (% style="color:#037691" %)**Video Instruction**(%%): **[[https:~~/~~/youtu.be/-nevW6U2TsE>>url:https://youtu.be/-nevW6U2TsE]]**
364 364  
392 +(% style="display:none" %) (%%)
365 365  
366 366  (% style="color:red" %)**Note: Firmware version must be higher than lgw-5.4.1607519907**
367 367  
... ... @@ -374,8 +374,9 @@
374 374  
375 375  
376 376  
377 -**run socket tool in PC**
405 +(% style="color:blue" %)**run socket tool in PC**
378 378  
407 +
379 379  [[image:image-20220527163028-9.png]]
380 380  
381 381  
... ... @@ -383,8 +383,9 @@
383 383  
384 384  
385 385  
386 -**Input Server address and port**
415 +(% style="color:blue" %)**Input Server address and port**
387 387  
417 +
388 388  [[image:image-20220527163106-10.png]]
389 389  
390 390  Input Server address and port
... ... @@ -391,10 +391,11 @@
391 391  
392 392  
393 393  
394 -**See value receive in socket tool:**
424 +(% style="color:blue" %)**See value receive in socket tool:**
395 395  
396 -[[image:image-20220527163144-11.png]]
397 397  
427 +[[image:image-20220527163144-11.png||height="502" width="1371"]]
428 +
398 398  value receive in socket tool
399 399  
400 400  
image-20220722115133-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +35.1 KB
Content
image-20220722115213-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +27.7 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0