Sisällysluettelo:

IoT -suunnittelulamppu IFTTT: llä: 7 vaihetta (kuvilla)
IoT -suunnittelulamppu IFTTT: llä: 7 vaihetta (kuvilla)

Video: IoT -suunnittelulamppu IFTTT: llä: 7 vaihetta (kuvilla)

Video: IoT -suunnittelulamppu IFTTT: llä: 7 vaihetta (kuvilla)
Video: Замена старых окон на новые. Переделка хрущевки от А до Я. Смета. Все что нужно знать. #7 2024, Marraskuu
Anonim
IoT -suunnitteluvalo IFTTT: llä
IoT -suunnitteluvalo IFTTT: llä
IoT -suunnitteluvalo IFTTT: llä
IoT -suunnitteluvalo IFTTT: llä

Tässä ohjeessa opastan sinua tekemään Internetiin yhdistetyn LED-lampun, joka on sekä toimiva että tyylikäs.

Tämä funky-suunnitteluobjekti on hallittavissa verkkosovelluksella tai IFTTT-verkkopalvelulla. Jälkimmäinen mahdollistaa lampun kytkemisen kaikenlaisiin ulkoisiin palveluihin, kuten Google Assistant, Alexa, Android -ilmoitukset, aika ja päivämäärä, sääennuste jne. Tässä projektissa oletetaan perustiedot ESP8266: sta ja Arduino -editorista.

Vaihe 1: Kerää elektroniikkaa

Kerää elektroniikkaa!
Kerää elektroniikkaa!
Kerää elektroniikkaa!
Kerää elektroniikkaa!

Tätä projektia varten tarvitset seuraavat:

  • NodeMCU tai muu ESP8266 -mikro -ohjain
  • Neopixel/WS2812B LED-nauha (1m 60LED/m)
  • Tasonvaihtaja*
  • Hyppyjohdot (uros-naaras)
  • Micro-USB-kaapeli
  • USB -seinäpistoke (5V)

LED-nauhassa on kolme kaapelia: 5 V (punainen), GND (valkoinen) ja DATA (vihreä). ESP8266 toimii 3,3 V: n jännitteellä, mutta siinä on VU -nasta. Tämä nasta on kytketty suoraan USB -virtalähteeseen, joten jos käytät virtalähdettä 5 V: n USB -liitännällä, tämä jännite on käytettävissä myös VU -nastassa. Käytämme tätä tappia LED -nauhan virtalähteeksi. Eli lyhyesti:

  • Liitä maa maahan (GND - G)
  • Liitä 5V+ Vu
  • Yhdistä Din D2: een

* = Laitteistostasi riippuen tämä johdotus ei ehkä toimi. Koska ESP8266 toimii 3,3 V: n jännitteellä, sen tarjoama datasignaali on myös 3,3 V: n jännitteellä. Koska WS2812B: n virtalähteenä on 5 V, datasignaali voi olla liian heikko, jotta nauha vastaanottaa sen oikein. Jos yllä oleva johdotus ei toimi, tarvitset tasonsiirtimen, joka siirtää datasignaalin 3,3 V: sta 5 V. Katso oheinen kytkentäkaavio.

Huomautus! Jotkut LED-nauhat ovat murtumisalttiimpia kuin toiset. Jos et ole koskaan työskennellyt näiden nauhojen kanssa, suosittelen lämpimästi lukemaan Neopixel Überguide -oppaan, jossa on vinkkejä Neopixel-LED-nauhan turvalliseen liittämiseen.

Vaihe 2: FastLED

FastLED
FastLED

LEDien ohjaamiseen voimme käyttää FastLED -kirjastoa. Jos et ole jo tehnyt sitä, lisää tämä kirjasto Arduino -ympäristösi (Luonnos> Sisällytä kirjasto> Hallitse kirjastoja> FastLED).

Varmistaaksesi, että johdot toimivat, sinun kannattaa kokeilla yhtä monista FastLED -kirjaston mukana tulevista esimerkeistä (Tiedosto> Esimerkit> FastLED). Muista muuttaa kunkin esimerkin asetuksia (merkkivalojen määrä = 60, datanasta = 2), ennen kuin lataat ne taulullesi.

Ole varovainen asettamalla LEDit liian kirkkaiksi, kun kortti on kytketty tietokoneeseen. Kun piirrät enemmän kuin 500 mA, tietokone saattaa sulkea portin. Jos haluat käyttää nauhaa täydellä kirkkaudella, käytä sitä USB -seinäpistokkeella, joka voi tuottaa riittävän suuren virran.

Vaihe 3: Ohjelmisto

Ohjelmisto
Ohjelmisto

Nyt on aika tehdä räätälöityjä ohjelmistoja. Ohjelmisto on saatavana GitHubista:

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

Lataa ohjelmistotiedosto, pura se ja avaa software.ino -tiedosto Arduino -editorissa. Varmista, että kaikki tässä tiedostossa mainitut kirjastot on asennettu.

Siirry Config -välilehteen ja lisää WiFi -verkon nimi ja salasana näille riveille:

const char* ssid = "";

const char* salasana = "";

Sinun on ehkä myös muutettava seuraavia asioita reitittimestä riippuen:

const IPAdd staticIp (192, 168, 178, 101); // Laitteen haluttu staattinen paikallinen IP

const IPAddress -yhdyskäytävä (192, 168, 178, 1); // Reitittimen constIPAddress -aliverkon yhdyskäytävän IP (255, 255, 255, 0); // Reitittimen aliverkko

MacOSissa nämä asetukset löytyvät kohdasta Järjestelmäasetukset> Verkko> Lisäasetukset> TCP/IP

Lataa tiedostot taulullesi. Jos kaikki menee hyvin, liuska palaa valkoisena, kun se on yhdistetty WiFi -verkkoon. Avaa Serial Monitor 115200 baudilla tarkistaaksesi lisätietoja.

Vaihe 4: Hallitse sitä paikallisesti

Osoittaakseni lampun toiminnan tein pienen verkkosovelluksen, joka on saatavilla osoitteessa https://lamp-app.surge.sh (lähde Codepenissa). Tämä sovellus lähettää JSON -pyynnöt suoraan ESP8266: lle, joka puolestaan päivittää LEDit.

Yllä oleva toimii vain, jos lamppu ja puhelin on yhdistetty samaan WiFi -verkkoon, koska osoitat lampulle sen paikallisen IP -osoitteen. Jotta voit hallita lamppua mistä tahansa, sinun on tutkittava reitittimen asetuksia.

Vaihe 5: Hallitse sitä mistä tahansa

Jotta voisimme avata lampun taikuuteen, joka on World Wide Web, meidän on tehtävä jotain, jota kutsutaan portinsiirtoksi. Pohjimmiltaan tämä ohjaa julkisella IP -osoitteellasi (Internet -palveluntarjoajasi toimittama) ja porttinumerolla (tässä esimerkissä mielivaltaisesti 300) osoitetut pyynnöt sisäiseen, paikalliseen IP -osoitteeseen, johon ESP8266 on osoitettavissa.

Tämä prosessi on erilainen jokaisella laitteella, joten jos et tiedä miten tämä tehdään omalla reitittimelläsi, varmista, että käytät Googlen portinsiirtoa + reitittimesi nimeä. Tarvitset seuraavat asetukset:

Ulkoinen aloitus-/lopetusportti: 300

Sisäinen aloitus-/lopetusportti: 300

Sisäinen IP -osoite: 192.168.178.101 (sarjamonitorissa näkyvä osoite)

Protokolla: TCP/UDP

Varoitus! Tämän jälkeen lamppua voi ohjata kuka tahansa, joka tuntee julkisen IP -osoitteesi ja lampun käynnissä olevan portin. Jos se ei ole mielestäsi hyvä idea, suositellaan jonkin tietoturvatason käyttöönottoa

Testaa, onko kaikki asetettu oikein, kirjoittamalla selaimeesi seuraavat tiedot: (jos et tiedä julkista IP -osoitettasi, siirry tälle verkkosivustolle.)

[JULKINEN IP -osoitteesi]: 300

Sinun pitäisi nähdä JSON -vahvistusviesti. Voit nyt yrittää käyttää sovellusta julkisen IP -osoitteesi kanssa.

Vaihe 6: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

Tästä alkaa todellinen hauskuus. Nyt kun lamppu on kytketty ~ ~ Internetiin ~ ~, voimme käyttää IFTTT -verkkosivustoa kytkeäksemme sen kaikenlaisiin palveluihin.

Tässä esimerkissä määritämme Google Assistant -komennon, joka muuttaa valot punaisiksi, mutta voit valita toisen palvelun, joka herättää mielikuvituksesi.

  1. Siirry osoitteeseen IFTTT.com ja luo tili, jos et ole jo tehnyt sitä
  2. Siirry kohtaan Omat appletit> Uusi appletti
  3. Hae laukaisupalvelua varten Google Assistant
  4. Valitse Sano yksinkertainen lause
  5. Keksi muutama ainutlaatuinen lause
  6. Hae toimintapalvelusta hakusana "Webhooks"
  7. Käytä seuraavia asetuksia:

URL-osoite: https:// [JULKINEN IP-osoitteesi]: 300/api

Menetelmä: POST -sisällön tyyppi: application/json

Ja vartalolle:

Kun sanomme valitsemamme lauseen, Google Assistant tekee pyynnön IFTTT: lle, joka puolestaan lähettää JSON -pyynnön lampullemme. Muista kokeilla sitä! Sukella koodiin nähdäksesi, mitä muuta voit saada nauhalle.

Vaihe 7: Tee siitä kaunis

Tekee siitä nättiä
Tekee siitä nättiä
Tekee siitä nättiä
Tekee siitä nättiä
Tekee siitä nättiä
Tekee siitä nättiä

Tämän projektin kallein osa on kotelo, jossa on LED -nauha. Jos haluat vain kokeilla tätä projektia kuluttamatta siihen liikaa rahaa, voit myös harkita muita muotoja tai yksinkertaisesti tehdä putken valkoisesta tulostuspaperista. Liitteenä on metallikehys, jonka voit tulostaa paperille ja taittaa putken jalat, kuten yllä olevissa kuvissa näkyy.

Vahvempaan koteloon käytin seuraavia tuotteita:

  • Matta akryyliputki (pituus = 1160 mm, halkaisija = 40 mm, seinämän paksuus = 2 mm)
  • 2x muovikorkki
  • 20x2x30mm havupuuta
  • 10x1160x2mm metallinauha

Itse LED -nauha on 1000 mm, joten putken molemmissa päissä on 80 mm elektroniikan piilottamiseksi. Käytin tulostinpaperia, joka oli rullattu putkeen molemmista päistä, jotta ne eivät olisi läpinäkyviä. Liittämisen helpottamiseksi liimasin LED -nauhan pitkän metalliliuskan päälle

Jyrsin telineet havupuusta. Jos haluat tehdä saman,.stl -tiedosto on alla. Voit myös harkita telineen 3D -tulostusta.

Suositeltava: