INHOUDSOPGAWE:

IoT -ontwerplamp met IFTTT: 7 stappe (met foto's)
IoT -ontwerplamp met IFTTT: 7 stappe (met foto's)

Video: IoT -ontwerplamp met IFTTT: 7 stappe (met foto's)

Video: IoT -ontwerplamp met IFTTT: 7 stappe (met foto's)
Video: Ik Leerde Realistisch Tekenen Binnen 7 Dagen! 2024, Julie
Anonim
IoT -ontwerplamp met IFTTT
IoT -ontwerplamp met IFTTT
IoT -ontwerplamp met IFTTT
IoT -ontwerplamp met IFTTT

In hierdie instruksies lei ek u by die maak van 'n internet-gekoppelde LED-lamp wat funksioneel en stylvol is.

Hierdie funky ontwerpvoorwerp kan beheer word met 'n web-app of die aanlyn diens IFTTT. Laasgenoemde maak dit moontlik om die lamp aan te sluit by allerhande eksterne dienste soos Google Assistant, Alexa, Android -kennisgewings, tyd en datum, weervoorspelling, ens. Hierdie projek veronderstel 'n basiese kennis van die ESP8266 en die Arduino -redakteur.

Stap 1: Versamel elektronika

Versamel elektronika!
Versamel elektronika!
Versamel elektronika!
Versamel elektronika!

Vir hierdie projek benodig u die volgende:

  • 'N NodeMCU of 'n ander ESP8266 -mikrobeheerder
  • Neopixel/WS2812B LED-strook (1m 60LED/m)
  • Vlakverskuiwing*
  • Springdrade (man-tot-vrou)
  • Mikro-USB kabel
  • USB -muurprop (5V)

Die LED-strook het drie kabels: 5V in (rooi), GND (wit) en DATA in (groen). Die ESP8266 werk op 3.3V, maar het 'n VU -pen. Hierdie pen is direk gekoppel aan die USB -krag, so as u u bord met 5V via USB aanskakel, sal hierdie spanning ook op die VU -pen beskikbaar wees. Ons gebruik hierdie pen om die LED -strook aan te dryf. Dus, in kort:

  • Koppel grond tot grond (GND TO G)
  • Koppel 5V+ aan Vu
  • Koppel Din aan D2

* = Afhangende van u besondere hardeware, werk hierdie bedrading moontlik nie. Aangesien die ESP8266 op 3.3V werk, sal die datasignaal wat dit verskaf, ook op 3.3V wees. Omdat die WS2812B met 5V aangedryf word, is die datasignaal dalk te swak om behoorlik deur die strook ontvang te word. As bogenoemde bedrading nie werk nie, benodig u 'n vlakverskuiwing wat die datasignaal van 3.3V na 5V verskuif. Sien die aangehegte bedradingskema.

Let wel! Sommige LED-strokies is meer geneig om te breek as ander. As u nog nooit met hierdie stroke gewerk het nie, beveel ek u sterk aan om die Neopixel Überguide te lees vir wenke oor hoe u 'n Neopixel LED-strook veilig kan verbind.

Stap 2: FastLED

FastLED
FastLED

Om die LED's te beheer, kan ons gebruik maak van die FastLED -biblioteek. As u dit nog nie gedoen het nie, voeg hierdie biblioteek by u Arduino -omgewing (Skets> Sluit biblioteek in> Bestuur biblioteke> 'FastLED').

Om seker te maak dat u bedrading werk, kan u een van die vele voorbeelde van die FastLED -biblioteek probeer (lêer> voorbeelde> FastLED). Maak seker dat u die instellings in elke voorbeeld verander (aantal LED's = 60, dataspeld = 2) voordat u dit na u bord oplaai.

Wees versigtig om die LED's te helder te stel terwyl die bord aan u rekenaar gekoppel is. As u meer as 500mA trek, kan u rekenaar die poort afskakel. As u die strook op volle helderheid wil gebruik, kan u dit met 'n USB -muurprop aansluit wat 'n sterk genoeg krag kan lewer.

Stap 3: sagteware

Sagteware
Sagteware

Nou is dit tyd vir persoonlike sagteware. Die sagteware is beskikbaar op GitHub:

github.com/dpkn/lamp/tree/master/software

Laai die sagtewarelêer af, pak dit uit en maak die software.ino -lêer oop in u Arduino -redakteur. Maak seker dat u alle biblioteke wat in hierdie lêer genoem word, geïnstalleer is.

Gaan na die Config -oortjie en voeg die netwerknaam en wagwoord van u WiFi by hierdie reëls:

const char* ssid = "";

const char* wagwoord = "";

Miskien moet u die volgende verander, afhangende van u router:

const IPAddress staticIp (192, 168, 178, 101); // Die gewenste statiese plaaslike IP van die toestel

const IPAddress gateway (192, 168, 178, 1); // Gateway IP van die router constIPAddress subnet (255, 255, 255, 0); // Subnet van die router

Op MacOS kan u hierdie instellings vind onder Stelselvoorkeure> Netwerk> Gevorderd> TCP/IP

Laai die lêers op na u bord. As alles goed verloop, word die strook wit as dit aan u WiFi -netwerk gekoppel is. Maak die Serial Monitor op 115200 baud oop om te kyk of daar meer inligting is.

Stap 4: Beheer dit plaaslik

Om die werking van die lamp te demonstreer, het ek 'n klein web-app gemaak wat beskikbaar is op https://lamp-app.surge.sh (bron op Codepen). Hierdie app stuur JSON -versoeke direk na die ESP8266, wat op sy beurt die LED's opdateer.

Bogenoemde werk slegs as u lamp en telefoon aan dieselfde WiFi -netwerk gekoppel is omdat u die lamp met sy plaaslike IP -adres aanspreek. Om die lamp van oral te kan beheer, moet u in die router -instellings ingaan.

Stap 5: Beheer dit van oral

Om u lamp oop te maak vir die wonderlike ding van die World Wide Web, moet ons iets doen wat port forwarding genoem word. Dit lei basies die versoeke wat op u openbare IP -adres (die een wat deur u ISP verskaf word) en poortnommer (in hierdie voorbeeld willekeurig op 300) na die interne, plaaslike IP -adres waarop u ESP8266 aangespreek kan word.

Hierdie proses is anders vir elke toestel, dus as u nie weet hoe u dit op u spesifieke router moet doen nie, moet u 'poort deurstuur' + die naam van u router google. Dit is die instellings wat u benodig:

Eksterne begin-/eindpoort: 300

Interne begin-/eindpoort: 300

Interne IP -adres: 192.168.178.101 (die adres wat in die Serial Monitor verskyn)

Protokol: TCP/UDP

Waarskuwing! Nadat u dit gedoen het, kan u lamp beheer word deur enigiemand wat u openbare IP ken en die poort waarop die lamp loop. As u nie van mening is dat dit 'n goeie idee is nie, word dit aanbeveel om 'n laag beveiliging te implementeer

Voer die volgende in u blaaier in om te toets of alles korrek opgestel is: (as u nie weet dat u openbare IP -adres is nie, gaan na hierdie webwerf.)

[U OPENBARE IP]: 300

U moet 'n JSON -bevestigingsboodskap sien. U kan nou probeer om die app met u openbare IP -adres te gebruik.

Stap 6: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

Dit is waar die regte pret begin. Noudat ons lamp gekoppel is aan ~~ die internet ~~, kan ons die webwerf IFTTT gebruik om dit aan te sluit by alle soorte dienste.

In hierdie voorbeeld stel ons 'n Google Assistant -opdrag op wat die ligte rooi laat draai, maar u kan 'n ander diens kies wat u verbeelding laat opvlam.

  1. Gaan na IFTTT.com en skep 'n rekening as u dit nog nie gedoen het nie
  2. Navigeer na 'My applets'> 'Nuwe applet'
  3. Soek vir 'Google Assistant' vir die snellerdiens
  4. Kies 'Sê 'n eenvoudige frase'
  5. Kom met 'n paar unieke frases
  6. Soek vir 'Webhooks' vir die aksiediens
  7. Gebruik die volgende instellings:

URL: https:// [YOUR-PUBLIC-IP]: 300/api

Metode: POST Inhoudstipe: toepassing/json

En vir die liggaam:

As ons nou die gekose sin sê, sal Google Assistant 'n versoek aan IFTTT rig, wat weer 'n JSON -versoek na ons lamp sal stuur. Probeer dit gerus! Duik in die kode om te sien wat u nog meer van die strook kan laat doen.

Stap 7: Maak dit mooi

Maak dit mooi
Maak dit mooi
Maak dit mooi
Maak dit mooi
Maak dit mooi
Maak dit mooi

Die duurste deel van hierdie projek is die omhulsel met die LED -strook. As u hierdie projek net wil probeer sonder om te veel geld daaraan te spandeer, kan u ook ander vorms oorweeg of eenvoudig die buis van wit drukkerpapier maak. Hierby vind u 'n draadraam wat u op papier kan afdruk om 'n paar staanders vir die buis te vou, soos in die foto's hierbo getoon.

Vir 'n meer soliede omhulsel het ek die volgende items gebruik:

  • Mat akrielbuis (lengte = 1160 mm, deursnee = 40 mm, wanddikte = 2 mm)
  • 2x plastiekdop
  • 20x2x30mm blok sagtehout
  • 10x1160x2mm metaalstrook

Die LED -strook self is 1000 mm, en laat 80 mm aan beide kante van die buis om die elektronika te verberg. Ek het drukkerpapier aan albei kante in die buis opgerol om dit nie deursigtig te maak nie. Om die inbring makliker te maak, het ek die LED -strook op 'n lang metaalstrook vasgeplak

Ek het die staanplekke uit 'n blok sagtehout gemaal. As u dieselfde wil doen, word die.stl -lêer hieronder verskaf. U kan ook oorweeg om die stand met 3D te druk.

Aanbeveel: