Skip to content

Commit 290cf20

Browse files
committed
Switching to wiringpi-node and add the final routing
1 parent 44a0346 commit 290cf20

File tree

4 files changed

+38
-28
lines changed

4 files changed

+38
-28
lines changed

Dockerfile

+14-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
1-
FROM node:latest
1+
FROM hypriot/rpi-node:6.10.0
22
MAINTAINER Kevin Viet <[email protected]>
33

4+
RUN apt-get update && apt-get install -y -q \
5+
git \
6+
make \
7+
gcc \
8+
python \
9+
g++ \
10+
&& rm -rf /var/lib/apt/lists/*
11+
412
RUN mkdir -p /usr
513
WORKDIR /app
6-
COPY . /app
14+
COPY package.json /app
15+
RUN npm install
16+
COPY app.js /app
17+
COPY chaconEmitter.js /app
718

819
EXPOSE 8080
9-
RUN npm install
10-
CMD ["npm", "start"]
20+
CMD ["npm", "start"]

app.js

+21-21
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,38 @@ var path = require('path');
44

55
var pin = 0
66

7-
// var index = require('./routes/index');
8-
// var users = require('./routes/users');
9-
10-
11-
var router = express.Router();
127
var app = express();
138

14-
router.put('switch/:device_id/emitterId:emiter_id/', function(req, res) {
15-
var deviceId = req.parameter.device_id;
16-
var emiterId = req.parameter.emiter_id;
17-
18-
res.status(200);
19-
});
9+
chaconEmitter.init();
2010

21-
//app.get('/', router);
22-
app.get('/switch/:deviceId/:emitterId/:state/:dim', function (req, res) {
23-
var deviceId = req.params.deviceId;
24-
var emiterId = req.params.emiterId;
11+
app.get('/switch/:deviceId/:emitterId/:state', function (req, res) {
12+
var deviceId = parseInt(req.params.deviceId);
13+
var emitterId = parseInt(req.params.emitterId);
2514
var state = req.params.state;
2615

16+
// console.log(req.route);
17+
18+
// console.log('deviceId:%s', deviceId);
19+
// console.log('emitterId:%s', emitterId);
20+
// console.log('state:%s', state);
21+
2722
if (state == 'on') {
28-
chaconEmitter.transmit(chaconEmitter.buildOrder(emiterId, deviceId, true));
23+
chaconEmitter.transmit(chaconEmitter.buildOrder(emitterId, deviceId, true));
2924
}
3025
else if (state == 'off') {
31-
chaconEmitter.transmit(chaconEmitter.buildOrder(emiterId, deviceId, false));
26+
chaconEmitter.transmit(chaconEmitter.buildOrder(emitterId, deviceId, false));
3227
}
3328
else if (state == 'dim') {
34-
var dim = parseInt(req.params.dim);
35-
chaconEmitter.transmit(chaconEmitter.buildDimOrder(emiterId, deviceId, dim));
29+
var dimValue = parseInt(req.query.value);
30+
// console.log('dimValue:%s', dimValue);
31+
if (0 <= dimValue && dimValue <= 100) {
32+
// console.log('dimming!');
33+
chaconEmitter.transmit(chaconEmitter.buildDimOrder(emitterId, deviceId, dimValue), true);
34+
}
3635
}
3736

3837
res.status(200);
3938
res.send();
40-
})
41-
app.listen(8080);
39+
});
40+
41+
app.listen(8089);

chaconEmitter.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ function init(GPIOPin) {
1010
}
1111
wpi.setup('wpi');
1212
wpi.pinMode(pin, wpi.OUTPUT);
13-
//console.log('wpi setup on PIN :' + pin);
13+
console.log('wpi setup on PIN :' + pin);
1414
}
1515

1616
function setWPI(awpi) {
@@ -137,7 +137,7 @@ function doTransmit(order, dimmer) {
137137
wpi.digitalWrite(pin, wpi.HIGH);
138138
wpi.delayMicroseconds(275);
139139
wpi.digitalWrite(pin, wpi.LOW);
140-
//console.log('transmit finished');
140+
// console.log('transmit finished');
141141
}
142142

143143
// exports

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@
88
"dependencies": {
99
"debug": "~2.6.9",
1010
"express": "~4.15.5",
11-
"wiring-pi": "^2.4.4"
11+
"wiringpi-node": "^2.4.4"
1212
}
1313
}

0 commit comments

Comments
 (0)