Home  |  Contents 
Microcontroller and PC projects
  Forum Index : Microcontroller and PC projects         Section
Subject Topic: ESPTerm - webbased VT100 Post ReplyPost New Topic
Page of 2 Next >>
Author
Message << Prev Topic | Next Topic >>
bigfix
Regular Member
Regular Member


Joined: 20 February 2014
Location: Austria
Online Status: Offline
Posts: 52
Posted: 10 September 2017 at 8:04pm | IP Logged Quote bigfix

Finally - filling another gap in the MicroMite family




ESPterm is a tiny Webserver running on an ESP8266 which emulates a VT100
ESPterm allows to "webify" any Micromite just with a serial connection and no special Web/Network code at all

This gives you a full character based GUI to the MicroMite with optional touch/mouse support
tiny size, relatively low power
very low costpoint - typically a few $ only
no special SW on the client side - just a browser
no OS patches/maintenance - fits well with MicroMites


It was written by Ondrej Hruska in Prague - I only helped with some requirements & testing & some beer money
Ondrej did an excellent job, documenting everything on Github and having almost no bugs in many iterations

His goal is to make it as compatible as possible with all typical character based Unix applications & VTtest
The main limitation is the tiny RAM in the ESP - leaving about 30kB only for the application & Screen storage
Program space is less of an issue
- so we will get many more functions over time and quite extensive GUI & Help pages


Github ESPTerm


ESPTerm Demo

All the menu/help pages in the demo look exactly the same as the real thing

The current releases you find at
Current ESPTerm Release:

Flashing works with the usual tools, which were discussed multiple times in the Forum already
ESP Flashing



Features:
Almost complete VT102 emulation with some extras from Xterm, eg.
Screen size up to 80x25
(Currently no 132 Char Mode & Double Wide/High due to memory restrictions)

All standard text styles and 16 colors supported
Full UTF-8 support, alternate character sets

Configurable mouse support "XTerm Style" - should also work with touchscreens
XTerm Standard mouse tracking modes configurable from serial port

You can dynamically set screen title, button labels from serial port
up to 5 configurable buttons under the screen for quick commands

Real-time screen update via WebSocket - require somewhat up to date browser
Button to open keyboard on Android - use "hackers keyboard app" for full function keyboard

Text file upload tool with configurable delays and line endings

Built-in extensive help page with basic troubleshooting and command reference

Robust WiFi configuration interface
Static IP, DHCP, channel selection, power
SSID search utility for finding your existing network

(Possible) Futures:
Even more compatibility to VTs
TCP/Telnet mode for Client Terminal Emulators or tools like MMedit
Dynamic Background picture from external Webserver
More color selections
Optimized RAM usage allowing more features


Personal MicroMite experience:

In theory ESPterm supports 4 concurrent sessions - but memory is scarce...
In practice
One window works very well
Two windows may have some startup trouble with browsers filling caches - then work stable
Three windows hardly work - especially when the Help page is open


My MMbasic knowledge is still rather rudimentary
- I did not work much with my Mites since Christmas...
Currently garden/construction work has priority
- so I got only some very basic code

I run it on a ESP01 Version, should also work with ESP12

I found ESPterm works best with 230400 Baud, I got buffer overruns at 38400
To use the MMbasic Editor you should set the background to white, foreground to black


The Commandset is rather rich - all extensions are documented in the help pages
One thing bit me initially - Ondrej often uses "C" notation for characters
\a i.e. means a "Bel" Ascii Character Hex 07
This is documented now in the help page

Example Set Title:
E$ = Chr$(27)
B$ = Chr$(7)
Print E$+"]0;This is a Test"+B$

Example Set Button:
E$ = Chr$(27)
B$ = Chr$(7)
Print E$+"]81;Yes"+B$


Example Mouse Usage:

To enable the Mouse in normal click mode use:
Print E$+"[?9h"
To disable the mouse:
Print E$+"[?9l"
Left upper corner click delivers:
[M!! = Hex 33,33 minus basevalue 32 gives 1,1
Lower right corner click delivers:
[Mp8 = Hex 112,56 minus basevalue 32 gives 80,24
This allows you to use any location on the screen as an input button
- not just the 5 predefined buttons on the bottom of the screen


ESP 8266 Hardware - things to watch

Self destruct - Thermal Runaway bug
ESP Self Destruct

Solution: Ondrej's safe breadboard adapter
Safe Breadboard Adapter

PCB Details for Adapter:
Adapter PCB













Back to Top View bigfix's Profile Search for other posts by bigfix
 
CircuitGizmos
Guru
Guru
Avatar

Joined: 08 September 2011
Location: United States
Online Status: Offline
Posts: 976
Posted: 10 September 2017 at 10:00pm | IP Logged Quote CircuitGizmos

This ties in perfectly with something I'm doing. Nice!

Does it run well in more than just Chrome?

Edited by CircuitGizmos on 10 September 2017 at 10:18pm


__________________
Micromites and Maximites! - Beginning Maximite
Back to Top View CircuitGizmos's Profile Search for other posts by CircuitGizmos Visit CircuitGizmos's Homepage
 
bigfix
Regular Member
Regular Member


Joined: 20 February 2014
Location: Austria
Online Status: Offline
Posts: 52
Posted: 11 September 2017 at 9:30am | IP Logged Quote bigfix

Browser support besides Chrome ?

I just tested it briefly to make sure

Chrome W7, W10 is best looking and works well

Firefox W7, W10 works well and looks a little "thin" fontwise

Msoft Edge W10 (18 month old - I never do updates on W10 ) is terrible
- but you do not want Edge anyhow

Ipad Safari IOS 7.06 (very old Jailbreak...) works marginally

Android Tablet 6.01 Chrome works well - only the Std Keyboard misses keys
Install "Hackers Keyboard" to get all keys

Ondrej spent a lot of time fiddling with stylesheets - it became a compromise
Either you got gaps betwen linedrawing characters or background lines on the screen
He finally used a Google Font, which Firefox does not have



Back to Top View bigfix's Profile Search for other posts by bigfix
 
bigfix
Regular Member
Regular Member


Joined: 20 February 2014
Location: Austria
Online Status: Offline
Posts: 52
Posted: 11 September 2017 at 9:35am | IP Logged Quote bigfix

WLAN Scanning Bug

I just got notified that WLAN scanning does not work

It definitely worked very well with the 0.68 & 0.71 versions
Since that I only reflashed the new versions and it kept the old settings.
I just tried a Wifi scan with 1.01 - does not work

I drop Ondrej a note, he is a very nice and responsive guy
BTW You find his email in the "about" page

One temporary workaround could be:
Flash the 7.1 Version (I just tested the scan)
do all net config settings and then flash the 1.01 over
- it keeps the settings

Back to Top View bigfix's Profile Search for other posts by bigfix
 
CircuitGizmos
Guru
Guru
Avatar

Joined: 08 September 2011
Location: United States
Online Status: Offline
Posts: 976
Posted: 11 September 2017 at 4:07pm | IP Logged Quote CircuitGizmos

bigfix wrote:
WLAN Scanning Bug

I just got notified that WLAN scanning does not work

It definitely worked very well with the 0.68 & 0.71 versions
Since that I only reflashed the new versions and it kept the old settings.
I just tried a Wifi scan with 1.01 - does not work

I drop Ondrej a note, he is a very nice and responsive guy
BTW You find his email in the "about" page

One temporary workaround could be:
Flash the 7.1 Version (I just tested the scan)
do all net config settings and then flash the 1.01 over
- it keeps the settings



I'll try this firmware when the fix for this comes out.

__________________
Micromites and Maximites! - Beginning Maximite
Back to Top View CircuitGizmos's Profile Search for other posts by CircuitGizmos Visit CircuitGizmos's Homepage
 
bigfix
Regular Member
Regular Member


Joined: 20 February 2014
Location: Austria
Online Status: Offline
Posts: 52
Posted: 11 September 2017 at 8:14pm | IP Logged Quote bigfix

In the next internal Beta the WIFI bug is gone already

Ondrej redid the complete frontend to make it friendlier to all Browsers

Memory is much more optimized
256 Color support
Cursor style selection
Full screen option

Expect availability next weekend...



Back to Top View bigfix's Profile Search for other posts by bigfix
 
robert.rozee
Guru
Guru


Joined: 31 December 2012
Location: New Zealand
Online Status: Offline
Posts: 1141
Posted: 11 September 2017 at 11:04pm | IP Logged Quote robert.rozee

for attaching to a micromite, it would be really handy if a spare I/O pin on the ESP8266 could be assigned to one of the screen button. that pin could then be hooked up to reset on an attached micromite (or other micro) for remotely resetting mmbasic.


cheers,
rob :-)
Back to Top View robert.rozee's Profile Search for other posts by robert.rozee
 
bigfix
Regular Member
Regular Member


Joined: 20 February 2014
Location: Austria
Online Status: Offline
Posts: 52
Posted: 12 September 2017 at 6:32am | IP Logged Quote bigfix

Pin "toggling" was one of my original wishes
besides having a Telnet/TCP mode without VT functions

It may come with an ESP12 only, which has more pins
The ESP01 is rather restricted on I/O


Currently Ondrej has a ton of open issues and works through

This little thing is a rather complex beast in reality
i.e. we got some fine vertical lines on bright backgrounds with the internal beta
This may be due to rounding errors in the renderer - or something else...
Back to Top View bigfix's Profile Search for other posts by bigfix
 
MicroBlocks
Guru
Guru
Avatar

Joined: 12 May 2012
Location: Thailand
Online Status: Offline
Posts: 1993
Posted: 12 September 2017 at 10:41am | IP Logged Quote MicroBlocks

bigfix wrote:
Browser support besides Chrome ?

Msoft Edge W10 (18 month old - I never do updates on W10 ) is terrible
- but you do not want Edge anyhow

If you are on W10 you might want to reconsider, you can always roll back an update if you are not satisfied with it. 18 months old in todays terms is like pre historic. Testing stuff on 18 months old OS that was a major new release is not the best way to go.
Lots has changed. Edge is now my preferred browser as Chrome has become resource intensive. In the last 8 months i never had to use Chrome because something did not work, and that is a huge difference compared with about a year ago.
Have been using Chrome from the moment IE8 was released.


__________________
Microblocks. Build with logic.
Back to Top View MicroBlocks's Profile Search for other posts by MicroBlocks
 
bigfix
Regular Member
Regular Member


Joined: 20 February 2014
Location: Austria
Online Status: Offline
Posts: 52
Posted: 12 September 2017 at 7:28pm | IP Logged Quote bigfix

There are enough W10 threads already - but just to explain...

You are right about prehistoric - but this W10 is not for real use
I bought a Microsoft Surface Pro to play with W10 & Touchscreen

Actually I wanted to use it partly with a Android Emulator for the rich app store
When it works - it is faster than a real Android tablet - but it randomly works...
The emulator runs much worse with new W10 Versions - so I disabled the updates

I have many Laptops and PCs and they run mostly W7 with all updates
My work Laptop is a QCore i7 with 20Gig memory and 3 SSDs - Chrome runs well

I got sick and tired to chase down, what W10 decided to change the night before
i.e. I got random disk errors by a new USB3 driver, lost my USB connected screen a few weeks later and had a hard time getting it back.
A friend of mine runs a CAD company and W10 killed his main HP workstation by disabling KB & Mouse USB.
You cannot roll back without mouse & keyboard
This costed him many hours of lost time and finally required a reimage...

W10 will be the final reason for me to look into Linux when W7 is dead

Edited by bigfix on 12 September 2017 at 7:31pm
Back to Top View bigfix's Profile Search for other posts by bigfix
 
CaptainBoing
Guru
Guru
Avatar

Joined: 07 September 2016
Location: United Kingdom
Online Status: Offline
Posts: 300
Posted: 12 September 2017 at 8:22pm | IP Logged Quote CaptainBoing

bigfix wrote:
...
W10 will be the final reason for me to look into Linux when W7 is dead


+1

__________________

all you need is duct tape and WD40 (if it moves and shouldn't, use duct tape; if it doesn't move and should, use WD40)
Back to Top View CaptainBoing's Profile Search for other posts by CaptainBoing
 
bigfix
Regular Member
Regular Member


Joined: 20 February 2014
Location: Austria
Online Status: Offline
Posts: 52
Posted: 15 September 2017 at 8:26pm | IP Logged Quote bigfix

1.1.2 is here !
no further excuses not try it

New more interactive Demo at
ESPTerm Demo









Wifi Bug is fixed

Frontend got completely rewritten - works better across browsers
Chrome still looks best and also has optional fullscreen mode

Uses HTML5 now, faster rendering
256 Colors, Cursor styles

Many more config options in expert settings

For all details see release notes


ESPTerm Latest release


Best experience with MicroMite is with 230400 Baud, black foregnd, white backgnd
try to stick with one active window, three windows work, but startup is slow

Please use the Mailing Group for feedback and requests to the developers
Mailing List


Edited by bigfix on 15 September 2017 at 8:26pm
Back to Top View bigfix's Profile Search for other posts by bigfix
 


Page of 2 Next >>
In the news...
 
Post ReplyPost New Topic
Printable version Printable version
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum

Powered by Web Wiz Forums version 7.8
Copyright ©2001-2004 Web Wiz Guide

This page was generated in 0.0771 seconds.
Privacy Policy     Process times : 0, 0, 0, 0.08