ESPTerm - ESP8266 terminal emulator. Branches: [master] patches, [work] next release
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Ondřej Hruška f0a64ac29d readme change 8 years ago
html working terminal 8 years ago
html_orig working terminal 8 years ago
include Removed example project junk & added UART drivers 8 years ago
libesphttpd@cc6e7dafa7 updated lib & fixed compatibility 8 years ago
user working terminal 8 years ago
.gitignore Foo 8 years ago
.gitmodules ,mmm 8 years ago
Makefile working terminal 8 years ago
Makefile.combined Make blankflash target automatically calculate pos to write to 9 years ago
Makefile.ota Add make httpflash command for commandline ota flashing 9 years ago
Makefile.separate Make blankflash target automatically calculate pos to write to 9 years ago
README.md readme change 8 years ago
build_parser.sh working terminal 8 years ago
build_web.sh working terminal 8 years ago
esphttpdconfig.mk Lib bump 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 the xtensa-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 run git submodule init and git 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.