myo-ts

Typescript and Javascript bindings for Myo, refactored to provide a clean interface


Keywords
myo, thalmic, myojs, myo-js, typescript, emg
License
BSD-1-Clause
Install
npm install myo-ts@3.4.4

Documentation

myo-ts

Build Status

Myo javascript bindings.

Myo.js allows you to interact with Thalmic Labs's Myo Gesture Control Armband using websockets. Listen for IMU, EMG, and gesture events, as well as controlling vibration and locking.

Examples can be found here myo-tests.

Installation

Currently only intended for browser usage, will re-add node compatibility.

npm i myo-ts

Usage

You"ll need a Myo and Myo Connect

import myo from "myo"

myo.connect("com.stolksdorf.myAwesomeApp")

myo.on("fist", myo => {
	console.log("Hello Myo!")
	myo.vibrate()
})

Myo Lifecycle

A myo can be paired, connected, and/or synced.

A myo is paired if it's ever been connected to your computer. You can see a list of paired myos in Myo Connect's armband manager. When Myo.connect() is called, Myo.js will create a myo instance for every paired Myo on your computer and store them in Myo.myos array.

A myo is connected if it's turned on and connected to your computer over bluetooth. It can send over IMU events at this point, vibrate, and EMG (if myo.streamEMG(true) is called) but not poses since it's not synced with the user.

A myo is synced when the user puts it on and does the sync gesture. At this point it will start sending over pose and lock/unlock events.

Branding and Assets

You can use assets provided in Thalmic's branding and UX guidelines.

Documentation

You can read the full documention in docs.md

Changelog

Releases are documented in changelog.md, for recent minor changes just see commit log.

License

The Myo.js project is licensed using the modified BSD license. For more details, please see LICENSE.txt.

Contributors

Thanks to stolksdorf for creating the original js wrappers.

This repo is maintained by ltetzlaff.