Intel Edison IoT remote miljöparametrar monitor (3 / 4 steg)

Steg 3: Programmering i JavaScript med XDK

  • Redigera filen main.js i projektet:
    Main.js (Vänligen ladda ner den bifogade filen, koden var förmodligen bruten efter stryket här)

/*
Main.js
Del av "Intel Edison IoT remote parametrar monitor"
Copyright 2015 Biagio Sesta, Algol Team
Detta program är fri programvara: du kan vidaredistribuera det och/eller ändra
det enligt villkoren i GNU General Public License som offentliggjorts av
Free Software Foundation, antingen version 3 av licensen, eller
(på ditt alternativ) någon senare version.
Detta program är distribuerat i hopp om att det kommer att vara användbar,
men utan garantier; utan att ens underförstådd garanti om
SÄLJBARHET eller lämplighet för ett visst ändamål. Se den
GNU General Public License för mer detaljer.
Du bör ha fått en kopia av GNU General Public License
tillsammans med detta program. Om inte, se < http://www.gnu.org/license>.

Steg för att installera MRAA & UPM bibliotek på Intel IoT plattform med IoTDevKit Linux * bild
Använda en ssh klient:
1. echo "src maa-upm http://iotdk.intel.com/repos/1.1/intelgalactic" > /etc/opkg/intel-iotdk.conf
2. opkg uppdatering
3. opkg uppgraderingen
ANVÄNDNING: ***
gå till http:/ < address_of_your_edison > /: 1377/sensorer
*/
var fs = require('fs');
var http = require('http');
var dispatcher = require('httpdispatcher');
var bind = require('bind');
var PORT = 1377;
var mraa = require("mraa");
Knappen ansluten till D2 kontakten
var buttonDigitalPinD2 = ny mraa. Gpio(2);
buttonDigitalPinD2.dir (mraa. DIR_IN);
LCD-bibliotek
var LCD = kräver ('jsupm_i2clcd');
var myLCD = ny LCD.Jhd1313m1 (0, 0x3E, 0x62);
var colorRed = {R: 255, G: 0, B: 0};
var colorBlue = {R: 0, G: 0, B: 255};
var colorWhite = {R: 40, G: 40, B: 40};
ljussensorer parametrar
GROVE Kit A0 kontakt--> Aio(0)
var myAnalogLightPin = ny mraa. AIO(0);
Air sensorer kvalitetsparametrar
GROVE Kit A3 kontakt--> Aio(3)
var myAnalogAirPin = ny mraa. AIO(3);
Temperatur sensor parametrar
GROVE Kit A1 kontakt--> Aio(1)
var myAnalogPin = ny mraa. AIO(1);
var B = 3975;
/*
Funktion: getSensorsValues()
Beskrivning: Läser värden från sensorer och returnera dem som en matris
*/
funktion getSensorsValues() {
'Använd strikt';
setInterval (funktion () {
var ambientValues = {};
ambientValues.temp = getTemperature();
ambientValues.light = getLight();
ambientValues.airQuality = getAirQuality();

återvända ambientValues;
}, 4000);
}
Console.log ("prov behandlingen Grove Kit temperaturgivare");
/*
Funktion: getTemperature()
Beskrivning: Läser värden från temperaturgivare och lämna tillbaka den
*/
funktion getTemperature() {

var en = myAnalogPin.read();
Console.log ("Analog Pin (A1) Output:" + en);
Console.log("Checking...");

var motstånd = (1023 - en) * 10000 / a; få motståndet av sensorn;
Console.log ("motstånd:" + motstånd);
var celsius_temperature = 1 / (Math.log(resistance / 10000) / B + 1 / 298.15)-273.15;//convert till temperatur via databladet.
Console.log ("Celsius temperatur:" + celsius_temperature);
returnera celsius temperatur med 2 decimaler
återvända celsius_temperature.toFixed(2);
}
/*
Funktion: getLight()
Beskrivning: Läser värden från ljussensor och lämna tillbaka den
*/
funktion getLight() {
var ljus = myAnalogLightPin.read();
returnera ljus;
}
/*
Funktion: getAirQuality()
Beskrivning: Läser värden från luft kvalitet sensor och lämna tillbaka den
*/
funktion getAirQuality() {
var iföljd = myAnalogAirPin.read();
returnera iföljd;
}
/*
Funktion: printToLcd()
Parametrar: ambientValues värdematris sensor
Beskrivning/kontroller: skriva värdena till LCD ansluten till styrelsen
*/
funktion printToLcd(ambientValues) {
myLCD.clear();
var outputColor = {};
kalla
om (ambientValues.temp < 15)
outputColor = colorBlue;
värma
annars om (ambientValues.temp > = 15 & & ambientValues.temp < 30)
outputColor = colorWhite;
heta
annat
outputColor = colorRed;

myLCD.setColor (outputColor.R, outputColor.G, outputColor.B);
Console.log ("Temp:" + ambientValues.temp);
myLCD.write ("Temp:" + ambientValues.temp);
myLCD.setCursor(1,0);
myLCD.write ("Air:" + ambientValues.airQuality);
myLCD.write ("Lux:" + ambientValues.light);

}
/*
Funktion: handleRequest()
Parametrar: begäran, http-begäran. svar, http resposne
Beskrivning/kontroller: funktion som hanterar begäran från en webbläsare
*/
funktion handleRequest (begäran, svar) {
försök {
Logga in begäran på konsol
Console.log(Request.URL);
Disptach
dispatcher.Dispatch (begäran, svar);
} catch(err) {
Console.log(err);
}
}
/*
Funktion: onGet()
Parametrar: sökväg till utskick, callback funktion som hanterar svaret
Beskrivning/kontroller: funktion som hanterar begäran från en webbläsare
*/
dispatcher.onGet ("/ sensorer", funktion (req, res, kedja) {
var ambientValues = getSensorsValues();
printToLcd(ambientValues);
/ * Nästa steg är en lösning att använda node.js mall funktion med Intel XDK
om jag börjar main.js att skriva noden main.js, binder programmet mallen korrekt
om jag laddar main.js med inbyggd funktion i XDK, programmet hittar inte sensors.tpl i relativ sökväg men det måste absolut sökväg
*/
var tpl = "sensors.tpl";
Kontrollera om programmet hitta tamplate i relativ sökväg
IF(!FS.existsSync(TPL))
tpl='/Home/root/.node_app_slot/sensors.tpl';
bind.toFile (tpl {
temperatur: ambientValues.temp,
ljus: ambientValues.light,
iföljd: ambientValues.airQuality
}, function(data) {
res.writeHead (200, {"Content-Type": "text/html"});
Res.End(data);
});

});
GROVE Kit sköld D2 -> GPIO2
/*
Funktion: startButtonWatch()
Beskrivning: Kolla värdet på knappen varje 300 MS
*/
funktion startButtonWatch() {
'Använd strikt';
var buttonValue = 0, last_b_sensor_value;
setInterval (funktion () {
buttonValue = buttonDigitalPinD2.read();
om (buttonValue === 1 & & last_b_sensor_value === 0) {
Console.log ("knappen");
var ambientValues = getSensorsValues();
printToLcd(ambientValues);
} else om (buttonValue === 0 & & last_b_sensor_value === 1) {
Console.log ("knappen släpps");
}
last_b_sensor_value = buttonValue;
}, 300);
}
Skapa en server
var server = http.createServer(handleRequest);
Låt oss börja vår server
Server.listen (PORT, function() {
Motringning när servern lyssnar framgångsrikt. Hurra!
startButtonWatch();
Console.log("Server Listening on: http://localhost:%s", port);
});

  • Redigera package.json

{
"namn": "IoTParametersMonitor",
"Beskrivning": "",
"version": "1.0.0",
"main": "main.js",
"motorer": {
"nod": "> = 0.10.0"
},
"beroenden": {
"binder": "senaste",
"httpdispatcher": "senaste"
}
}

  • Skapa en ny fil sensors.tpl i rotmappen på ditt projekt, denna fil är en mall som används för att binda värden från sensorer till en HTML-sida skickas till din webbläsare (Hämta filen bifogas)
Se Steg
Relaterade Ämnen

AINA: Fältet Lab med Edison IoT

AINA (Automated Information om karaktär attribut) är en elektronisk sensor fält laboratorium byggt på Intel® Edison IoT plattformen. Akronym, "AINA", hänvisningarna den hawaiianska ordet för mark eller plats.Projektöversikt:Vårt projekt är ett b...

Skicka ett mejl från en Intel Edison (med nodemailer)

Detta projekt visar en metod för att skicka e-post från en dator med Intel Edison IOT genom att trycka på en knapp ansluten till Edison. Medan detta inte kanske verkar särskilt intressanta eller användbara, kan man tänka sig med denna metod som en de...

Intro till Intel XDK IoT upplagan användande en temperatur Display

Välkommen tillbaka! I detta instructable jag kommer att leda dig att göra dina egna digitala termometer med en knapp-kontrollerad temperatur "hold" funktion. Detta instructable använder delar från Intel Edison IoT Dev Kit, som var mycket generös...

TEAM INVERKAN! Smart hjälm - Intel Edison, Sparkfun 9DOF

Intellekten Edison med Sparkfun 9DOF LSM9DS0 IMU3: e plats @ Intel IoT Roadshow NYC 2015Detta Instructable är för en Intel Edison IoT Smart hjälm som använder en Sparkfun 9DOF att samla in data från hjälmen för att mäta huvudet tramas och skapa en 3D...

Intellekten Edison IoT Hackathon - Jane, assistent äldreomsorg

Tack till folket på Intel, jag fick en chans att bygga ett roligt projekt på Intel Edison IoT Hackathon i Boston. Projektet är en prototyp av Jane, assistent IoT äldre vård som hjälper patienter på assisterad hem levande vård. Målgruppen är patienter...

Light Plotter with Intel Edison

IntroduktionDet gladde mig att välja att vara en del av Intel Edison IoT invitational här på Instructables (Vänligen överväga att rösta om du gillar det!). Det projekt som jag föreslog var en automatiserad "ljus målare" som skulle använda stegmo...

AC monitor system med Intel Edison (Intel IoT RoadShow Brasilien)

Ett system som kontrollerar spänning, strömstryka, frekvens och temperatur på ett AC-power system, beräkna total strömförbrukning och lägga all information på ett moln dataserver.Steg 1: AC Sensormodul Vi utvecklat denna Sensormodul baserat på projek...

Intellekten IoT EDI - övervakning en bekväm och säker miljö (med Intel Edison)

Innan för att starta, jag skulle vilja tacka Intel och Instructables för tillfället: Jag har valts bland annat vinnaren av en fantastisk Intel IoT Edison & Grove Kit... Det var mycket förvånande för mig, och jag är mycket tacksam för det. Tack! :-)In...

Skapa en IOT air quality monitor med Intel Edison

Ren luft blir en lyx i dagens samhälle. Bekanta dig med din osynliga omgivning med en Intel Edison med Arduino breakout ombord, Grove Starter Kit och IBM Bluemix - en online-resurs för nördar, tinkerers och vetenskap sinnade personer.Steg 1: förbered...

(Intel Edison) HATT! : Hemautomation Tweeter (ljus Monitor) (IoT projektet)

Hej alla!Jag Geeve George en MAKER stolt från Indien!Jag började göra 10-åring och min iver för att göra fortfarande fortsätter som jag fascineras av de oändliga möjligheter och möjligheter som tekniken erbjuder!Jag är glad att kunna meddela att jag...

Environmental Monitoring Rover - drivs av Intel Edison

Detta är en instructable inspirerad av Mars Rover Nyfikenhet , jag förväntar mig inte denna rover att göra det till Mars! men du efterlikna det och genomföra några häftiga funktioner använder Intel Edison. Med detta sagt, på moder jord kan du hitta i...

Intel® Edison styrelse: IoT temperaturövervakning

Sakernas Internet är inte längre begränsad till bara maker hobbyister och entusiaster. Det har uppmärksammats av företag som vill starta en ny industriell revolution med hjälp av Sakernas Internet. Från smart arbetsplatser för att öka produktionen, h...

Remote bil övervakning och spårning med Intel Edison

Jag är vanligtvis mångordig, men för denna del ska jag försöka vara kortfattad. Detta projekt är:En Intel Edison + en GPS-mottagare + en Bluetooth OBD-II läsare (tillval eftermarknaden bil sensorer) + en bil.Lägg i några program och du kan övervaka p...

Gest baserat Home Automation med Intel Edison (Intel IoT))

Gest baserade hemautomation är det nya sättet att interagera med elektriska apparater tillgängliga på vårt hus. I detta projekt kommer vi att använda sensorer i stället för kamera för gestigenkänning, eftersom det ger bättre konsistens, miljö oberoen...

BeatBox: chock spårning för paket med Intel Edison - Intel IOT

Hej allaVi kom precis tillbaka hem efter deltagande till Intel IoT Roadshow (och hackathon) i London.Det var fantastisk och full av idéer och kreativa drar. En mycket bra erfarenhet. Du borde prova.Vi kom som en redan bildade lag och med en mycket br...

IoT RC bil med Intel Edison (IntelIoT)

FörordLåt oss först förstå vad vi försöker uppnå här. Vi har alla typer av RC leksaker för våra barn och sedan finns det video och mobila spel. En detta är säkert att alla bara älskar bilar, oavsett om det är verkligt eller i 3D-spel eller en leksaks...

T.E.E.T.H. - att lägga till IOT i ditt hem med Intel Edison

TÄNDERNA står för Timer uppmuntra alla att hälsa. Den använder Intel Edison styrelsens liten formfaktorn för att uppgradera din Tandborsthållare till en IOT hem apparaten. Denna smarta uppgradering är bra för hälsomedvetna folk, de under dental tills...

IoT Twitter Sentry Ward använder Intel Edison

Har du någonsin satt vid skrivbordet och undrade vad som hände tillbaka hemma? Kanske du ville se hur bebisen var? Kanske ville du se till att hunden inte var sitter i soffan eller kanske bara njuta av utsikten utanför ditt vardagsrum!Om bara det fan...

IoT NFT Aquaponic System Controler med WebApp (Intel Edison & Node.js)

KretsloppsodlingAquaponic kombinerar vattenbruk (odla fisk) med Hydroponics (odling i vatten). Fisk utsöndrar bryts ner av bakterier till nitrat som absorberas av växter som näringsämnen, och plantera rötter agera som ett filter till rent vatten för...