Stap 5: Vul Cylon, de IoT developer's Zwitsers zakmes
De Edison is een krachtig platform dat aankan interfacing met hardware op een niveau dat zeer nauwe "aan de metal". Hoewel we meer krachtige methodes gebruiken kunnen van de toegang tot hardware-interfaces op het bord, we gaan om te profiteren van het Cylon.js kader, waardoor ons te richten op het vlees van deze post: sensor data omzetten in muziek! Aan de slag met Cylon door het installeren van de npm -pakket, dan plegen en druk op uw wijzigingen.
npm install --save cylon
Vervolgens, bijwerken uw app.js bestand om te bootstrappen Cylon.
var express = require('express') var app = express() var server = require('http').Server(app) var cylon = require('cylon') var io = require('socket.io')(server) app.use(express.static(__dirname + '/public')) server.listen(8080) io .of('/soundsocket') .on('connection', function (socket) { console.log('client connected') socket.emit('my_message', 'hello world!') }) cylon.robot({ connections: { // tell Cylon how we will be connecting to our devices edison: { adaptor: 'intel-iot' } }, devices: { // we don't have devices to add yet, but we will shortly! } }).on('ready', function(my) { console.log('cylon ready') }) cylon.start()
Vastleggen en druk op uw wijzigingen. SSH in uw Edison, pull-down uw wijzigingen, druk dan op de 'cylon-intel-iot' npm -pakket.
npm install cylon-intel-iot
Opmerking: We hebben nu een afhankelijkheid die niet goed op allesbehalve een Edison installeren zal. Dit betekent dat u fouten krijgen kunt als u probeert uw toepassing wilt uitvoeren op uw ontwikkelingsmachine in plaats van uw Edison, vanwege de compatibiliteit met de MRAA-bibliotheek vereisen.
Als u de toepassing op uw Edison uitvoert, ziet u nu Cylon initialiseren en zijn verbindingen, uiteindelijk logging "cylon ready" instellen naar de console.
Laten we een knop toevoegen! Ga je gang en draad van een drukknop tot één van de digitale ingangen beschikbaar op de Edison, vaststellend welke je gaat verbinden met pin. Als u de behoeftehulp van bedrading van een knop, check out de uitstekende tutorial Intels op de bedrading van een kortstondige drukknop. Breng de volgende wijziging aan de initialisatiecode Cylon, ter vervanging van de pin nummer met de pin die je een knop aangesloten hebt op.
cylon.robot({ connections: { edison: { adaptor: 'intel-iot' } }, devices: { button: { driver: 'button', pin: 2 } } }).on('ready', function(my) { console.log('cylon ready') my.button.on('push', function() { // when the button is pushed, this callback will be triggered console.log("Button pushed!") }) my.button.on('release', function() { // when the button is released, this callback will be triggered console.log("Button released!") }) }) cylon.start()
Als u app hebt uitgevoerd, moet u uw logboek verklaringen op de Edison wanneer duwen en loslaten van de knop.