Wiki source code of PG1302

Version 98.10 by Xiaoling on 2022/05/07 13:53

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