remoteid适配

Roel Schiphorst b43a42d0d2 BlueMark db200: add LED status and set ESP GPIO pins to enable CAN transceiver chip 3 lat temu
.github f49069a52b support ESP32C3 dev board 3 lat temu
RemoteIDModule b43a42d0d2 BlueMark db200: add LED status and set ESP GPIO pins to enable CAN transceiver chip 3 lat temu
images d537a8cf29 Update README.md with complete flash instructions 3 lat temu
libraries ae8ed8cb8b moved add_libraries.sh to scripts 3 lat temu
modules 833854a8ed update opendroneid 3 lat temu
releases a4ca9b8c22 new release 3 lat temu
scripts e04955fd18 fixed regen headers 3 lat temu
.gitignore 27b6b2d67d ignore more files 3 lat temu
.gitmodules 07266300a8 removed uav_electronic_ids submodule 3 lat temu
BUILDING.md d65fddc144 update building for 2.0.3 3 lat temu
COPYING.txt 0b63b2e180 added copy of GPLv3 to repo 3 lat temu
README.md f49069a52b support ESP32C3 dev board 3 lat temu

README.md

ArduPilot RemoteID Transmitter

This is an implementation of a MAVLink and DroneCAN OpenDroneID transmitter. It aims to provide a transmitter solution for the FAA standard RemoteID requrement, meeting the transmitter component of the ASTM F3586-22 Means of Compliance.

Hardware Supported

The firmware cuttently supports the ESP32-S3 and ESP32-C3 chips. There are 4 boards supported so far with more to come:

Hardware from https://wurzbachelectronics.com/ is expeced to be added soon.

For the ESP32-S3 dev board the pins assumed in this firmware are:

  • UART TX on pin 17
  • UART RX on pin 18
  • CAN TX on pin 47
  • CAN RX on pin 38

For the ESP32-C3 dev board the pins assumed in this firmware are:

  • UART TX on pin 3
  • UART RX on pin 2
  • CAN TX on pin 5
  • CAN RX on pin 4

For CAN a suitable 1MBit bxCAN transceiver needs to be connected to the CAN TX/RX pins.

You can also do MAVLink on the USB UART port (the one marked "UART" on the silkscreen). That allows for easy simulation testing by plugging in a micro USB cable.

See board_config.h and Makefile for information on porting to new boards.

Transmission Modes

This firmware supports the following transmission modes:

  • WiFi NAN (Neighbour Awareness Networking)
  • Bluetooth 4 Legacy Advertising
  • Bluetooth 5 Long Range + Extended Advertising

Protocols

This firmware supports communication with an ArduPilot flight controller either using MAVLink or DroneCAN.

For MAVLink the following service is used: https://mavlink.io/en/services/opendroneid.html

For DroneCAN the following messages are used: https://github.com/dronecan/DSDL/tree/master/dronecan/remoteid

The DroneCAN messages are an exact mirror of the MAVLink messages to make a dual-transport implementation easy.

Releases

Pre-built releases are in the releases folder on github

Flashing

To flash to an ESP32-S3 board use the espressif FlashTool from https://www.espressif.com/en/support/download/other-tools

if this is the first time flashing the board, you may need to hold the "boot" button down while attaching the USB cable to the USB connector marked "USB"

and then use the pre-built binary in the releases folder to flash using the following options, after selecting the COMM port that the board is attached:

Board setup dialog

Flashing with FlashTool

subsequent re-flashing of newer releases should not require holding the "boot" button during power-up of the board as the USB cable is attached.

ArduPilot Support

Support for OpenDroneID is in ArduPilot master and is pending for addition to the 4.2.x stable releases. You need to enable it on a board by setting "define AP_OPENDRONEID_ENABLED 1" in the hwdef.dat for your board.

Credit

Many thanks to the great work by:

This firmware builds on their work.

License

This firmware is licensed under the GNU GPLv3 or later