loboris / MicroPython_ESP32_psRAM_LoBo

MicroPython for ESP32 with psRAM support
Other
825 stars 342 forks source link

VT100 functionality for the SSH module #270

Open stroobandt opened 5 years ago

stroobandt commented 5 years ago

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:

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: Screen and Stream. The Screen is the terminal screen emulator. It maintains an in-memory buffer of text and text-attributes to display. The Stream is the stream processor. It processes the input and dispatches events. Events are things like LINEFEED, DRAW "a", or CURSOR_POSITION 10 10.

drawkula commented 5 years ago

The VT100 functions should be placed between (network, serial, pipe, ...) transport and a display. So it is not an add on specific to SSH.