Cuprins:
- Pasul 1: Adunați electronice
- Pasul 2: FastLED
- Pasul 3: Software
- Pasul 4: Controlul local
- Pasul 5: controlarea acestuia de oriunde
- Pasul 6: IFTTT
- Pasul 7: Făcându-l destul
Video: Lampă de proiectare IoT cu IFTTT: 7 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
În acest Instructable, vă voi îndruma în realizarea unei lămpi LED conectate la internet, funcțională și elegantă.
Acest obiect de design funky este controlabil cu o aplicație web sau cu serviciul online IFTTT. Acesta din urmă face posibilă conectarea lămpii la toate tipurile de servicii externe precum Asistent Google, Alexa, Notificări Android, Oră și dată, Prognoza meteo etc. Acest proiect presupune cunoștințe de bază despre ESP8266 și editorul Arduino.
Pasul 1: Adunați electronice
Pentru acest proiect veți avea nevoie de următoarele:
- Un NodeMCU sau alt microcontroler ESP8266
- Benzi LED Neopixel / WS2812B (1m 60LED / m)
- Schimbător de nivel *
- Sârmă de salt (de la bărbat la femeie)
- Cablu micro-USB
- Mufă de perete USB (5V)
Banda LED are trei cabluri: 5V în (roșu), GND (alb) și DATA în (verde). ESP8266 funcționează la 3,3V, dar are un pin VU. Acest pin este conectat direct la alimentarea USB, deci dacă alimentați placa cu 5V prin USB, această tensiune va fi disponibilă și pe pinul VU. Vom folosi acest pin pentru a alimenta banda LED. Deci, pe scurt:
- Conectați masă la masă (GND LA G)
- Conectați 5V + la Vu
- Conectează Din la D2
* = În funcție de hardware-ul dvs., este posibil ca acest cablaj să nu funcționeze. Deoarece ESP8266 funcționează la 3,3V, semnalul de date pe care îl furnizează va fi, de asemenea, la 3,3V. Deoarece WS2812B este alimentat cu 5V, semnalul de date poate fi prea slab pentru a fi primit corespunzător de bandă. Dacă cablajul de mai sus nu funcționează, veți avea nevoie de un schimbător de nivel care să schimbe semnalul de date de la 3,3V la 5V. Consultați schema de cablare atașată.
Notă! Unele benzi LED sunt mai predispuse la rupere decât altele. Dacă nu ați lucrat niciodată cu aceste benzi, vă recomand cu tărie să citiți Neopixel Überguide pentru sfaturi despre conectarea în siguranță a unei benzi LED Neopixel.
Pasul 2: FastLED
Pentru a controla LED-urile putem folosi biblioteca FastLED. Dacă nu ați făcut-o deja, adăugați această bibliotecă în mediul dvs. Arduino (Schiță> Includeți bibliotecă> Gestionați bibliotecile> „FastLED”).
Pentru a vă asigura că cablajul funcționează, vă recomandăm să încercați unul dintre numeroasele exemple care vin cu biblioteca FastLED (Fișier> Exemple> FastLED). Asigurați-vă că modificați setările din fiecare exemplu (număr de LED-uri = 60, pin de date = 2), înainte de a le încărca pe placa dvs.
Aveți grijă să setați LED-urile prea luminoase în timp ce placa este conectată la computer. Când trageți mai mult de 500mA, computerul dvs. ar putea închide portul. Dacă doriți să utilizați banda cu luminozitate maximă, alimentați-o cu o priză USB care poate furniza un amperaj suficient de mare.
Pasul 3: Software
Acum este timpul pentru software-ul personalizat. Software-ul este disponibil pe GitHub:
github.com/dpkn/lamp/tree/master/software
Descărcați fișierul software, dezarhivați-l și deschideți fișierul software.ino în editorul Arduino. Asigurați-vă că aveți instalate toate bibliotecile menționate în acest fișier.
Accesați fila Configurare și adăugați numele și parola rețelei WiFi la următoarele linii:
const char * ssid = "";
const char * password = "";
S-ar putea să fie necesar să modificați următoarele, în funcție de router:
const IPAddress staticIp (192, 168, 178, 101); // IP-ul local static dorit al dispozitivului
gateway IPAddress const (192, 168, 178, 1); // IP gateway al subrețelei constIPAddress a routerului (255, 255, 255, 0); // Subrețea routerului
Pe MacOS, puteți găsi aceste setări în Preferințe sistem> Rețea> Avansat> TCP / IP
Încărcați fișierele pe tablă. Dacă totul merge bine, banda se va aprinde alb când este conectată la rețeaua WiFi. Deschideți monitorul serial pe 115200 baud pentru a verifica informațiile suplimentare.
Pasul 4: Controlul local
Pentru a demonstra funcționarea lămpii, am creat o mică aplicație web disponibilă la https://lamp-app.surge.sh (sursă pe Codepen). Această aplicație trimite solicitări JSON direct la ESP8266, care la rândul său actualizează LED-urile.
Cele de mai sus vor funcționa numai dacă lampa și telefonul dvs. sunt conectate la aceeași rețea WiFi, deoarece vă adresați lampii prin adresa IP locală. Pentru a putea controla lampa de oriunde, va trebui să vă scufundați în setările routerului.
Pasul 5: controlarea acestuia de oriunde
Pentru a vă deschide lampa către lucrul magic care este World Wide Web, trebuie să facem ceva numit redirecționare de porturi. Practic, acest lucru va redirecționa cererile adresate la adresa dvs. IP publică (cea furnizată de ISP-ul dvs.) și numărul portului (în acest exemplu setat în mod arbitrar la 300) la adresa IP locală locală pe care este adresabil ESP8266.
Acest proces este diferit pentru fiecare dispozitiv, așa că, dacă nu știți cum să faceți acest lucru pe routerul dvs. specific, asigurați-vă că „port forwarding” + numele routerului dvs. Google. Iată setările de care aveți nevoie:
Port extern Start / End: 300
Port intern Start / End: 300
Adresă IP internă: 192.168.178.101 (adresa care este afișată în monitorul serial)
Protocol: TCP / UDP
Avertizare! După ce faceți acest lucru, lampa dvs. poate fi controlată de oricine vă cunoaște IP-ul public și portul pe care lampa este pornită. Dacă nu credeți că este o idee grozavă, este recomandată implementarea unui anumit nivel de securitate
Pentru a testa dacă totul este configurat corect, introduceți următoarele în browserul dvs. (dacă nu știți adresa IP publică, accesați acest site.)
[IP-ul tău public]: 300
Ar trebui să vedeți un mesaj de confirmare JSON. Acum puteți încerca să utilizați aplicația cu adresa dvs. IP publică.
Pasul 6: IFTTT
Aici începe adevărata distracție. Acum, când lampa noastră este conectată la ~~ internetul ~~, putem folosi site-ul IFTTT pentru a-l conecta la toate tipurile diferite de servicii.
În acest exemplu, vom configura o comandă Asistent Google care va aprinde luminile roșii, dar puteți alege un alt serviciu care vă scântește imaginația.
- Accesați IFTTT.com și creați un cont dacă nu ați făcut-o deja
- Navigați la „Appletele mele”> „Applet nou”
- Pentru serviciul de declanșare, căutați „Asistent Google”
- Selectați „Rostiți o frază simplă”
- Vino cu câteva fraze unice
- Pentru serviciul de acțiune, căutați „Webhooks”
- Utilizați următoarele setări:
URL: https:// [YOUR-PUBLIC-IP]: 300 / api
Metodă: POST Tip conținut: application / json
Și pentru corp:
Acum, când spunem propoziția aleasă, Asistentul Google va trimite o cerere către IFTTT, care, la rândul său, va trimite o solicitare JSON pentru lampa noastră. Asigurați-vă că încercați! Scufundați-vă în cod pentru a vedea ce altceva puteți face pe bandă.
Pasul 7: Făcându-l destul
Cea mai scumpă parte a acestui proiect este carcasa care găzduiește banda LED. Dacă doriți doar să încercați acest proiect fără a cheltui prea mulți bani pe el, puteți lua în considerare și alte forme sau pur și simplu realizarea tubului din hârtie albă pentru imprimantă. Atașat veți găsi un wireframe pe care îl puteți imprima pe hârtie pentru a plia câteva suporturi pentru tub, așa cum se arată în imaginile de mai sus.
Pentru o carcasă mai solidă am folosit următoarele elemente:
- Tub acrilic mat (lungime = 1160mm, diametru = 40mm, grosime perete = 2mm)
- 2x capac din plastic
- Bloc de lemn de rasinoase de 20x2x30mm
- Benzi metalice de 10x1160x2mm
Banda LED în sine este de 1000 mm, lăsând 80 mm la ambele capete ale tubului pentru a ascunde electronica. Am folosit hârtie pentru imprimantă înfășurată în tub la ambele capete pentru a le face transparente. Pentru a ușura inserția, am lipit banda LED pe o bandă metalică lungă
Am frezat tribunele dintr-un bloc de rasinoase. Dacă doriți să faceți același lucru, fișierul.stl este furnizat mai jos. De asemenea, puteți lua în considerare imprimarea 3D a suportului.
Recomandat:
Achiziționarea, amplificarea și filtrarea circuitului de proiectare a unei electrocardiograme de bază: 6 pași
Achiziționarea, amplificarea și filtrarea circuitului de proiectare a unei electrocardiograme de bază: Pentru a finaliza acest instructable, singurele lucruri necesare sunt un computer, acces la internet și unele programe de simulare. În scopul acestui proiect, toate circuitele și simulările vor fi rulate pe LTspice XVII. Acest software de simulare conține
Proiectare acvariu cu control automat al parametrilor de bază: 4 pași (cu imagini)
Proiectare acvariu cu control automat al parametrilor de bază: Introducere Astăzi, îngrijirea acvariului marin este disponibilă pentru fiecare acvarist. Problema achiziționării unui acvariu nu este dificilă. Dar pentru susținerea deplină a locuitorilor, protecția împotriva defecțiunilor tehnice, întreținerea și îngrijirea ușoară și rapidă
Proiectare cameră obscură pentru spații mici: 7 pași (cu imagini)
Home Darkroom Design pentru spații mici: vizualizare 360 a dulapului meu convertit - Imagine sferică - RICOH THETAHi, aș dori să încep prin a spune că acest design al camerei întunecate nu va fi aplicabil tuturor. Dulapul dvs. ar putea fi mai mare, mai mic sau s-ar putea să utilizați un spațiu pentru baie. Da
Creați PCB-uri hobbyiste cu instrumente CAD profesionale modificând „Regulile de proiectare”: 15 pași (cu imagini)
Creați PCB-uri hobbyiste cu instrumente CAD profesionale modificând „Regulile de proiectare”: Este frumos că există câteva instrumente profesionale pentru plăci de circuite disponibile pentru amatori. Iată câteva sfaturi pentru utilizarea lor, plăci de design ito, care nu au nevoie de un fabricant profesionist pentru a le efectua
Instrucțiuni privind finalizarea machetei de proiectare a diapozitivelor de șină pentru ridicarea / coborârea suporturilor de picior montate central pe scaunele cu rotile electrice: 9 pași (cu imagini)
Instrucțiuni privind finalizarea machetei de proiectare a diapozitivelor de șină pentru ridicarea / coborârea suporturilor de picioare montate central pe scaunele cu rotile electrice: suporturile pentru picioare montate în centru se ridică sub puțul scaunului și sunt inferioare pentru a fi instalate. Un mecanism pentru funcționarea independentă a stivării și desfășurării suportului pentru picioare nu este inclus în scaunele cu rotile de pe piață și utilizatorii PWC și-au exprimat nevoia