Wiki source code of PG1302 LoRaWAN Concentrator

Version 103.1 by Xiaoye on 2022/06/07 10:01

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