GithubHelp home page GithubHelp logo

mavesp8266's Introduction

MavESP8266

Project Status

This project is being continued here, follow link for latest releases: Kahuna WiFi Telemetry Unit

ESP8266 WiFi Access Point and MavLink Bridge

Join the chat at https://gitter.im/dogmaphobic/mavesp8266

This was developed using a NodeMCU v2 Dev Kit as it conveniently provides a secondary UART for debugging. It has been tested with the ESP-01 shipped with the PixRacer and it is stable at 921600 baud.

The build enviroment is based on PlatformIO. Follow the instructions found here: http://platformio.org/#!/get-started (only tested on Mac OS) for installing it but skip the platform init step as this has already been done, modified and it is included in this repository. In summary:

brew install platformio
git clone --recursive https://github.com/dogmaphobic/mavesp8266.git
cd mavesp8266
platformio run

When you run platformio run for the first time, it will download the toolchains and all necessary libraries automatically.

Useful commands:

  • platformio run - process/build all targets
  • platformio run -e esp12e - process/build just the ESP12e target (the NodeMcu v2, Adafruit HUZZAH, etc.)
  • platformio run -e esp12e -t upload - build and upload firmware to embedded board
  • platformio run -t clean - clean project (remove compiled files)

The resulting image(s) can be found in the directory .pioenvs created during the build process.

MavLink Submodule

The git clone --recursive above not only cloned the MavESP8266 repository but it also installed the dependent MavLink sub-module. To upated the module (when needed), use the command:

git submodule update --init

Wiring it up

User level (as well as wiring) instructions can be found here for px4 and here for ArduPilot

  • Resetting to Defaults: In case you change the parameters and get locked out of the module, all the parameters can be reset by bringing the GPIO02 pin low (Connect GPIO02 pin to GND pin).

MavLink Protocol

The MavESP8266 handles its own set of parameters and commands. Look at the PARAMETERS page for more information.

HTTP Protocol

There are some preliminary URLs that can be used for checking the WiFi Bridge status as well as updating firmware and changing parameters. You can find it here.

mavesp8266's People

Contributors

alteman avatar andreasantener avatar bkueng avatar dennisss avatar dogmaphobic avatar drnic avatar gitter-badger avatar guglie avatar masoudir avatar rmackay9 avatar samjcknox avatar tridge avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mavesp8266's Issues

WiFi not showing up after flash

I bought a new ESP-01 to use it with Pixhawk4 running PX4 v1.10.1. The ESP-01 board was running fine as it was publishing a predefined wifi AP out of the box.
I then flashed it with the mavesp8266 v1.2.2 firmware. The flash was successful as in there were no errors during the flash process.
I then power cycled the ESP-01 with just RX-TX connected to the pixhawk. But, there was no WiFI AP (SSID:pixracer) that was being published.

station mode ssid greater than 16 characters

Hi,

I am trying to get mavlink 1.2.2 in station mode to work with an ssid of 17 characters, unfortunately it is set in stone and the devices ssid cannot be changed, i am unable to use it at the moment due to this... I see that in the code the ssid is a char[16] and assume that to be the issue

unfortunately i cannot compile this myself due to xtensa errors in windows 10 and my lack of experience with platformio frameworks/platforms

has anybody been able to compile this on windows 10 and if so how?

pio run gives me the following errors

PS C:\git\mavesp8266> pio run
Processing esp12e (board: esp12e; platform: [email protected]; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp12e.html
PLATFORM: Espressif 8266 (1.8.0) > Espressif ESP8266 ESP-12E
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:

  • framework-arduinoespressif8266 2.20402.4 (2.4.2)
  • tool-esptool 1.413.0 (4.13)
  • toolchain-xtensa 1.40802.0 (4.8.2)
    LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 30 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |--
    | |-- 1.0
    |--
    |-- 1.0
    |-- 1.0
    | |-- 1.0
    |-- 1.0
    Building in release mode
    Compiling .pio\build\esp12e\src\main.cpp.o
    Compiling .pio\build\esp12e\src\mavesp8266.cpp.o
    Compiling .pio\build\esp12e\src\mavesp8266_component.cpp.o
    Compiling .pio\build\esp12e\src\mavesp8266_gcs.cpp.o
    Compiling .pio\build\esp12e\src\mavesp8266_httpd.cpp.o
    Compiling .pio\build\esp12e\src\mavesp8266_parameters.cpp.o
    Compiling .pio\build\esp12e\src\mavesp8266_vehicle.cpp.o
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    Compiling .pio\build\esp12e\libb4d\ESP8266WiFi\BearSSLHelpers.cpp.o
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    Compiling .pio\build\esp12e\libb4d\ESP8266WiFi\CertStoreBearSSL.cpp.o
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    Compiling .pio\build\esp12e\libb4d\ESP8266WiFi\ESP8266WiFi.cpp.o
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    Compiling .pio\build\esp12e\libb4d\ESP8266WiFi\ESP8266WiFiAP.cpp.o
    Compiling .pio\build\esp12e\libb4d\ESP8266WiFi\ESP8266WiFiGeneric.cpp.o
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp12e\src\main.cpp.o] Error 1
    *** [.pio\build\esp12e\src\mavesp8266.cpp.o] Error 1
    *** [.pio\build\esp12e\src\mavesp8266_component.cpp.o] Error 1
    *** [.pio\build\esp12e\src\mavesp8266_gcs.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp12e\src\mavesp8266_httpd.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp12e\src\mavesp8266_parameters.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp12e\libb4d\ESP8266WiFi\CertStoreBearSSL.cpp.o] Error 1
    *** [.pio\build\esp12e\src\mavesp8266_vehicle.cpp.o] Error 1
    *** [.pio\build\esp12e\libb4d\ESP8266WiFi\BearSSLHelpers.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp12e\libb4d\ESP8266WiFi\ESP8266WiFi.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp12e\libb4d\ESP8266WiFi\ESP8266WiFiAP.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp12e\libb4d\ESP8266WiFi\ESP8266WiFiGeneric.cpp.o] Error 1
    ==================================================================== [FAILED] Took 1.93 seconds ====================================================================

Processing esp01_1m (board: esp01_1m; platform: [email protected]; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp01_1m.html
PLATFORM: Espressif 8266 (1.8.0) > Espressif Generic ESP8266 ESP-01 1M
HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
PACKAGES:

  • framework-arduinoespressif8266 2.20402.4 (2.4.2)
  • tool-esptool 1.413.0 (4.13)
  • toolchain-xtensa 1.40802.0 (4.8.2)
    LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 30 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |--
    | |-- 1.0
    |--
    |-- 1.0
    |-- 1.0
    | |-- 1.0
    |-- 1.0
    Building in release mode
    Compiling .pio\build\esp01_1m\src\main.cpp.o
    Compiling .pio\build\esp01_1m\src\mavesp8266.cpp.o
    Compiling .pio\build\esp01_1m\src\mavesp8266_component.cpp.o
    Compiling .pio\build\esp01_1m\src\mavesp8266_gcs.cpp.o
    Compiling .pio\build\esp01_1m\src\mavesp8266_httpd.cpp.o
    Compiling .pio\build\esp01_1m\src\mavesp8266_parameters.cpp.o
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    Compiling .pio\build\esp01_1m\src\mavesp8266_vehicle.cpp.o
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    Compiling .pio\build\esp01_1m\libb4d\ESP8266WiFi\BearSSLHelpers.cpp.o
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    Compiling .pio\build\esp01_1m\libb4d\ESP8266WiFi\CertStoreBearSSL.cpp.o
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    Compiling .pio\build\esp01_1m\libb4d\ESP8266WiFi\ESP8266WiFi.cpp.o
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    Compiling .pio\build\esp01_1m\libb4d\ESP8266WiFi\ESP8266WiFiAP.cpp.o
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    Compiling .pio\build\esp01_1m\libb4d\ESP8266WiFi\ESP8266WiFiGeneric.cpp.o
    *** [.pio\build\esp01_1m\src\main.cpp.o] Error 1
    *** [.pio\build\esp01_1m\src\mavesp8266.cpp.o] Error 1
    *** [.pio\build\esp01_1m\src\mavesp8266_component.cpp.o] Error 1
    *** [.pio\build\esp01_1m\src\mavesp8266_gcs.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp01_1m\src\mavesp8266_httpd.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp01_1m\src\mavesp8266_parameters.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp01_1m\libb4d\ESP8266WiFi\BearSSLHelpers.cpp.o] Error 1
    *** [.pio\build\esp01_1m\src\mavesp8266_vehicle.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp01_1m\libb4d\ESP8266WiFi\CertStoreBearSSL.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp01_1m\libb4d\ESP8266WiFi\ESP8266WiFi.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp01_1m\libb4d\ESP8266WiFi\ESP8266WiFiAP.cpp.o] Error 1
    *** [.pio\build\esp01_1m\libb4d\ESP8266WiFi\ESP8266WiFiGeneric.cpp.o] Error 1
    ==================================================================== [FAILED] Took 2.01 seconds ====================================================================

Processing esp01 (board: esp01; platform: [email protected]; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp01.html
PLATFORM: Espressif 8266 (1.8.0) > Espressif Generic ESP8266 ESP-01 512k
HARDWARE: ESP8266 80MHz, 80KB RAM, 512KB Flash
PACKAGES:

  • framework-arduinoespressif8266 2.20402.4 (2.4.2)
  • tool-esptool 1.413.0 (4.13)
  • toolchain-xtensa 1.40802.0 (4.8.2)
    LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 30 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |--
    | |-- 1.0
    |--
    |-- 1.0
    |-- 1.0
    | |-- 1.0
    |-- 1.0
    Building in release mode
    Compiling .pio\build\esp01\src\main.cpp.o
    Compiling .pio\build\esp01\src\mavesp8266.cpp.o
    Compiling .pio\build\esp01\src\mavesp8266_component.cpp.o
    Compiling .pio\build\esp01\src\mavesp8266_gcs.cpp.o
    Compiling .pio\build\esp01\src\mavesp8266_httpd.cpp.o
    Compiling .pio\build\esp01\src\mavesp8266_parameters.cpp.o
    Compiling .pio\build\esp01\src\mavesp8266_vehicle.cpp.o
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    Compiling .pio\build\esp01\libb4d\ESP8266WiFi\BearSSLHelpers.cpp.o
    Compiling .pio\build\esp01\libb4d\ESP8266WiFi\CertStoreBearSSL.cpp.o
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    Compiling .pio\build\esp01\libb4d\ESP8266WiFi\ESP8266WiFi.cpp.o
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    Compiling .pio\build\esp01\libb4d\ESP8266WiFi\ESP8266WiFiAP.cpp.o
    *** [.pio\build\esp01\src\main.cpp.o] Error 1
    Compiling .pio\build\esp01\libb4d\ESP8266WiFi\ESP8266WiFiGeneric.cpp.o
    *** [.pio\build\esp01\src\mavesp8266.cpp.o] Error 1
    *** [.pio\build\esp01\src\mavesp8266_component.cpp.o] Error 1
    *** [.pio\build\esp01\src\mavesp8266_gcs.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp01\src\mavesp8266_httpd.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp01\src\mavesp8266_parameters.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp01\src\mavesp8266_vehicle.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp01\libb4d\ESP8266WiFi\BearSSLHelpers.cpp.o] Error 1
    *** [.pio\build\esp01\libb4d\ESP8266WiFi\CertStoreBearSSL.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp01\libb4d\ESP8266WiFi\ESP8266WiFi.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp01\libb4d\ESP8266WiFi\ESP8266WiFiAP.cpp.o] Error 1
    *** [.pio\build\esp01\libb4d\ESP8266WiFi\ESP8266WiFiGeneric.cpp.o] Error 1
    ==================================================================== [FAILED] Took 1.84 seconds ====================================================================

Environment Status Duration


esp12e FAILED 00:00:01.926
esp01_1m FAILED 00:00:02.014
esp01 FAILED 00:00:01.843
=============================================================== 3 failed, 0 succeeded in 00:00:05.783 ===============================================================

Versioning / pre-built binaries

On the pixhawk.org ESP8266 WiFi module setup page there is a link to this repository as well as a link to a pre-built binary. The version of the pre-built binary is 1.1.0, but there are no tags or releases in this repository, and neither can I find any version information in commit messages.

Where does the version number of that pre-built binary come from and what commit is it equal to? Version 1.1.0 has been linked on pixhawk.org at least since october 2016, and the latest commit here is from 02/02/2017, so it cannot be the latest comit.

Will there be any updates to the pre-built binary?

Trouble getting Parameters

Hello and Thank you for the great work, spme time ago I did something like this with a wifi serial brige project for the ESP8266 but had no real luck you project seems to be great for what I wanted :)

I had it running for some days, with a good reach and averything working fine, but for now I can connect, I get battery, GPS and so on, but mission planner and tower stuck at getting the parameters.

When I look at the status page there are a lot of lost packages I do not know where to start to find out whats wrong.

I did reset it and flashed it again but no luck so far.

issue

cannot use at APM2.6 board

HI,all,
i use mavesp8266 code at pixhawk board,it can connect sucessfully, but when i use at APM2.6 board, it cannot connect .could you tell me why?

Cannot change SSID

Hello, I am trying to change SSID using the web interfacewith the setparameters command but without success.
Doing a getparameters returns positive numerical values for WIFI_SSID1 and WIFI_SSID2 and 0 for WIFI_SSID3 and WIFI_SSID4, see below:
image

Using setparameters to set an ssid, changes WIFI_SSID3 only, see below:
image

Rebooting via either the reboot command or by unplugging the power does not result in a change in the SSID visible by nearby devices.

I 'm wondering why there are 4 SSIDs and why the setparameters command acts on the 3rd one.

Compiling error

Dear
I've error during compiling Your solution

Executing task: C:\Users\Admin.platformio\penv\Scripts\platformio.exe run --environment esp12e <

Processing esp12e (platform: espressif8266; framework: arduino; board: esp12e)

Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp12e.html
PLATFORM: Espressif 8266 (2.3.0) > Espressif ESP8266 ESP-12E
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:

  • framework-arduinoespressif8266 2.20601.191124 (2.6.1)
  • tool-esptool 1.413.0 (4.13)
  • tool-esptoolpy 1.20800.0 (2.8.0)
  • toolchain-xtensa 2.40802.200502 (4.8.2)
    LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 30 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |-- 1.2
    | |-- 1.0
    |-- 1.0
    |-- 1.0
    | |-- 1.0
    |-- 1.0
    Building in release mode
    Compiling .pio\build\esp12e\src\main.cpp.o
    Compiling .pio\build\esp12e\src\mavesp8266.cpp.o
    Compiling .pio\build\esp12e\src\mavesp8266_component.cpp.o
    Compiling .pio\build\esp12e\src\mavesp8266_gcs.cpp.o
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp12e\src\mavesp8266_component.cpp.o] Error 1
    *** [.pio\build\esp12e\src\main.cpp.o] Error 1
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    xtensa-lx106-elf-g++: error: +%Y-%m-%d): No such file or directory
    xtensa-lx106-elf-g++: error: +%H:%M:%S): Invalid argument
    *** [.pio\build\esp12e\src\mavesp8266.cpp.o] Error 1
    *** [.pio\build\esp12e\src\mavesp8266_gcs.cpp.o] Error 1

Can You help me?

MAVLink 2.0 support

More and more MAVLink functions require 2.0 support, such as e.g. Geofence transfer. It would be great to have this here too.

How To Query Version Number

How can I query the version number when connected over Wifi? The setup instructions at https://pixhawk.org/peripherals/8266 say I can only do an over-the-air update if my version number is 1.0.4 or greater, but the instructions don't say how to determine what it is presently. I blindly tried an update anyway, but it returned "FAIL".

(I am trying to diagnose a crummy connection on my factory-fresh PixRacer companion board, so updating the firmware seemed like a good place to start.)

Idea for update

I have idea for update, ESP32 support...
ESP32 module have build in Bluetooth, with button mode can be change easily form WIFI to Bluetooth.

Normally using smartphone/tablet when you are connected to WIFI, 4G internet is inactive which cause no map update. Most popular GSC APP s available in google play support Bluetooth connection.

I also work on hardware device containing:
ESP32
HM-TRP Radio
Battery
Battery charger
Battery discharge protection
Battery monitor (battery level can be reported via MAV-Link also LED indicator)
Buzzer for low battery
USB for battery charging and software update
Barometric sensor

Early schismatic on the link.
https://www.dropbox.com/s/p606wp5n5dkc0s5/Schematic_MAV-Link-Bridge_Sheet-1_20180901094139.pdf?dl=0

Question on Recieving Messages to GCS

Hi dogmaphobic
I came across you library as I was trying to interface an Teensy 3.5 MCU to an ESP8266 to go to a GCS. I was fairly successful with just using straight UDP to get flight data (GPS/IMU) messages to the APM planner but was having difficulties with going the other way (GCS -> Vehicle). So I decided to give this a try.

I uploaded this via the Arduino IDE (yes I converted main into an INO file) and that worked fine. It took me a little while to get it working but I was successful in getting the GCS to read messages from the Arduino to bridge to the GCS. It works like a charm. It connects right up.

In Wireshark I can see messages going from the GCS to the vehicle but am having problems figuring out how to actually read them on the Arduino side. Probably because I don't fully understand the telemetry protocol.

Right now I am writing mavlink messages to Serial1 which is working fine. But if I just try and read Serial1 does really work. So the question is what is the discrimator to know when receiving a message or sending a message. Is there a hardware connection I am missing between the ESP8266 and the Arduino for flow control??

Thanks
Mike

Change to c_library_v2 (v2.0) submodule version of Mavlink?

Currently, the mavesp8266 library takes support of older version of Mavlink. The problem is that if a custom ground control software uses Mavlink v2.0, it needs to detect the older version and change its own mavlink version in real-time.

Most of today's custom software uses Mavlink v2.0. Could you please look into switching to the later version for ease of use?

PS:
The only way to currently downgrade to version v1.0 of mavlink (to avoid checksum error when sending/receiving) is by toggling the mavlink status flag, which might confuse other users.

mavlink_status_t* mavlinkStatus = mavlink_get_channel_status(mavlink_channel);
mavlinkStatus->flags |= MAVLINK_STATUS_FLAG_OUT_MAVLINK1;

As we know, Pixhawk and QGC both use v2.0, so why would we need v1.0 for ESP module?

Thanks!
Shyam

RTSP from GoPro via ESP8266?

Gopro and others have live streaming available via RTSP when connecting via WIFI. Doesn't ESP8266 support running both STA and AP at the same time? Connecting to both ESP8266 (AP) and GoPro via ESP8266 (STA) to get both MAVLINK and video would be nice!

password change

Hi, it's impossible for me to change the password with qgroundcontrol and the web interface. Is "pixracer" password hard-coded?

F not declared in this scope

Hi guys, working on a new project using the ESP8266 for a small wifi module. When trying to build the project we get this error "F not declared in this scope".
We know this is an Arduino function, not something written in on our project but can anyone point us in the right direction as to where this error might be coming from and how to fix it.
We have tried the old turn it off and on again trick and updated Arduino and its libraries already but no success. One computer it works, the other it does not.

Any help would be greatly appreciated.

Using Wifi link can lead to Radio link loss / slow performance / glitches

Hi,

I've cross checked and confirmed on forums, I suggests making big warning for new users to check if Wifi is compatible with their radio control system, usually FHSS (Frequency Hopping Spread Spectrum) systems will tolerate wifi along them but not the more simple ones.

I have a model with Frsky AAHST system - all works flawlessly.
I have another model with Flsky simple radio system (Stock Cx-20 Rx and Tx) - severe glitches and slow response, loss of control when flying out to around 200 meters.

Safe flying.

Heartbeat..? uploaded firmware but it is not work......

Finally, I connect a pixracer, then I can get a parameters and status (using 192.168.4.2/getstatus).

But, when I use QGC, it can not be connected. And I used mavproxy that show heartbeat waiting....

I really don't know what is the happen and what is the matter...

Anybody help me this problem...?

Sequence Increment by two

I read the code line below comment
https://github.com/dogmaphobic/mavesp8266/blob/master/src/main.cpp#L423
The reason QGC increments the seq by 2 is that it first packs a message (which calls finalize) and then sends the message later calling finalize again, doing another increment of the seq id.

and I now just read the comment here
https://github.com/dogmaphobic/mavesp8266/blob/master/src/main.cpp#L764

Some command use _send directly so the increment would be the expected 1 in that case.

Log download throughput well beyond the maximum

@dogmaphobic @LorenzMeier
I'm really trying to get log downloading working over Wifi but I'm hitting low limits. It may be that the ESP can't parse the messages any faster, but I don't know how to measure that yet. The throughput I currently achieve is 100 to 200 log data messages per second (depending on rate settings on the PX4 side and what other messages go through). This results in an effective download speed of 20kB/s max.

My basic question is: can we do better? Theoretically with the 921600 serial speed 100kB/s should be possible or am I mistaken?

Btw, I'm already buffering the data on the ESP side and sending it down to the client over HTTP. The numbers I mentioned before resulted from timing how fast the buffer fills on the ESP side, so no Wifi involved there.

Not able to Set Parameters from Ground Station

Ok. Got everything working pretty good. I can even set waypoints and send them to the UAS. While everything else seems to be working I can not seem to set tuning parameters from the ground station to the UAS.

When I hit the Set button in APMplanner it says transmitting and then timesout. There are no associated message id's that appear on the UAS side. I did see the note on the parameters page that id_all should be set for pass through but this does not seem to work.
Messages sent to MAV_COMP_ID_ALL will be forwarded to the UAS as well

I did leave a message on glitter but no takers, so I am posting here. Any help would be appreciated.

Thanks
Mike

UPDATE: was looking at the code in componets.cpp and don't think its handling MAV_COMP_ID_ALL for set parameter message. If I knew how to fix it I would give it a shot.

 //-- MAVLINK_MSG_ID_PARAM_SET
  if(message->msgid == MAVLINK_MSG_ID_PARAM_SET) {
      mavlink_param_set_t param;
      mavlink_msg_param_set_decode(message, &param);
      DEBUG_LOG("MAVLINK_MSG_ID_PARAM_SET: %u %s\n", param.target_component, param.param_id);
      if(param.target_component == MAV_COMP_ID_UDP_BRIDGE) {
          _handleParamSet(sender, &param);
          return true;
      }

If you follow to handleParameterSet I don't see where it sends to the UAV for ALL.

Auto reconnect does not work in Windows (W/Qgroundcontrol)

tested the automatic connection inside QGroundControl.
Works perfect in Android and iOS
does not work in windows 10. I have to click connect button once i loose connection, and i came back.
i don't know about under Linux

EDIT: i managed to make it work under windows, creating a UDP link. Now it's working ok.

how usable is STA mode?

Updated issue: I initially opened this as "enabling debug log on GPIO2 causes crash" but after some further troubleshooting I believe it has to do with maving set wifi_mode=1 (STA).

After enabling STA mode enabling debug log on GPIO2 causes crash. I clone the repo as-is, uncommented the line in mavesp8266.h to define ENABLE_DEBUG, and it crashes as soon as client connects:

Configuring access point...
Free Sketch Space: 159744
Waiting for a client...
Got 1 client(s)
Start WiFi Bridge
Local IP: 192.168.4.1

Exception (0):
epc1=0x40106d51 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

ctx: cont
sp: 3fff5ca0 end: 3fff6040 offset: 01a0

>>>stack>>>
3fff5e40:  0000001c 00000000 3fff4f50 401004d8
3fff5e50:  00000000 00000000 3fff6a44 4020345d
...

Update platform?

Should we do a platform update? Current version is 1.8.0 but there is 3.* already.

Send buffer to UDP

Send buffer to UDP

The following cord of mavesp8266_vehicle.cpp is not correct.
The direction of memcpy is opposite.

//-- Read MavLink message from UAS
void
MavESP8266Vehicle::readMessage()
{
    if(_queue_count < UAS_QUEUE_SIZE) {
        if(_readMessage()) {
            _queue_count++;
        }
    }
    //-- Do we have a message to send and is it time to forward data?
    if(_queue_count && (_queue_count >= UAS_QUEUE_THRESHOLD || (millis() - _queue_time) > UAS_QUEUE_TIMEOUT)) {
        int sent = _forwardTo->sendMessage(_message, _queue_count);
        //-- Sent it all?
        if(sent == _queue_count) {
            memset(_message, 0, sizeof(_message));
            _queue_count = 0;
            _queue_time  = millis();
        //-- Sent at least some?
        } else if(sent) {
            //-- Move the pending ones up the queue
            int left = _queue_count - sent;
            for(int i = 0; i < left; i++) {
                // nop memcpy(&_message[sent+i], &_message[i], sizeof(mavlink_message_t)); --> !!!
                memcpy(&_message[i], &_message[sent+i], sizeof(mavlink_message_t));
            }
            _queue_count = left;
        }
        //-- Maintain buffer status
        float cur_status  = 0.0;
        float buffer_size = (float)UAS_QUEUE_THRESHOLD;
        float buffer_left = (float)(UAS_QUEUE_THRESHOLD - _queue_count);
        if(buffer_left > 0.0)
            cur_status = ((buffer_left / buffer_size) * 100.0f);
        _buffer_status = (_buffer_status * 0.05f) + (cur_status * 0.95);
    }

Support multiple vehicles, multiple ground stations

Perhaps this has come up before but I think the current mavesp firmware only supports connecting with a single ground stations. It would be nice if multiple ground stations could be connected.

By the way, ardupilot also supports "drone follow" (one or more vehicles following a lead vehicle without the use of a ground stations). It would be nice if we could use mavesp to easily connect up the vehicles. I.e. the lead vehicle would create an access point, the following vehicles would connect to it using "station" mode. I think this basically works but the follow vehicles do not get the lead vehicle's position (at least in my testing).

Volunteer for helping in optimize code for pixhak platform

Hi,
I've had to carry some change to code to let it work on Pixhawk Autopilot (HK32 clone)
Now it's working pretty fine.
I'm using ESP8266-07 module and I've notice seriously problems with softAP in WPA2-WEK mode, so I switch in open AP mode

I'm offering volunteer for code optimization and improvement.
Let I know.
Bye,
G. Carbone

Offering to help with the project

I've noticed that activity on this project has slowed, and I was wondering if you needed some help. Would you consider adding the project to Code Shelter? It's an open community of FOSS maintainers (please feel free to join!) that aims to help FOSS projects out (fixing bugs, merging PRs, releasing, etc), and I'm a member and can help.

You can read more details about it or add your project to it. There are also people available to help on the Code Shelter chat channel.

Thanks!

STA DNS issue

If I don't configure a static IP in STA mode then it becomes impossibnle to locate the mavesp8266 because the MDNS name set contains the last byte of the IP address. Specifically: https://github.com/dogmaphobic/mavesp8266/blob/master/src/main.cpp#L190
This means that find the IP address via DNS I need to know the IP address...
One solution would be to add a parameter to set the hostname or the digit appended to the hostname.

Dual SSID/Password

After playing around and switching back and forth between AP and STA mode, it became clear we need two separate sets of SSIDs and Passwords. One for each.

Multiple UAVs over WiFi?

Hi guys, thanks for your awesome work!
I'm trying to connect a couple of pixracer drones to qgroundcontrol to test RTK, is there any way to set up the esp8266 so I can see both? I've tried to set them up as STA's but I can't connect to them from qgc like this. Any clues?
Again, many thanks for your great effort,

Jono

Help with Wiring Esp 01 to Apm 2.8/configuring UDP on QGC

hi
it would be really helpful if someone could guide me on how to connect the esp-01 module to APM 2.8. And also the configuration that has to be done in QGround control software in my phone.
The Esp-01 is flashed with the firmware and i can connect to it and go to 192.168.4.1 to check/change parameters

Some question about the IP address and the receive buffer of ESP8266

thank you for your great work .and I have used your open source to finish my project .but there are some questions whick I can't understand and solve.

1、I have try to change the IP Address of ESP8266 with the function of WiFi.config(IPAdress) ,but it doesn't work.

2、 I also try to change the SSID of the WiFi in the file of mavesp8266_parameters.cpp ,also,it doesn't work.

3、 last one , I set the ESP8266 as the TCP server ,and I will send a lot of date to ESP8266, and I hope to know the Receive buffer size of ESP8266.

thank you very much.

link error

I can't build it successfully. the error is as following:
.pio\build\esp01_1m\firmware.elf section .text' will not fit in region iram1_0_seg'

the platformio Espressif 8266 platform version is 1.4.0.

some tips?
thanks

Adding Ethernet PHY to Esp8266 firmware to build a Ethernet MavLink bridge.

Hello ,
This is not exactly a issue with the MavEsp firmware .
Can someone help me with adding a Ethernet PHY layer and necessary changes in the firmware code required to build a Ethernet Mavlink bridge ?
I have got sources to build a Ethernet breakout to Esp8266 hardware .
Any help with this would be wonderful as i am working on telemetry connection through Ethernet to Ground computer.

Could not visit 192.168.4.1

I could not visit 192.168.4.1 when i connect to "Pixracer" WiFi.
I ensure that my computer has connect the "Pixracer" and get IP "192.168.4.2".

I use the firmware build from the code.
I use Ubuntu 18.04
My board is ESP01
My use "platformio run -e esp01 -t upload" to uplaod

who could help me?

Config not persisting across reboots with ESP-07

Firmware works without any issues on my NodeMCU (ESP12E), but settings are not saved correctly on my ESP-07. My assumption is that the different flash size is the culprit even though 1MB should be enough.

v1.2.2 and v1.1.1 fails to bootup (Stuck in bootloader ? )

Unable to see the pixracer wifi after flashing the firmware v1.2.2 or v1.1.1 . Steps to reproduce

  1. Use the hardware: ESP8266EX along with USB-TTL convertor
  2. Follow https://docs.px4.io/en/telemetry/esp8266_wifi_module.html#flashing-the-esp8266-firmware to upload the firmware.
    ESP is powered using a power supply rated for multiple amps of current
    Flash mode:
    CH_PD is pulled high
    GPIO0 is connected to ground
    Normal mode:
    Disconnect Ch_PD and GPIO0
  3. Power cycle ESP8266 and check for wifi connections
  4. Read the Serial output(at 78400 baud) to get the following output(ESP still in bootloader ?):

ets Jan 8 2013,rst cause:1, boot mode:(3,2)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v8b899c12
~ld

20190530_152357
20190530_192937

Any suggestions to solve this ?

Strange behavior mavesp on Pixhawk

Hi guys,
i'm facing a very strange behavior.
I'm using a NodeMCU v2 instead of an ESP-01 and it is working quite fine with an Ardupilot at 115200.
The strange happens when i try to use it with a Pixhawk on telemetry port 1: the wifi works fine and i can connect every device, but there is no communication between Pixhawk and mavesp8266.
It's worth a mention that Telem1 on Pixhawk is working fine, when i connect it to my laptop through an FTDI adapter.
I double checked all the connection, i tried different baud rate (of course both on Pixhawk and mavesp8266), and i even tried to complile my own firmware dedicated for ESP-12e, but i still cannot find a way to fix it.
Very strange! Isn't it?

Any help will be very appreciated!
Thanks a lot in advance guys! ;)

Can't connect to network, ESP keeps rebooting

If I upload the 1.2.2 firmware it works, if I compile following the suggested steps with Platformio4.3.3 or Platformio3.6.7 I keep getting these messages from the serial:

load 0x4010f000, len 3456, room 16 
tail 0
chksum 0x84
csum 0x84
va5432625
~ld

 ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x4010f000, len 3456, room 16 
tail 0
chksum 0x84
csum 0x84
va5432625
~ld

 ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x4010f000, len 3456, room 16 
tail 0
chksum 0x84
csum 0x84
va5432625
~ld

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.