Changes for page Mapwize

Last modified by Xiaoling on 2023/04/23 15:31

From version 28.11
edited by Xiaoling
on 2023/04/23 15:31
Change comment: There is no comment for this version
To version 1.5
edited by Xiaoling
on 2022/05/17 10:18
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,26 +1,20 @@
1 -**~ Table of Contents:**
1 +**Contents:**
2 2  
3 3  {{toc/}}
4 4  
5 5  
6 += 1. Introduction =
6 6  
7 -
8 -= 1.  Introduction =
9 -
10 -
11 11  This article shows how to use [[LBT1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/165-lbt1.html]] to build an Indoor Positioning Solution.
12 12  
10 +[[image:https://wiki.dragino.com/images/thumb/1/1a/LBT1_Mapwize_1.png/600px-LBT1_Mapwize_1.png||height="511" width="600"]]
13 13  
14 -[[image:image-20220526150521-2.png]]
15 -
16 16  LBT1 Indoor Positioning Network Structure
17 17  
14 += 2. Prepare Map =
18 18  
19 -= 2.  Prepare Map =
16 +== 2.1 Prepare iBeacons ==
20 20  
21 -== 2.1  Prepare iBeacons ==
22 -
23 -
24 24  (((
25 25  (((
26 26  Any BLE iBeacons should work in this solution, each iBeacon stands for a fix position in the map. Here is an iBeacon for example.
... ... @@ -36,17 +36,13 @@
36 36  (((
37 37  (((
38 38  BCN01 iBeacon from Dragino: [[http:~~/~~/www.dragino.com/products/accessories/item/166-bcn01.html>>url:http://www.dragino.com/products/accessories/item/166-bcn01.html]]
39 -
40 -
41 41  )))
42 42  )))
43 43  
44 -[[image:image-20220526150651-4.png]]
36 +[[image:https://wiki.dragino.com/images/thumb/8/88/Ibeacon1.png/300px-Ibeacon1.png||height="169" width="300"]]
45 45  
46 46  BCN01 iBeacon
47 47  
48 -
49 -
50 50  (((
51 51  (((
52 52  We need to get the UUID, MAJOR, MINOR, TXPOWER where each iBeacon is placed. We can get it with the iBeacon software, such as "EW-beacon".
... ... @@ -53,102 +53,77 @@
53 53  )))
54 54  )))
55 55  
56 -[[image:image-20220526150743-5.png]]
46 +[[image:https://wiki.dragino.com/images/thumb/f/fa/Ibeacon2.jpg/400px-Ibeacon2.jpg||height="867" width="400"]]
57 57  
58 58  beacon software
59 59  
60 60  
51 +[[image:https://wiki.dragino.com/images/thumb/f/f2/Ibeacon3.jpg/400px-Ibeacon3.jpg||height="867" width="400"]]
61 61  
62 -[[image:image-20220526150824-6.png]]
63 -
64 64  beacon software
65 65  
55 +== 2.2 Create Map ==
66 66  
67 -== 2.2  Create Map ==
68 -
69 -
70 70  (((
71 71  (((
72 72  Here we use the indoor map at [[https:~~/~~/studio.mapwize.io/>>url:https://studio.mapwize.io/]]. Below shows the steps for create a map and put the iBeacon on a fix position.
73 -
74 -
75 75  )))
76 76  )))
77 77  
78 78  (((
79 79  (((
80 -**~1. Register an account at [[https:~~/~~/studio.mapwize.io/>>url:https://studio.mapwize.io/]] to create an indoor map.**
65 +~1. Register an account at [[https:~~/~~/studio.mapwize.io/>>url:https://studio.mapwize.io/]] to create an indoor map.
81 81  )))
82 82  )))
83 83  
84 84  (((
85 85  (((
86 -**2. Create Place Types.**
87 -
88 -
71 +2. Create Place Types.
89 89  )))
90 90  )))
91 91  
92 -[[image:image-20220526150915-7.png]]
75 +[[image:https://wiki.dragino.com/images/thumb/4/4d/Beacon10.png/600px-Beacon10.png||height="274" width="600"]]
93 93  
94 94  Create place types
95 95  
79 +3. Search Venues. (Indoor map area identification)
96 96  
81 +[[image:https://wiki.dragino.com/images/thumb/e/e8/Beacon11.jpg/600px-Beacon11.jpg||alt="Beacon11.jpg" height="324" width="600"]]
97 97  
98 -**3. Search Venues. (Indoor map area identification)**
99 -
100 -
101 -[[image:image-20220526151046-8.png]]
102 -
103 -
104 104  (((
105 105  (((
106 106  The map accurately places the beacon of ibeacon, which is the reference for positioning. At this time, UUID, MAJOR and MINOR must be filled in correctly.
107 -
108 -
109 -
110 110  )))
111 111  )))
112 112  
113 -**4. Upload Floor plan.**
89 +4. Upload Floor plan.
114 114  
91 +[[image:https://wiki.dragino.com/images/thumb/d/d1/Beacon12.png/600px-Beacon12.png||height="197" width="600"]]
115 115  
116 -[[image:image-20220526151223-9.png]]
117 -
118 118  add images
119 119  
95 +5. Create Layer
120 120  
97 +[[image:https://wiki.dragino.com/images/thumb/0/0e/Beacon13.png/600px-Beacon13.png||height="208" width="600"]]
121 121  
122 -**5. Create Layer**
123 -
124 -
125 -[[image:image-20220526151305-10.png]]
126 -
127 127  create layer
128 128  
129 -
130 130  (((
131 -**6. Add iBeacon position info. Drag the iBeacon to match position and input the UUID, MAJOR and MINOR of this iBeacon.**
132 -
133 -
102 +6. Add iBeacon position info. Drag the iBeacon to match position and input the UUID, MAJOR and MINOR of this iBeacon.
134 134  )))
135 135  
136 -[[image:image-20220526151519-11.png]]
105 +[[image:https://wiki.dragino.com/images/thumb/1/1d/Beacon14.png/600px-Beacon14.png||height="261" width="600"]]
137 137  
138 138  create iBeacon
139 139  
109 += 3. Configure TTN =
140 140  
141 -= 3.  Configure TTN =
111 +== 3.1 Configure LBT1 to Upload data to TTN ==
142 142  
143 -== 3.1  Configure LBT1 to Upload data to TTN ==
113 +Please refer the instruction in the [[User Manual>>url:http://www.dragino.com/downloads/index.php?dir=accessories/Bluetooth/BCN01]]. Note the LBT1 need to set to MOD=3 here.
144 144  
115 +== 3.2 Decoder in TTN ==
145 145  
146 -Please refer the instruction in the [[User Manual>>url:http://www.dragino.com/downloads/index.php?dir=accessories/Bluetooth/BCN01]]. Note the (% style="color:#4f81bd" %)**LBT1 need to set to MOD=3**(%%) here.
147 -
148 -
149 -== 3.2  Decoder in TTN ==
150 -
151 -
152 152  (% class="box" %)
153 153  (((
154 154  function Decoder(bytes, port) {
... ... @@ -229,87 +229,81 @@
229 229  
230 230  )))
231 231  
197 += 4. Set Up Converter Server =
232 232  
233 -= 4.  Set Up Converter Server =
234 -
235 -
236 236  * (((
237 -(% style="color:blue" %)**How to install and run this service on Linux?**
200 +How to install and run this service on Linux?
238 238  )))
239 239  
240 240  (((
241 -(% style="color:red" %)**Step1:**(%%)  Rent a Linux on Amazon cloud or alicloud to the host, and pre install the Linux system (Debian, Ubuntu, CentOS are available for distribution).
204 +Step1.Rent a Linux on Amazon cloud or alicloud to the host, and pre install the Linux system (Debian, Ubuntu, CentOS are available for distribution).
242 242  )))
243 243  
244 244  (((
245 -(% style="color:red" %)**Step2: **(%%) Run the code on the server after compiling. Compilation requires the support of libcurl. First, compile libmqtt in the code, and then compile location.
246 -
247 -
208 +Step2.Run the code on the server after compiling. Compilation requires the support of libcurl. First, compile libmqtt in the code, and then compile location.
248 248  )))
249 249  
250 250  (((
251 -**System:  Debian / Ubuntu**
212 +
213 +System: Debian / Ubuntu
252 252  )))
253 253  
254 254  (% class="box" %)
255 255  (((
256 -(% style="color:blue" %)**step:**(%%)
257 -\\1. **sudo** apt install libcurl4-dev 
258 -\\2. **sudo** apt **install  gcc automake autoconf** libtool **make** cmake
259 -\\3. git clone -b master https:~/~/github.com/mikayong/location.git
260 -\\4. cd location/libmqtt
261 -\\5. mkdir build
262 -\\6. cd build && cmake ../
263 -\\7. make && sudo make install 
264 -\\8. cd ../
265 -\\9. make 
266 -\\10. sudo cp location_conf.json  /etc/
267 -\\11. Edit the configuration file, and run the location service in the background: ./location &
218 +step:
219 +
220 +~1. sudo apt install libcurl4-dev 
221 +
222 +2. sudo apt install  gcc automake autoconf libtool make cmake
223 +
224 +3. git clone -b master https:~/~/github.com/mikayong/location.git
225 +
226 +4. cd location/libmqtt
227 +
228 +5. mkdir build
229 +
230 +6. cd build && cmake ../
231 +
232 +7. make && sudo make install 
233 +
234 +8. cd ../
235 +
236 +9. make 
237 +
238 +10. sudo cp location_conf.json  /etc/
239 +
240 +~11. Edit the configuration file, and run the location service in the background: ./location &
268 268  )))
269 269  
270 270  (((
271 -(% style="color:red" %)**Step3:**(%%)** **The location service subscribes to the lora information stream on TTN through the mqtt protocol, parses the information to generate a geographic location, and finally creates a geographic location on the mapwize map. The following is the configuration of the location service, the configuration file is in json format, the file is /etc/location_conf.json
272 -
273 -
244 +Step3.The location service subscribes to the lora information stream on TTN through the mqtt protocol, parses the information to generate a geographic location, and finally creates a geographic location on the mapwize map. The following is the configuration of the location service, the configuration file is in json format, the file is /etc/location_conf.json
274 274  )))
275 275  
276 -= 5.  Configuration file: location_conf.json =
247 += 5. Configuration file: location_conf.json =
277 277  
249 +* We use the 120.78.138.177 server as an example. The location service is currently installed on the 120.78.138.177 server, the code is in /root/location, and the configuration file for running location pre-read directly is /etc/location_conf.json.
278 278  
279 -* (((
280 -(% style="color:blue" %)**We use the 120.78.138.177 server as an example. The location service is currently installed on the 120.78.138.177 server, the code is in /root/location, and the configuration file for running location pre-read directly is /etc/location_conf.json.**
281 -
282 -
283 -)))
284 -
285 -(((
286 286  { "location_conf": {
287 -)))
288 288  
289 289  (% class="box" %)
290 290  (((
291 -(((
292 292   "loctype": "indoor",       ~/~/ indoor/outdoor
293 293   "locmap": "mapwize"    ~/~/   Map interface: mapwize, traccar
294 294  )))
295 -)))
296 296  
297 -(((
298 298  }, "mqtt_conf": {
299 -)))
300 300  
301 301  (% class="box" %)
302 302  (((
303 -(((
304 304   "servaddr": "[str]",    ~/~/     Lorawan server address: Refer to TTN app handler:eu.thethings.network
305 305   "servport": [int],       ~/~/   Lorawan server port: 1883
306 - "clientid": "[str]",       ~/~/   MQTT client identity: Custom
307 - "qos":[int],                 ~/~/  (Optional) MQTT service quality: 0
308 - "username":"[str]",     ~/~/   Agent name of mqtt: application ID of TTN
265 + "clientid": "[str]",       ~/~/   MQTT client identity: Custom
266 + "qos":[int],                 ~/~/  (Optional) MQTT service quality: 0
267 + "username":"[str]",     ~/~/   Agent name of mqtt: application ID of TTN
309 309   "password":"[str]",      ~/~/  The proxy password of mqtt: application access key of TTN
310 - "topic":"[str]",              ~/~/ The topic of mqtt subscription: TTN is + / devices / + / up
269 + "topic":"[str]",              ~/~/ The topic of mqtt subscription: TTN is + / devices / + / up
311 311   "connection":"[str]" },   ~/~/(Optional) mqtt is a string used for direct connection, composed of serveraddr and port
312 - "mapwize_conf":{          ~/~/Map settings
271 +"mapwize_conf":{          ~/~/Map settings
313 313   "apikey": "[str]",        ~/~/ The apikey of the map user can be found on the Api keys page of wapwize, and read and write permissions need to be set
314 314   "venueid":"[str]",        ~/~/ (Optional)Indoor map area identification
315 315   "orgid":"[str]",           ~/~/  The identity of the user organizer
... ... @@ -319,129 +319,86 @@
319 319  "loracloud":{
320 320   "token":  "[str]"          ~/~/The password string of loracloud location service, the outdoor map must fill in the account token of loracloud
321 321  )))
322 -)))
323 323  
324 -(((
325 325  }
326 -)))
327 327  
328 328  (% class="box" %)
329 329  (((
330 -(((
331 331  "rssi_conf": {
332 332   "rssirate": [int],          ~/~/ (Optional) A basis for rssi calculation distance, the rssi value (absolute value) when the beacon is 1 meter apart 
333 333   "rssidiv": [float] }        ~/~/ (Optional) rssi measures an attenuation value of distance. As the distance to the beacon is farther, the value changes speed
334 334  )))
335 -)))
336 336  
337 -(((
338 338  }
339 339  
293 +* Parameter acquisition method of configuration file:
340 340  
341 -
342 -)))
295 +{{{"username":"[str]"
296 +}}}
343 343  
344 -* (% style="color:blue" %)**Parameter acquisition method of configuration file:**
298 +[[image:https://wiki.dragino.com/images/thumb/d/da/Beacon50.png/600px-Beacon50.png||height="185" width="600"]]
345 345  
346 -
347 -(% class="box" %)
348 -(((
349 -**"username":"[str]" **
350 -)))
351 -
352 -
353 -[[image:image-20220526151707-12.png]]
354 -
355 355  username
356 356  
302 +{{{"password":"[str]"
303 +}}}
357 357  
305 +[[image:https://wiki.dragino.com/images/thumb/b/bd/Beacon51.png/600px-Beacon51.png||height="260" width="600"]]
358 358  
359 -(% class="box" %)
360 -(((
361 -**"password":"[str]" **
362 -)))
363 -
364 -[[image:image-20220526151736-13.png]]
365 -
366 366  password
367 367  
309 +{{{"apikey": "[str]"
310 +}}}
368 368  
312 +[[image:https://wiki.dragino.com/images/thumb/5/53/Qwe3.png/600px-Qwe3.png||height="321" width="600"]]
369 369  
370 -(% class="box" %)
371 -(((
372 -**"apikey": "[str]" **
373 -)))
374 -
375 -[[image:image-20220526151819-14.png||height="588" width="1203"]]
376 -
377 377  apikey
378 378  
316 +{{{"orgid":"[str]"
317 +}}}
379 379  
319 +[[image:https://wiki.dragino.com/images/thumb/f/f4/Qwe4.png/600px-Qwe4.png||height="293" width="600"]]
380 380  
381 -(% class="box" %)
382 -(((
383 -**"orgid":"[str]"**
384 -)))
385 -
386 -[[image:image-20220526152014-15.png]]
387 -
388 388  orgid
389 389  
323 +{{{"universesid":"[str]"
324 +}}}
390 390  
326 +[[image:https://wiki.dragino.com/images/thumb/9/9a/Qwe5.jpg/600px-Qwe5.jpg||height="424" width="600"]]
391 391  
392 -(% class="box" %)
393 -(((
394 -**"universesid":"[str]"**
395 -)))
396 -
397 -[[image:image-20220526152115-16.png]]
398 -
399 399  universesid
400 400  
330 +{{{"placetype": "[str]"
331 +}}}
401 401  
333 +[[image:https://wiki.dragino.com/images/thumb/9/93/Qwe6.png/600px-Qwe6.png||height="318" width="600"]]
402 402  
403 -(% class="box" %)
404 -(((
405 -**"placetype": "[str]"**
406 -)))
407 -
408 -[[image:image-20220526152150-17.png]]
409 -
410 410  placetype
411 411  
412 412  
338 +* Here are two ways to enter the server
339 +* WinSCP
413 413  
414 -(% style="color:blue" %)**Here are two ways to enter the server:**
341 +[[image:https://wiki.dragino.com/images/thumb/6/6b/Ibeacon4.jpg/600px-Ibeacon4.jpg||height="385" width="600"]]
415 415  
416 -(% style="color:red" %)**1. WinSCP**
343 +[[image:https://wiki.dragino.com/images/thumb/7/78/Ibeacon5.jpg/600px-Ibeacon5.jpg||height="385" width="600"]]
417 417  
418 -[[image:image-20220526152303-18.png]]
345 +[[image:https://wiki.dragino.com/images/thumb/c/cd/Ibeacon6.jpg/600px-Ibeacon6.jpg||height="363" width="600"]]
419 419  
420 -
421 -[[image:image-20220526152355-19.png]]
422 -
423 -
424 -[[image:image-20220526152912-20.png]]
425 -
426 426  way1
427 427  
349 +* secureCRT
428 428  
351 +[[image:https://wiki.dragino.com/images/thumb/7/7b/Ibeacon7.jpg/600px-Ibeacon7.jpg||height="326" width="600"]]
429 429  
430 -(% style="color:red" %)**2. secureCRT**
353 +[[image:https://wiki.dragino.com/images/thumb/6/64/Ibeacon8.jpg/600px-Ibeacon8.jpg||height="326" width="600"]]
431 431  
432 -[[image:image-20220526153145-22.png]]
355 +[[image:https://wiki.dragino.com/images/thumb/d/de/Ibeacon9.jpg/600px-Ibeacon9.jpg||height="326" width="600"]]
433 433  
434 -[[image:image-20220526153236-23.png]]
435 -
436 -[[image:image-20220526153304-24.png]]
437 -
438 438  way2
439 439  
359 += 6. Test Result =
440 440  
441 -= 6.  Test Result =
442 -
443 -
444 444  The real-time position on the map is obtained according to the moving change of LBT1.
445 445  
446 -
447 -[[image:image-20220526153424-25.png||height="693" width="1414"]]
363 +[[image:https://wiki.dragino.com/images/thumb/7/70/Beacon15.png/600px-Beacon15.png||alt="Beacon15.png" height="294" width="600"]]
image-20220526150442-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -299.8 KB
Content
image-20220526150521-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -213.8 KB
Content
image-20220526150629-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -22.9 KB
Content
image-20220526150651-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -36.9 KB
Content
image-20220526150743-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -121.1 KB
Content
image-20220526150824-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -114.2 KB
Content
image-20220526150915-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -62.1 KB
Content
image-20220526151046-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -187.2 KB
Content
image-20220526151223-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -43.4 KB
Content
image-20220526151305-10.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -56.8 KB
Content
image-20220526151519-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -220.3 KB
Content
image-20220526151707-12.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -16.3 KB
Content
image-20220526151736-13.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -45.8 KB
Content
image-20220526151819-14.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -53.9 KB
Content
image-20220526152014-15.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -258.0 KB
Content
image-20220526152115-16.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -88.0 KB
Content
image-20220526152150-17.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -57.2 KB
Content
image-20220526152303-18.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -361.6 KB
Content
image-20220526152355-19.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -662.7 KB
Content
image-20220526152912-20.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -299.3 KB
Content
image-20220526153123-21.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -209.6 KB
Content
image-20220526153145-22.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -146.1 KB
Content
image-20220526153236-23.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -106.9 KB
Content
image-20220526153304-24.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -267.9 KB
Content
image-20220526153424-25.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -370.0 KB
Content