Changes for page Mapwize

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

From version 28.3
edited by Xiaoling
on 2022/07/25 11:32
Change comment: There is no comment for this version
To version 1.4
edited by Xiaoling
on 2022/05/17 10:16
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,28 +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  
16 +== 2.1 Prepare iBeacons ==
19 19  
20 -= 2.  Prepare Map =
21 -
22 -
23 -== 2.1  Prepare iBeacons ==
24 -
25 -
26 26  (((
27 27  (((
28 28  Any BLE iBeacons should work in this solution, each iBeacon stands for a fix position in the map. Here is an iBeacon for example.
... ... @@ -38,17 +38,13 @@
38 38  (((
39 39  (((
40 40  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]]
41 -
42 -
43 43  )))
44 44  )))
45 45  
46 -[[image:image-20220526150651-4.png]]
36 +[[image:https://wiki.dragino.com/images/thumb/8/88/Ibeacon1.png/300px-Ibeacon1.png||height="169" width="300"]]
47 47  
48 48  BCN01 iBeacon
49 49  
50 -
51 -
52 52  (((
53 53  (((
54 54  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".
... ... @@ -55,99 +55,75 @@
55 55  )))
56 56  )))
57 57  
58 -[[image:image-20220526150743-5.png]]
46 +[[image:https://wiki.dragino.com/images/thumb/f/fa/Ibeacon2.jpg/400px-Ibeacon2.jpg||height="867" width="400"]]
59 59  
60 60  beacon software
61 61  
62 62  
51 +[[image:https://wiki.dragino.com/images/thumb/f/f2/Ibeacon3.jpg/400px-Ibeacon3.jpg||height="867" width="400"]]
63 63  
64 -[[image:image-20220526150824-6.png]]
65 -
66 66  beacon software
67 67  
55 +== 2.2 Create Map ==
68 68  
69 -
70 -== 2.2  Create Map ==
71 -
72 -
73 73  (((
74 74  (((
75 75  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.
76 -
77 -
78 78  )))
79 79  )))
80 80  
81 81  (((
82 82  (((
83 -**~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.
84 84  )))
85 85  )))
86 86  
87 87  (((
88 88  (((
89 -**2. Create Place Types.**
90 -
91 -
71 +2. Create Place Types.
92 92  )))
93 93  )))
94 94  
95 -[[image:image-20220526150915-7.png]]
75 +[[image:https://wiki.dragino.com/images/thumb/4/4d/Beacon10.png/600px-Beacon10.png||height="274" width="600"]]
96 96  
97 97  Create place types
98 98  
79 +3. Search Venues. (Indoor map area identification)
99 99  
81 +[[image:https://wiki.dragino.com/images/thumb/e/e8/Beacon11.jpg/600px-Beacon11.jpg||alt="Beacon11.jpg" height="324" width="600"]]
100 100  
101 -**3. Search Venues. (Indoor map area identification)**
102 -
103 -
104 -[[image:image-20220526151046-8.png]]
105 -
106 -
107 107  (((
108 108  (((
109 109  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.
110 -
111 -
112 -
113 113  )))
114 114  )))
115 115  
116 -**4. Upload Floor plan.**
89 +4. Upload Floor plan.
117 117  
91 +[[image:https://wiki.dragino.com/images/thumb/d/d1/Beacon12.png/600px-Beacon12.png||height="197" width="600"]]
118 118  
119 -[[image:image-20220526151223-9.png]]
120 -
121 121  add images
122 122  
95 +5. Create Layer
123 123  
97 +[[image:https://wiki.dragino.com/images/thumb/0/0e/Beacon13.png/600px-Beacon13.png||height="208" width="600"]]
124 124  
125 -**5. Create Layer**
126 -
127 -
128 -[[image:image-20220526151305-10.png]]
129 -
130 130  create layer
131 131  
132 -
133 133  (((
134 -**6. Add iBeacon position info. Drag the iBeacon to match position and input the UUID, MAJOR and MINOR of this iBeacon.**
135 -
136 -
102 +6. Add iBeacon position info. Drag the iBeacon to match position and input the UUID, MAJOR and MINOR of this iBeacon.
137 137  )))
138 138  
139 -[[image:image-20220526151519-11.png]]
105 +[[image:https://wiki.dragino.com/images/thumb/1/1d/Beacon14.png/600px-Beacon14.png||height="261" width="600"]]
140 140  
141 141  create iBeacon
142 142  
143 -
144 144  = 3. Configure TTN =
145 145  
146 146  == 3.1 Configure LBT1 to Upload data to TTN ==
147 147  
148 -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.
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.
149 149  
150 -
151 151  == 3.2 Decoder in TTN ==
152 152  
153 153  (% class="box" %)
... ... @@ -230,7 +230,6 @@
230 230  
231 231  )))
232 232  
233 -
234 234  = 4. Set Up Converter Server =
235 235  
236 236  * (((
... ... @@ -246,6 +246,7 @@
246 246  )))
247 247  
248 248  (((
212 +
249 249  System: Debian / Ubuntu
250 250  )))
251 251  
... ... @@ -252,176 +252,142 @@
252 252  (% class="box" %)
253 253  (((
254 254  step:
255 -\\1. sudo apt install libcurl4-dev 
256 -\\2. sudo apt install  gcc automake autoconf libtool make cmake
257 -\\3. git clone -b master https:~/~/github.com/mikayong/location.git
258 -\\4. cd location/libmqtt
259 -\\5. mkdir build
260 -\\6. cd build && cmake ../
261 -\\7. make && sudo make install 
262 -\\8. cd ../
263 -\\9. make 
264 -\\10. sudo cp location_conf.json  /etc/
265 -\\11. Edit the configuration file, and run the location service in the background: ./location &
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 &
266 266  )))
267 267  
268 268  (((
269 269  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
270 -
271 -
272 272  )))
273 273  
274 274  = 5. Configuration file: location_conf.json =
275 275  
276 -* (((
277 -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 -)))
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.
279 279  
280 -(((
281 281  { "location_conf": {
282 -)))
283 283  
284 -(% class="box" %)
285 -(((
286 -(((
287 - "loctype": "indoor",       ~/~/ indoor/outdoor
288 - "locmap": "mapwize"    ~/~/   Map interface: mapwize, traccar
289 -)))
290 -)))
253 +{{{ "loctype": "indoor", // indoor/outdoor
254 + "locmap": "mapwize" // Map interface: mapwize, traccar
255 +}}}
291 291  
292 -(((
293 293  }, "mqtt_conf": {
294 -)))
295 295  
296 -(% class="box" %)
297 -(((
298 -(((
299 - "servaddr": "[str]",    ~/~/     Lorawan server address: Refer to TTN app handler:eu.thethings.network
300 - "servport": [int],       ~/~/   Lorawan server port: 1883
301 - "clientid": "[str]",       ~/~/   MQTT client identity: Custom
302 - "qos":[int],                 ~/~/  (Optional) MQTT service quality: 0
303 - "username":"[str]",     ~/~/   Agent name of mqtt: application ID of TTN
304 - "password":"[str]",      ~/~/  The proxy password of mqtt: application access key of TTN
305 - "topic":"[str]",              ~/~/ The topic of mqtt subscription: TTN is + / devices / + / up
306 - "connection":"[str]" },   ~/~/(Optional) mqtt is a string used for direct connection, composed of serveraddr and port
307 - "mapwize_conf":{          ~/~/Map settings
308 - "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
309 - "venueid":"[str]",        ~/~/ (Optional)Indoor map area identification
310 - "orgid":"[str]",           ~/~/  The identity of the user organizer
311 - "universesid":"[str]",   ~/~/The range indicator of the indoor map, find it on the universes page
312 - "placetype": "[str]"     ~/~/The type of place used to identify the creation must be created on the placetypes page in the map, where the placetype name is filled in
259 +{{{ "servaddr": "[str]", // Lorawan server address: Refer to TTN app handler:eu.thethings.network
260 + "servport": [int], // Lorawan server port: 1883
261 + "clientid": "[str]", // MQTT client identity: Custom
262 + "qos":[int], // (Optional) MQTT service quality: 0
263 + "username":"[str]", // Agent name of mqtt: application ID of TTN
264 + "password":"[str]", // The proxy password of mqtt: application access key of TTN
265 + "topic":"[str]", // The topic of mqtt subscription: TTN is + / devices / + / up
266 + "connection":"[str]" }, //(Optional) mqtt is a string used for direct connection, composed of serveraddr and port
267 +"mapwize_conf":{ //Map settings
268 + "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
269 + "venueid":"[str]", // (Optional)Indoor map area identification
270 + "orgid":"[str]", // The identity of the user organizer
271 + "universesid":"[str]", //The range indicator of the indoor map, find it on the universes page
272 + "placetype": "[str]" //The type of place used to identify the creation must be created on the placetypes page in the map, where the placetype name is filled in
313 313   },
314 314  "loracloud":{
315 - "token":  "[str]"          ~/~/The password string of loracloud location service, the outdoor map must fill in the account token of loracloud
316 -)))
317 -)))
275 + "token": "[str]" //The password string of loracloud location service, the outdoor map must fill in the account token of loracloud
276 +}}}
318 318  
319 -(((
320 320  }
321 -)))
322 322  
323 -(% class="box" %)
324 -(((
325 -(((
326 -"rssi_conf": {
327 - "rssirate": [int],          ~/~/ (Optional) A basis for rssi calculation distance, the rssi value (absolute value) when the beacon is 1 meter apart 
328 - "rssidiv": [float] }        ~/~/ (Optional) rssi measures an attenuation value of distance. As the distance to the beacon is farther, the value changes speed
329 -)))
330 -)))
280 +{{{"rssi_conf": {
281 + "rssirate": [int], // (Optional) A basis for rssi calculation distance, the rssi value (absolute value) when the beacon is 1 meter apart
282 + "rssidiv": [float] } // (Optional) rssi measures an attenuation value of distance. As the distance to the beacon is farther, the value changes speed
283 +}}}
331 331  
332 -(((
333 333  }
334 -)))
335 335  
336 336  * Parameter acquisition method of configuration file:
337 337  
338 -(% class="box" %)
339 -(((
340 -"username":"[str]"
341 -)))
289 +{{{"username":"[str]"
290 +}}}
342 342  
343 -[[image:image-20220526151707-12.png]]
292 +[[image:https://wiki.dragino.com/images/thumb/d/da/Beacon50.png/600px-Beacon50.png||height="185" width="600"]]
344 344  
345 345  username
346 346  
296 +{{{"password":"[str]"
297 +}}}
347 347  
348 -(% class="box" %)
349 -(((
350 -"password":"[str]"     
351 -)))
299 +[[image:https://wiki.dragino.com/images/thumb/b/bd/Beacon51.png/600px-Beacon51.png||height="260" width="600"]]
352 352  
353 -[[image:image-20220526151736-13.png]]
354 -
355 355  password
356 356  
303 +{{{"apikey": "[str]"
304 +}}}
357 357  
358 -(% class="box" %)
359 -(((
360 -"apikey": "[str]"
361 -)))
306 +[[image:https://wiki.dragino.com/images/thumb/5/53/Qwe3.png/600px-Qwe3.png||height="321" width="600"]]
362 362  
363 -[[image:image-20220526151819-14.png||height="588" width="1203"]]
364 -
365 365  apikey
366 366  
367 -(% class="box" %)
368 -(((
369 -"orgid":"[str]"
370 -)))
310 +{{{"orgid":"[str]"
311 +}}}
371 371  
372 -[[image:image-20220526152014-15.png]]
313 +[[image:https://wiki.dragino.com/images/thumb/f/f4/Qwe4.png/600px-Qwe4.png||height="293" width="600"]]
373 373  
374 374  orgid
375 375  
317 +{{{"universesid":"[str]"
318 +}}}
376 376  
377 -(% class="box" %)
378 -(((
379 -"universesid":"[str]"
380 -)))
320 +[[image:https://wiki.dragino.com/images/thumb/9/9a/Qwe5.jpg/600px-Qwe5.jpg||height="424" width="600"]]
381 381  
382 -[[image:image-20220526152115-16.png]]
383 -
384 384  universesid
385 385  
324 +{{{"placetype": "[str]"
325 +}}}
386 386  
387 -(% class="box" %)
388 -(((
389 -"placetype": "[str]"
390 -)))
327 +[[image:https://wiki.dragino.com/images/thumb/9/93/Qwe6.png/600px-Qwe6.png||height="318" width="600"]]
391 391  
392 -[[image:image-20220526152150-17.png]]
393 -
394 394  placetype
395 395  
396 396  
397 -**Here are two ways to enter the server:**
332 +* Here are two ways to enter the server
333 +* WinSCP
398 398  
399 -**~1. WinSCP**
335 +[[image:https://wiki.dragino.com/images/thumb/6/6b/Ibeacon4.jpg/600px-Ibeacon4.jpg||height="385" width="600"]]
400 400  
401 -[[image:image-20220526152303-18.png]]
337 +[[image:https://wiki.dragino.com/images/thumb/7/78/Ibeacon5.jpg/600px-Ibeacon5.jpg||height="385" width="600"]]
402 402  
339 +[[image:https://wiki.dragino.com/images/thumb/c/cd/Ibeacon6.jpg/600px-Ibeacon6.jpg||height="363" width="600"]]
403 403  
404 -[[image:image-20220526152355-19.png]]
405 -
406 -
407 -[[image:image-20220526152912-20.png]]
408 -
409 409  way1
410 410  
343 +* secureCRT
411 411  
412 -**2. secureCRT**
345 +[[image:https://wiki.dragino.com/images/thumb/7/7b/Ibeacon7.jpg/600px-Ibeacon7.jpg||height="326" width="600"]]
413 413  
414 -[[image:image-20220526153145-22.png]]
347 +[[image:https://wiki.dragino.com/images/thumb/6/64/Ibeacon8.jpg/600px-Ibeacon8.jpg||height="326" width="600"]]
415 415  
416 -[[image:image-20220526153236-23.png]]
349 +[[image:https://wiki.dragino.com/images/thumb/d/de/Ibeacon9.jpg/600px-Ibeacon9.jpg||height="326" width="600"]]
417 417  
418 -[[image:image-20220526153304-24.png]]
419 -
420 420  way2
421 421  
422 -
423 423  = 6. Test Result =
424 424  
425 425  The real-time position on the map is obtained according to the moving change of LBT1.
426 426  
427 -[[image:image-20220526153424-25.png||height="693" width="1414"]]
357 +[[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