Wiki source code of PG1302 LoRaWAN Concentrator

Version 98.27 by Xiaoling on 2022/05/14 15:59

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