qaptadrone / UAV-Beacon-Monitor

UAV Beacon Monitor for M5 Fire and other compatible devices
MIT License
3 stars 0 forks source link
beacon e-beacon esp-idf esp32 uas uav wifi

Logo UAV Beacon Monitor Logo

License Last commit Contributors

UAV Beacon Monitor reads and displays transmitted eID beacons from UAV, in accordance with the French regulation.

Monitor

It is based on the work of G4lile0 on ESP32-WiFi-Hash-Monster from Twitter
Follow.

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.

How to use

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.

How to build

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!

Technical aspects

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).

Resources and documentation

Development Roadmap

Changelog

Version 1.1 - 2022-03-29

Version 1.0 - 2022-03-29

Made by qaptadrone