Skip to content

FANET compatibility

Linar Yusupov edited this page Dec 23, 2017 · 6 revisions

Testbed

The test unit has SoftRF LoRa module connected.
A picture of the module (purple) in comparison with NRF905 (green):

Settings

Test SoftRF unit has D99C19 device ID and is configured to communicate in accordance with FANET protocol:

FANET link partner

One of commercial implementations for FANET protocol is Skytraax:

But "behind the scenes" of the Skytraax is that the FANET was contributed there by Juergen Eckert.
His FANET R&D is actually open for public and located at GitHub.
This is the link on FANET : https://github.com/3s1d/fanet
And this is the link on FANET+ : https://github.com/3s1d/fanet-stm32

Genuine FANET hardware platform is STM32 L1/L4 MCU and Semtech SX1272 radio.
Genuine FANET software platform is Arduino/Eclipse IDE.

At first I've made a quick port of the FANET onto NodeMCU (ESP8266) and Semtech SX1276 radio (SoftRF LoRa module):

FANET command line interface

Genuine FANET firmware is controlled over UART port at 115200 baud rate.
Full set of commands is listed here: https://github.com/3s1d/fanet/blob/master/com/serial.h
When entered instruction is invalid or empty, the CLI gives an error response:

This is explanation of four basic commands:

  1. Set vendor and device IDs of a FANET unit:
    Syntax: #FNA <Vendor ID>, <Device ID>

    Example:

       #FNA AD,CDEF
       #FNR OK
  1. Set aircraft type and online logging flag:
    Syntax: #FNC <Aircraft type>, <online logging>

    Example:

       #FNC 1,1
       #FNR OK
  1. Enable or disable RF module:
    Syntax: #DGP <state>

    Example:

       #DGP 1
       #DGR OK
  1. Set FANET state:
    Syntax: #FNS <lat>,<lon>,<alt>,<speed>,<climb>,<heading>,<turn>

    Example:

       #FNS 56.0092,38.3710,50,10,3,45,7
       #FNR OK

Transmission

As soon as FANET unit gets configured with #FNA, #FNC and #DGP instructions it starts to receive
packets been transmitted from nearby SoftRF unit:

Reception of each packet is indicated by #FNF status line.
You may noticed that each line contains D9,9C19 which is ID of the transmitting SoftRF unit.

Hardware

SoftRF

SkyView

Flight Recorder

Adapters

Software

Firmware

Tools

Protocols

Clone this wiki locally