Light Plotter with Intel Edison (10 / 16 steg)

Steg 10: Programmera kontrollen ESP8266 till RGB-lysdioder



Nu när vi har NodeMCU installerad på ESP8266 och en krets för att styra 3 färg lysdioder, är det dags att skriva några LUA programvara att styra lamporna över WiFi.

Jag bestämde mig för att det enklaste sättet vore att genomföra en webbserver på ESP8266 med 3 reglagen, en för varje färg ljusstyrka.

Denna metod har några fördelar och nackdelar

Proffsen

  • Snabbt och enkelt, finns det gott om tutorials om hur du installerar grundläggande webbservrar samt hur du hanterar PWM.
  • LED-färger kan styras programatically via Python på Edison eller via webbsidan (på din dator eller telefon). Detta är bra för felsökning.

Nackdelar

  • Långsam. Ställa in färg via HTTP tar en märkbar bråkdelen av en sekund. Jag bestämde mig för att detta inte var en fråga för mig.

GPIO index

Du behöver veta vilket stift är vilket och denna NodeMCU GPIO index kommer att berätta: länk

PWM

Denna sida har en en grundläggande PWM funktion exempel: länk

Webbserver

Denna sida beskriver hur du ställer in en webbserver på ESP8266: länk

Konfigurera som en Station

ESP8266 konfigureras vanligtvis som en peka som standard, men jag ville ha mig att ansluta till min Edison som åtkomstpunkten, så jag använder "wifi.setmode"

Reglagen

Reglagen är standard HTML-"range" element, konfigurerad har värden från 0-1023, vilket är vad PWM funktionen förväntar sig.

Lagra värden

Du kommer att se att jag inkluderat variabler "currentR", "currentG" och "currentB" som lagrar senaste konfigurerade LED värde, så att webbsidan kan visa det korrekt efter uppfriskande.

ledR = 5--GPIO14
resk.trans.buff = 7--
ledB = 6

funktion led(r,g,b)
PWM.setduty(ledR,r)
PWM.setduty(ledG,g)
PWM.setduty(ledB,b)
slutet

WiFi.setmode (wifi. STATION)
WiFi.sta.config("lightplot","lightplot")

WiFi.sta.SetIP({IP="192.168.42.2",netmask="255.255.255.0",Gateway="192.168.42.1"})

gpio.mode (ledR, gpio. OUTPUT)
gpio.mode (resk.trans.buff, gpio. OUTPUT)
gpio.mode (ledB, gpio. OUTPUT)

PWM.Setup(ledR,500,0)
PWM.Setup(ledG,500,0)
PWM.Setup(ledB,500,0)

PWM.start(ledR)
PWM.start(ledG)
PWM.start(ledB)

currentR = 0
currentG = 0
currentB = 0

LED(currentR,currentG,currentB)--röd

SRV=net.createServer (net. TCP)
SRV:listen(80,function(Conn)
Conn: on("receive", function(client,request)
lokala buf = "";
lokala _ _, metod, sökväg, vars = string.find (begäran "([A-Z] +) (. +)? (. +) HTTP");
IF(Method == Nil) sedan
_ _, metod, path = string.find (begäran "([A-Z] +) (. +) HTTP");
slutet
lokala _GET = {}
om (vars ~ = noll) sedan
för k, v i string.gmatch (vars, "(%w+)=(%w+) & *") gör
_GET [k] = v
om (k == "RED") sedan
currentR = v
slutet
om (k == "Grön") sedan
currentG = v
slutet
om (k == "Blå") sedan
currentB = v
slutet

slutet
slutet

LED(currentR,currentG,currentB);

BUF = buf.. " < html > ";
BUF = buf.. " < H1 > ESP8266 Web Server RGB LED < / h1 > ";
BUF = buf.. " < bildar metod = \ "get\" > ";
BUF = buf.. " < p > röda < input type = \ "range\" namn = \ "RED\" min = \ "0\" max = \ "1023\" värde = \ ""... currentR.." \ ">< /p >";
BUF = buf.. " < p > GREEN < input type = \ "range\" namn = \ "GREEN\" min = \ "0\" max = \ "1023\" värde = \ ""... currentG.." \ ">< /p >";
BUF = buf.. " < p > blå < input type = \ "range\" namn = \ "BLUE\" min = \ "0\" max = \ "1023\" värde = \ ""... currentB.." \ ">< /p >";
BUF = buf.. " < p >< ingång typ = \ "submit\" >< /p > ";
BUF = buf.. " < / form > ";
BUF = buf.. " < / html > ";

client:send(BUF);
client:Close();
collectgarbage();
avsluta)
avsluta)

Se Steg
Relaterade Ämnen

Cloud seismograf med Intel Edison

Vi är en grupp av beslutsfattare som vill tillbringa nätter och helger knorramed tecnology här på Verona FabLab (Verona är en stad i norra Italien) och med detta instructable vill vi beskriva projektet vi har insett för Intel Maker contest.Detta proj...

Geiger ryggsäck med Intel Edison

Vi är en grupp av beslutsfattare som vill tillbringa nätter och helger mixtra med tecnology här på Verona FabLab (Verona är en stad i norra Italien) och med detta instructable vill vi beskriva projektet vi har insett för Intel Maker contest.Vårt proj...

Intel Edison Sensor Dashboard med fribord/Python/kolv (minimal programmering krävs)

Först ville jag säga tack för möjligheten att arbeta med en Edison och ges en vid Intel/Instructables för att ange deras IoT tävling. Jag tror att detta är ett bra sätt att göra samhällsbyggande och uppmuntra utvecklare att få engagerade och ombord....

Göra ett intelligent skrivbordsklockan, skriven i JavaScript, drivs med Intel Edison

Varför min klockor måste vara mer intelligent...Jag ställa alltid in påminnelser för min kalender möten men när denna lilla "XYZ möte börjar i 15 minuter" desktop anmälan dyker upp i hörnet på min datorskärm jag trycker på Snooze eller Stäng kna...

WiFi baserade hemautomation av Intel Edison och banan Pi M1

#IntelIoT #2015HackNTUHej! Människor,Detta är projektet jag gjort ensam under den nationella Taiwan Univ. Hackthon, sedan 21 augusti 2015 till 23 augusti 2015 i Taipei. Jag försökte göra något kunde vara till hjälp för de Taiwaness vars ålder är gamm...

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...

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...

Intel® Edison Hands-on dag 1: Tryckknapp

Låt oss göra det enklaste exemplet! Tryck på knappen för att slå på lampan.Komponent som krävs1 × digital piranha LED ljus-modul1 × digital tryckknapp1 × IO Expansion sköld1 × Intel® Edison med Arduino Breakout KitSteg 1: anslutning Digital tryckknap...

Intel® Edison Hands-on dag 3: Tända dimmer

Lätta dimmers är anordningar som används för att variera ljusstyrkan påen ljus. Med en rotation sensor, kan vi finjustera intensiteten i ljuseffekt. Du rotera mer ratten, desto ljusare LED. Så låt oss försöka göra en dimmer av oss själva.Rotationen s...

Intel® Edison Hands-on dag 5: Röst aktiverat lampa

Röst aktiverat lampaHade du någonsin varit nyfiken på den röststyrda glödlampan i din barndom? Hade du någonsin stämplade och om igen och bara slå på ljuset? Så länge du klappa händerna, kommer ljuset att vända på. I detta avsnitt kommer vi göra såda...

Intel® Edison Hands-on dag 6: Sensor lampa

I detta avsnitt kommer vi försöka göra en sensor lampa. Närnågon går förbi sensor lampa, LED kommer att automatiskt på. Naturligtvis blir det om ingen är runt. I detta exempel väljer vi PIR rörelsesensor. Det gör att du kan upptäcka om någon har flyt...

Intel® Edison Hands-on dag 7: Lysande Treasure Box

Självlysande skattkista, namnet låter kul. Och det skulle vara riktigt roligt! Vi kommer att göra denna box, som kommer att vara stängd under dagen, en gång i natt, dess ljus får ljusare med rutan öppnas långsamt. Ha-ha... det inre arbetet i rutan är...

Lösa Sudoku med Intel Edison

Mål• Från en bild av en Sudoku pussel, extrahera och (valfritt) lösa pussel.Målet element• Packa pussel från bilden (omforma bilden).• Identifiera talen i varje cell. – Korrelera nummer till deras respektive cell position.• (valfritt) lösa pussel och...

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...

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...

MCU-1: En budget-medvetna Intel Edison MCU baserat Rover leksaksbil. (Intel IoT)

Liten video visar hinder skatteundandragande och få knappen baserat kommandon via bluetooth.Steg 1: SammanfattningDetta projekt kommer att bygga en enkel rover bil som kan styras av en android smart app med röst eller knappen baserat kommandon distan...

Intel Edison IoT remote miljöparametrar monitor

Detta är en mycket grundläggande projekt helt gjord i javascript genom IDE "Intel XDK IoT edition". När du är klar, har du ett system för att övervaka miljöparametrar (temperatur, ljus och luft kvalitet), lokalt i LCD-skärmen och på distans via...

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...

Kontrollerande julbelysningen med Intel Edison + Grove Smart Relay

Detta Instructable guidar dig genom processen att använda Intel Edison styrelsen och Grove Smart reläet för att styra Christmas lights (eller andra elektroniska objekt för den delen).I slutet av detta Instructable har du ett eluttag wired att bara ha...