Med knappar och sensorer för att göra musik med Intel Edison (5 / 9 steg)
Steg 5: Ange Cylon, IoT utvecklarens schweiziska armékniven
Edison är en kraftfull plattform som kan hantera gränssnitt med hårdvara på en nivå som är mycket nära "till metal". Men vi kan med mer kraftfulla metoder för att få tillgång till hårdvara gränssnitt i styrelsen, vi kommer att dra nytta av den Cylon.js ramen, vilket ger oss möjlighet att fokusera på kött av det här inlägget: vrida sensordata till musik! Komma igång med Cylon genom att installera npm paketet, sedan begå och skicka dina ändringar.
NPM installera--spara cylon
Sedan uppdatera din app.js filen för att starta Cylon.
var uttryckliga = 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 + '/ offentliga'))
Server.listen(8080)
IO
.of('/soundsocket')
.på ("anslutning", funktion (socket) {
Console.log ("kund ansluten")
socket.Emit ('my_message', "hello world!")
})
Cylon.robot({
anslutningar: {/ / tala Cylon hur vi kommer att ansluta till våra enheter
Edison: {adapter: "intel-iot"}
},
enheter: {
Vi har inte utrustning för att lägga till ännu, men vi kommer inom kort!
}
.på ("ready", function(my) {})
Console.log ("cylon klar")
})
Cylon.start()
Åta sig och driva dina ändringar. SSH till din Edison, dra ner dina ändringar och sedan installera paketet "cylon-intel-iot" npm .
NPM installera cylon-intel-iot
Obs: Vi har nu ett beroende som inte kommer att installera korrekt å allt annat än en Edison. Detta innebär att du kan få fel om du försöker köra ditt program på datorn utveckling i stället för din Edison, på grund av som kräver kompatibilitet med MRAA biblioteket.
Om du kör programmet på din Edison, bör du nu se Cylon initiera och skapa det är anslutningar, så småningom loggning "cylon ready" till konsolen.
Låt oss lägga till en knapp! Gå vidare och tråd upp en knapp till en av de digitala ingångarna på Edison, att notera vilken pin som du ska ansluta till den med. Om du behöver hjälp med inkoppling en knapp, kolla Intels utmärkta tutorial på ledningar en momentan tryckknapp. Därefter göra följande ändring till Cylon initieringskod, ersätter pin nummer med PIN-koden har du en knapp som är ansluten till.
Cylon.robot({
anslutningar: {
Edison: {adapter: "intel-iot"}
},
enheter: {
knappen: {drivrutin: "knappen", pin: 2}
}
.på ("ready", function(my) {})
Console.log ("cylon klar")
My.Button.on ("push", function() {/ / när knappen trycks, denna callback kommer att utlösas
Console.log ("knappen sköt!")
})
My.Button.on ("release", function() {/ / när knappen släpps, denna callback kommer att utlösas
Console.log ("knappen släppts!")
})
})
Cylon.start()
Om du kör app, bör du se din logg uttalanden på Edison när trycka och släppa knappen.