https://github.com/todbot/node-blink1-server
HTTP API server in Node for blink(1) devices
https://github.com/todbot/node-blink1-server
Last synced: about 1 year ago
JSON representation
HTTP API server in Node for blink(1) devices
- Host: GitHub
- URL: https://github.com/todbot/node-blink1-server
- Owner: todbot
- License: mit
- Created: 2015-10-01T02:24:47.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-01-05T20:28:27.000Z (over 4 years ago)
- Last Synced: 2025-05-08T02:18:26.678Z (about 1 year ago)
- Language: JavaScript
- Homepage: https://github.com/todbot/blink1-server
- Size: 26.4 KB
- Stars: 14
- Watchers: 5
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# node-blink1-server
HTTP REST API server in Node for blink(1) devices
Supports plug and unplug of blink(1) while server is running.
Uses new `node-hid@0.5.1` so works with Node 4.x.
### Installation
Install globally and use on the commandline:
```
npm install -g node-blink1-server
blink1-server 8754 # starts server on port 8754
```
Or check out and use via npm:
```
git clone https://github.com/todbot/node-blink1-server.git
cd node-blink1-server
npm install
npm start 8754
```
### Supported URIs:
- `/blink1` -- status info about connected blink1s, lastColor, etc.
- `/blink1/fadeToRGB` -- fade blink(1) to a color. query args:
- `rgb` -- hex color code (e.g. "#ff00ff") [required]
- `time` -- fade time in seconds (default: 0.1)
- `ledn` -- LED to control (0=both, 1=top, 2=bottom; default: 0)
- `/blink1/blink` -- blink a color, query args:
- `rgb` -- hex color code (e.g. "`#ff00ff`") [required]
- `time` -- fade & blink time in seconds (default: 0.1)
- `ledn` -- LED to control (0=both, 1=top, 2=bottom; default: 0)
- `repeats` -- number of times to blink (default: 3)
- `/blink1/pattern` -- blink a pattern of colors, query args:
- `rgb` -- hex color codes separated by a comma (,) (e.g. "`#ff00ff`") [required]
- `time` -- time in seconds between colors (default: 0.1)
- `repeats` -- number of times to blink pattern (default: 3)
- `/blink1/on` -- turn blink(1) on to full-on white (#FFFFFF)
- `/blink1/red` -- turn blink(1) red (#FF0000)
- `/blink1/green` -- turn blink(1) green (#00FF00)
- `/blink1/blue` -- turn blink(1) blue (#000000)
- `/blink1/yellow` -- turn blink(1) yellow (#FFFF00)
- `/blink1/cyan` -- turn blink(1) cyan (#00FFFF)
- `/blink1/magenta` -- turn blink(1) magenta (#FF00FF)
- `/blink1/off` -- turn blink(1) off (#000000)
### Examples:
```
$ blink1-server 8754 &
$ curl 'http://localhost:8754/blink1'
{
"blink1Connected": true,
"blink1Serials": [
"AB0026C1"
],
"lastColor": "#FF0000",
"lastTime": 1.5,
"lastLedn": 0,
"lastRepeats": 0,
"cmd": "info",
"status": "success"
}
$ curl 'http://localhost:8754/blink1/fadeToRGB?rgb=%230000ff&time=2.5&ledn=2'
{
"blink1Connected": true,
"blink1Serials": [
"200026C1"
],
"lastColor": "#0000ff",
"lastTime": 2.5,
"lastLedn": 2,
"lastRepeats": 0,
"cmd": "fadeToRGB",
"status": "success"
}
$ curl 'http://localhost:8754/blink1/pattern?rgb=%23ff0000,%23ffffff,%230000ff&time=.2&repeats=8'
{
"blink1Connected": true,
"blink1Serials": [
"200026C1"
],
"time": 0.2,
"colors": [
"#ff0000",
"#ffffff",
"#0000ff"
],
"repeats": 8,
"cmd": "pattern",
"status": "success"
}
```
### debugging
```
% DEBUG=Blink1Service node main.js
```