Insight Fieldtracks
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 490 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/47276 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSDEM 2020429 / 490
4
7
9
10
14
15
16
25
26
29
31
33
34
35
37
40
41
42
43
45
46
47
50
51
52
53
54
58
60
64
65
66
67
70
71
72
74
75
76
77
78
82
83
84
86
89
90
93
94
95
96
98
100
101
105
106
109
110
116
118
123
124
130
135
137
141
142
144
146
151
154
157
159
164
166
167
169
172
174
178
182
184
185
186
187
189
190
191
192
193
194
195
200
202
203
204
205
206
207
208
211
212
214
218
222
225
228
230
232
233
235
236
240
242
244
249
250
251
253
254
258
261
262
266
267
268
271
273
274
275
278
280
281
282
283
284
285
286
288
289
290
291
293
295
296
297
298
301
302
303
305
306
307
310
311
315
317
318
319
328
333
350
353
354
356
359
360
361
370
372
373
374
375
379
380
381
383
385
386
387
388
391
393
394
395
397
398
399
401
409
410
411
414
420
421
422
423
424
425
427
429
430
434
438
439
444
449
450
454
457
458
459
460
461
464
465
466
468
469
470
471
472
480
484
486
487
489
490
00:00
Video trackingField (computer science)Archaeological field surveyCartesian coordinate systemProjective planeTrailSimilarity (geometry)ReliefSelf-organizationWave packetComputer animation
00:53
Cartesian coordinate systemGraph (mathematics)TrailMobile appComputer animation
01:18
Graph (mathematics)Field (computer science)Dot productSoftwareInternet der DingeMoment (mathematics)BitView (database)Point (geometry)Field (computer science)Wave packetComputer animationDiagram
02:51
Field (computer science)Local ringWindowRevision controlMessage passingInternet der DingeBitPrice indexField (computer science)Computer animation
04:18
Video trackingPhysical systemReliefFood energyPlastikkarteFlash memoryData fusionPerformance appraisalData storage deviceInstallation artReal numberAnnulus (mathematics)Client (computing)TouchscreenPhysical systemTrailMathematical analysisDrill commandsSmartphoneInformationResultantConnectivity (graph theory)Domain nameSoftware testingCartesian coordinate systemField (computer science)Front and back endsContext awarenessFile formatSoftwareData structureWeb applicationArithmetic progressionExploit (computer security)Software developerTelecommunicationBus (computing)Business objectData storage deviceService (economics)Computer fileServer (computing)Mobile appUser interfaceMoment (mathematics)Multiplication signCategory of beingPower (physics)Computer architectureComputer animation
09:10
Field (computer science)Wave packetBasis <Mathematik>Physical systemSoftware testingSoftware bugSign (mathematics)Bit
10:17
Parallel portPerspective (visual)TelecommunicationPhysical systemCondition numberComputer configurationIntegrated development environmentPoint (geometry)Mereology
11:38
Proof theoryUser interfaceVisualization (computer graphics)Interactive televisionPhysical systemDifferent (Kate Ryan album)Position operatorNavigationDot productPhysical systemNegative numberOrder (biology)Software testingPoint (geometry)Hacker (term)SoftwareClient (computing)Computer animation
13:41
System programmingComputer networkWebsiteProof theoryUser interfaceInteractive televisionMobile WebVisualization (computer graphics)Service (economics)Polygon meshOverlay-NetzWide area networkPoint cloudPhysical systemSoftware developerPhysical systemWeb 2.0SmartphonePosition operatorHybrid computerInternetworkingGraphical user interfaceResultantField (computer science)Data miningVermaschtes NetzReliefPropagatorWave packetIntegrated development environmentPoint (geometry)Mobile WebTrailChannel capacitySelf-organizationSoftwareOnline helpInternet der DingeComputer animation
17:01
Home pageMatrix (mathematics)VacuumProblemorientierte ProgrammierspracheEmailWindowProjective planeTerm (mathematics)Position operatorEmailCASE <Informatik>PlanningConnected spaceScaling (geometry)Router (computing)SimulationPower (physics)Dependent and independent variablesDuality (mathematics)Virtual machineRange (statistics)MetreDistanceReflection (mathematics)SoftwarePropagatorPoint (geometry)Home pagePoint cloudPhysical systemMatrix (mathematics)EstimatorField (computer science)Condition numberOrder (biology)Thresholding (image processing)Multiplication signRoundness (object)Online helpOpen sourceFood energyData miningCellular automatonGoodness of fitMusical ensembleHookingComputer animation
24:11
ClefPhysical systemHydraulic jumpUniverse (mathematics)TrailData miningConnectivity (graph theory)Open sourceAreaField (computer science)Software developerSoftwareCore dumpPolygon meshPhysical systemCASE <Informatik>Projective planeStudent's t-testIntegrated development environmentPhysical lawCommunications protocolComputer animation
26:28
Computer animation
27:10
FacebookPoint cloudOpen source
Transcript: English(auto-generated)
00:06
Yeah, hi everybody, I'm Janos and I'm going to present and I'm trying to give you some insights into field tracks. So the field tracks project is about tracking personal and field exercise trainings and it's focusing on relief organizations such as the Red Cross.
00:25
Let's do a quick survey in the beginning. And who of you has on the par score is actually volunteering for the Red Cross or a similar organization? Nobody? Okay.
00:41
Well, it could be. I would like to start with a small demonstration at first to introduce you into the application or project we are talking about. So, this is the front-end application.
01:01
And I'll just log in there. As I said before, this is about a tracking. So typically, tracking involves a graph or an app.
01:20
So here we see some kind of sketch out of a room. Actually it's our hackerspace in Cologne. And you see four dots at the moment. It's a little bit small, I'll try to enlarge it a little bit.
01:46
The general idea is when you're trying to do some field training exercises, you have actors actually acting to be harmed in a certain manner. And then you have people just trying to rescue those people.
02:03
As you can see here, we have a medic in blue. And it's not fixed. And it just runs across the room. And we have about three red reference points. One is a radiator, one is a window, and one is a desk.
02:22
And based on these reference points, the medic can be tracked indoor without any GPS signal available. So we can change the reference points for sure. For example, if we are in a different room, we can just drag it to another place.
02:42
And after a certain time, it will update based on the actual RSSI values of the signal. So we can have a small view on the available devices in that IoT network. So at the moment, we have three devices submitting data.
03:01
The radiator is not, because this is just the IoT device for regulating the radiator. And you can actually see also when you have received the last message. For making things easy, you can assign names to certain devices.
03:21
So for example, now we have placed the desk somewhere else, maybe on a regular cupboard. So we can just change the name of the desk to cupboard. And as I said before, it's also RSSI-based. So we have reference points, we have signal strength.
03:42
So you can have a look at these sensor contacts. So actually, this is a real-time version of all sensor data coming in there. And you see the received signal strength and interference indicator. You have a min value, a max value, an average value, and a remote value.
04:03
And based on this information, you actually track people during field exercises. Anything fine so far? Great, okay. And I'll tell you a little bit about the background here. Try to make it full screen here.
04:28
As I said, the initial idea was to create a tracking system that could be used in a drill. And also, one requirement was to have it work indoor and outdoor.
04:42
As you probably know, when you're a non-profit organization, you have some kind of budget constraints, so we try to keep the system as cheap as possible, and we try to integrate smartphones in there. Tracking information should be there for real-time and later analysis.
05:03
And we decided to use Bluetooth low-energy-based beacons for the actual tracking, and we decided to use the Wi-Fi for transmitting the results. And to implement it in a really low-cost manner, we decided to go for ASP32 devices.
05:25
So how did it go? In December 2017, we started the initial hacking at the GIS Communication Congress, and at that time, or at the moment, we are about a team of five people, whereas
05:44
two people are working on the domain side, so they are interested in using the system in a field exercise training, and about three IT people developing the system. At first, we started evaluating existing approaches.
06:01
Unfortunately, there was hardly anything to build upon. And then we started the development of the system, and it is structured in certain components. We have the yelling stone component. Have you ever heard about the name yelling stone? No?
06:20
Are you aware of Harald Blotang? Danish King, the name-giver for Bluetooth? Okay. So actually, that's kind of the historic stone, so that's a funny reference, I think. So we have the user interface. That's the application I already showed you so far.
06:43
And we have the stone aggregator, it's a backend application that actually aggregates the data and makes them available. And last year, we had a first deployment in the field to have some testing there. And yeah, this is kind of the structure of the application, you have the ASP32 devices
07:05
running the yelling stone software. We have the Angular client, both is available to users. When users have smartphones, they can do beaconing using this kind of beacon format which is proprietary to a certain vendor and should not be named in this context.
07:25
And they can also access the application using HTTPS or install it on the smartphone as a progressive web application. For middleware, we have an MQTT service here.
07:41
The ASP32 devices are published on the MQTT bus and the field won't actually subscribe to the MQTT bus. So all communication specs is based on this MQTT. Although there's a small storage app server in Nginx for handing the files and the actual
08:05
app, it's not that there's any application or any domain object implemented there. And on the backend side, we have this kind of Python scripts. They are also connected to this MQTT bus. We have one for provisioning so that you can just plug in ESP32 devices using USB
08:27
and provisioning and some kind of Raspberry Pi setup. And we have this aggregator application which aggregates the received beacons of all
08:41
yelling stone devices persistent in a retained MQTT topic and makes them available to field when you just curse easily these smartphones have some power saving properties. So they are not subscribed to the MQTT all the time and they need to be able to catch
09:02
up the moment they reconnect. That's the overall architecture. So in September last year, we did a first test of the actual system. And I guess that most of you have never seen just setup.
09:24
It's a triage based treatment center. And this kind of treatment center is usually used when there's an accident involving many casualties so that the casualties are sorted based on their priority.
09:43
So here for the green sign, these people are hardly injured. There's a yellow sign. They're a little bit more injured. There's a red sign. It's critical. And there's the blue sign for people. Well, there's hardly any hope anymore.
10:02
So and of course, these are all volunteers. So they need to train this kind of triage on a regular basis. And at that time, we decided to track them during the training. So here we have a bird's eye perspective of the whole exercise.
10:22
And you can see there are actually two treatments and just build up in parallel. Here's one with these four tents. And there is a different one over here. And it turned out to be a little bit challenging because initially, the system was defined for indoor environments, like environments where no GPS signal is available.
10:43
It turned out that the first trial was on a parking lot. So you have a lot of communication options. You have very good signaling conditions for Bluetooth. And anyway, it was an opportunity to test the system. And you can hardly see the parts of the system.
11:02
So I tried to highlight it a little bit. Here, in that corner, there's a Wi-Fi access point. And there is some more all over the area, about four at that time. And then we hand out these ESP32 devices to this personnel.
11:26
And we also placed this kind of reference points at the tents. And it turned out it was working quite well, basically.
11:43
Signaling work, we were able to see a map. What we didn't notice in the beginning is that there are we didn't follow up in the beginning was that many people have private smartphones with them. So we had a lot of blue dots on the map.
12:01
And they were actually pushing each other outside the map. So we needed to do some hacking in there. And it was a really stressful experience. But in the end, we had a map. We had this kind of points. And we had to position data. But also from a testing perspective, we were doing a lot of user experience
12:23
at testing. So when you are working in the Red Cross, you know that most of the people volunteering are IT personnel. So the idea to give them some MQTT client in order to track people
12:41
is almost absurd. And another aspect is rapid deployment. So usually you start building the network the morning before the exercise. And you have hardly one hour to raise up everything. So in this context, user experience does not only
13:00
regards to the user interface, but also on the deployment of the whole system. But still, we need to do a lot of things regarding the UI. And unfortunately, as I said before, there's no other system available so far. Of course, there are applications such as C3 nav or tracker,
13:22
which basically allow positioning on a map. But from a UX perspective, they are just written for a whole different purpose, like navigation on a Congress. And they cannot be used by an IT personnel or deployed by an IT personnel.
13:41
So what techniques are we using to implement this? Of course, as I said before, we have this kind of web and mobile development. We have Bluetooth beacons and positioning. And we have the embedded systems. The whole system is far more complex. Of course, you have these kind of smartphones.
14:01
And you want to connect these smartphones. And you want to make this web GUI accessible. You don't have internet all over the place. And you cannot build Wi-Fi all over the place. So you have to build some hybrid system that people who are outside the Wi-Fi coverage can access the system using the cellular uplink.
14:25
And people who are outside the cellular uplink can access the system using Wi-Fi. It's not necessary to have sensors all over the place, just at the interesting points where actually things are happening. And this kind of results in a situation where you have a VPN link,
14:44
you have an on-site uplink using LTE, and you have an on-site mesh network. So even the mesh network is really heterogeneous. Of course, there's Wi-Fi, most notably. But there's also very strange technology.
15:02
I don't know if you ever use DSL. Usually, it's for homes, which are connected to the internet over old wires from a plain old telephone system. And it turns out that some training environments are rather shadowy from a single propagation perspective.
15:25
As I said before, we were interested in, for example, mines or homes. But you cannot have single propagation within a mine. You basically have line-of-sight single propagation, and you cannot penetrate a few meters of stone.
15:46
But interestingly, most of these relief organizations have some capabilities in deploying copper wires. So they are still used to this kind of old field, the telephone system, and you can just ask them
16:01
to give you about a kilometer or two kilometers of copper wire, and then you get it. And from a network engineer's perspective, there's not so much capacity in there. You get a few megabits per second, that's it. But also, this is enough for field tracks to operate.
16:22
So if you're talking about sensor data, which is transmitted over MQTT, so you don't need much. For example, we have considered using LoRaWAN or this kind of narrowband IoT networks, but that doesn't help. So when you're in a line-of-sight situations,
16:43
you can basically use Wi-Fi, and neither Wi-Fi nor LoRaWAN is able to penetrate out of a mine. So that's an idea, but it's not the first thing you could have in mind.
17:01
Summarizing the whole thing, it's a very fun and challenging project. It's a real-world thing, and in case you're interested and contributed, you're invited to do so. The homepage is on fieldtracks.org. There's a GitHub site. The technical discussions are happening in a matrix channel.
17:25
And of course, you can send me an email. There's a small disclaimer. The system is not a free software. It's defined by the open source initiative, because we are excluding military usage. This system is really close by military usage,
17:43
because of course, they're also doing field exercise trainings, and we don't like that. So that's it. We have about 10 minutes for questioning and changing the room. Any questions? All right, thank you.
18:02
OK, so we'll take questions. Hi there. That was fantastic, thank you. Do you have to do any calibration on the devices at all to try and triangulate position based on RSSI? Yes. But you have to know, in terms of Bluetooth beaconing,
18:20
there's generally a calibration that goes on to know the TX power and the distance? Well, that's a very good question. And we have thought about this a lot. The idea that we can up with is using a rather unprecise forced simulation in JavaScript. Well, usually when you're having,
18:43
I mean, you have seen the sketch, right? And there's no scale on the sketch. It's just for planning. So the accuracy, it doesn't really matter. The system has the assumption that as long as you know who is in the room, it's OK.
19:01
And most of these systems achieving a higher accuracy actually do need more effort in deployment. So for example, if you're using a machine learning system, you have to train the system. If you are trying to calibrate this, it takes time. Of course, you can do so, but it's not like just have a stone there and there and there
19:21
and you know who's in the area. All right, thanks. Another question? OK.
19:40
Hi, great talk actually. I was wondering about the range. What kind of range can you expect of the distance between the beacons and the receivers? Oh, well, usually you're using Bluetooth low energy.
20:01
So you're transmitting in a rather small power range. And usually Bluetooth is advertised to a 10 or 20 meter range. But the point actually is signal propagation. You usually have obstacles.
20:21
You usually have some penetration. You have some reflection. So you cannot really see what's in there. There's of course a problem if you're on a large parking lot and you're in a line of sight situations. Then you get a very weak signal.
20:41
And the idea or it's about to be implemented is to filter out signals below a certain threshold in order to get rid of these very far away but still in line of sight condition devices. But it's really problematic to estimate kind of range.
21:06
Have you tried Bluetooth 5 with a longer range yet or not? Not yet. We have considered using Wi-Fi and round trip time based positionings.
21:21
It's more accurate though. I don't think that these ESP32 devices have Bluetooth 5 yet but I'm not sure. So, and I guess it won't help to have a longer Bluetooth range. Because usually you place the stones at the position and you want to know who's nearby.
21:45
So you should at least be focused on having a good backbone network using Wi-Fi and that has ranges up to a few kilometers. And you also said that you tried LoRa to get connectivity basically?
22:03
We considered. Yeah, okay you considered it. Is there usually some cell coverage there or not? In a mine. Well I don't know how far or how deep you're going because narrow band could be an option. Narrow band IOT. Well if you're in a mine
22:21
you're probably a few dozen meters into a mountain and there's no cell coverage. No, probably not much RF getting through anyway. Yeah, that was actually one idea how to use Wi-Fi. I mean it's very easy to hook up a Celera device or a router or so into a Celera network
22:41
and just have a Wi-Fi signal. You can have the VPN through the cloud and you can easily integrate that Celera uplink. But it's not the intuitive way of maintaining connectivity. Thanks, more questions? One here in the front.
23:09
I was just checking your license and you're using the civilian open source license? But it excludes any kind of military use. What about military that's deployed to disaster zones?
23:25
Well at first, let me try to explain this. It's not about excluding something, it's about allowing use. So also the license says
23:40
in case you're in a dual use situation you can get permission. So in most situations this is about exercises. It's not a system that is built to be used in an actual case. So of course there are some situations
24:01
where military people get trained on first response using the Red Cross and this is subject to discussions. To elaborate this a little bit, actually I'm at the university which outlines tracking and Bluetooth tracking
24:21
in a military environment. And I'm just not fine with that. I'm happy asking fellow students to join the project but we have to see that this kind of use is very realistic in the area. Like this. And I'm also fine with re-licensing some components
24:44
under other open source licenses as long as it's not the whole system. Okay, thanks. Yeah, on this topic I've been there. I've organized BattleMesh since I initiated it
25:02
and in the third edition we got a Swiss company presenting their use of mesh in a recombining mine field. So when mine in the field explodes then the other mines wake up and recombine. And we also had, we all lost one of the core developers of one of the Roojin protocols
25:22
who was hired by this firm. So there was the debate about military usage and I remember there is a license called eGPL. So eGPL.info was a website but you can find it on archive.org. eGPL non mill. So there is also a similar license
25:43
that excludes military usage, eGPL non mill. Yeah, well, to be sharp in this reason, in the copyright law you're not excluding usage, you're granting usage. So there's no problem in re-licensing software
26:04
but you're not getting a license out of nowhere for use field tracks for military purposes. So in case you come up with a very good idea, it's still, we are still open to re-license this components but not per se.
26:24
Okay, thank you.
26:53
But that's mine, right? Of course, of course.