MicroPython_ESP32_psRAM_LoBo
MicroPython_ESP32_psRAM_LoBo copied to clipboard
VT100 functionality for the SSH module
This is an improvement request to extend the existing SSH module with (basic) VT100 terminal functionality.
Doing so, would allow seeing and interacting with ncurses programs running on the server to which the MicroPython client is connected. Examples of ncurses programs are htop, aptitude and numerous text editors, text web browsers and e-mail clients.
A testament to its feasibility are following Arduino projects; one of which runs on an ESP8266:
- https://tech.scargill.net/vt100-terminal-for-hc2018/
- https://tech.scargill.net/an-arduino-terminal/
- https://hackaday.io/project/27359-tiny-wearable-8-bit-vt100-console
- http://forum.arduino.cc/index.php?topic=275261.0
- https://www.madresistor.com/diy-vt100/
There are also several Python VT100 libraries, of which pyte seems to be the most revered.
From its tutorial:
There are two important classes in
pyte:ScreenandStream. TheScreenis the terminal screen emulator. It maintains an in-memory buffer of text and text-attributes to display. TheStreamis the stream processor. It processes the input and dispatches events. Events are things likeLINEFEED,DRAW "a", orCURSOR_POSITION 10 10.
The VT100 functions should be placed between (network, serial, pipe, ...) transport and a display. So it is not an add on specific to SSH.