Code Monkey home page Code Monkey logo

espruinowebide's Introduction

Espruino Web IDE

A Simple Web-Based VT100 Serial Terminal - designed for writing code on microcontrollers that use the Espruino JavaScript interpreter (http://www.espruino.com) - but useful for a bunch of other stuff too!

ScreenShot ScreenShot

This is a Chromium Web App that uses chome.serial to access your PC's serial port. You can download it from the Chrome Web Store: https://chrome.google.com/webstore/detail/espruino-serial-terminal/bleoifhkdalbjfbobjackfdifdneehpo

It implements basic VT100 terminal features (up/down/left/right/etc) - enough for you to write code using the Espruino. You can also use the right-hand pane to write JavaScript code on the PC, and can then click the 'transfer' icon to send that code directly down the Serial Port.

Currently, this isn't as good as it could be. So please, if you have some free time, help us improve this!

Installing From Chrome Web Store

Installing from GitHub

  • Install the Chrome Web Browser
  • Download the files in EspruinoSerialTerminal to a directory on your PC (either as a ZIP File, or using git)
  • Click the menu icon in the top right
  • Click 'Settings'
  • Click 'Extensions' on the left
  • Click 'Load Unpackaged Extension'
  • Navigate to the EspruinoSerialTerminal Directory and click Ok
  • Job Done. It'll now appear as an app, but you can start it easily right now by clicking the 'Launch' link on the extensions page, or whenever you open a new tab

Permissions

This web app requires the following permissions:

  • Serial port access : So that it can access the Espruino board via USB/Serial
  • Webcam access : So that when you click the little person icon in the top-right of the terminal window, you can overlay the terminal on a live video feed

Using

  • Run the Web app
  • If you've only just plugged your device in, press the refresh button
  • In the Top Left, make sure the correct serial port is chosen (usually: Highest COM# number on Windows, tty.usbmodem/ttys000 on Mac, ttyUSB0/ttyACM0 on linux)
  • Click the 'Play' (connect) button
  • Click in the left-hand terminal window and start typing away!

Using (advanced)

  • Click the button with left/right arrows to transfer the text (or graphics) in the right-hand pane to Espruino
  • Click the button with a picture frame to switch between graphical and text views (the code will not auto-update)
  • To copy on the left-hand side, click and drag over the text to copy (text is copies when you lift the mouse button)
  • To paste, press Ctrl + V
  • Ctrl + Space starts auto-complete

Features that would be good to implement

  • Better auto-detection of the correct serial device
  • Detection of serial disconnect (and auto reconnect)
  • Make everything prettier/easier to use
  • Implement more of Espruino as Blockly Blocks
  • Actually toggle WebCam on and off (currently it can only turn on)
  • Blockly Blocks to turn red if they can't do certain things (for instance a pin that won't do analog)
  • Codeacademy-style online tutor that talks you through the first few steps of coding on Espruino
  • Keep code on right in sync with graphical editor
  • Being able to choose a filename for Save, so you don't have to change the name each time
  • Storing blockly blocks locally so they are remembered on startup
  • Auto-complete that knows more about Espruino's API

Nice but not required at all

  • More complete VT100 terminal emulation
  • Option to use a Baud rate other than the default 9600
  • Use the Mozilla sound API to fake a serial port over the Audio Link for non-Chrome web browsers

espruinowebide's People

Contributors

gfwilliams avatar jumjum123 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.