Ondřej Hruška
f0a64ac29d
|
8 years ago | |
---|---|---|
html | 8 years ago | |
html_orig | 8 years ago | |
include | 8 years ago | |
libesphttpd@cc6e7dafa7 | 8 years ago | |
user | 8 years ago | |
.gitignore | 8 years ago | |
.gitmodules | 8 years ago | |
Makefile | 8 years ago | |
Makefile.combined | 9 years ago | |
Makefile.ota | 9 years ago | |
Makefile.separate | 9 years ago | |
README.md | 8 years ago | |
build_parser.sh | 8 years ago | |
build_web.sh | 8 years ago | |
esphttpdconfig.mk | 8 years ago |
README.md
esp-vt100-firmware
ESP8266 Remote Terminal project
This project is based on SpriteTM's esphttpd and libesphttpd, forked by MightyPork to MightyPork/esphttpd and MightyPork/libesphttpd respectively.
Those forks include improvements not yet available upstream.
Goals
This project aims to be a wireless terminal emulator that'll work with the likes of Arduino, STM32 / embed etc.
Connect it to the Arduino and use the terminal for debug logging, remote control etc.
It lets you make simple UI (manipulating the screen with ANSI sequences) and receive input from buttons on the webpage (and keyboard on PC).
The screen size should be adjustable up to 25x80 and uses 16 standard colors.
Project status
Still far from finished and also there's like zero documentation, but you can give it a spin if you wish.
Presently we have a working 1-way terminal (UART->ESP->Browser) with real-time update via websocket.
The terminal should support multiple sockets at once (not tested).
The buttons or other input from the browser don't work yet.
Setting it all up
-
Install esp-open-sdk and build it with
make toolchain esptool libhal STANDALONE=n
. Make sure thextensa-lx106-elf/bin
folder is on $PATH. -
Install esptool (it's in Arch community repo and on AUR, too)
-
Set up udev rules so you have access to ttyUSB0 without root, eg:
KERNEL=="tty[A-Z]*[0-9]*", GROUP="uucp", MODE="0666"
-
Clone this project with
--recursive
, or afterwards rungit submodule init
andgit submodule update
.
Development
The web resources are in html_orig
. To prepare for a build, run compress_html.sh
.
This should pack them and put in html
.
If you're missing the compression tools, you can simply copy them there manually uncompressed and hope for the best.
serial comm is handled in serial.c
, sockets etc in user_main.c
.
Get the IoT SDK from one of:
ESP8266_NONOS_SDK_V2.0.0_16_08_10.zip:
wget --content-disposition "http://bbs.espressif.com/download/file.php?id=1690"
ESP8266_NONOS_SDK_V2.0.0_16_07_19.zip:
wget --content-disposition "http://bbs.espressif.com/download/file.php?id=1613"
ESP8266_NONOS_SDK_V1.5.4_16_05_20.zip:
wget --content-disposition "http://bbs.espressif.com/download/file.php?id=1469"
ESP8266_NONOS_SDK_V1.5.3_16_04_18.zip:
wget --content-disposition "http://bbs.espressif.com/download/file.php?id=1361"
ESP8266_NONOS_SDK_V1.5.2_16_01_29.zip:
wget --content-disposition "http://bbs.espressif.com/download/file.php?id=1079"
It's tested with 1.5.2, 2.0.0 won't work without adjusting the build scripts. Any 1.5.x could be fine.
To flash, just run make flash
. First make sure your esphttpdconfig.mk
is set up properly - link to sdk etc.