Intellekten Edison buller larm (Intel IoT) (4 / 4 steg)
Steg 4: Användbar kod, resurser och krediter
Förhoppningsvis har du kunnat lyckas replikera buller larmet på din edison. Lika stolt som jag är av min mindre prestation, i det är nuvarande form inte är det mycket användbar. Det emellertid Visa upp vissa mycket användbara delar av kod som du kan ha nytta i ditt nästa projekt, så jag tänkte jag skulle vilja belysa dem nedan.
Koden krävs för att skicka observationer att aktivera IoT:
Jag hade några bra hjälp från killarna på intel och andra instructables användare (magic_toaster /) att få detta arbetar. Jag har tagit alla Node.js koden nedan du behöver för att automatisera observationer som skickas till aktiverar IoT. Om du ändrar den destination du skickar UDP-meddelandet till och det bör fungera med andra moln analytics.
Innehåll för aktivera IoT
var dgram = require('dgram');
var kund = dgram.createSocket('udp4');
UDP-alternativ
var alternativ = {
värd: '127.0.0.1',
Port: 41234
};
var countmsg = 0;
Intel gör Iot skicka Observation information.
funktion sendObservation (namn, värde, på) {
var msg = JSON.stringify ({
n: namn,
v: värde,
på: på
{}); var sentMsg = ny Buffer(msg);
countmsg = countmsg + 1.
Console.log ("Skicka observation:" + sentMsg + "Len:" + sentMsg.length + "Count:" + countmsg); Lägg till len till
client.send (sentMsg, 0, sentMsg.length, options.port, options.host);
};
Slutet innehåll för aktiverar IoT
Om du inkluderar koden ovan Node.js projektet alla du behöver göra är samtal funktionen "sendObservation" på sättet som nedan för att skicka din observation till molnet! Kom ihåg att ställa in din variabel med iotkit-agent på edison samt din analytics molntjänst som i steg 3!
sendObservation ("temp", temp, nya Date().getTime());
Mikrofon provtagning
Jag kämpade för att skriva min egen, pålitlig kod för mikrofon provtagning. Node.js lämpar inte sig till exakt timing som C gör. Till slut jag "lånat" koden nedan från intel IoT developer zone.
fungera getReading() {var buffert = nya upmMicrophone.uint16Array(128); //create buffert för att lagra data
var len = myMic.getSampledWindow (2, 128, buffert); Fyll buffert med exempeldata
om (len)
{
var tröska = myMic.findThreshold (threshContext, 30, buffert, len);
om (tröska)
läsning = tröska;
myMic.printGraph(threshContext); -Även om mycket tilltalande, undertryckta stapeldiagram representation av ljudnivå.
}
}
Kodresurser
Intels IoT developer zone är en fantastisk resurs, vilket innehåller exempelkod för alla tänkbara sensor i C/C++, Node.js och Python! Om din använder grove seeed sensorer eller annat märke ska du kolla exempelkoden där. Jag kan inte betona hur användbar den är - bokmärke det nu!
https://Software.Intel.com/en-us/IOT/Hardware/Sens...
Krediter
Slutligen, detta skulle inte ha varit möjligt utan verkligen entusiastiska, kunnig och tålmodig teamet på Intels IoT tändning Lab i Swindon. Jag kom att skriva några enkla kod för Intel Edison med Arduino IDE, med några fantastiska stöd och vägledning jag lärt mig att skriva kod i Node.js och börjat även skriva om projektet i C!