GithubHelp home page GithubHelp logo

esp32_remote_uart_ret's Introduction

ESP32 Remote uart tool

This fork (from https://github.com/yuri-rage/ESP-Serial-Bridge) adds an LCD display (i2c, 20x4) to show some useful information, such as address, baudrates, etc. The LCD fork has NOT been tested with ESP8266, the rest of the code is compatible with both the ESP32 and ESP8266.

This fork also adds compatibility with Platformio both physical and OTA upload, to run under Arduino IDE simply rename the file main.cpp to main.ino

Because the ESP8266 has some idiosyncrasies with its hardware serial ports, I used SoftwareSerial to implement the ESP8266 bridge. It is limited to ~115200 baud and will likely prove less reliable than an ESP32. BLUETOOTH (hardware limitation) and PROTOCOL_UDP (software limitation) are not available on the ESP8266.

As is, the sketch will compile, build, and upload without errors for the ESP32. Edit config.h to configure and build for ESP8266.

There are many configurable parameters in config.h. Edit to suit your needs - inline comments should provide clarity.

Major update, Mar 2024:

  • Added I2C LCD compatibility

Major update, Apr 2023:

  • Fixed compatibility with Arduino framework 2.0
  • Added compatibility with PlatformIO.
  • Implemented PROTOCOL_UDP (UDP broadcast)
  • PROTOCOL_TCP and PROTOCOL_UDP can be used simultaneously, though doing so may result in serial traffic conflicts if your client connections are not managed carefully.
  • Added ESP32-Serial-WiFi-Client.ino in a separate sketch folder to make an ESP32 TCP or UDP client that connects to the ESP-Serial-Bridge. Edit client_config.h and upload to a second board.
  • Multiple bugs (possible buffer overruns) are fixed in the latest commit(s).
  • Latest commits also include some styling/readability edits, though I can easily admit that it isn't the "prettiest" of C++ projects.

ESP32-Serial-Bridge

Transparent WiFi (TCP) to all three UART Bridge, supports both AP and STATION WiFi modes. The .ino file is the code for the ESP32. Use Arduino IDE for ESP32 to compile and upload it to the ESP32. I made this project in order to connect Flight equipment devices devices like (Radio, Vario FLARM), to a Flight Computer (Kobo, Smartphones etc.), but it is not limited to that. You can use it wherever you want, but on your own risk. Read license file for more details.

===============================================================

Used Libraries: (must be installed in the arduino IDE):

https://github.com/espressif/arduino-esp32

===============================================================

In some cases the memorylayout is to small for this scetch. If you face this problem you can either disable Bluetooth by removing #define BLUETOOTH in config.h or change the partition size as described here: https://desire.giesecke.tk/index.php/2018/04/20/change-partition-size-arduino-ide/

Arduino hardware configuration:

https://github.com/AlphaLima/ESP32-Serial-Bridge/blob/master/Settings.jpg

===============================================================

example usecases:

https://www.youtube.com/watch?v=K2Hia06IMtk

https://www.youtube.com/watch?v=GoSxlQvuAhg

Hardware

here is the wiring diagram recomendation: https://raw.githubusercontent.com/AlphaLima/ESP32-Serial-Bridge/master/ESP32-SerialBridge.jpg
Pinning
COM0 Rx <-> GPIO21
COM0 Tx <-> GPIO01
COM1 Rx <-> GPIO16
COM1 Tx <-> GPIO17
COM2 Rx <-> GPIO15
COM2 Tx <-> GPIO04

NOTE: The PIN assignment has changed and may not look straigt forward (other PINs are marke as Rx/Tx), but this assignment allows to flash via USB also with hooked MAX3232 serial drivers.

I recomend to start your project with a Node32s or compatible evaluation board. For a TTL to RS232 level conversion search google for "TTL RS3232 Converter"

https://tech.scargill.net/wp-content/uploads/2017/05/ESP326.jpg

esp32_remote_uart_ret's People

Contributors

italocjs avatar

Watchers

 avatar

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.