This is a basic UART to telnet server for the ESP32. It adds a wireless control interface to the c't-Bot. It's tested with an ESP32-WROOM-32, but should work with most ESP32 boards. This implementation is based on the WiFiTelnetToSerial example of the ESP32 arduino framework and therefore licensed under the terms of the LGPLv2.1 license.
- install PlatformIO core as described here
- can be skipped, if using VS Code IDE with PlatformIO extension
- clone this git repository:
git clone https://github.com/tsandmann/esp32-telnet2uart
- change to cloned repo:
cd esp32-telnet2uart
- initialize build system for...
- commandline build:
platformio init
- VS Code project:
platformio init --ide vscode
- Eclipse CDT project:
platformio init --ide eclipse
- any other environment supported by PlatformIO
- commandline build:
- create a config file
- copy config.h.in to
config.h
- fill in your wifi SSID in
static const char* ssid = "YOUR_SSID";
- fill in your wifi password in
static const char* password = "YOUR_PASSWORD";
- copy config.h.in to
- build the project
- commandline:
plaformio run
- VS Code: use “Build” button on the PlatformIO toolbar or shortcut (
ctrl/cmd+alt+b
) - Eclipse CDT:
Project
->Build Project
or shortcut (ctrl/cmd+b
) - note: you may need to adjust
board = esp01
in platformio.ini](platformio.ini), if you don't use an esp-01 board
- commandline:
- upload firmware image
- connect the ESP32 to a programmer (we assume an USB programmer)
- adjust
upload_port =
in platformio.ini as used by your programmerll /dev/cu*
may help to find the correct device entry on a POSIX compatible OS
- start programming by
- on commandline:
platformio run -t upload
- with VS Code: use “Upload” button on the PlatformIO toolbar or shortcut (
ctrl/cmd+alt+t
) and select "PlatformIO: Upload"
- on commandline:
- use a telnet program to connect
telnet [IP or HOSTNAME OF YOUR ESP32]
- conventions:
- indentation is done by 4 (four) spaces for each level, never ever use tabs (
\t
|HT
) - source code formatting is done with clang-format, use .clang-format for style settings
- indentation is done by 4 (four) spaces for each level, never ever use tabs (