Intel IoT Edison web gecontroleerde LED (3 / 3 stap)

Stap 3: Het node.js deel


Met behulp van de terminal verbinding, maken de volgende node.js bestand:

web_button.js (download het bijgevoegde bestand, code was waarschijnlijk gebroken na het plakken hier)

/Tmp/arduino.txt bijgewerkt wanneer een gebruiker een opdracht vanuit de webinterface verzendt.

 /* web_button.js Part of "Intel IoT Edison web controlled LED demo" Copyright 2014 Pavlos Iliopoulos, techprolet.com This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ var http = require('http'); var url = require('url'); var fs = require('fs'); var arduinoFileName = "/tmp/arduino.txt"; function sendResponse(ledOn, remoteIP, response) { if (remoteIP != null){ console.log('\nRequest to switch LED ' + (ledOn?'On':'Off')); console.log('from ' + remoteIP); var fileStream = fs.createWriteStream(arduinoFileName); fileStream.write(ledOn + "\n" + remoteIP + "\nOK\n"); fileStream.end(); response.writeHead(302, { 'Location': '/' }); response.end(); } else { response.writeHead(200, { 'Content-Type': 'text/html' }); response.write('<!DOCTYPE html><html lang="en"><head>'); response.write('<meta charset="utf-8">'); response.write('<meta http-equiv="refresh" content="30" />'); response.write('<title>LED switch</title>'); if (!ledOn) { response.write ('<style>body{background-color:black;color:white;}</style>'); } response.write('</head>'); response.write('<body><h1>LED is now '+(ledOn?'On':'Off')); response.write('</h1>'); if (ledOn){ response.write('<a href="/off">Switch off!</a>'); } else { response.write('<a href="/on">Switch on!</a>'); } response.write('</body></html>'); response.end(); } } function processRequest(request, response) { "use strict"; var pathName = url.parse(request.url).pathname; var remoteIP = request.headers['X-Forwarded-For'] == undefined?request.connection.remoteAddress:request.headers['X-Forwarded-For']; if (pathName == "/on") { sendResponse (true, remoteIP, response); } else if (pathName == "/off") { sendResponse (false, remoteIP, response); } else if (pathName == "/") { fs.exists(arduinoFileName, function (exists) { if (exists){ fs.readFile(arduinoFileName, function(err,data){ if (!err){ console.log('\nStored data:\n' + data); var storedData = data.toString().split("\n"); sendResponse ((storedData[0] == "true"), null, response); }else{ console.log(err); } }); } else { sendResponse (false, null, response); } }); } else { response.end(); } } http.createServer(processRequest).listen(8080); console.log("Server running at port 8080"); 

Voer het script met de volgende opdracht:
# knooppunt web_button.js

Het web is dan bereikbaar op http://youredisonaddress:8080 /

That's it! Pret met uw web heb gecontroleerde Edison!

Gerelateerde Artikelen

Intel IoT Edison Sonar Theremin

Intel IoT Edison Sonar Theremin

Intel® Edison is Intel's nieuwe kleine wonder, met o.a. een dual core Intel® Atom™ processor systeem op een Chip, 1GB RAM, WiFi, Bluetooth LE waarmee u een echte besturingssysteem (linux!) op het en doen wat je kunt bedenken.Dingen krijgen zelfs bete
Intel IoT Edison sonar meetzoeker afstandsmeter

Intel IoT Edison sonar meetzoeker afstandsmeter

Ik heb de laatste tijd is chatten met een burgerlijk ingenieur vriend van mij en ik vertelde hem over mijn nieuwe laser-afstandsmeter, wanneer hij doorschemeren dat een meetzoeker met logging mogelijkheden zou veel interessanter zijn aan hem. Sinds m
LinkitONE Web gecontroleerde LED

LinkitONE Web gecontroleerde LED

Ooit wilde om je eigen web gecontroleerde LED? Heb je een LinkitONE bord? Wilt u meer doen dan dat? dan is deze tutorial is geschikt voor u!Hier ik zal u stap voor stap tonen hoe maak je een web gecontroleerde geleid met behulp van de LinkitONE Raad
Intel IoT Edison Google Agenda-herinnering ingesteld

Intel IoT Edison Google Agenda-herinnering ingesteld

Heeft u ooit niet te merken dat uiterst belangrijke gebeurtenis van de kalender van Google? Niet meer met de Intel IoT Edison Google Agenda-herinnering!In dit instructable we je stap voor stap een Intel® Edison Arduino Board, zodanig configureren dat
Web gecontroleerde LED Info-Ticker

Web gecontroleerde LED Info-Ticker

Dit project was een samenwerking met mijn huisgenoot, vriend en mede hacker rishi2. Woonachtig in New York, gebruiken we zowel openbaar vervoer dagelijks, dus we dachten dat het zou gaaf zijn dat om een ticker weergeven van tijden van de bus en metro
Intel IoT EDI - toezicht op een comfortabele en veilige omgeving (met Intel Edison)

Intel IoT EDI - toezicht op een comfortabele en veilige omgeving (met Intel Edison)

Voordat ik wil om te beginnen, Intel en Instructables bedanken voor deze kans: Ik heb geselecteerd onder andere winnaar van een wonderbare Intel IoT Edison & Grove Kit... Dat was erg verrassend aan me, en ik ben zeer dankbaar voor het. Bedankt! :-)In
Web gecontroleerde Wifi LED Tower

Web gecontroleerde Wifi LED Tower

Dit project is dat een web gecontroleerde LED toren die een Arduino en het schild van de Wifi verbinding met een webserver maakt om opdrachten afkomstig van gebruikers. Het doel was het project mobiel maakt, zodat het kan worden genomen naar shows en
Chef-kok binnen INTEL(CII) - de toekomst van geautomatiseerde thuis koken (INTEL IoT)

Chef-kok binnen INTEL(CII) - de toekomst van geautomatiseerde thuis koken (INTEL IoT)

Samenvatting:Geautomatiseerde IoT ingeschakeld digitale systeem, gecontroleerd en bewaakt vanuit een verre App over Internet.This digitale chef-kok kunt koken kwaliteit gerechten, uit een lijst met recepten gekozen en gecontroleerd door een hongerige
Bluetooth gecontroleerde LED Wearable met Intel Edison

Bluetooth gecontroleerde LED Wearable met Intel Edison

Heb je ooit gedacht een wereld waar u het patroon van een jurk met een druk op de knop kunt wijzigen? Of een te kunnen veranderen de hoogte van een zoom met swipe van je vinger? Technologie maakt controle en aanpassing mogelijk op plaatsen waar meest
Edison gemotoriseerd platform (Intel IoT)

Edison gemotoriseerd platform (Intel IoT)

OverzichtDit is een beschrijving van het project dat ik deed toen uitgenodigd om de Intel-Labs op Swindon. Het oorspronkelijke plan was om te produceren een gemotoriseerde platform voor het voeren van een camera. Beeld processing software kan dan vol
Chromebook Arduino en Intel Edison gids voor Intel IoT EDI ontwikkeling op begroting

Chromebook Arduino en Intel Edison gids voor Intel IoT EDI ontwikkeling op begroting

Eerst zal ik uitleggen waarom dit Instructable is nodig omdat veel ervaren ontwikkelaars bespotten zal wanneer ze de titel zien en zal nooit het lezen omdat ze niet een open geest over dingen zoals Chromebooks hebben. Dat komt omdat velen van hen heb
BeatBox: schok bijhouden voor pakketten met Intel Edison - Intel IOT

BeatBox: schok bijhouden voor pakketten met Intel Edison - Intel IOT

Hallo iedereenWe kwamen net terug thuis na deel te nemen aan Intel IoT Roadshow (en hackathon) in Londen.Het was geweldig en vol ideeën en creatieve trekt. Een zeer goede ervaring. Je moet uitproberen.We kwam als een reeds gevormde team en met een ze
Virtuele realiteit Telepresence met Intel Edison (Intel IoT)

Virtuele realiteit Telepresence met Intel Edison (Intel IoT)

dit is een project dat we op Intel IoT Roadshow 2016 gewerkt.De Intel Edison compute chip een nogal krachtige board met is gebouwd in WiFi- en bluetooth-mogelijkheden. Dit maakt het ideaal voor sommige iets meer intensieve IoT-toepassingen.Ik gebruik
Intel Edison lawaai Alarm (Intel IoT)

Intel Edison lawaai Alarm (Intel IoT)

IntroductieIk heb een inbraakalarm en brandalarm, maar geen manier om te weten als ofwel zijn klinkende tenzij ik in het huis ben. In plaats van hen vervangen door 'slimme' alternatieven, ik ben van plan om te bouwen van een apparaat om te luisteren