Turinys:

„IoT“dizaino lempa su IFTTT: 7 žingsniai (su nuotraukomis)
„IoT“dizaino lempa su IFTTT: 7 žingsniai (su nuotraukomis)

Video: „IoT“dizaino lempa su IFTTT: 7 žingsniai (su nuotraukomis)

Video: „IoT“dizaino lempa su IFTTT: 7 žingsniai (su nuotraukomis)
Video: Светильник башня. LED TOWER. 2024, Liepa
Anonim
„IoT“dizaino lempa su IFTTT
„IoT“dizaino lempa su IFTTT
„IoT“dizaino lempa su IFTTT
„IoT“dizaino lempa su IFTTT

Šioje instrukcijoje aš jums padėsiu sukurti funkcionalią ir stilingą prie interneto prijungtą LED lempą.

Šis įdomus dizaino objektas yra valdomas naudojant žiniatinklio programą arba internetinę paslaugą IFTTT. Pastaroji leidžia prijungti lempą prie visų rūšių išorinių paslaugų, tokių kaip „Google“padėjėjas, „Alexa“, „Android“pranešimai, laikas ir data, orų prognozė ir kt. Šis projektas apima pagrindines ESP8266 ir „Arduino“redaktoriaus žinias.

1 žingsnis: surinkite elektroniką

Surinkite elektroniką!
Surinkite elektroniką!
Surinkite elektroniką!
Surinkite elektroniką!

Šiam projektui jums reikės:

  • „NodeMCU“arba kitas ESP8266 mikrovaldiklis
  • Neopixel/WS2812B LED juostelė (1m 60LED/m)
  • Lygio perjungiklis*
  • Šuolių laidai (iš vyrų į moteris)
  • Mikro-USB kabelis
  • USB sieninis kištukas (5V)

LED juostelėje yra trys kabeliai: 5 V (raudona), GND (balta) ir DATA (žalia). ESP8266 veikia esant 3,3 V įtampai, tačiau turi VU kaištį. Šis kaištis yra tiesiogiai prijungtas prie USB maitinimo šaltinio, taigi, jei maitinsite plokštę 5 V per USB, ši įtampa taip pat bus prieinama VU kaiščiui. Mes naudosime šį kaištį maitinant LED juostelę. Taigi, trumpai:

  • Prijunkite žemę prie žemės (nuo GND iki G)
  • Prijunkite 5V+ prie Vu
  • Prijunkite Din prie D2

* = Priklausomai nuo jūsų konkrečios aparatūros, šis laidas gali neveikti. Kadangi ESP8266 veikia esant 3,3 V įtampai, jo teikiamas duomenų signalas taip pat bus 3,3 V. Kadangi „WS2812B“maitinamas 5 V įtampa, duomenų signalas gali būti per silpnas, kad juostelė galėtų tinkamai jį priimti. Jei aukščiau minėti laidai neveikia, jums reikės lygio perjungiklio, kuris perjungia duomenų signalą nuo 3,3 V iki 5 V. Žiūrėkite pridedamą laidų schemą.

Pastaba! Kai kurios LED juostos yra labiau linkusios lūžti nei kitos. Jei niekada nedirbote su šiomis juostelėmis, primygtinai rekomenduoju perskaityti „Neopixel Überguide“patarimus, kaip saugiai prijungti „Neopixel“LED juostelę.

2 žingsnis: „FastLED“

FastLED
FastLED

Norėdami valdyti šviesos diodus, galime pasinaudoti „FastLED“biblioteka. Jei to dar nepadarėte, pridėkite šią biblioteką prie „Arduino“aplinkos (Eskizas> Įtraukti biblioteką> Tvarkyti bibliotekas> „FastLED“).

Norėdami įsitikinti, kad jūsų laidai veikia, galbūt norėsite išbandyti vieną iš daugelio „FastLED“bibliotekos pavyzdžių (Failas> Pavyzdžiai> „FastLED“). Prieš įkeldami juos į lentą, būtinai pakeiskite kiekvieno pavyzdžio nustatymus (šviesos diodų skaičius = 60, duomenų kaištis = 2).

Būkite atsargūs nustatydami šviesos diodus per šviesiai, kol plokštė prijungta prie kompiuterio. Kai piešiate daugiau nei 500 mA, kompiuteris gali išjungti prievadą. Jei norite naudoti juostą visu ryškumu, maitinkite ją naudodami USB sieninį kištuką, kuris gali tiekti pakankamai didelę srovę.

3 žingsnis: programinė įranga

Programinė įranga
Programinė įranga

Dabar atėjo laikas pritaikyti programinę įrangą. Programinę įrangą galima rasti „GitHub“:

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

Atsisiųskite programinės įrangos failą, išpakuokite jį ir atidarykite „software.ino“failą „Arduino“redaktoriuje. Įsitikinkite, kad turite įdiegtas visas šiame faile paminėtas bibliotekas.

Eikite į „Config“skirtuką ir pridėkite „WiFi“tinklo pavadinimą ir slaptažodį šiose eilutėse:

const char* ssid = "";

const char* slaptažodis = "";

Priklausomai nuo maršrutizatoriaus, taip pat gali tekti pakeisti šiuos dalykus:

const IPAddress staticIp (192, 168, 178, 101); // Norimas statinis vietinis įrenginio IP

const IPAddress vartai (192, 168, 178, 1); // maršrutizatoriaus constIPAddress potinklio šliuzo IP (255, 255, 255, 0); // Maršrutizatoriaus potinklis

„MacOS“sistemoje šiuos nustatymus galite rasti skiltyje Sistemos nuostatos> Tinklas> Išplėstinė> TCP/IP

Įkelkite failus į savo lentą. Jei viskas gerai, juostelė užsidegs balta spalva, kai ji prijungta prie „WiFi“tinklo. Atidarykite 115200 baudų serijos monitorių ir patikrinkite, ar nėra papildomos informacijos.

4 žingsnis: valdykite jį vietoje

Norėdami parodyti lempos veikimą, sukūriau nedidelę žiniatinklio programą, kurią galima rasti adresu https://lamp-app.surge.sh (šaltinis „Codepen“). Ši programa siunčia JSON užklausas tiesiai į ESP8266, o tai savo ruožtu atnaujina šviesos diodus.

Aukščiau aprašyta funkcija veiks tik tuo atveju, jei jūsų lempa ir telefonas prijungti prie to paties „WiFi“tinklo, nes kreipiatės į lempą pagal jos vietinį IP adresą. Kad galėtumėte valdyti lempą iš bet kurios vietos, turėsite įsigilinti į maršrutizatoriaus nustatymus.

5 žingsnis: valdykite jį iš bet kurios vietos

Norėdami atverti žibintą stebuklingam dalykui, kuris yra pasaulinis tinklas, turime padaryti tai, kas vadinama uosto persiuntimu. Iš esmės tai nukreipia užklausas, adresuotas jūsų viešuoju IP adresu (tą, kurį pateikia jūsų IPT) ir prievado numerį (šiame pavyzdyje savavališkai nustatytas į 300), į vidinį, vietinį IP adresą, kuriuo galima adresuoti jūsų ESP8266.

Šis procesas kiekvienam įrenginiui yra skirtingas, todėl jei nežinote, kaip tai padaryti konkrečiame maršrutizatoriuje, būtinai nurodykite „Google“uosto persiuntimą + maršrutizatoriaus pavadinimą. Šių nustatymų jums reikės:

Išorinis pradžios/pabaigos uostas: 300

Vidinis pradžios/pabaigos uostas: 300

Vidinis IP adresas: 192.168.178.101 (serijos monitoriuje rodomas adresas)

Protokolas: TCP/UDP

Įspėjimas! Tai atlikę, jūsų lempą gali valdyti visi, žinantys jūsų viešąjį IP ir prievadą, kuriame lemputė veikia. Jei nemanote, kad tai puiki idėja, rekomenduojama įdiegti tam tikrą saugumo sluoksnį

Norėdami patikrinti, ar viskas teisingai nustatyta, įveskite šią informaciją į savo naršyklę: (jei nežinote, koks yra jūsų viešasis IP adresas, eikite į šią svetainę.)

[JŪSŲ VIEŠAS IP]: 300

Turėtumėte pamatyti JSON patvirtinimo pranešimą. Dabar galite pabandyti naudoti programą su savo viešuoju IP adresu.

6 žingsnis: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

Štai čia ir prasideda tikros linksmybės. Dabar, kai mūsų lempa prijungta prie interneto ~ ~, galime naudoti svetainę IFTTT, kad prijungtume ją prie visų rūšių paslaugų.

Šiame pavyzdyje nustatysime „Google“padėjėjo komandą, kuri švies raudonas lemputes, tačiau galite pasirinkti kitą paslaugą, kuri sužadina jūsų vaizduotę.

  1. Eikite į IFTTT.com ir sukurkite paskyrą, jei to dar nepadarėte
  2. Eikite į „Mano programėlės“> „Nauja programėlė“
  3. Norėdami suaktyvinti paslaugą, ieškokite „Google Assistant“
  4. Pasirinkite „Pasakykite paprastą frazę“
  5. Sugalvokite keletą unikalių frazių
  6. Norėdami rasti veiksmų paslaugą, ieškokite „Webhooks“
  7. Naudokite šiuos nustatymus:

URL: https:// [JŪSŲ PUBLIKINIS IP]: 300/api

Metodas: POST Turinio tipas: application/json

Ir kūnui:

{„ryškumas“: 120, "state": 4, "color": "raudona"}

Dabar, kai pasakysime pasirinktą sakinį, „Google“padėjėjas pateiks užklausą IFTTT, kuri savo ruožtu atsiųs JSON užklausą dėl mūsų lempos. Būtinai išbandykite! Pasinerkite į kodą, kad pamatytumėte, ką dar galite padaryti juostelę.

7 žingsnis: padarykite tai gražiai

Padaryti tai gana
Padaryti tai gana
Padaryti tai gana
Padaryti tai gana
Padaryti tai gana
Padaryti tai gana

Brangiausia šio projekto dalis yra korpusas, kuriame yra LED juostelė. Jei norite tiesiog išbandyti šį projektą, neišleisdami per daug pinigų, taip pat galite apsvarstyti kitas formas arba tiesiog pagaminti vamzdelį iš balto spausdintuvo popieriaus. Pridedamas vielos rėmas, kurį galite atsispausdinti ant popieriaus ir sulankstyti kai kuriuos vamzdžio stovus, kaip parodyta aukščiau esančiose nuotraukose.

Norėdami gauti tvirtesnį korpusą, naudoju šiuos elementus:

  • Matinis akrilo vamzdis (ilgis = 1160 mm, skersmuo = 40 mm, sienelės storis = 2 mm)
  • 2x plastikinis dangtelis
  • 20x2x30 mm spygliuočių medienos blokas
  • 10x1160x2mm metalinė juostelė

Pati LED juostelė yra 1000 mm, paliekant 80 mm abiejuose vamzdžio galuose, kad paslėptų elektroniką. Aš naudoju spausdintuvo popierių, susuktą į vamzdelį iš abiejų galų, kad jie nebūtų skaidrūs. Kad būtų lengviau įterpti, priklijavau LED juostą ant ilgos metalinės juostelės

Stendus frezavau iš spygliuočių medžių kvartalo. Jei norite padaryti tą patį,.stl failas pateikiamas žemiau. Taip pat galite apsvarstyti 3D spausdinimo stendą.

Rekomenduojamas: