Wiki source code of PG1302

Version 98.2 by Xiaoling on 2022/05/07 11:38

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 (((
121 This example is an example to show how to set up the PG1302 + RPi as a LoRaWAN gateway to use with
122 )))
Xiaoling 36.1 123
Xiaoling 91.1 124 (((
125 [[TheThingsNetwork>>url:http://www.thethingsnetwork.org/]](TTN) LoRaWAN server. Set up method for other server are similar.
126 )))
Xiaoling 79.1 127
Xiaoling 36.1 128 (% style="text-align:center" %)
129 [[image:1651743698677-436.png||height="457" width="686"]]
130
131
132
Xiaoling 68.1 133 ==== 2.2 Hardware Installation ====
Xiaoling 36.1 134
Xiaoling 39.1 135 **~ Important Notice: **Please power the RPI with 5V,3A cable.
Xiaoling 36.1 136
137 (% style="text-align:center" %)
138 [[image:1651743803032-803.png]]
139
140
Xiaoling 62.1 141
Xiaoling 68.1 142 === 3. Install the software? ===
Xiaoling 36.1 143
Xiaoling 39.1 144 There are two ways to install software in RPi4 to use PG1302.
Xiaoling 36.1 145
146 * Flash SD card with Dragino pre-build image which support Web UI.
147 * Install lora packet forwarder in existing RPi OS.
148
Xiaoling 68.1 149 === 4. Flash with pre-build image ===
Xiaoling 36.1 150
Xiaoling 68.1 151 ==== 4.1 Download the dragino image for RPI ====
Xiaoling 36.1 152
Xiaoling 92.1 153 (((
154 Download PG1302_for_Rpi4_64_with_webui from
155 )))
Xiaoling 36.1 156
Xiaoling 92.1 157 (((
158 [[https:~~/~~/www.dropbox.com/sh/f6nbldh1qbspya5/AACgL6pDkwdBQO1BQqq_Nubwa?dl=0>>https://www.dropbox.com/sh/f6nbldh1qbspya5/AACgL6pDkwdBQO1BQqq_Nubwa?dl=0]]
159 )))
Xiaoling 36.1 160
Xiaoling 62.1 161
Xiaoling 68.1 162 ==== 4.2 Flash the image to SD card ====
Xiaoling 36.1 163
Xiaoling 76.1 164 Flash the image to SD card:
Xiaoling 36.1 165
166 (% style="text-align:center" %)
167 [[image:1651744119133-233.png||height="373" width="621"]]
168
Xiaoling 62.1 169 Note: Download the flash tool following this link
Xiaoling 36.1 170
171 [[https:~~/~~/www.balena.io/etcher/>>https://www.balena.io/etcher/]]
172
Xiaoling 62.1 173
Xiaoling 76.1 174 ==== 4.3 Access the Linux console ====
Xiaoling 36.1 175
Edwin Chen 97.1 176 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 177
178
Edwin Chen 97.1 179 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.
Xiaoling 88.1 180
Edwin Chen 97.1 181 Below are screenshots
Xiaoling 88.1 182
Xiaoling 36.1 183
184
185 (% style="text-align:center" %)
186 [[image:1651744193675-591.png||height="450" width="466"]]
187
188
189 The account details for Web Login are:
190
191 **~ User Name: root**
192
193 **~ Password:   dragino**
194
195
196 **~ Backup account**
197
198 **~ Pi/dragino**
199
200
201 After log in, you will be in the Linux console and type command here.
202
203 (% style="text-align:center" %)
204 [[image:1651744358515-107.png||height="366" width="581"]]
205
206
Xiaoling 68.1 207 ==== 4.4 Access the WebUI of RPi4. ====
Xiaoling 62.1 208
Xiaoling 69.1 209 ===== 4.4.1 Home page =====
Xiaoling 36.1 210
Xiaoling 92.1 211 (((
Xiaoling 81.1 212 Open a browser on the PC and type the RPI ip address
Xiaoling 92.1 213 )))
Xiaoling 36.1 214
Xiaoling 92.1 215 (((
Xiaoling 81.1 216 [[http:~~/~~/IP_ADDRESS** **>>url:http://192.168.1.xx/]] (If the IP is assigned by uplink router)
Xiaoling 92.1 217 )))
Xiaoling 36.1 218
Xiaoling 92.1 219 (((
Xiaoling 81.1 220 You will see the login interface of RPI as shown below.
Xiaoling 92.1 221 )))
Xiaoling 36.1 222
Xiaoling 92.1 223 (((
Xiaoling 81.1 224 The account details for Web Login are:
Xiaoling 92.1 225 )))
Xiaoling 36.1 226
Xiaoling 92.1 227 (((
Xiaoling 36.1 228 **~ User Name: root**
Xiaoling 92.1 229 )))
Xiaoling 36.1 230
Xiaoling 92.1 231 (((
Xiaoling 36.1 232 **~ Password:   dragino**
Xiaoling 92.1 233 )))
Xiaoling 36.1 234
235 (% style="text-align:center" %)
236 [[image:1651744457761-993.png||height="352" width="621"]]
237
238
Xiaoling 68.1 239 ===== 4.4.2 LoRa Page =====
Xiaoling 36.1 240
Xiaoling 91.1 241 (((
Xiaoling 88.1 242 This page shows the LoRa Radio Settings. There are a set of default frequency band according to LoRaWAN
Xiaoling 91.1 243 )))
Xiaoling 36.1 244
Xiaoling 91.1 245 (((
Xiaoling 88.1 246 protocol, and user can customize the band* as well.
Xiaoling 91.1 247 )))
Xiaoling 88.1 248
Xiaoling 36.1 249 (% style="text-align:center" %)
250 [[image:1651744554845-970.png||height="328" width="621"]]
251
252 Different PG1302 hardware version can support different frequency range:
253
254 ➢ 868: valid frequency: 863Mhz ~~ 870Mhz. for bands EU868, RU864, IN865 or KZ865.
255
256 ➢ 915: valid frequency: 902Mhz ~~ 928Mhz. for bands US915, AU915, AS923 or KR920
257
258 After user choose the frequency plan, he can see the actually frequency in used by checking the
259
260 page LogRead ~-~-> LoRa Log
261
262 Note *: See this instruction for how to customize frequency band
263
264 [[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]]
265
266
Xiaoling 68.1 267 ===== 4.4.3 LoRaWAN Page =====
Xiaoling 36.1 268
Xiaoling 69.1 269 ====== 4.4.3.1 Semtech UDP ======
Xiaoling 36.1 270
271
272 (% style="text-align:center" %)
273 [[image:1651744767914-283.png||height="352" width="621"]]
274
Xiaoling 81.1 275 Note *: See this instruction for how to configure TTN.
Xiaoling 36.1 276
Xiaoling 81.1 277 [[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 278
279
Xiaoling 68.1 280 ====== 4.4.3.2 Basic Station ======
Xiaoling 36.1 281
282 (% style="text-align:center" %)
283 [[image:1651744890629-683.png||height="380" width="621"]]
284
Xiaoling 81.1 285 Note *: See this instruction for how to configure TTN.
Xiaoling 36.1 286
Xiaoling 81.1 287 [[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 288
289
Xiaoling 68.1 290 ===== 4.4.4 LogRead =====
Xiaoling 36.1 291
Xiaoling 69.1 292 ====== 4.4.4.1 LoRa Log ======
Xiaoling 36.1 293
294 (% style="text-align:center" %)
295 [[image:1651744955955-452.png||height="571" width="621"]]
296
Xiaoling 81.1 297 Show the frequency for LoRa Radio and traffics.
Xiaoling 36.1 298
299
Xiaoling 68.1 300 ====== 4.4.4.2 System Log ======
Xiaoling 36.1 301
Xiaoling 81.1 302 Show system log.
Xiaoling 36.1 303
304 (% style="text-align:center" %)
305 [[image:1651745003470-264.png||height="477" width="621"]]
306
307
308
Xiaoling 68.1 309 ====== 4.4.4.3 Record Log ======
Xiaoling 36.1 310
Xiaoling 68.1 311 **~ Record the system log.**
Xiaoling 36.1 312
313 (% style="text-align:center" %)
314 [[image:1651745069814-662.png||height="144" width="621"]]
315
316
Xiaoling 68.1 317 === 5. Install stand alone LoRa Packet Forwarder. ===
Xiaoling 36.1 318
Xiaoling 69.1 319 ==== 5.1 OS requirement ====
Xiaoling 36.1 320
Xiaoling 81.1 321 RPI in this example is RPI model 4B with fresh Raspbian OS install.
Xiaoling 36.1 322
323 pi@raspberrypi:~~$ cat /etc/os-release
324
325 PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
326
327 NAME="Raspbian GNU/Linux"
328
329 VERSION_ID="8"
330
331 VERSION="8 (jessie)"
332
333 ID=raspbian
334
335 ID_LIKE=debian
336
337 HOME_URL="http:~/~/www.raspbian.org/"
338
339 SUPPORT_URL="http:~/~/www.raspbian.org/RaspbianForums"
340
341 BUG_REPORT_URL="http:~/~/www.raspbian.org/RaspbianBugs"
342
343
Xiaoling 68.1 344 ==== 5.2 Get Gateway ID in Raspberry and input this in TTN v3. ====
Xiaoling 36.1 345
Xiaoling 81.1 346 In RPI, run below command to get a Gateway ID
Xiaoling 36.1 347
Xiaoling 81.1 348 (% class="mark" %)ifconfig eth0
Xiaoling 36.1 349
350 (% style="text-align:center" %)
351 [[image:1651745210205-512.png||height="130" width="621"]]
352
Xiaoling 91.1 353 (((
354 We got the ether (eth0 MAC) address is b8:27:eb:49:62:bc). Add ffff at the end and remove “:” to get the
355 )))
Xiaoling 36.1 356
Xiaoling 91.1 357 (((
358 gateway ID: b827ebxxxxbcffff.  Input this to TTN v3. Make sure to select legacy packet forwarder.
359 )))
Xiaoling 36.1 360
361 (% style="text-align:center" %)
362 [[image:1651745267862-321.png||height="526" width="621"]]
363
364
365
366 (% style="text-align:center" %)
367 [[image:1651745306744-481.png||height="478" width="621"]]
368
Xiaoling 62.1 369 After set up, the status should show not connected as below:
370
Xiaoling 36.1 371 (% style="text-align:center" %)
372 [[image:1651745366987-458.png||height="363" width="621"]]
373
374
Xiaoling 68.1 375 ===== 5.2.1 Download and install LoRaWAN packet forwarder =====
Xiaoling 36.1 376
377 Enable SPI and I2C first:
378
379 a)SPI needs to be enabled on the Raspberry Pi
380
381 Run sudo raspi-config to open the config window
382
383 (% style="text-align:center" %)
384 [[image:1651745476754-240.png||height="235" width="631"]]
385
386
387 (% style="text-align:center" %)
388 [[image:image-20220505181135-1.png]]
389
390 (% style="text-align:center" %)
391 [[image:image-20220505181135-2.png]]
392
393
394
395
396 In RPI , Fist: Enter root account:
397
398 (% style="text-align:center" %)
399 [[image:1651745583363-614.png]]
400
401
402 and then run:
403
404 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]]
405
406 chmod +x ./auto_install.sh
407
408 ./auto_install.sh
409
410 (% style="text-align:center" %)
411 [[image:1651745611629-818.png]]
412
413
414 This will download the packet forwarder package from Dragino Server to RPI, and start install the package.
415
416 You can get these output:
417
418 (% style="text-align:center" %)
419 [[image:1651745657252-173.png||height="426" width="621"]]
420
421
Xiaoling 77.1 422 ===== 5.2.2 Config Gateway ID, Frequency Band and Server address =====
Xiaoling 36.1 423
Xiaoling 88.1 424 (((
425 After installation, user can find the configuration file in** /etc/lora/ **Replace the gateway ID we got above to the
426 )))
Xiaoling 36.1 427
Xiaoling 88.1 428 (((
429 **~ gateway_ID** in file **local_conf.json**
430 )))
Xiaoling 36.1 431
Xiaoling 88.1 432 (((
433 The default LoRaWAN server points to localhost, user need to put the correct server address to the
434 )))
435
436 (((
437 server_address field in file **local_conf.json**, like below.
438 )))
439
Xiaoling 36.1 440 (% style="text-align:center" %)
441 [[image:1651745709709-887.png||height="820" width="621"]]
442
443
Xiaoling 84.1 444 User can find the TTN v3 server address from:
Xiaoling 36.1 445
Xiaoling 84.1 446 [[Server Addresses ~| The Things Stack for LoRaWAN (thethingsindustries.com)>>url:https://www.thethingsindustries.com/docs/getting-started/server-addresses/#deployments]]
Xiaoling 36.1 447
448
Xiaoling 84.1 449 And the default frequency band is US915 in **global_conf.json** file.
Xiaoling 36.1 450
451 (% style="text-align:center" %)
452 [[image:1651745838008-820.png||height="650" width="621"]]
453
454
Xiaoling 38.1 455 * 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 456
457 1).Chose your need the name of region frequency.
458
459 (% style="text-align:center" %)
460 [[image:1651745867516-322.png]]
461
462
463 2). Use this command to copy it.
464
465 cp /etc/lora/cfg-302/EU-global_conf.json /etc/lora/global_conf.json
466
467 (% style="text-align:center" %)
468 [[image:1651745984006-868.png]]
469
470
471 * If user wants to change to other LoRaWAN server, modify the **global_conf.json** file.
472
Xiaoling 69.1 473 (% class="wikigeneratedid" %)
474 (((
475
476 )))
Xiaoling 36.1 477
Xiaoling 68.1 478 ===== 5.2.3 Check result =====
479
Xiaoling 91.1 480 (((
Xiaoling 84.1 481 Run below command to restart the dragino_fwd:
Xiaoling 91.1 482 )))
Xiaoling 36.1 483
Xiaoling 91.1 484 (((
Xiaoling 62.1 485 sudo systemctl stop draginofwd
Xiaoling 91.1 486 )))
Xiaoling 36.1 487
Xiaoling 91.1 488 (((
Xiaoling 62.1 489 sudo systemctl start draginofwd
Xiaoling 91.1 490 )))
Xiaoling 36.1 491
Xiaoling 91.1 492 (((
Xiaoling 84.1 493 debug check the ruing status of fwd:
Xiaoling 91.1 494 )))
Xiaoling 36.1 495
Xiaoling 91.1 496 (((
Xiaoling 84.1 497 sudo systemctl status draginofwd
Xiaoling 91.1 498 )))
Xiaoling 36.1 499
500 (% style="text-align:center" %)
501 [[image:1651746045057-414.png]]
502
503
Xiaoling 84.1 504 The dragino_fwd will start with the new gateway ID and TTN v3 should show the connection ok:
Xiaoling 36.1 505
506 (% style="text-align:center" %)
507 [[image:1651746078253-168.png||height="372" width="621"]]
508
509
Edwin Chen 95.1 510 We can check dragino_fwd running states in RPi by running:
Xiaoling 36.1 511
Edwin Chen 95.1 512 (% class="box infomessage" %)
513 (((
514 **// sudo journalctl -u draginofwd -f//**
515 )))
Xiaoling 36.1 516
Edwin Chen 94.1 517 [[image:1651746111963-838.png]]
Xiaoling 36.1 518
Edwin Chen 93.1 519 If there are LoRaWAN nodes transmitting nearby, we can see the traffic in TTN v3 –> Gateway ~-~-> Live data
520
521
Edwin Chen 94.1 522 [[image:1651746139304-966.png||height="326" width="621"]]
Edwin Chen 93.1 523
524
Xiaoling 68.1 525 ===== 5.2.4 Commands to handle service =====
Xiaoling 36.1 526
527 * **Stop** dragino_fwd service:  sudo systemctl stop draginofwd
528 * **Disable** dragino_fwd auto run after boot: sudo systemctl disable draginofwd
529 * **Start** dragino_fwd : sudo systemctl start draginofwd
530 * **Auto run** dragino_fwd after boot:  sudo systemctl enable draginofwd
531 * **Show status** of dragino_fwd:  sudo systemctl status draginofwd
532
Xiaoling 68.1 533 === 6. Order Info ===
Xiaoling 36.1 534
Edwin Chen 93.1 535 Part Number: **PG1302-XX**  Or  Part Number: **PG1302-PI-XX   **(Include RPi converter board for RPI 3/4)
Xiaoling 36.1 536
Xiaoling 76.1 537 **~ XX:**
Xiaoling 36.1 538
539 * 868 (For Bands: EU868,IN865)
540 * 915 (For Bands: US915,AU915,AS923,KR920)
541 * 470 (For Band: CN470)
542
Xiaoling 68.1 543 === 7. Packing Info ===
Xiaoling 36.1 544
Xiaoling 91.1 545 (((
Xiaoling 76.1 546 **~ PG1302 Package Includes**:
Xiaoling 91.1 547 )))
Xiaoling 36.1 548
Xiaoling 91.1 549 * (((
550 PG1302 x 1
551 )))
552 * (((
553 LoRa Antenna x 1
554 )))
Xiaoling 36.1 555
Xiaoling 91.1 556 (((
Xiaoling 89.1 557 **~ PG1302-PI Package Includes**:
Xiaoling 91.1 558 )))
Xiaoling 36.1 559
Xiaoling 91.1 560 * (((
561 PG1302 x 1
562 )))
563 * (((
564 LoRa Antenna x 1
565 )))
566 * (((
567 RPi3/4 converter PCB
568 )))
569 * (((
570 Screws to hole converter PCB on RPI.
571 )))