Stap 4: Nuttig Code, middelen en kredieten
Hopelijk hebt u geweest kundig voor met succes het repliceren van de lawaai-alarm op uw edison. Zo trots als ik van mijn kleine prestatie ben, daarin is huidige vorm, het is niet erg nuttig. Het echter enkele zeer nuttige segmenten van code die kan je handig in uw volgende project, dus ik dacht dat ik noem ze hieronder showcase.
De code die nodig is voor het verzenden van waarnemingen om IoT:
Ik had enkele geweldige hulp uit de jongens op intel en één andere instructables gebruiker (magic_toaster /) om dit werkend te krijgen. Ik heb ook alle Node.js code hieronder u nodig hebt voor het automatiseren van opmerkingen wordt verzonden om IoT. Als u de bestemming waarnaar je verzendt het UDP-bericht en het moet werken met andere wolk analytics aanbieders.
//Content for enable IoTvar dgram = require('dgram'); var client = dgram.createSocket('udp4');
// UDP Options var options = { host : '127.0.0.1', port : 41234 }; var countmsg =0; //Intel Enable Iot Send Observation Info. function sendObservation(name, value, on){ var msg = JSON.stringify({ n: name, v: value, on: on });var sentMsg = new Buffer(msg); countmsg = countmsg + 1; console.log("Sending observation: " + sentMsg + " Len: " + sentMsg.length + " Count: " + countmsg); //add len to client.send(sentMsg, 0, sentMsg.length, options.port, options.host); }; //End content for enable IoT
Als u de bovenstaande code in uw Node.js project alle die u hoeft opnemen te doen is gesprek de functie "sendObservation" op de wijze die hieronder om uw opmerking verzenden in de cloud! Vergeet niet om het instellen van uw variabele met iotkit-agent op de edison evenals uw cloud-service voor webanalyse als in stap 3!
sendObservation("temp", temp, new Date().getTime());
Microfoon bemonstering
Ik worstelde om te schrijven van mijn eigen, betrouwbare code voor bemonstering van de microfoon. Node.js leent niet voor nauwkeurige timing zoals C doet. Op het einde ik 'geleend' de onderstaande code van de intel IoT ontwikkelaar zone.
function getReading() { var buffer = new upmMicrophone.uint16Array(128); //create buffer to store data var len = myMic.getSampledWindow(2, 128, buffer); //fill buffer with sample data if (len) { var thresh = myMic.findThreshold(threshContext, 30, buffer, len); if (thresh) reading = thresh; //myMic.printGraph(threshContext); - Although very pleasing, suppressed bar graph representation of sound level. } }
Codebronnen
De intel IoT ontwikkelaar zone is een fantastische bron, het bevat voorbeeldcode voor elke denkbare sensor in C/C++, Node.js en Python! Of uw gebruik van grove seeed sensoren of een ander merk moet u controleren of er met de voorbeeldcode. Ik kan niet benadrukken hoe nuttig het is - referentie het nu!
https://software.Intel.com/en-US/IOT/hardware/Sens...
Credits
Tot slot, dit zou niet mogelijk zijn geweest zonder het echt enthousiast, deskundig en patiënt team van Intels IoT ontsteking Lab in Swindon. Ik kwam met het plan om sommige eenvoudige code schrijven voor de Intel Edison met behulp van de Arduino IDE, met sommige uitstekende ondersteuning en begeleiding die ik geleerd om code te schrijven in Node.js en maakte zelfs een begin van het herschrijven van het project in C!