iome
Publicderekenos/iome
Loading…
Imported from GitHub: derekenos/iome · commit 1a2f7b5 · license GPL-3.0
Description
A Physical Platform for Web Appplication Development
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:
More generally, it enables wireless access to physical switch, knob, etc. data via a Websocket.
This means that you can:
- Build/buy something like the Dev Kit v1
- Load it up with the
iomesoftware (if necessary) - Power it up
- Connect your computer to the
iome-{theUniqueId}Wifi Access Point that it creates by default - Surf your browser over to
http://192.168.4.1 - 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)
}
- 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 is a motorized Etch A Sketch display appliance.

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