Show last authors
1 **Table of Contents:**
2
3 {{toc/}}
4
5
6 (((
7 = 1. Introduction =
8
9 ----
10
11 It is possible to GPS supports in LG308N-EC25 version and LPS8v2-EC25 version so device will add location info to uplink packet to LoRaWAN server.
12 )))
13
14
15 = 2. Use Cellular Module GPS feature for LoRaWAN Timing. =
16
17 == 2.1 Configure on LG308N / LPS8N ==
18
19 (((
20 (% style="color:blue" %)**Below are the steps:**
21 )))
22
23 (((
24 **~1. Open the box and connect GPS antenna to GNSS port of EC25**
25 )))
26
27 [[image:image-20220527160148-2.png]]
28
29 Connect GPS antenna
30
31
32 (((
33 **2. modify the two files:**
34 )))
35
36 (((
37 /etc/chatscripts/3g.chat
38 )))
39
40 (% class="box" %)
41 (((
42 ABORT   BUSY
43 ABORT   'NO CARRIER'
44 ABORT   ERROR
45 REPORT  CONNECT
46 TIMEOUT 10
47 ""      "AT&F"
48 OK      "ATE1"
49 (% style="color:red" %)**OK  "AT+QGPS=1"   ~-~-> Add this line, so EC25 module GPS will be enable when dial up**(%%)
50 (% style="color:black" %)OK      'AT+CGDCONT=1,"IP","$USE_APN"'
51 SAY     "Calling UMTS/GPRS"
52 TIMEOUT 30
53 OK      "ATD$DIALNUMBER"
54 CONNECT ' '
55 )))
56
57
58 (((
59 (% style="color:red" %)**Note: **(%%)**After above settings, the GPS will be enable when dial up, if user doesn't use Cellular for Internet access, above script won't execute, in this case, user can (% style="color:red" %)run "echo AT+QGPS=1 > /dev/ttyUSB2" (%%)to (% style="color:blue" %)enable GPS /usr/bin/generate-config.sh,(%%) after configure this, in the web page, select any frequency band and save to make this take affect.**
60 )))
61
62
63 (% class="box" %)
64 (((
65 (((
66 (((
67 gen_gw_cfg() {
68 json_init
69 json_add_object gateway_conf
70 json_add_string "gateway_ID" "$gwid"
71 json_add_string "server_address" "$server"
72 json_add_int "serv_port_up" "$upp"
73 json_add_int "serv_port_down" "$dpp"
74 json_add_int "stat_interval" "$stat"
75 json_add_boolean "forward_crc_valid" 1
76 json_add_boolean "forward_crc_error" 0
77 )))
78
79 (((
80 (% style="color:red" %)**json_add_string "gps_tty_path" "/dev/ttyUSB1"   ~-~-~-~--> Add this line so lora program knows to get the gps info from EC25**
81 )))
82
83 (((
84 (% style="color:black" %) json_close_object
85 json_dump  > /etc/lora/local_conf.json(%%)
86 (% style="color:black" %)**}**
87 )))
88 )))
89 )))
90
91
92 (((
93 **3. Reboot the device and run logread -f to verify if GPS already works.**
94 )))
95
96 (% class="box" %)
97 (((
98 Fri Mar  6 04:08:59 2020 daemon.info lora_pkt_fwd[3016]: (% style="color:red" %)**INFO~~ GPS serial port path is configured to "/dev/ttyUSB1"**(%%)
99 Fri Mar  6 04:08:59 2020 daemon.info lora_pkt_fwd[3016]: INFO~~ [main] TTY port /dev/ttyUSB1 open for GPS synchronization
100 Fri Mar  6 04:09:00 2020 cron.err crond[1689]: time disparity of 4301528 minutes detected
101 Fri Mar  6 04:09:00 2020 daemon.info lora_pkt_fwd[3016]: INFO~~ sockfd=4
102 Fri Mar  6 04:09:00 2020 daemon.info lora_pkt_fwd[3016]: INFO~~ sockfd=5
103 Fri Mar  6 04:09:00 2020 daemon.info lora_pkt_fwd[3016]: INFO~~ FPort Filter: 0
104 Fri Mar  6 04:09:00 2020 daemon.info lora_pkt_fwd[3016]: INFO~~ DevAddrMask: 0x0
105 Fri Mar  6 04:09:34 2020 daemon.info lora_pkt_fwd[3016]: INFO: [jit] queue is empty
106 Fri Mar  6 04:09:34 2020 daemon.info lora_pkt_fwd[3016]: STAT~~ {"stat":{"time":"2020-03-06 04:09:34 UTC"**,(% style="color:red" %)"lati":22.70627,"long":114.24277,"alti":58,(%%)**
107 (% style="color:black" %)"rxnb":0,"rxok":0,"rxfw":0,"ackr":0.0,"dwnb":0,"txnb":0}}
108 Fri Mar  6 04:09:35 2020 daemon.info lora_pkt_fwd[3016]: INFO~~ [up] PUSH_ACK received in 293 ms
109 Fri Mar  6 04:09:35 2020 daemon.info lora_pkt_fwd[3016]: INFO~~ [down] PULL_ACK received in 596 ms
110 )))
111
112
113 == 2.2. Configure on LPS8v2 ==
114
115 (((
116 (% style="color:blue" %)**Below are the steps:**
117 )))
118
119 (((
120 **~1. Open the box and connect GPS antenna to GNSS port of EC25**
121 )))
122
123 [[image:image-20231208153214-1.png||height="426" width="590"]]
124
125 Connect GPS antenna
126
127
128 **2. modify the two files:**
129
130 /etc/rc.local
131
132 (% class="box" %)
133 (((
134 #!/bin/sh -e
135 #
136 # rc.local
137 #
138 # This script is executed at the end of each multiuser runlevel.
139 # Make sure that the script will "exit 0" on success or any other
140 # value on error.
141 #
142 # In order to enable or disable this script just change the execution
143 # bits.
144 #
145 # By default this script does nothing.
146
147 echo 0 > /sys/class/leds/dragino\:blue\:opt/brightness
148 echo 0 > /sys/class/leds/dragino\:green\:stat/brightness
149 echo 0 > /sys/class/leds/dragino\:red\:sys/brightness
150 (% style="color:red" %)**echo AT+QGPS=1 > /dev/ttyUSB2**
151
152
153 exit 0
154 )))
155
156 (% style="color:red" %)**Note: **(%%) **After above settings, LPS8v2 will (% style="color:blue" %)enable GPS(%%) automatically on boot.**
157
158
159 **The user can run (% style="color:red" %)"echo AT+QGPS=1 > /dev/ttyUSB2" (%%)to manually (% style="color:blue" %)enable GPS.(%%)**
160
161 **/usr/local/dragino/generate-config.sh, after configuring this, on the web page, select any frequency band and save to make this take effect.**
162
163 (% class="box" %)
164 (((
165 gen_gw_cfg() {
166 json_init
167 json_add_object gateway_conf
168 json_add_string "platform" "SX1$chip"
169 json_add_string "description" "Dragino LoRaWAN Gateway"
170 json_add_string "gateway_ID" "$gwid"
171 json_add_boolean "radiostream_enable" 1
172 json_add_string "ghost_host" "localhost"
173 json_add_string "ghost_port" "1760"
174 json_add_boolean "manage_enable" 0
175 json_add_boolean "custom_downlink" 0
176 json_add_int "stat_interval" "30"
177 json_add_boolean "wd_enable" 1
178 json_add_boolean "mac_decode" 0
179 json_add_boolean "mac2file" 0
180 json_add_boolean "mac2db" 0
181 json_add_string "log_mask" "1111"
182 (% style="color:red" %)**json_add_string "gps_tty_path" "/dev/ttyUSB1"   ~-~-~-~--> Add this line so lora program knows to get the gps info from EC25**(%%)
183 json_add_double "ref_latitude" "$latitude"
184 json_add_double "ref_longitude" "$longitude"
185 json_add_double "ref_altitude" "$altitude"
186 json_add_int "beacon_period" "0"
187 json_add_int "beacon_freq_hz" "869525000"
188 )))
189
190 **3. Reboot the device and run journalctl -u draginofwd -f to verify if GPS already works.**
191
192 [[image:image-20231208160114-2.png||height="288" width="907"]]
193
194
195 [[image:image-20231208161058-5.png||height="548" width="965"]]
196
197
198
199 = 3. Use Cellular Module GPS feature for System Timing. =
200
201 == 3.1 Configure on LPS8v2 ==
202
203 This introduction shows how to use the Cellular Module GPS feature for System Timing.
204
205
206 1. Download script from dragino site and move it to properly directory
207
208 (% class="box" %)
209 (((
210 root@dragino-e4e891:# wget http://repo.dragino.com/release/tool/gpstime/gpstodate.sh
211 2023-12-21 07:25:25 http://repo.dragino.com/release/tool/gpstime/gpstodate.sh
212 Resolving repo.dragino.com (repo.dragino.com)... 47.89.8.92
213 Connecting to repo.dragino.com (repo.dragino.com)|47.89.8.92|:80... connected.
214 HTTP request sent, awaiting response... 200 OK
215 Length: 1114 (1.1K) [application/octet-stream]
216 Saving to: ‘gpstodate.sh’
217
218 gpstodate.sh 100%[===========================================================================================================>] 1.09K .-KB/s in 0s     
219
220 2023-12-21 07:25:25 (16.5 MB/s) - ‘gpstodate.sh’ saved [1114/1114]
221
222 root@dragino-e4e891:# chmod +x gpstodate.sh;mv gpstodate.sh /usr/bin/
223 root@dragino-e4e891:#
224 )))
225
226 2. Run **cat /dev/ttyUSB1** to check if the GPS location is successful.
227
228 [[image:image-20231221153129-1.png||height="440" width="632"]]
229
230
231 3. Run the **date** and  **/usr/bin/gpstodate.sh** **&** to check if the system time is correct
232
233
234 4. Add **gpstodate.sh** to cron work **/etc/rc.local** , LPS8v2 will Use Cellular Module GPS feature for System Timing automatically on boot
235
236 (% class="box" %)
237 (((
238 #!/bin/sh -e
239 #
240 # rc.local
241 #
242 # This script is executed at the end of each multiuser runlevel.
243 # Make sure that the script will "exit 0" on success or any other
244 # value on error.
245 #
246 # In order to enable or disable this script just change the execution
247 # bits.
248 #
249 # By default this script does nothing.
250
251 echo 0 > /sys/class/leds/dragino\:blue\:opt/brightness
252 echo 0 > /sys/class/leds/dragino\:green\:stat/brightness
253 echo 0 > /sys/class/leds/dragino\:red\:sys/brightness
254 (% style="color:red" %)**echo AT+QGPS=1 > /dev/ttyUSB2**
255 (% style="color:red" %)**/usr/bin/gpstodate.sh**
256
257 exit 0
258 )))
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0