So here's the project - I'm building a drone and I want to receive telemetry data on my iPhone. The way this works is - I can configure the flight controller MCU on the drone to send telemetry packets (in MavLink protocol) over a serial UART. So I can wire the Rx output from the flight controller to the Tx input on the ESP8266, and the Tx to the Rx. The flight controller also provides 3.3V output, so I hook that up and ground. Wiring is easy!
On my iPhone, I have an app called Alta QGroundControl, which is capable of reading a telemetry data stream in Mavlink protocol and displaying it. It asks for "Host Address" (default 0.0.0.0) and "TCP Port" (default 5760) if I select TCP as the link type. If I select UDP, it asks for "Listening Port" (default 14550) and "Target Hosts", which I believe is greyed out. Once I configure one of these setups, I can hit "connect" and it should start displaying the data. I assume before that, I need to connect my iPhone to the WiFi network established by the ESP8266 acting in access point mode?
Now, how do I get my ESP8266 to relay that serial data over TCP or UDP, assuming it doesn't do so by default? I have two models of ESP8266:
-DIYmall ESP-01S which looks pretty stripped down
-MakerFocus ESP8266 w/CP2102 which is pretty full featured and even has a USB port
Which should I use? I'm assuming I'll need to flash the ESP chip at some point, do these flash in different ways, like do I need an Arduino to flash the DIYMall one and not the MakerFocus one? Or do I just need the Arduino IDE and a USB cable that breaks out to the pin headers?
Appreciate some guidance here