-
Notifications
You must be signed in to change notification settings - Fork 213
FANET compatibility
The test unit has SoftRF LoRa module connected.
A picture of the module (purple) in comparison with NRF905 (green):
Test SoftRF unit has D99C19 device ID and is configured to communicate in accordance with FANET protocol:
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):
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:
-
Set vendor and device IDs of a FANET unit:
Syntax: #FNA <Vendor ID>, <Device ID>Example:
#FNA AD,CDEF
#FNR OK
-
Set aircraft type and online logging flag:
Syntax: #FNC <Aircraft type>, <online logging>Example:
#FNC 1,1
#FNR OK
-
Enable or disable RF module:
Syntax: #DGP <state>Example:
#DGP 1
#DGR OK
-
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
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.