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 ZealandPosts: 2294 |
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 KingdomPosts: 3678 |
Why VT100? Seems a bit odd to want it in a web page. John |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2294 |
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 AfricaPosts: 280 |
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 ZealandPosts: 2294 |
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 KingdomPosts: 3678 |
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: AustriaPosts: 124 |
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: AustraliaPosts: 5923 |
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 ZealandPosts: 2294 |
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. 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. is good to know i'm not looking at reinventing the wheel! cheers, rob :-) |
||||
isochronic Guru Joined: 21/01/2012 Location: AustraliaPosts: 689 |
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: AustraliaPosts: 1664 |
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: AustriaPosts: 124 |
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: AustraliaPosts: 1664 |
My comment was in reference to part of Robert's original post:- |
||||
isochronic Guru Joined: 21/01/2012 Location: AustraliaPosts: 689 |
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: AustraliaPosts: 1664 |
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: AustraliaPosts: 1664 |
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: AustriaPosts: 124 |
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 KingdomPosts: 8605 |
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: AustraliaPosts: 1664 |
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 StatesPosts: 529 |
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 |