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

Clone this wiki locally