Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 15:58 19 May 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : ESP8266 as a VT100 terminal

     Page 1 of 2    
Author Message
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2294
Posted: 02:56am 27 Mar 2016
Copy link to clipboard 
Print this post

have just been looking around on the web to see if anyone has produced an ESP8266 firmware to use the device as a VT100 terminal. what i have in mind is for the ESP8266 to be attached to a micromite via the serial port, and through the wifi interface present a web page that contains a VT100 terminal window.

one could then use a tablet or PC running firefox or similar, with NO other software needed, and by connecting to the ESP8266 use the micromite's internal editor to write mmbasic code. i'm thinking of this as a way of creating a super-simple wireless setup using an old android tablet + bluetooth keyboard as a terminal, no other software required. as an added bonus, the micromite is electrically isolated from everything.


has anyone found something like this out there. i've had a bit of a dig around, but not found anything this simple - then again, i may not have looked hard enough!


note: this is NOT just passing serial data straight through. the ESP8266 is also providing a VT100 emulation layer, and encapsulating that layer within a single webpage that it serves up. to keep things simple, the ESP8266 would present itself as an isolated wifi hotspot without any internet connectivity.

cheers,
rob :-)
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3678
Posted: 03:12am 27 Mar 2016
Copy link to clipboard 
Print this post

Why VT100?

Seems a bit odd to want it in a web page.

JohnEdited by JohnS 2016-03-28
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2294
Posted: 03:33am 27 Mar 2016
Copy link to clipboard 
Print this post

  JohnS said   Why VT100?
Seems a bit odd to want it in a web page.
John


VT100 because that is the command set that the micromite's internal editor uses. this is something defined by geoff.

as for placing it in a web page, this is to allow for connection using something like an old android tablet that may only have a web browser available. a web page interface means that you do not need to have anything beyond a browser running on your tablet or PC. your could even use a smartphone if it supported wifi. it also makes thing highly independant of the operating system.


cheers,
rob :-)
 
Chris Roper
Senior Member

Joined: 19/05/2015
Location: South Africa
Posts: 280
Posted: 03:49am 27 Mar 2016
Copy link to clipboard 
Print this post

There is an opensource Chrome Plugin that supports VT100 here:

https://github.com/beagleterm/beagle-term

I have used that in the past to connect, but I am not sure it fits your requirements. You may find the source code useful though.

Cheers
Chris

http://caroper.blogspot.com/
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2294
Posted: 04:47am 27 Mar 2016
Copy link to clipboard 
Print this post

  Chris Roper said   There is an opensource Chrome Plugin that supports VT100 here:
https://github.com/beagleterm/beagle-term

it is pretty neat, but not quite what i have in mind - the crome plugin essentially turns chrome into a teraterm workalike, with the connection to the target via a wired serial port (according to the demo video).

perhap this diagram better shows what i have in mind:



cheers,
rob :-)
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3678
Posted: 05:52am 27 Mar 2016
Copy link to clipboard 
Print this post

That's what I thought you meant but it does seem extraordinarily painful to "want" VT100 between the left 2 items (umite & esp).

Some "fun" will also be needed if you go that route to cope with the browser.

John
 
bigfix
Senior Member

Joined: 20/02/2014
Location: Austria
Posts: 124
Posted: 10:04am 27 Mar 2016
Copy link to clipboard 
Print this post

Maybe this could work with a Javascript based terminal
ESP Basic or NodeMCU LUA support JS integration on the ESP8266

There is a terminal.js available which claims VT100 compatibility
Terminal Emulator Library

JS gets loaded from the ESP8266 - but runs in the client browser
Most browsers should support this ?

So there is basically only a serial stream passed over the WLAN ?
VT100 intelligence/performance sits at the browser side

My programming skills are rather rudimentary, but once I got a very small
Javascript demo working with ESP Basic
But this is definitely beyond my abilities...



My current goal is, to have a local screen at the MMite,
but also web based access for display & control
I will try to use a wall mounted small Windows Tablet, running a special app to link buttons/widgets to the MMite serial port

You could get a Trekstor Surftab Wintron 7" for 50 Euro - with Win10 Installed !
(If you like to open it, it even has an internal 1.8V level Com Port)
This is not much more expensive than a good 7" display with a decent case

So you could run all your preferred tools on the tablet and remotely access it with
any standard remote mgt tool like VNC
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 5923
Posted: 12:27pm 27 Mar 2016
Copy link to clipboard 
Print this post

I have spent a bit of time looking for something along these lines but nothing comes close enough yet.

Being able to use the 'mite with any standard web browser on any device would be nice.

Jim
VK7JH
MMedit   MMBasic Help
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2294
Posted: 03:59pm 27 Mar 2016
Copy link to clipboard 
Print this post

  JohnS said  it does seem extraordinarily painful to "want" VT100 between the left 2 items (umite & esp)

if writing basic code interactively using the micromite's onboard editor, then it is not so much a case of "want" as "have no other choice but to". the micromite editor will only talk to a VT100, it supports no other screen formatting protocol. on the plus side, it almost certainly only uses a small subset of the VT100 command set.


  bigfix said   Maybe this could work with a Javascript based terminal
ESP Basic or NodeMCU LUA support JS integration on the ESP8266

There is a terminal.js available which claims VT100 compatibility
Terminal Emulator Library

JS gets loaded from the ESP8266 - but runs in the client browser

this looks like a very promising option, although it does limit you to tablets/browsers that support javascript. looks like iOS supports javascript, but not java applications. i shall have to look into how universally javascript is supported. it would be neat if everything could be built out of EPS basic and a javascript 'plugin' supplied to the browser from the ESP8266.


  TassyJim said   I have spent a bit of time looking for something along these lines but nothing comes close enough yet

is good to know i'm not looking at reinventing the wheel!


cheers,
rob :-)Edited by robert.rozee 2016-03-29
 
isochronic
Guru

Joined: 21/01/2012
Location: Australia
Posts: 689
Posted: 01:12pm 29 Mar 2016
Copy link to clipboard 
Print this post

There is a bluetooth terminal emulator, "Blueterm" , for andoid though that wouldn't be web based of course
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1664
Posted: 02:28am 19 Apr 2016
Copy link to clipboard 
Print this post

This sounds a little bit like what I'm doing with Tiny Term Lite .

Main short coming is it doesn't have an option to turn on Local Echo, or translate CR to CR/LF.

Only using it on local Wifi, but could use it remotely if I setup some port forwarding rules in my router.

Cheers.
 
bigfix
Senior Member

Joined: 20/02/2014
Location: Austria
Posts: 124
Posted: 03:40am 19 Apr 2016
Copy link to clipboard 
Print this post

Tiny Term is a Terminal emulator which runs on a specific client device

What would be perfect, is rather a small Webserver on a ESP8266 or even natively inside a future MicroMite to convert a real or virtual serial port to a "Screen" Webpage

This would deliver a VT100 Terminal Emulation to almost any Browser Client

It should not require any specific application on the client side at all
Eventually a java applet would be downloaded automatically to the client

When I remember the 80s, VT100 character based menues looked quite decent
You could do a lot with special characters, sizes and scroll windows
This could even be combined with touch/mouse position feedback

I searched for this all over the Web and did not find any useful solution yet

 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1664
Posted: 11:54am 19 Apr 2016
Copy link to clipboard 
Print this post

  bigfix said   Tiny Term is a Terminal emulator which runs on a specific client device


My comment was in reference to part of Robert's original post:-

  robert.rozee said  one could then use a tablet or PC running firefox or similar, with NO other software needed, and by connecting to the ESP8266 use the micromite's internal editor to write mmbasic code. i'm thinking of this as a way of creating a super-simple wireless setup using an old android tablet + bluetooth keyboard as a terminal, no other software required. as an added bonus, the micromite is electrically isolated from everything.
[/quote]

I know it does require software, but I thought it worth the suggestion as it gets the VT100 running on a tablet happening right now.

I'm simply looking at the status of my Micromite randomly during the day but a quick glance at my phone.

The concept of doing it in a Browser sounds like a great idea and I'd definitely use it, having so many devices around here.

Cheers

Phil

 
isochronic
Guru

Joined: 21/01/2012
Location: Australia
Posts: 689
Posted: 11:35pm 19 Apr 2016
Copy link to clipboard 
Print this post


I think there may be a telnet option ? Then you could connect using teraterm telnet.
Not secure I know (passwords not encrypted), and I doubt if the secure options are supported even if telnet is, but worth a try maybe
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1664
Posted: 12:51am 20 Apr 2016
Copy link to clipboard 
Print this post

  bigfix said  When I remember the 80s, VT100 character based menus looked quite decent
You could do a lot with special characters......
Like make horse races on TRS-80's....
Peek & Poke to memory display locations for decent speed as I recall...

80's were a bit of a blur,
But late 70's brain cells have survived & still recall the hardware of addiction back then:....

The "Canola" with it's punch cards, and the Nixie tube displays.





And the REAL thing, the Wang, with lots of peripherals,




Cheers.
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1664
Posted: 08:10pm 04 Apr 2017
Copy link to clipboard 
Print this post

Just revisiting this topic;

The concept of VT100 access from anywhere, browser based.

Is this at all relevant?

Specifically, can it be used to create a page on my web host, that then makes a VT100 connection to another public IP address & port?

I get a bit lost in their explanation of the product.

Thanks

Phil.
 
bigfix
Senior Member

Joined: 20/02/2014
Location: Austria
Posts: 124
Posted: 10:35pm 04 Apr 2017
Copy link to clipboard 
Print this post

Phil,
looks like a possible solution

But the author Dan writes Dec 2016 in facebook that he lost somewhat his interest in this project, therefore he wants to make its codebase public

No further messages since...

Still strange that no solution for this function is available, every couple of weeks I dig around, but do not find much

One promising solution could be this:

TTYX GitHub

Maybe this on a Raspberry combined with Matherp's brilliant MMbasic port could finally allow a simple WebGui VT100 & MMbasic on one module
(with all the benefits and tradeoffs going from a slim MMbasic "OS" to a full Linux)

But I would still like to have this on a ESP8266 or ESP32 for flexibility with normal MMites
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8605
Posted: 11:30pm 04 Apr 2017
Copy link to clipboard 
Print this post

Please see the pi thread for a new enhancement I've added to the pi version - does this get some way to answer this issue?
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1664
Posted: 11:55am 05 Apr 2017
Copy link to clipboard 
Print this post

  matherp said   Please see the pi thread for a new enhancement I've added to the pi version - does this get some way to answer this issue?


Don't think so. Tera Term is used.

The solution would be more like this.

Visiting http://vt100.inverellit.com would bring up a terminal window in a browser.

That window would then make a terminal connection to another IP address, based on IP address & port entered.

I presume a java script would be required.

Other alternative is maybe like this (ignoring my syntax, the "?"),

Browsing to http://vt100.inverellit.com?123.456.456.789:11223

From any device anywhere would create a terminal connection to 123.... on port 11223.

Obviously the js would need to be hosted on my webspace.

Phil.
 
Quazee137

Guru

Joined: 07/08/2016
Location: United States
Posts: 529
Posted: 11:59am 26 May 2017
Copy link to clipboard 
Print this post

Just catching up reading past post.

But is this something like you want.

https://github.com/MightyPork/esp-vt100-firmware
 
     Page 1 of 2    
Print this page
© JAQ Software 2024