Faro is the Spanish term for a lighthouse, as well as a multimodal Bluetooth Low Energy Beacon service for Kura. The lighthouse which is used for the post main image is the Tower of Hercules, a Spanish lighthouse that is one of the oldest (objectively) and beautiful (subjectively) lighthouses in the world.
In our previous post, we mentioned Jura, but we did not explain it. As we have briefly indicated in its repository, Jura is (or rather, it will be) a Trusted Indoor Positioning System for Kura. Its name is a nod to Kura’s name, being jurar the Spanish word of the verb “to swear”. The translation of jura in English is “it swears”.
Our IPS is based on BLE Beacons, so logically what we need first of all is something that allows us to scan this kind of beacons. Taking advantage of Kura 3.1 examples we have developed Faro, a Kura configurable service for BLE Beacons which supports different protocols (iBeacon and Eddystone) as well as diverse working modes (advertiser and scanner).
The source code of Faro is currently available in Jura repository, so you can download and use it. For those who are interested in its code, notice that the code is 50% from Kura examples and 50% developed for managing the Bluetooth adapter according to the protocol and working mode selected. We believe that the following UML diagram might be helpful to understand the latter.
An interesting feature of Faro is its ability to send all the scanner detections through MQTT in the body of the payload. Following this approach, we can report all detected beacons without saturating the MQTT broker. If you need to have all the information (like us) and a delay of a few seconds to have it is not an inconvenience (also like in our case) you might find this feature very useful.
Either if you want to use or modify Faro, or if you have any questions, please do not hesitate to contact us.
That’s all folks!!!
We will be back soon to talk about Graba. Any idea of what it might be? 🙂