UAV Beacon Monitor reads and displays transmitted eID beacons from UAV, in accordance with the French regulation.
It is based on the work of G4lile0 on ESP32-WiFi-Hash-Monster from .
It is also inspired by the work of dev-fred on Decode_balise_ESP32.
It is designed to run on a M5Stack Fire. However, it should run with minimal changes on any devices from this family.
Once started, the device will store and display the data of up to 50 received beacons. You can change with the leftmost and rightmost to display another beacon.
You start the device by clicking once the red power switch. To turn off, double click the red power switch.
All fields are currently shown, the ID (either the French version or the ANSI_CTA version), the current location, altitude and height, speed and bearing and the takeoff location.
The age of the received data is displayed at the bottom.
A long press on the leftmost button will activate or deactivate the SDCard storage of data. A short press on the center button will change the display brightness. A long press on the rightmost button will erase the beacon's list.
There is a "secret" behavior on the center button long press: it will inject a new test beacon. This will allow you to check wether the display is working properly.
You will use the Arduino IDE to program your device.
First you need to setup your environment according to the M5Stack documentation.
You will then need to install the library ESP32-Chimera-Core and the library M5Stack-SD-Updater using the Arduino Library Manager.
Finally, you will be able to build this code!
Currently, this software does not roam the different WiFi channels in search for beacons. It is locked on channel 6, which is the main channel to use given in the French regulation.
Consecutive strings of 0
are reduced to ::
(just like for IPv6) for the ID to be more readable.
There is no validation of the received data since there is currently no way to check the received data integrity. Data shown is the data transmitted.
Finally, a small limitation, if an ANSI identification number is used in addition to the French identification number, only the ANSI ID will be displayed (though both will be stored on the SD card).
- 802.11 Frame Types and Formats
- ESP32 Wifi API
- French regulation: Arrêté du 27 décembre 2019 définissant les caractéristiques techniques des dispositifs de signalement électronique et lumineux des aéronefs circulant sans personne à bord
- LGFX Fonts list
- M5 Core API
- Investigate the use of
esp_wifi_set_vendor_ie_cb
to reduce the load on the current callback
- Update to the test packet
- Beacon comparison logic made more robust
- Reorganize display
- First public release