Étape 5: Entrez Cylon, couteau suisse du développeur de l’ITO
L’Edison est une plateforme puissante qui peut gérer l’interfaçage avec le matériel à un niveau qui est extrêmement étroit "to the metal". Bien que nous pourrions utiliser des méthodes plus puissantes d’accéder aux interfaces matérielles au Conseil d’administration, nous allons profiter du cadre Cylon.js , qui nous permettra de mettre l’accent sur la viande de ce post : transformer les données du capteur en musique ! Démarrer avec Cylon en installant le paquetage de la NGP , puis valider et poussez vos modifications.
npm install --save cylon
Ensuite, mettez à jour votre fichier app.js bootstrap 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()
Nous engageons et poussez vos modifications. SSH dans votre Edison, tirer vers le bas de vos modifications, puis installez le paquet « ITO-intel-cylon » NGP .
npm install cylon-intel-iot
Note : Nous avons maintenant une dépendance qui ne sera pas installé correctement sur autre chose qu’un Edison. Cela signifie que vous pouvez obtenir des échecs si vous essayez d’exécuter votre application sur votre ordinateur de développement, au lieu de votre Edison, en raison d’exiger la compatibilité avec la bibliothèque MRAA.
Si vous exécutez l’application sur votre Edison, vous devriez maintenant voir Cylon initialiser et configurez des connexions c' est, finalement logging « cylon prêt » à la console.
Nous allons ajouter un bouton ! Allez-y et associer à l’une des entrées numériques disponibles sur le Edison, notant quelles broches vous allez vous y connecter avec un bouton poussoir. Si vous avez besoin d’aide câblage d’un bouton, consultez excellent tutoriel d’Intel sur le branchement d’un bouton poussoir momentané. Ensuite, apporter la modification suivante au code d’initialisation Cylon, remplaçant la broche numéro avec le code pin, à que vous avez un bouton connecté.
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()
Si vous exécutez l’application, vous devriez voir vos instructions log sur le Edison en enfonçant et relâchant le bouton.