Changes for page Mapwize

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

From version 1.8
edited by Xiaoling
on 2022/05/17 10:47
Change comment: There is no comment for this version
To version 1.2
edited by Xiaoling
on 2022/05/17 10:13
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,4 +1,4 @@
1 -**~ Contents:**
1 +**Contents:**
2 2  
3 3  {{toc/}}
4 4  
... ... @@ -16,22 +16,16 @@
16 16  == 2.1 Prepare iBeacons ==
17 17  
18 18  (((
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.
21 21  )))
22 -)))
23 23  
24 24  (((
25 -(((
26 26  First of all, user needs to accurately place the beacon at each location, which is the reference for positioning.
27 27  )))
28 -)))
29 29  
30 30  (((
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]]
33 33  )))
34 -)))
35 35  
36 36  [[image:https://wiki.dragino.com/images/thumb/8/88/Ibeacon1.png/300px-Ibeacon1.png||height="169" width="300"]]
37 37  
... ... @@ -38,10 +38,8 @@
38 38  BCN01 iBeacon
39 39  
40 40  (((
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 43  )))
44 -)))
45 45  
46 46  [[image:https://wiki.dragino.com/images/thumb/f/fa/Ibeacon2.jpg/400px-Ibeacon2.jpg||height="867" width="400"]]
47 47  
... ... @@ -55,22 +55,16 @@
55 55  == 2.2 Create Map ==
56 56  
57 57  (((
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.
60 60  )))
61 -)))
62 62  
63 63  (((
64 -(((
65 65  ~1. Register an account at [[https:~~/~~/studio.mapwize.io/>>url:https://studio.mapwize.io/]] to create an indoor map.
66 66  )))
67 -)))
68 68  
69 69  (((
70 -(((
71 71  2. Create Place Types.
72 72  )))
73 -)))
74 74  
75 75  [[image:https://wiki.dragino.com/images/thumb/4/4d/Beacon10.png/600px-Beacon10.png||height="274" width="600"]]
76 76  
... ... @@ -81,14 +81,12 @@
81 81  [[image:https://wiki.dragino.com/images/thumb/e/e8/Beacon11.jpg/600px-Beacon11.jpg||alt="Beacon11.jpg" height="324" width="600"]]
82 82  
83 83  (((
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.
86 86  )))
87 -)))
88 88  
89 89  4. Upload Floor plan.
90 90  
91 -[[image:https://wiki.dragino.com/images/thumb/d/d1/Beacon12.png/800px-Beacon12.png||alt="File:Beacon12.png" height="196" width="598"]]
75 +[[image:https://wiki.dragino.com/images/thumb/d/d1/Beacon12.png/600px-Beacon12.png||height="197" width="600"]]
92 92  
93 93  add images
94 94  
... ... @@ -98,9 +98,7 @@
98 98  
99 99  create layer
100 100  
101 -(((
102 102  6. Add iBeacon position info. Drag the iBeacon to match position and input the UUID, MAJOR and MINOR of this iBeacon.
103 -)))
104 104  
105 105  [[image:https://wiki.dragino.com/images/thumb/1/1d/Beacon14.png/600px-Beacon14.png||height="261" width="600"]]
106 106  
... ... @@ -196,41 +196,40 @@
196 196  
197 197  = 4. Set Up Converter Server =
198 198  
199 -* (((
200 -How to install and run this service on Linux?
201 -)))
181 +* How to install and run this service on Linux?
202 202  
203 -(((
204 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).
205 -)))
206 206  
207 -(((
208 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.
209 -)))
210 210  
211 -(((
187 +
212 212  System: Debian / Ubuntu
213 -)))
214 214  
215 -(% class="box" %)
216 -(((
217 -step:
218 -\\1. sudo apt install libcurl4-dev 
219 -\\2. sudo apt install  gcc automake autoconf libtool make cmake
220 -\\3. git clone -b master https:~/~/github.com/mikayong/location.git
221 -\\4. cd location/libmqtt
222 -\\5. mkdir build
223 -\\6. cd build && cmake ../
224 -\\7. make && sudo make install 
225 -\\8. cd ../
226 -\\9. make 
227 -\\10. sudo cp location_conf.json  /etc/
228 -\\11. Edit the configuration file, and run the location service in the background: ./location &
229 -)))
190 +{{{step:
191
192 +1. sudo apt install libcurl4-dev 
193
194 +2. sudo apt install  gcc automake autoconf libtool make cmake
195
196 +3. git clone -b master https://github.com/mikayong/location.git
197
198 +4. cd location/libmqtt
199
200 +5. mkdir build
201
202 +6. cd build && cmake ../
203
204 +7. make && sudo make install 
205
206 +8. cd ../
207
208 +9. make 
209
210 +10. sudo cp location_conf.json  /etc/
211
212 +11. Edit the configuration file, and run the location service in the background: ./location &}}}
230 230  
231 -(((
232 232  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
233 -)))
234 234  
235 235  = 5. Configuration file: location_conf.json =
236 236  
... ... @@ -238,97 +238,79 @@
238 238  
239 239  { "location_conf": {
240 240  
241 -(% class="box" %)
242 -(((
243 - "loctype": "indoor",       ~/~/ indoor/outdoor
244 - "locmap": "mapwize"    ~/~/   Map interface: mapwize, traccar
245 -)))
222 +{{{ "loctype": "indoor", // indoor/outdoor
223 + "locmap": "mapwize" // Map interface: mapwize, traccar
224 +}}}
246 246  
247 247  }, "mqtt_conf": {
248 248  
249 -(% class="box" %)
250 -(((
251 - "servaddr": "[str]",    ~/~/     Lorawan server address: Refer to TTN app handler:eu.thethings.network
252 - "servport": [int],       ~/~/   Lorawan server port: 1883
253 - "clientid": "[str]",       ~/~/   MQTT client identity: Custom
254 - "qos":[int],                 ~/~/  (Optional) MQTT service quality: 0
255 - "username":"[str]",     ~/~/   Agent name of mqtt: application ID of TTN
256 - "password":"[str]",      ~/~/  The proxy password of mqtt: application access key of TTN
257 - "topic":"[str]",              ~/~/ The topic of mqtt subscription: TTN is + / devices / + / up
258 - "connection":"[str]" },   ~/~/(Optional) mqtt is a string used for direct connection, composed of serveraddr and port
259 -"mapwize_conf":{          ~/~/Map settings
260 - "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
261 - "venueid":"[str]",        ~/~/ (Optional)Indoor map area identification
262 - "orgid":"[str]",           ~/~/  The identity of the user organizer
263 - "universesid":"[str]",   ~/~/The range indicator of the indoor map, find it on the universes page
264 - "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
228 +{{{ "servaddr": "[str]", // Lorawan server address: Refer to TTN app handler:eu.thethings.network
229 + "servport": [int], // Lorawan server port: 1883
230 + "clientid": "[str]", // MQTT client identity: Custom
231 + "qos":[int], // (Optional) MQTT service quality: 0
232 + "username":"[str]", // Agent name of mqtt: application ID of TTN
233 + "password":"[str]", // The proxy password of mqtt: application access key of TTN
234 + "topic":"[str]", // The topic of mqtt subscription: TTN is + / devices / + / up
235 + "connection":"[str]" }, //(Optional) mqtt is a string used for direct connection, composed of serveraddr and port
236 +"mapwize_conf":{ //Map settings
237 + "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
238 + "venueid":"[str]", // (Optional)Indoor map area identification
239 + "orgid":"[str]", // The identity of the user organizer
240 + "universesid":"[str]", //The range indicator of the indoor map, find it on the universes page
241 + "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
265 265   },
266 266  "loracloud":{
267 - "token":  "[str]"          ~/~/The password string of loracloud location service, the outdoor map must fill in the account token of loracloud
268 -)))
244 + "token": "[str]" //The password string of loracloud location service, the outdoor map must fill in the account token of loracloud
245 +}}}
269 269  
270 270  }
271 271  
272 -(% class="box" %)
273 -(((
274 -"rssi_conf": {
275 - "rssirate": [int],          ~/~/ (Optional) A basis for rssi calculation distance, the rssi value (absolute value) when the beacon is 1 meter apart 
276 - "rssidiv": [float] }        ~/~/ (Optional) rssi measures an attenuation value of distance. As the distance to the beacon is farther, the value changes speed
277 -)))
249 +{{{"rssi_conf": {
250 + "rssirate": [int], // (Optional) A basis for rssi calculation distance, the rssi value (absolute value) when the beacon is 1 meter apart
251 + "rssidiv": [float] } // (Optional) rssi measures an attenuation value of distance. As the distance to the beacon is farther, the value changes speed
252 +}}}
278 278  
279 279  }
280 280  
281 281  * Parameter acquisition method of configuration file:
282 282  
283 -(% class="box" %)
284 -(((
285 -"username":"[str]"
286 -)))
258 +{{{"username":"[str]"
259 +}}}
287 287  
288 288  [[image:https://wiki.dragino.com/images/thumb/d/da/Beacon50.png/600px-Beacon50.png||height="185" width="600"]]
289 289  
290 290  username
291 291  
292 -(% class="box" %)
293 -(((
294 -"password":"[str]"     
295 -)))
265 +{{{"password":"[str]"
266 +}}}
296 296  
297 297  [[image:https://wiki.dragino.com/images/thumb/b/bd/Beacon51.png/600px-Beacon51.png||height="260" width="600"]]
298 298  
299 299  password
300 300  
301 -(% class="box" %)
302 -(((
303 -"apikey": "[str]"
304 -)))
272 +{{{"apikey": "[str]"
273 +}}}
305 305  
306 306  [[image:https://wiki.dragino.com/images/thumb/5/53/Qwe3.png/600px-Qwe3.png||height="321" width="600"]]
307 307  
308 308  apikey
309 309  
310 -(% class="box" %)
311 -(((
312 -"orgid":"[str]"
313 -)))
279 +{{{"orgid":"[str]"
280 +}}}
314 314  
315 315  [[image:https://wiki.dragino.com/images/thumb/f/f4/Qwe4.png/600px-Qwe4.png||height="293" width="600"]]
316 316  
317 317  orgid
318 318  
319 -(% class="box" %)
320 -(((
321 -"universesid":"[str]"
322 -)))
286 +{{{"universesid":"[str]"
287 +}}}
323 323  
324 324  [[image:https://wiki.dragino.com/images/thumb/9/9a/Qwe5.jpg/600px-Qwe5.jpg||height="424" width="600"]]
325 325  
326 326  universesid
327 327  
328 -(% class="box" %)
329 -(((
330 -"placetype": "[str]"
331 -)))
293 +{{{"placetype": "[str]"
294 +}}}
332 332  
333 333  [[image:https://wiki.dragino.com/images/thumb/9/93/Qwe6.png/600px-Qwe6.png||height="318" width="600"]]
334 334  
... ... @@ -335,10 +335,9 @@
335 335  placetype
336 336  
337 337  
338 -**Here are two ways to enter the server:**
301 +* Here are two ways to enter the server
302 +* WinSCP
339 339  
340 -**~1. WinSCP**
341 -
342 342  [[image:https://wiki.dragino.com/images/thumb/6/6b/Ibeacon4.jpg/600px-Ibeacon4.jpg||height="385" width="600"]]
343 343  
344 344  [[image:https://wiki.dragino.com/images/thumb/7/78/Ibeacon5.jpg/600px-Ibeacon5.jpg||height="385" width="600"]]
... ... @@ -347,7 +347,7 @@
347 347  
348 348  way1
349 349  
350 -**2. secureCRT**
312 +* secureCRT
351 351  
352 352  [[image:https://wiki.dragino.com/images/thumb/7/7b/Ibeacon7.jpg/600px-Ibeacon7.jpg||height="326" width="600"]]
353 353