Servers by jDrones

ESP8266 WIFI on pixhawk

(Gregsky) #28

I have used an ESP module to read PWM from Pixhawk and control a gopro, the same module reads mavlink and controls LEDs in a converted Phantom 2.

(tridge) #29

I’ve been doing some updates to the mavesp8266 firmware to add MAVLink2 support, and improve the web UI for setup
I’ve released some updated binaries here:
http://uav.tridgell.net/mavesp8266/
for the modules that come with the pixracer the esp01_1m version works nicely.
Main new features are:

  • mavlink2 support
  • also handles mavlink1
  • handles new mavlink messages without building new firmware
  • much expanded web UI for setting up SSID, password etc
  • fixes firmware update of ESP8266 over WiFi

PR against upstream is here:

testers welcome!

(James Pattison) #30

Gus merged your PR, so mavlink2 and the HTML interface is in mavesp8266 master now.

(rmackay9) #31

I’ve created a draft page for the ESP8266 wifi telemetry module on the wiki. It’s based around the adafruit module because it apparently doesn’t require a regulator or level shifter.

I’d like to get some details on that page for how people can flash the MAVESP8266 firmware onto the module so if anyone has any advice…

(Dave) #32

I use the NodeMCU Flasher for the ESP8266 radios supplied with PixRacers or available cheaply elsewhere.

(ppoirier) #33

Cool, I suggest esptool, a simple python script easy to get , easy to use (runs on both Python 2 &3)

pip install esptool
esptool.py --baud 921600 --port /dev/your_serial_port write_flash 0x00000 firmware_xxxxx.bin
Where:
firmware_xxxxx.bin is the firmware you downloaded above
your_serial_port is the name of the serial port where the ESP8266 is connected to (/dev/ttyUSB0 for example)

Best would be to add a flasher on Mission Planner :wink:

(ppoirier) #34

btw a good blog here on how to connect the ESP

1 Like
(rmackay9) #35

Patrick,

Thanks!! I’ve added a link to Ray’s blog on the new wiki page.

(ppoirier) #36

Finally had a little time to flash and test an ESP Module with this new firmware.
Good signal (I added an small patch antenna) and low jitter, making the parameter loading much faster and experienced no random disconnection (like it used to with old firmare).

(Boom_Boom) #37

PPoirier, Did you hook that up with a level-converter?

I have a pixracer with a esp01, that works great! (firmware 1.1.1)
But i don’t have the same succes on other filghtcomputers.
With the esp07S (on the same breakout-board as you have, connected the same way it says in Ray’s blog)
I’ve been using the pre-compiled firmware for the ESP012 which should be the same for 012, 07 and 07S from what i can find online, or would i need to compile it?

I also just got a “ESP8266 NodeMCU V2” (it has a esp012E )
Did not work first try but i’ll look more into it.

The same esp01 and same firmware version connected to a pixhawk 2.1 running the same arducopter version was unusable because of the low speed and low reliability (of course powering it with a step down because the 3.3v, but not using a level converter).

(ppoirier) #38

No level converter, just a 3.5V step down converter for power supply. The adapter board is required because it has some jumping and passive components to make it work.
I flashed using the esptool python script thats available here

(jimovonz) #39

I have written some simple code for an ESP32 that forwards serial MaAVLink over Wi-Fi. I use a board with external connector along with a 5db antenna and get a -75dbm level out at around 1km direct line of sight (12db omni at the other end). It does work with MP for telemetry but I do experience a larger percentage of corrupt packets than expected. I have recently noticed that it is specific packets that are corrupted so I suspect I need to do more work on how I parse the MAV Link data to detect frames (GCS seem to expect one complete message per packet). My board also acts as an ntrip client for my gps and a simple web server to show connection stats.

2 Likes
(Utkarsh Ahuja) #40

please refer to this page http://ardupilot.org/copter/docs/common-esp8266-telemetry.html. and could you please tell me what is the default password for the connection.

(Manotroll) #41

Why do not you use an hc-12 instead?
and serial and has an acceptable speed and reach

(Boom_Boom) #42

Because you need a receiver, wifi can get connected to a laptop or smartphone without extra hardware, or to 10 phones at a time.

(Manotroll) #43

or use a translator or it will be complicated through WiFi

(Lincoln Gerken) #45

Does MAVESP8266 work well with ESP07s?

(James Pattison) #46

Yes, works fine with esp07/12

(Solhead) #47

Hello,
My intention is to use an ESP8266 module to which I have loaded the latest firmware (firmware-esp12e.bin) which works perfectly and I can connect to the module and configure them, even there.

My problem is that I want to put it in STATION mode so that it connects to the Wifi module of the Dragonlink V3. I have tried several configurations, but I have no idea about networks and I can’t connect.

This is the DL Wi-Fi configuration in TCP mode:

WiFi Setup:

The module ID is " DragonLink "
The Wifi Password is " DragonLink "

MISSION PLANNER CONNECTION INFORMATION:

Choose TCP connection with a baud rate of 115,200
Ip address to use: 1.1.1.1
Port to use: 1

This is the my ESP8266 Wi-Fi configuration

WiFi Mode: Station
AP SSID: ArduPilot
AP Password (min len 8): ardupilot
WiFi Channel: 11
Station SSID: DragonLink
Station Password: DragonLink
Station IP: 1.1.1.1
Station Gateway: 0.0.0.0
Station Subnet: 0.0.0.0
Host Port: 1
Client Port: 1
Baudrate: 115200

Can you help me with the configuration?:sweat_smile:
a greeting

(Shawn) #48

Ive never used the devices you have, but two devices cant both have the same IP address.
I’d suggest change one of them to 1.1.1.2
The subnets will need to be something like 255.255.255.0 for all devices.

Usually non-routable (private) devices have IP ranges like 10.x.x.x or 192.168.x.x