Changes for page Mapwize

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

From version 1.5
edited by Xiaoling
on 2022/05/17 10:18
Change comment: There is no comment for this version
To version 28.4
edited by Xiaoling
on 2022/07/25 11:33
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,20 +1,28 @@
1 -**Contents:**
1 +**~ Table of Contents:**
2 2  
3 3  {{toc/}}
4 4  
5 5  
6 -= 1. Introduction =
7 7  
7 +
8 += 1.  Introduction =
9 +
10 +
8 8  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.
9 9  
10 -[[image:https://wiki.dragino.com/images/thumb/1/1a/LBT1_Mapwize_1.png/600px-LBT1_Mapwize_1.png||height="511" width="600"]]
11 11  
14 +[[image:image-20220526150521-2.png]]
15 +
12 12  LBT1 Indoor Positioning Network Structure
13 13  
14 -= 2. Prepare Map =
15 15  
16 -== 2.1 Prepare iBeacons ==
17 17  
20 += 2.  Prepare Map =
21 +
22 +
23 +== 2.1  Prepare iBeacons ==
24 +
25 +
18 18  (((
19 19  (((
20 20  Any BLE iBeacons should work in this solution, each iBeacon stands for a fix position in the map. Here is an iBeacon for example.
... ... @@ -30,13 +30,17 @@
30 30  (((
31 31  (((
32 32  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 +
33 33  )))
34 34  )))
35 35  
36 -[[image:https://wiki.dragino.com/images/thumb/8/88/Ibeacon1.png/300px-Ibeacon1.png||height="169" width="300"]]
46 +[[image:image-20220526150651-4.png]]
37 37  
38 38  BCN01 iBeacon
39 39  
50 +
51 +
40 40  (((
41 41  (((
42 42  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".
... ... @@ -43,77 +43,106 @@
43 43  )))
44 44  )))
45 45  
46 -[[image:https://wiki.dragino.com/images/thumb/f/fa/Ibeacon2.jpg/400px-Ibeacon2.jpg||height="867" width="400"]]
58 +[[image:image-20220526150743-5.png]]
47 47  
48 48  beacon software
49 49  
50 50  
51 -[[image:https://wiki.dragino.com/images/thumb/f/f2/Ibeacon3.jpg/400px-Ibeacon3.jpg||height="867" width="400"]]
52 52  
64 +[[image:image-20220526150824-6.png]]
65 +
53 53  beacon software
54 54  
55 -== 2.2 Create Map ==
56 56  
69 +
70 +== 2.2  Create Map ==
71 +
72 +
57 57  (((
58 58  (((
59 59  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 +
60 60  )))
61 61  )))
62 62  
63 63  (((
64 64  (((
65 -~1. Register an account at [[https:~~/~~/studio.mapwize.io/>>url:https://studio.mapwize.io/]] to create an indoor map.
83 +**~1. Register an account at [[https:~~/~~/studio.mapwize.io/>>url:https://studio.mapwize.io/]] to create an indoor map.**
66 66  )))
67 67  )))
68 68  
69 69  (((
70 70  (((
71 -2. Create Place Types.
89 +**2. Create Place Types.**
90 +
91 +
72 72  )))
73 73  )))
74 74  
75 -[[image:https://wiki.dragino.com/images/thumb/4/4d/Beacon10.png/600px-Beacon10.png||height="274" width="600"]]
95 +[[image:image-20220526150915-7.png]]
76 76  
77 77  Create place types
78 78  
79 -3. Search Venues. (Indoor map area identification)
80 80  
81 -[[image:https://wiki.dragino.com/images/thumb/e/e8/Beacon11.jpg/600px-Beacon11.jpg||alt="Beacon11.jpg" height="324" width="600"]]
82 82  
101 +**3. Search Venues. (Indoor map area identification)**
102 +
103 +
104 +[[image:image-20220526151046-8.png]]
105 +
106 +
83 83  (((
84 84  (((
85 85  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 +
86 86  )))
87 87  )))
88 88  
89 -4. Upload Floor plan.
116 +**4. Upload Floor plan.**
90 90  
91 -[[image:https://wiki.dragino.com/images/thumb/d/d1/Beacon12.png/600px-Beacon12.png||height="197" width="600"]]
92 92  
119 +[[image:image-20220526151223-9.png]]
120 +
93 93  add images
94 94  
95 -5. Create Layer
96 96  
97 -[[image:https://wiki.dragino.com/images/thumb/0/0e/Beacon13.png/600px-Beacon13.png||height="208" width="600"]]
98 98  
125 +**5. Create Layer**
126 +
127 +
128 +[[image:image-20220526151305-10.png]]
129 +
99 99  create layer
100 100  
132 +
101 101  (((
102 -6. Add iBeacon position info. Drag the iBeacon to match position and input the UUID, MAJOR and MINOR of this iBeacon.
134 +**6. Add iBeacon position info. Drag the iBeacon to match position and input the UUID, MAJOR and MINOR of this iBeacon.**
135 +
136 +
103 103  )))
104 104  
105 -[[image:https://wiki.dragino.com/images/thumb/1/1d/Beacon14.png/600px-Beacon14.png||height="261" width="600"]]
139 +[[image:image-20220526151519-11.png]]
106 106  
107 107  create iBeacon
108 108  
109 -= 3. Configure TTN =
110 110  
111 -== 3.1 Configure LBT1 to Upload data to TTN ==
112 112  
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.
145 += 3.  Configure TTN =
114 114  
115 -== 3.2 Decoder in TTN ==
116 116  
148 +== 3.1  Configure LBT1 to Upload data to TTN ==
149 +
150 +
151 +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.
152 +
153 +
154 +
155 +== 3.2  Decoder in TTN ==
156 +
157 +
117 117  (% class="box" %)
118 118  (((
119 119  function Decoder(bytes, port) {
... ... @@ -194,81 +194,83 @@
194 194  
195 195  )))
196 196  
197 -= 4. Set Up Converter Server =
198 198  
239 +
240 += 4.  Set Up Converter Server =
241 +
242 +
199 199  * (((
200 -How to install and run this service on Linux?
244 +**How to install and run this service on Linux?**
201 201  )))
202 202  
203 203  (((
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).
248 +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).
205 205  )))
206 206  
207 207  (((
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.
252 +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.
209 209  )))
210 210  
211 211  (((
212 -
213 -System: Debian / Ubuntu
256 +System:  Debian / Ubuntu
214 214  )))
215 215  
216 216  (% class="box" %)
217 217  (((
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 &
261 +**step:**
262 +\\1. sudo apt install libcurl4-dev 
263 +\\2. sudo apt install  gcc automake autoconf libtool make cmake
264 +\\3. git clone -b master https:~/~/github.com/mikayong/location.git
265 +\\4. cd location/libmqtt
266 +\\5. mkdir build
267 +\\6. cd build && cmake ../
268 +\\7. make && sudo make install 
269 +\\8. cd ../
270 +\\9. make 
271 +\\10. sudo cp location_conf.json  /etc/
272 +\\11. Edit the configuration file, and run the location service in the background: ./location &
241 241  )))
242 242  
243 243  (((
244 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
277 +
278 +
245 245  )))
246 246  
247 247  = 5. Configuration file: location_conf.json =
248 248  
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.
283 +* (((
284 +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.
285 +)))
250 250  
287 +(((
251 251  { "location_conf": {
289 +)))
252 252  
253 253  (% class="box" %)
254 254  (((
293 +(((
255 255   "loctype": "indoor",       ~/~/ indoor/outdoor
256 256   "locmap": "mapwize"    ~/~/   Map interface: mapwize, traccar
257 257  )))
297 +)))
258 258  
299 +(((
259 259  }, "mqtt_conf": {
301 +)))
260 260  
261 261  (% class="box" %)
262 262  (((
305 +(((
263 263   "servaddr": "[str]",    ~/~/     Lorawan server address: Refer to TTN app handler:eu.thethings.network
264 264   "servport": [int],       ~/~/   Lorawan server port: 1883
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
308 + "clientid": "[str]",       ~/~/   MQTT client identity: Custom
309 + "qos":[int],                 ~/~/  (Optional) MQTT service quality: 0
310 + "username":"[str]",     ~/~/   Agent name of mqtt: application ID of TTN
268 268   "password":"[str]",      ~/~/  The proxy password of mqtt: application access key of TTN
269 - "topic":"[str]",              ~/~/ The topic of mqtt subscription: TTN is + / devices / + / up
312 + "topic":"[str]",              ~/~/ The topic of mqtt subscription: TTN is + / devices / + / up
270 270   "connection":"[str]" },   ~/~/(Optional) mqtt is a string used for direct connection, composed of serveraddr and port
271 -"mapwize_conf":{          ~/~/Map settings
314 + "mapwize_conf":{          ~/~/Map settings
272 272   "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
273 273   "venueid":"[str]",        ~/~/ (Optional)Indoor map area identification
274 274   "orgid":"[str]",           ~/~/  The identity of the user organizer
... ... @@ -278,86 +278,114 @@
278 278  "loracloud":{
279 279   "token":  "[str]"          ~/~/The password string of loracloud location service, the outdoor map must fill in the account token of loracloud
280 280  )))
324 +)))
281 281  
326 +(((
282 282  }
328 +)))
283 283  
284 284  (% class="box" %)
285 285  (((
332 +(((
286 286  "rssi_conf": {
287 287   "rssirate": [int],          ~/~/ (Optional) A basis for rssi calculation distance, the rssi value (absolute value) when the beacon is 1 meter apart 
288 288   "rssidiv": [float] }        ~/~/ (Optional) rssi measures an attenuation value of distance. As the distance to the beacon is farther, the value changes speed
289 289  )))
337 +)))
290 290  
339 +(((
291 291  }
341 +)))
292 292  
293 293  * Parameter acquisition method of configuration file:
294 294  
295 -{{{"username":"[str]"
296 -}}}
345 +(% class="box" %)
346 +(((
347 +"username":"[str]"
348 +)))
297 297  
298 -[[image:https://wiki.dragino.com/images/thumb/d/da/Beacon50.png/600px-Beacon50.png||height="185" width="600"]]
350 +[[image:image-20220526151707-12.png]]
299 299  
300 300  username
301 301  
302 -{{{"password":"[str]"
303 -}}}
304 304  
305 -[[image:https://wiki.dragino.com/images/thumb/b/bd/Beacon51.png/600px-Beacon51.png||height="260" width="600"]]
355 +(% class="box" %)
356 +(((
357 +"password":"[str]"     
358 +)))
306 306  
360 +[[image:image-20220526151736-13.png]]
361 +
307 307  password
308 308  
309 -{{{"apikey": "[str]"
310 -}}}
311 311  
312 -[[image:https://wiki.dragino.com/images/thumb/5/53/Qwe3.png/600px-Qwe3.png||height="321" width="600"]]
365 +(% class="box" %)
366 +(((
367 +"apikey": "[str]"
368 +)))
313 313  
370 +[[image:image-20220526151819-14.png||height="588" width="1203"]]
371 +
314 314  apikey
315 315  
316 -{{{"orgid":"[str]"
317 -}}}
374 +(% class="box" %)
375 +(((
376 +"orgid":"[str]"
377 +)))
318 318  
319 -[[image:https://wiki.dragino.com/images/thumb/f/f4/Qwe4.png/600px-Qwe4.png||height="293" width="600"]]
379 +[[image:image-20220526152014-15.png]]
320 320  
321 321  orgid
322 322  
323 -{{{"universesid":"[str]"
324 -}}}
325 325  
326 -[[image:https://wiki.dragino.com/images/thumb/9/9a/Qwe5.jpg/600px-Qwe5.jpg||height="424" width="600"]]
384 +(% class="box" %)
385 +(((
386 +"universesid":"[str]"
387 +)))
327 327  
389 +[[image:image-20220526152115-16.png]]
390 +
328 328  universesid
329 329  
330 -{{{"placetype": "[str]"
331 -}}}
332 332  
333 -[[image:https://wiki.dragino.com/images/thumb/9/93/Qwe6.png/600px-Qwe6.png||height="318" width="600"]]
394 +(% class="box" %)
395 +(((
396 +"placetype": "[str]"
397 +)))
334 334  
399 +[[image:image-20220526152150-17.png]]
400 +
335 335  placetype
336 336  
337 337  
338 -* Here are two ways to enter the server
339 -* WinSCP
404 +**Here are two ways to enter the server:**
340 340  
341 -[[image:https://wiki.dragino.com/images/thumb/6/6b/Ibeacon4.jpg/600px-Ibeacon4.jpg||height="385" width="600"]]
406 +**~1. WinSCP**
342 342  
343 -[[image:https://wiki.dragino.com/images/thumb/7/78/Ibeacon5.jpg/600px-Ibeacon5.jpg||height="385" width="600"]]
408 +[[image:image-20220526152303-18.png]]
344 344  
345 -[[image:https://wiki.dragino.com/images/thumb/c/cd/Ibeacon6.jpg/600px-Ibeacon6.jpg||height="363" width="600"]]
346 346  
411 +[[image:image-20220526152355-19.png]]
412 +
413 +
414 +[[image:image-20220526152912-20.png]]
415 +
347 347  way1
348 348  
349 -* secureCRT
350 350  
351 -[[image:https://wiki.dragino.com/images/thumb/7/7b/Ibeacon7.jpg/600px-Ibeacon7.jpg||height="326" width="600"]]
419 +**2. secureCRT**
352 352  
353 -[[image:https://wiki.dragino.com/images/thumb/6/64/Ibeacon8.jpg/600px-Ibeacon8.jpg||height="326" width="600"]]
421 +[[image:image-20220526153145-22.png]]
354 354  
355 -[[image:https://wiki.dragino.com/images/thumb/d/de/Ibeacon9.jpg/600px-Ibeacon9.jpg||height="326" width="600"]]
423 +[[image:image-20220526153236-23.png]]
356 356  
425 +[[image:image-20220526153304-24.png]]
426 +
357 357  way2
358 358  
429 +
359 359  = 6. Test Result =
360 360  
361 361  The real-time position on the map is obtained according to the moving change of LBT1.
362 362  
363 -[[image:https://wiki.dragino.com/images/thumb/7/70/Beacon15.png/600px-Beacon15.png||alt="Beacon15.png" height="294" width="600"]]
434 +[[image:image-20220526153424-25.png||height="693" width="1414"]]
image-20220526150442-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +299.8 KB
Content
image-20220526150521-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +213.8 KB
Content
image-20220526150629-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +22.9 KB
Content
image-20220526150651-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +36.9 KB
Content
image-20220526150743-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +121.1 KB
Content
image-20220526150824-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +114.2 KB
Content
image-20220526150915-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +62.1 KB
Content
image-20220526151046-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +187.2 KB
Content
image-20220526151223-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +43.4 KB
Content
image-20220526151305-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +56.8 KB
Content
image-20220526151519-11.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +220.3 KB
Content
image-20220526151707-12.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +16.3 KB
Content
image-20220526151736-13.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +45.8 KB
Content
image-20220526151819-14.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +53.9 KB
Content
image-20220526152014-15.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +258.0 KB
Content
image-20220526152115-16.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +88.0 KB
Content
image-20220526152150-17.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +57.2 KB
Content
image-20220526152303-18.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +361.6 KB
Content
image-20220526152355-19.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +662.7 KB
Content
image-20220526152912-20.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +299.3 KB
Content
image-20220526153123-21.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +209.6 KB
Content
image-20220526153145-22.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +146.1 KB
Content
image-20220526153236-23.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +106.9 KB
Content
image-20220526153304-24.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +267.9 KB
Content
image-20220526153424-25.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +370.0 KB
Content