Skip to content

Instantly share code, notes, and snippets.

@kamilziajka
Created June 2, 2016 16:47
Show Gist options
  • Save kamilziajka/21e9d4402249838c67f4212db095b0e5 to your computer and use it in GitHub Desktop.
Save kamilziajka/21e9d4402249838c67f4212db095b0e5 to your computer and use it in GitHub Desktop.
serial.js
'use strict';
import Koa from 'koa';
import KoaRouter from 'koa-router';
import {SerialPort} from 'serialport';
const path = '/dev/ttyAMA0';
const options = {baudrate: 9600};
const port = new SerialPort(path, options);
const setState = (state) => new Promise((resolve, reject) => {
const data = [
[0xff, 0x01, 0b11111010, 0b00011111],
[0xff, 0x01, 0b00000000, 0b01011111]
];
const buffer = new Buffer(data[+state]);
port.write(buffer, (error) => {
if (error) {
return reject(error);
}
resolve();
});
});
const router = new KoaRouter();
let state = false;
router.get('/', async (ctx) => {
state = !state;
ctx.body = state;
try {
await setState(state);
}
catch (error) {
console.error(error);
}
});
const app = new Koa();
app
.use(router.routes())
.listen(8080, () => {
console.log('server up')
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment