Changes for page Mapwize

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

From version 1.2
edited by Xiaoling
on 2022/05/17 10:13
Change comment: There is no comment for this version
To version 1.9
edited by Xiaoling
on 2022/05/17 10:49
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,16 +16,22 @@
16 16  == 2.1 Prepare iBeacons ==
17 17  
18 18  (((
19 +(((
19 19  Any BLE iBeacons should work in this solution, each iBeacon stands for a fix position in the map. Here is an iBeacon for example.
20 20  )))
22 +)))
21 21  
22 22  (((
25 +(((
23 23  First of all, user needs to accurately place the beacon at each location, which is the reference for positioning.
24 24  )))
28 +)))
25 25  
26 26  (((
31 +(((
27 27  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]]
28 28  )))
34 +)))
29 29  
30 30  [[image:https://wiki.dragino.com/images/thumb/8/88/Ibeacon1.png/300px-Ibeacon1.png||height="169" width="300"]]
31 31  
... ... @@ -32,8 +32,10 @@
32 32  BCN01 iBeacon
33 33  
34 34  (((
41 +(((
35 35  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".
36 36  )))
44 +)))
37 37  
38 38  [[image:https://wiki.dragino.com/images/thumb/f/fa/Ibeacon2.jpg/400px-Ibeacon2.jpg||height="867" width="400"]]
39 39  
... ... @@ -47,16 +47,22 @@
47 47  == 2.2 Create Map ==
48 48  
49 49  (((
58 +(((
50 50  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.
51 51  )))
61 +)))
52 52  
53 53  (((
64 +(((
54 54  ~1. Register an account at [[https:~~/~~/studio.mapwize.io/>>url:https://studio.mapwize.io/]] to create an indoor map.
55 55  )))
67 +)))
56 56  
57 57  (((
70 +(((
58 58  2. Create Place Types.
59 59  )))
73 +)))
60 60  
61 61  [[image:https://wiki.dragino.com/images/thumb/4/4d/Beacon10.png/600px-Beacon10.png||height="274" width="600"]]
62 62  
... ... @@ -67,12 +67,14 @@
67 67  [[image:https://wiki.dragino.com/images/thumb/e/e8/Beacon11.jpg/600px-Beacon11.jpg||alt="Beacon11.jpg" height="324" width="600"]]
68 68  
69 69  (((
84 +(((
70 70  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.
71 71  )))
87 +)))
72 72  
73 73  4. Upload Floor plan.
74 74  
75 -[[image:https://wiki.dragino.com/images/thumb/d/d1/Beacon12.png/600px-Beacon12.png||height="197" width="600"]]
91 +[[image:https://wiki.dragino.com/images/thumb/d/d1/Beacon12.png/800px-Beacon12.png||alt="File:Beacon12.png" height="196" width="598"]]
76 76  
77 77  add images
78 78  
... ... @@ -82,7 +82,9 @@
82 82  
83 83  create layer
84 84  
101 +(((
85 85  6. Add iBeacon position info. Drag the iBeacon to match position and input the UUID, MAJOR and MINOR of this iBeacon.
103 +)))
86 86  
87 87  [[image:https://wiki.dragino.com/images/thumb/1/1d/Beacon14.png/600px-Beacon14.png||height="261" width="600"]]
88 88  
... ... @@ -178,120 +178,155 @@
178 178  
179 179  = 4. Set Up Converter Server =
180 180  
181 -* How to install and run this service on Linux?
199 +* (((
200 +How to install and run this service on Linux?
201 +)))
182 182  
203 +(((
183 183  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 +)))
184 184  
207 +(((
185 185  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 +)))
186 186  
187 -
211 +(((
188 188  System: Debian / Ubuntu
213 +)))
189 189  
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 &}}}
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 +)))
213 213  
231 +(((
214 214  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 +)))
215 215  
216 216  = 5. Configuration file: location_conf.json =
217 217  
218 -* 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.
237 +* (((
238 +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.
239 +)))
219 219  
241 +(((
220 220  { "location_conf": {
243 +)))
221 221  
222 -{{{ "loctype": "indoor", // indoor/outdoor
223 - "locmap": "mapwize" // Map interface: mapwize, traccar
224 -}}}
245 +(% class="box" %)
246 +(((
247 +(((
248 + "loctype": "indoor",       ~/~/ indoor/outdoor
249 + "locmap": "mapwize"    ~/~/   Map interface: mapwize, traccar
250 +)))
251 +)))
225 225  
253 +(((
226 226  }, "mqtt_conf": {
255 +)))
227 227  
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
257 +(% class="box" %)
258 +(((
259 +(((
260 + "servaddr": "[str]",    ~/~/     Lorawan server address: Refer to TTN app handler:eu.thethings.network
261 + "servport": [int],       ~/~/   Lorawan server port: 1883
262 + "clientid": "[str]",       ~/~/   MQTT client identity: Custom
263 + "qos":[int],                 ~/~/  (Optional) MQTT service quality: 0
264 + "username":"[str]",     ~/~/   Agent name of mqtt: application ID of TTN
265 + "password":"[str]",      ~/~/  The proxy password of mqtt: application access key of TTN
266 + "topic":"[str]",              ~/~/ The topic of mqtt subscription: TTN is + / devices / + / up
267 + "connection":"[str]" },   ~/~/(Optional) mqtt is a string used for direct connection, composed of serveraddr and port
268 + "mapwize_conf":{          ~/~/Map settings
269 + "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
270 + "venueid":"[str]",        ~/~/ (Optional)Indoor map area identification
271 + "orgid":"[str]",           ~/~/  The identity of the user organizer
272 + "universesid":"[str]",   ~/~/The range indicator of the indoor map, find it on the universes page
273 + "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
242 242   },
243 243  "loracloud":{
244 - "token": "[str]" //The password string of loracloud location service, the outdoor map must fill in the account token of loracloud
245 -}}}
276 + "token":  "[str]"          ~/~/The password string of loracloud location service, the outdoor map must fill in the account token of loracloud
277 +)))
278 +)))
246 246  
280 +(((
247 247  }
282 +)))
248 248  
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 -}}}
284 +(% class="box" %)
285 +(((
286 +(((
287 +"rssi_conf": {
288 + "rssirate": [int],          ~/~/ (Optional) A basis for rssi calculation distance, the rssi value (absolute value) when the beacon is 1 meter apart 
289 + "rssidiv": [float] }        ~/~/ (Optional) rssi measures an attenuation value of distance. As the distance to the beacon is farther, the value changes speed
290 +)))
291 +)))
253 253  
293 +(((
254 254  }
295 +)))
255 255  
256 256  * Parameter acquisition method of configuration file:
257 257  
258 -{{{"username":"[str]"
259 -}}}
299 +(% class="box" %)
300 +(((
301 +"username":"[str]"
302 +)))
260 260  
261 261  [[image:https://wiki.dragino.com/images/thumb/d/da/Beacon50.png/600px-Beacon50.png||height="185" width="600"]]
262 262  
263 263  username
264 264  
265 -{{{"password":"[str]"
266 -}}}
308 +(% class="box" %)
309 +(((
310 +"password":"[str]"     
311 +)))
267 267  
268 268  [[image:https://wiki.dragino.com/images/thumb/b/bd/Beacon51.png/600px-Beacon51.png||height="260" width="600"]]
269 269  
270 270  password
271 271  
272 -{{{"apikey": "[str]"
273 -}}}
317 +(% class="box" %)
318 +(((
319 +"apikey": "[str]"
320 +)))
274 274  
275 275  [[image:https://wiki.dragino.com/images/thumb/5/53/Qwe3.png/600px-Qwe3.png||height="321" width="600"]]
276 276  
277 277  apikey
278 278  
279 -{{{"orgid":"[str]"
280 -}}}
326 +(% class="box" %)
327 +(((
328 +"orgid":"[str]"
329 +)))
281 281  
282 282  [[image:https://wiki.dragino.com/images/thumb/f/f4/Qwe4.png/600px-Qwe4.png||height="293" width="600"]]
283 283  
284 284  orgid
285 285  
286 -{{{"universesid":"[str]"
287 -}}}
335 +(% class="box" %)
336 +(((
337 +"universesid":"[str]"
338 +)))
288 288  
289 289  [[image:https://wiki.dragino.com/images/thumb/9/9a/Qwe5.jpg/600px-Qwe5.jpg||height="424" width="600"]]
290 290  
291 291  universesid
292 292  
293 -{{{"placetype": "[str]"
294 -}}}
344 +(% class="box" %)
345 +(((
346 +"placetype": "[str]"
347 +)))
295 295  
296 296  [[image:https://wiki.dragino.com/images/thumb/9/93/Qwe6.png/600px-Qwe6.png||height="318" width="600"]]
297 297  
... ... @@ -298,9 +298,10 @@
298 298  placetype
299 299  
300 300  
301 -* Here are two ways to enter the server
302 -* WinSCP
354 +**Here are two ways to enter the server:**
303 303  
356 +**~1. WinSCP**
357 +
304 304  [[image:https://wiki.dragino.com/images/thumb/6/6b/Ibeacon4.jpg/600px-Ibeacon4.jpg||height="385" width="600"]]
305 305  
306 306  [[image:https://wiki.dragino.com/images/thumb/7/78/Ibeacon5.jpg/600px-Ibeacon5.jpg||height="385" width="600"]]
... ... @@ -309,7 +309,7 @@
309 309  
310 310  way1
311 311  
312 -* secureCRT
366 +**2. secureCRT**
313 313  
314 314  [[image:https://wiki.dragino.com/images/thumb/7/7b/Ibeacon7.jpg/600px-Ibeacon7.jpg||height="326" width="600"]]
315 315