Wiki source code of PG1302
Version 95.1 by Edwin Chen on 2022/05/06 20:04
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | |||
2 | |||
3 | (% style="text-align:center" %) | ||
4 | [[image:Main.User Manual for All Gateway models.WebHome@pg1302.jpg]] | ||
5 | |||
6 | |||
7 | |||
8 | |||
9 | |||
10 | |||
11 | |||
12 | **PG1302 LoRaWAN Concentrator User Manual** | ||
13 | |||
14 | |||
15 | |||
16 | |||
17 | |||
18 | {{toc/}} | ||
19 | |||
20 | |||
21 | ---- | ||
22 | |||
23 | (% class="wikigeneratedid" id="H" %) | ||
24 | ((( | ||
25 | |||
26 | ))) | ||
27 | |||
28 | === 1. Introduction === | ||
29 | |||
30 | ==== 1.1 What is PG1302 LoRaWAN Concentrator? ==== | ||
31 | |||
32 | ((( | ||
33 | ((( | ||
34 | ((( | ||
35 | ((( | ||
36 | The PG1302 is a multi-channel high performance transmitter/receiver designed to simultaneously receive several | ||
37 | ))) | ||
38 | ))) | ||
39 | |||
40 | ((( | ||
41 | ((( | ||
42 | LoRa packets using random spreading factors on random channels. Its goal is to enable robust connection | ||
43 | ))) | ||
44 | |||
45 | ((( | ||
46 | between a central wireless data concentrator and a massive amount of wireless end-points spread over | ||
47 | ))) | ||
48 | |||
49 | ((( | ||
50 | a very wide range of distances. | ||
51 | ))) | ||
52 | ))) | ||
53 | ))) | ||
54 | |||
55 | ((( | ||
56 | ((( | ||
57 | ((( | ||
58 | |||
59 | ))) | ||
60 | ))) | ||
61 | ))) | ||
62 | ))) | ||
63 | |||
64 | ((( | ||
65 | ((( | ||
66 | ((( | ||
67 | ((( | ||
68 | The PG1302 is design to use with Raspberry Pi to build smart metering fixed networks and Internet of Things | ||
69 | ))) | ||
70 | ))) | ||
71 | |||
72 | ((( | ||
73 | ((( | ||
74 | applications with up to 5000 nodes per km2 in moderately interfered environment. | ||
75 | ))) | ||
76 | ))) | ||
77 | ))) | ||
78 | |||
79 | ((( | ||
80 | ((( | ||
81 | ((( | ||
82 | |||
83 | ))) | ||
84 | ))) | ||
85 | ))) | ||
86 | ))) | ||
87 | |||
88 | ((( | ||
89 | ((( | ||
90 | ((( | ||
91 | ((( | ||
92 | PG1302 is fully compatible with RPi3/4, users can use the pre-build OS from Dragino to set up and easy to use the | ||
93 | ))) | ||
94 | ))) | ||
95 | |||
96 | ((( | ||
97 | ((( | ||
98 | module by Web UI. Or install the raw lorawan driver in the exist OS. | ||
99 | ))) | ||
100 | ))) | ||
101 | ))) | ||
102 | ))) | ||
103 | |||
104 | ((( | ||
105 | ((( | ||
106 | |||
107 | ))) | ||
108 | ))) | ||
109 | |||
110 | ==== 1.2 Features ==== | ||
111 | |||
112 | * Base on Semtech SX1302 solution | ||
113 | * Support Raspberry Pi 3B/3B+/4 | ||
114 | * Up to -140dBm sensitivity | ||
115 | * Support 3.3v and 5v. | ||
116 | * Mini-PCIe Interface | ||
117 | * Converter board to support Raspberry Pi | ||
118 | |||
119 | ==== 1.3 General Interfaces ==== | ||
120 | |||
121 | * SPI interface for LoRa | ||
122 | * Power Input: 5v, 1A | ||
123 | * 1 x I-PEX for LoRa | ||
124 | |||
125 | ==== 1.4 Pin Mapping ==== | ||
126 | |||
127 | [[image:1651743282627-547.png||height="402" width="425"]] | ||
128 | |||
129 | |||
130 | |||
131 | ==== 1.5 LEDs ==== | ||
132 | |||
133 | ((( | ||
134 | TX: Blink when transmit a packet | ||
135 | ))) | ||
136 | |||
137 | ((( | ||
138 | RX: Blink when receive a packet | ||
139 | ))) | ||
140 | |||
141 | ((( | ||
142 | Config: Always ON | ||
143 | ))) | ||
144 | |||
145 | |||
146 | ==== 1.6 Power Consumption ==== | ||
147 | |||
148 | TBD | ||
149 | |||
150 | |||
151 | ==== 1.7 Applications ==== | ||
152 | |||
153 | * Smart Buildings & Home Automation | ||
154 | * Logistics and Supply Chain Management | ||
155 | * Smart Metering | ||
156 | * Smart Agriculture | ||
157 | * Smart Cities | ||
158 | * Smart Factory | ||
159 | |||
160 | === 2. Example: Set up as LoRaWAN gateway. === | ||
161 | |||
162 | ==== 2.1 System structure ==== | ||
163 | |||
164 | ((( | ||
165 | This example is an example to show how to set up the PG1302 + RPi as a LoRaWAN gateway to use with | ||
166 | ))) | ||
167 | |||
168 | ((( | ||
169 | [[TheThingsNetwork>>url:http://www.thethingsnetwork.org/]](TTN) LoRaWAN server. Set up method for other server are similar. | ||
170 | ))) | ||
171 | |||
172 | (% style="text-align:center" %) | ||
173 | [[image:1651743698677-436.png||height="457" width="686"]] | ||
174 | |||
175 | |||
176 | |||
177 | ==== 2.2 Hardware Installation ==== | ||
178 | |||
179 | **~ Important Notice: **Please power the RPI with 5V,3A cable. | ||
180 | |||
181 | (% style="text-align:center" %) | ||
182 | [[image:1651743803032-803.png]] | ||
183 | |||
184 | |||
185 | |||
186 | === 3. Install the software? === | ||
187 | |||
188 | There are two ways to install software in RPi4 to use PG1302. | ||
189 | |||
190 | * Flash SD card with Dragino pre-build image which support Web UI. | ||
191 | * Install lora packet forwarder in existing RPi OS. | ||
192 | |||
193 | === 4. Flash with pre-build image === | ||
194 | |||
195 | ==== 4.1 Download the dragino image for RPI ==== | ||
196 | |||
197 | ((( | ||
198 | Download PG1302_for_Rpi4_64_with_webui from | ||
199 | ))) | ||
200 | |||
201 | ((( | ||
202 | [[https:~~/~~/www.dropbox.com/sh/f6nbldh1qbspya5/AACgL6pDkwdBQO1BQqq_Nubwa?dl=0>>https://www.dropbox.com/sh/f6nbldh1qbspya5/AACgL6pDkwdBQO1BQqq_Nubwa?dl=0]] | ||
203 | ))) | ||
204 | |||
205 | |||
206 | ==== 4.2 Flash the image to SD card ==== | ||
207 | |||
208 | Flash the image to SD card: | ||
209 | |||
210 | (% style="text-align:center" %) | ||
211 | [[image:1651744119133-233.png||height="373" width="621"]] | ||
212 | |||
213 | Note: Download the flash tool following this link | ||
214 | |||
215 | [[https:~~/~~/www.balena.io/etcher/>>https://www.balena.io/etcher/]] | ||
216 | |||
217 | |||
218 | ==== 4.3 Access the Linux console ==== | ||
219 | |||
220 | ((( | ||
221 | ((( | ||
222 | ((( | ||
223 | Connect the RPI Ethernet port to your router, RPi will obtain an IP address from your router. In the router’s | ||
224 | ))) | ||
225 | |||
226 | ((( | ||
227 | management portal, you should be able to find what IP address the router has assigned to the RPI. You can | ||
228 | ))) | ||
229 | |||
230 | ((( | ||
231 | use this IP to connect the WEB UI or SSH access of RPI. | ||
232 | ))) | ||
233 | ))) | ||
234 | |||
235 | ((( | ||
236 | ((( | ||
237 | Make sure your PC and the RPI is in the same network, then use a SSH tool (such as [[putty>>url:http://www.chiark.greenend.org.uk/~~sgtatham/putty/download.html]]) to access it. | ||
238 | ))) | ||
239 | |||
240 | ((( | ||
241 | Below are screenshots | ||
242 | ))) | ||
243 | ))) | ||
244 | ))) | ||
245 | |||
246 | |||
247 | (% style="text-align:center" %) | ||
248 | [[image:1651744193675-591.png||height="450" width="466"]] | ||
249 | |||
250 | |||
251 | The account details for Web Login are: | ||
252 | |||
253 | **~ User Name: root** | ||
254 | |||
255 | **~ Password: dragino** | ||
256 | |||
257 | |||
258 | **~ Backup account** | ||
259 | |||
260 | **~ Pi/dragino** | ||
261 | |||
262 | |||
263 | After log in, you will be in the Linux console and type command here. | ||
264 | |||
265 | (% style="text-align:center" %) | ||
266 | [[image:1651744358515-107.png||height="366" width="581"]] | ||
267 | |||
268 | |||
269 | ==== 4.4 Access the WebUI of RPi4. ==== | ||
270 | |||
271 | ===== 4.4.1 Home page ===== | ||
272 | |||
273 | ((( | ||
274 | Open a browser on the PC and type the RPI ip address | ||
275 | ))) | ||
276 | |||
277 | ((( | ||
278 | [[http:~~/~~/IP_ADDRESS** **>>url:http://192.168.1.xx/]] (If the IP is assigned by uplink router) | ||
279 | ))) | ||
280 | |||
281 | ((( | ||
282 | You will see the login interface of RPI as shown below. | ||
283 | ))) | ||
284 | |||
285 | ((( | ||
286 | The account details for Web Login are: | ||
287 | ))) | ||
288 | |||
289 | ((( | ||
290 | **~ User Name: root** | ||
291 | ))) | ||
292 | |||
293 | ((( | ||
294 | **~ Password: dragino** | ||
295 | ))) | ||
296 | |||
297 | (% style="text-align:center" %) | ||
298 | [[image:1651744457761-993.png||height="352" width="621"]] | ||
299 | |||
300 | |||
301 | ===== 4.4.2 LoRa Page ===== | ||
302 | |||
303 | ((( | ||
304 | This page shows the LoRa Radio Settings. There are a set of default frequency band according to LoRaWAN | ||
305 | ))) | ||
306 | |||
307 | ((( | ||
308 | protocol, and user can customize the band* as well. | ||
309 | ))) | ||
310 | |||
311 | (% style="text-align:center" %) | ||
312 | [[image:1651744554845-970.png||height="328" width="621"]] | ||
313 | |||
314 | Different PG1302 hardware version can support different frequency range: | ||
315 | |||
316 | ➢ 868: valid frequency: 863Mhz ~~ 870Mhz. for bands EU868, RU864, IN865 or KZ865. | ||
317 | |||
318 | ➢ 915: valid frequency: 902Mhz ~~ 928Mhz. for bands US915, AU915, AS923 or KR920 | ||
319 | |||
320 | After user choose the frequency plan, he can see the actually frequency in used by checking the | ||
321 | |||
322 | page LogRead ~-~-> LoRa Log | ||
323 | |||
324 | Note *: See this instruction for how to customize frequency band | ||
325 | |||
326 | [[http:~~/~~/wiki.dragino.com/index.php?title=Customized_Frequency_Band_for_Gateway>>url:http://wiki.dragino.com/index.php?title=Customized_Frequency_Band_for_Gateway]] | ||
327 | |||
328 | |||
329 | ===== 4.4.3 LoRaWAN Page ===== | ||
330 | |||
331 | ====== 4.4.3.1 Semtech UDP ====== | ||
332 | |||
333 | |||
334 | (% style="text-align:center" %) | ||
335 | [[image:1651744767914-283.png||height="352" width="621"]] | ||
336 | |||
337 | Note *: See this instruction for how to configure TTN. | ||
338 | |||
339 | [[https:~~/~~/wiki.dragino.com/index.php?title=Notes_for_TTN>>url:https://wiki.dragino.com/index.php?title=Notes_for_TTN||style="background-color: rgb(255, 255, 255);"]] | ||
340 | |||
341 | |||
342 | ====== 4.4.3.2 Basic Station ====== | ||
343 | |||
344 | (% style="text-align:center" %) | ||
345 | [[image:1651744890629-683.png||height="380" width="621"]] | ||
346 | |||
347 | Note *: See this instruction for how to configure TTN. | ||
348 | |||
349 | [[https:~~/~~/wiki.dragino.com/index.php?title=Notes_for_AWS-IoT-Core>>url:https://wiki.dragino.com/index.php?title=Notes_for_AWS-IoT-Core]] | ||
350 | |||
351 | |||
352 | ===== 4.4.4 LogRead ===== | ||
353 | |||
354 | ====== 4.4.4.1 LoRa Log ====== | ||
355 | |||
356 | (% style="text-align:center" %) | ||
357 | [[image:1651744955955-452.png||height="571" width="621"]] | ||
358 | |||
359 | Show the frequency for LoRa Radio and traffics. | ||
360 | |||
361 | |||
362 | ====== 4.4.4.2 System Log ====== | ||
363 | |||
364 | Show system log. | ||
365 | |||
366 | (% style="text-align:center" %) | ||
367 | [[image:1651745003470-264.png||height="477" width="621"]] | ||
368 | |||
369 | |||
370 | |||
371 | ====== 4.4.4.3 Record Log ====== | ||
372 | |||
373 | **~ Record the system log.** | ||
374 | |||
375 | (% style="text-align:center" %) | ||
376 | [[image:1651745069814-662.png||height="144" width="621"]] | ||
377 | |||
378 | |||
379 | === 5. Install stand alone LoRa Packet Forwarder. === | ||
380 | |||
381 | ==== 5.1 OS requirement ==== | ||
382 | |||
383 | RPI in this example is RPI model 4B with fresh Raspbian OS install. | ||
384 | |||
385 | pi@raspberrypi:~~$ cat /etc/os-release | ||
386 | |||
387 | PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)" | ||
388 | |||
389 | NAME="Raspbian GNU/Linux" | ||
390 | |||
391 | VERSION_ID="8" | ||
392 | |||
393 | VERSION="8 (jessie)" | ||
394 | |||
395 | ID=raspbian | ||
396 | |||
397 | ID_LIKE=debian | ||
398 | |||
399 | HOME_URL="http:~/~/www.raspbian.org/" | ||
400 | |||
401 | SUPPORT_URL="http:~/~/www.raspbian.org/RaspbianForums" | ||
402 | |||
403 | BUG_REPORT_URL="http:~/~/www.raspbian.org/RaspbianBugs" | ||
404 | |||
405 | |||
406 | ==== 5.2 Get Gateway ID in Raspberry and input this in TTN v3. ==== | ||
407 | |||
408 | In RPI, run below command to get a Gateway ID | ||
409 | |||
410 | (% class="mark" %)ifconfig eth0 | ||
411 | |||
412 | (% style="text-align:center" %) | ||
413 | [[image:1651745210205-512.png||height="130" width="621"]] | ||
414 | |||
415 | ((( | ||
416 | We got the ether (eth0 MAC) address is b8:27:eb:49:62:bc). Add ffff at the end and remove “:” to get the | ||
417 | ))) | ||
418 | |||
419 | ((( | ||
420 | gateway ID: b827ebxxxxbcffff. Input this to TTN v3. Make sure to select legacy packet forwarder. | ||
421 | ))) | ||
422 | |||
423 | (% style="text-align:center" %) | ||
424 | [[image:1651745267862-321.png||height="526" width="621"]] | ||
425 | |||
426 | |||
427 | |||
428 | (% style="text-align:center" %) | ||
429 | [[image:1651745306744-481.png||height="478" width="621"]] | ||
430 | |||
431 | After set up, the status should show not connected as below: | ||
432 | |||
433 | (% style="text-align:center" %) | ||
434 | [[image:1651745366987-458.png||height="363" width="621"]] | ||
435 | |||
436 | |||
437 | ===== 5.2.1 Download and install LoRaWAN packet forwarder ===== | ||
438 | |||
439 | Enable SPI and I2C first: | ||
440 | |||
441 | a)SPI needs to be enabled on the Raspberry Pi | ||
442 | |||
443 | Run sudo raspi-config to open the config window | ||
444 | |||
445 | (% style="text-align:center" %) | ||
446 | [[image:1651745476754-240.png||height="235" width="631"]] | ||
447 | |||
448 | |||
449 | (% style="text-align:center" %) | ||
450 | [[image:image-20220505181135-1.png]] | ||
451 | |||
452 | (% style="text-align:center" %) | ||
453 | [[image:image-20220505181135-2.png]] | ||
454 | |||
455 | |||
456 | |||
457 | |||
458 | In RPI , Fist: Enter root account: | ||
459 | |||
460 | (% style="text-align:center" %) | ||
461 | [[image:1651745583363-614.png]] | ||
462 | |||
463 | |||
464 | and then run: | ||
465 | |||
466 | wget [[https:~~/~~/www.dragino.com/downloads/downloads/LoRa_Gateway/PG1302/software/auto_install.sh>>url:https://www.dragino.com/downloads/downloads/LoRa_Gateway/PG1302/software/auto_install.sh]] | ||
467 | |||
468 | chmod +x ./auto_install.sh | ||
469 | |||
470 | ./auto_install.sh | ||
471 | |||
472 | (% style="text-align:center" %) | ||
473 | [[image:1651745611629-818.png]] | ||
474 | |||
475 | |||
476 | This will download the packet forwarder package from Dragino Server to RPI, and start install the package. | ||
477 | |||
478 | You can get these output: | ||
479 | |||
480 | (% style="text-align:center" %) | ||
481 | [[image:1651745657252-173.png||height="426" width="621"]] | ||
482 | |||
483 | |||
484 | ===== 5.2.2 Config Gateway ID, Frequency Band and Server address ===== | ||
485 | |||
486 | ((( | ||
487 | After installation, user can find the configuration file in** /etc/lora/ **Replace the gateway ID we got above to the | ||
488 | ))) | ||
489 | |||
490 | ((( | ||
491 | **~ gateway_ID** in file **local_conf.json** | ||
492 | ))) | ||
493 | |||
494 | ((( | ||
495 | The default LoRaWAN server points to localhost, user need to put the correct server address to the | ||
496 | ))) | ||
497 | |||
498 | ((( | ||
499 | server_address field in file **local_conf.json**, like below. | ||
500 | ))) | ||
501 | |||
502 | (% style="text-align:center" %) | ||
503 | [[image:1651745709709-887.png||height="820" width="621"]] | ||
504 | |||
505 | |||
506 | User can find the TTN v3 server address from: | ||
507 | |||
508 | [[Server Addresses ~| The Things Stack for LoRaWAN (thethingsindustries.com)>>url:https://www.thethingsindustries.com/docs/getting-started/server-addresses/#deployments]] | ||
509 | |||
510 | |||
511 | And the default frequency band is US915 in **global_conf.json** file. | ||
512 | |||
513 | (% style="text-align:center" %) | ||
514 | [[image:1651745838008-820.png||height="650" width="621"]] | ||
515 | |||
516 | |||
517 | * If user want to change to other frequency bands, User can copy the file from **/etc/lora/cfg-302 **and put it into** /etc/lora/global_conf.json.** | ||
518 | |||
519 | 1).Chose your need the name of region frequency. | ||
520 | |||
521 | (% style="text-align:center" %) | ||
522 | [[image:1651745867516-322.png]] | ||
523 | |||
524 | |||
525 | 2). Use this command to copy it. | ||
526 | |||
527 | cp /etc/lora/cfg-302/EU-global_conf.json /etc/lora/global_conf.json | ||
528 | |||
529 | (% style="text-align:center" %) | ||
530 | [[image:1651745984006-868.png]] | ||
531 | |||
532 | |||
533 | * If user wants to change to other LoRaWAN server, modify the **global_conf.json** file. | ||
534 | |||
535 | (% class="wikigeneratedid" %) | ||
536 | ((( | ||
537 | |||
538 | ))) | ||
539 | |||
540 | ===== 5.2.3 Check result ===== | ||
541 | |||
542 | ((( | ||
543 | Run below command to restart the dragino_fwd: | ||
544 | ))) | ||
545 | |||
546 | ((( | ||
547 | sudo systemctl stop draginofwd | ||
548 | ))) | ||
549 | |||
550 | ((( | ||
551 | sudo systemctl start draginofwd | ||
552 | ))) | ||
553 | |||
554 | ((( | ||
555 | debug check the ruing status of fwd: | ||
556 | ))) | ||
557 | |||
558 | ((( | ||
559 | sudo systemctl status draginofwd | ||
560 | ))) | ||
561 | |||
562 | (% style="text-align:center" %) | ||
563 | [[image:1651746045057-414.png]] | ||
564 | |||
565 | |||
566 | The dragino_fwd will start with the new gateway ID and TTN v3 should show the connection ok: | ||
567 | |||
568 | (% style="text-align:center" %) | ||
569 | [[image:1651746078253-168.png||height="372" width="621"]] | ||
570 | |||
571 | |||
572 | We can check dragino_fwd running states in RPi by running: | ||
573 | |||
574 | (% class="box infomessage" %) | ||
575 | ((( | ||
576 | **// sudo journalctl -u draginofwd -f//** | ||
577 | ))) | ||
578 | |||
579 | [[image:1651746111963-838.png]] | ||
580 | |||
581 | If there are LoRaWAN nodes transmitting nearby, we can see the traffic in TTN v3 –> Gateway ~-~-> Live data | ||
582 | |||
583 | |||
584 | [[image:1651746139304-966.png||height="326" width="621"]] | ||
585 | |||
586 | |||
587 | ===== 5.2.4 Commands to handle service ===== | ||
588 | |||
589 | * **Stop** dragino_fwd service: sudo systemctl stop draginofwd | ||
590 | * **Disable** dragino_fwd auto run after boot: sudo systemctl disable draginofwd | ||
591 | * **Start** dragino_fwd : sudo systemctl start draginofwd | ||
592 | * **Auto run** dragino_fwd after boot: sudo systemctl enable draginofwd | ||
593 | * **Show status** of dragino_fwd: sudo systemctl status draginofwd | ||
594 | |||
595 | === 6. Order Info === | ||
596 | |||
597 | Part Number: **PG1302-XX** Or Part Number: **PG1302-PI-XX **(Include RPi converter board for RPI 3/4) | ||
598 | |||
599 | **~ XX:** | ||
600 | |||
601 | * 868 (For Bands: EU868,IN865) | ||
602 | * 915 (For Bands: US915,AU915,AS923,KR920) | ||
603 | * 470 (For Band: CN470) | ||
604 | |||
605 | === 7. Packing Info === | ||
606 | |||
607 | ((( | ||
608 | **~ PG1302 Package Includes**: | ||
609 | ))) | ||
610 | |||
611 | * ((( | ||
612 | PG1302 x 1 | ||
613 | ))) | ||
614 | * ((( | ||
615 | LoRa Antenna x 1 | ||
616 | ))) | ||
617 | |||
618 | ((( | ||
619 | **~ PG1302-PI Package Includes**: | ||
620 | ))) | ||
621 | |||
622 | * ((( | ||
623 | PG1302 x 1 | ||
624 | ))) | ||
625 | * ((( | ||
626 | LoRa Antenna x 1 | ||
627 | ))) | ||
628 | * ((( | ||
629 | RPi3/4 converter PCB | ||
630 | ))) | ||
631 | * ((( | ||
632 | Screws to hole converter PCB on RPI. | ||
633 | ))) | ||
634 | |||
635 |