iome

Public

@derekenos

Download board files

Files for version 1. Pick what you came for.

Share iome

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading…

README

I/O <-> ME

iome is a platform for developing physical interfaces with a web application frontend using modern, off-the-shelf technologies.

The overall system looks like:

 ______________________          _____________________                      _________________________
| Buttons, Knobs, etc. |  --->  | Wifi-enabled micro- |  <-- WiFi ------>  | Device with a display   |
 ----------------------         | controller running  |           | \      | and a web browser, e.g. |
 ____________________           | an HTTP server and  |           |  OR    | phone, tablet, computer |
| LEDs, Motors, etc. |  <-----  | minimal web applic- |           |         --------------------------
 --------------------           | ation framework     |           |               /\   
                                 ---------------------        [ Router ] ---------'

Applications

This was created specificially to serve as a wireless HTML5 game console:

vidthumbz

More generally, it enables wireless access to physical switch, knob, etc. data via a Websocket.

This means that you can:

  1. Build/buy something like the Dev Kit v1
  2. Load it up with the iome software (if necessary)
  3. Power it up
  4. Connect your computer to the iome-{theUniqueId} Wifi Access Point that it creates by default
  5. Surf your browser over to http://192.168.4.1
  6. Open the browser dev console and do:
const ws = new WebSocket(`ws://192.168.4.1/input`)
ws.onmessage = e => {
  const data = JSON.parse(e.data)
  console.log(data)
}
  1. Watch the data change as you interact with the physical buttons, knob, etc.

From there, you can integrate that WebSocket hook into whatever web application code you want.

Connect to an Existing Wifi Access Point

The default configuration creates an Access Point on boot, but you can edit the config to specify that it connect to an existing Access Point instead. You can use the editor described here to do this. Once connected, you should, providing your AP supports mDNS, be able to access it via http://iome-{uniqueId}.local, as opposed to having to discover and specify its IP address.

Dev Kit v1

This first development kit features a familiar household rotary push-button dimmer knob as its primary physical input and three living hinge tactile switch buttons (labelled 1, 2, 3). It employs the popular, low-cost ESP32 running Micropython as the brains of the operation.

Sketchy

sketchy prototype

Sketchy is a motorized Etch A Sketch display appliance.

Comments

No comments yet. Be the first to ask about this board.

Ask about this board

Sign in to BoardRepo

New here? Signing in creates your account; there is no separate sign-up.