TimPietrusky / ThunderCommander

Control the USB Thunder Missile Launcher with your web browser.
MIT License
7 stars 0 forks source link

Thunder Commander

Control your USB Thunder Missile Launcher with a web application based on node, express and AngularJS in a web browser of your choice.

You can see a live demo of the frontend (without a connected device) here: Thunder Commander client demo.

Thunder Commander - connected device

Features

Keyboard controls

Install

node

Install node if you don't have it.

libusb

You need libusb in order to install the dependencies.

Linux

sudo apt-get install build-essential pkg-config libusb-1.0-0-dev

Windows & Mac

Please contact me or create an issue if you need assistance.

Clone the repository

git clone git@github.com:TimPietrusky/ThunderCommander.git

Switch into the folder

cd ThunderCommander

Get dependencies

Linux

sudo npm install

Windows & Mac

Please contact me or create an issue if you need assistance.

Start the application

sudo node app

The application is now available under http://localhost:1337. If you want to change the port you have to edit the app.js file:

// Listen on port for connection
app.listen(1337);

Thunder Connector

In order to connect this web application with the real USB device I created the node module thunder-connector.

The journey

At first I tried to create a Chrome App, but the chrome.usb API is not allowed to call USB-HID devices, because the OS kernel grabs and interprets them before the user space code has a chance to do so.

After that I tried to create a node application with the help of the usb package, but it has not access to USB-HID devices too D:

That's why I started the third time from scratch with the node-hid package. But this time it worked :D

Thanks

Author

2013 by Tim Pietrusky