Indholdsfortegnelse:

IoT Design Lamp With IFTTT: 7 trin (med billeder)
IoT Design Lamp With IFTTT: 7 trin (med billeder)

Video: IoT Design Lamp With IFTTT: 7 trin (med billeder)

Video: IoT Design Lamp With IFTTT: 7 trin (med billeder)
Video: Privacy, Security, Society - Computer Science for Business Leaders 2016 2024, Juli
Anonim
IoT designlampe med IFTTT
IoT designlampe med IFTTT
IoT designlampe med IFTTT
IoT designlampe med IFTTT

I denne Instructable vil jeg guide dig i at lave en internetforbundet LED-lampe, der er både funktionel og stilfuld.

Dette funky designobjekt kan styres med en web-app eller onlinetjenesten IFTTT. Sidstnævnte gør det muligt at tilslutte lampen til alle former for eksterne tjenester som Google Assistant, Alexa, Android Notifications, Time & Date, Weather forecast, osv. Dette projekt forudsætter en grundlæggende viden om ESP8266 og Arduino -editoren.

Trin 1: Saml elektronik

Saml elektronik!
Saml elektronik!
Saml elektronik!
Saml elektronik!

Til dette projekt skal du bruge følgende:

  • En NodeMCU eller anden ESP8266 mikrokontroller
  • Neopixel/WS2812B LED-strip (1m 60LED/m)
  • Niveauskifter*
  • Springtråde (mand-til-hun)
  • Micro-USB-kabel
  • USB -vægstik (5V)

LED-stripen har tre kabler: 5V i (rød), GND (hvid) og DATA i (grøn). ESP8266 fungerer ved 3.3V, men har en VU -pin. Denne pin er direkte forbundet til USB -strømmen, så hvis du driver dit kort med 5V over USB, vil denne spænding også være tilgængelig på VU -stiften. Vi vil bruge denne pin til at drive LED -strimlen. Så kort sagt:

  • Tilslut jord til jord (GND TIL G)
  • Tilslut 5V+ til Vu
  • Tilslut Din til D2

* = Afhængigt af din særlige hardware fungerer denne ledning muligvis ikke. Da ESP8266 fungerer ved 3,3V, vil datasignalet, den leverer, også være på 3,3V. Fordi WS2812B er forsynet med 5V, kan datasignalet være for svagt til at blive korrekt modtaget af båndet. Hvis ovenstående ledninger ikke virker, skal du bruge en niveauskifter, der skifter datasignalet fra 3,3V til 5V. Se vedlagte ledningsskema.

Bemærk! Nogle LED-strips er mere tilbøjelige til at gå i stykker end andre. Hvis du aldrig har arbejdet med disse strimler, anbefaler jeg stærkt at læse Neopixel Überguide for at få tips om sikker tilslutning af en Neopixel LED-strip.

Trin 2: FastLED

FastLED
FastLED

For at styre LED'erne kan vi gøre brug af FastLED -biblioteket. Hvis du ikke allerede har gjort det, skal du tilføje dette bibliotek til dit Arduino -miljø (Skitse> Inkluder bibliotek> Administrer biblioteker> 'FastLED').

For at sikre, at dine ledninger fungerer, kan du prøve et af de mange eksempler, der følger med FastLED -biblioteket (Fil> Eksempler> FastLED). Sørg for at ændre indstillingerne i hvert eksempel (antal lysdioder = 60, datapind = 2), før du uploader dem til dit kort.

Vær forsigtig med at indstille lysdioderne for lyse, mens kortet er tilsluttet din computer. Når du tegner mere end 500mA, lukker din computer muligvis porten ned. Hvis du vil bruge stripen med fuld lysstyrke, skal du forsyne den med et USB -stik, der kan levere en høj nok strømstyrke.

Trin 3: Software

Software
Software

Nu er det tid til tilpasset software. Softwaren er tilgængelig på GitHub:

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

Download softwarefilen, pak den ud, og åbn softwaren.ino -filen i din Arduino -editor. Sørg for, at du har alle biblioteker, der er nævnt i denne fil, installeret.

Gå til fanen Config, og tilføj dit WiFi -netværksnavn og adgangskode til disse linjer:

const char* ssid = "";

const char* password = "";

Du skal muligvis også ændre følgende afhængigt af din router:

const IPAddress staticIp (192, 168, 178, 101); // Den ønskede statiske lokale IP for enheden

const IPAddress -gateway (192, 168, 178, 1); // Gateway -IP for routeren constIPAddress subnet (255, 255, 255, 0); // Undernet på routeren

På MacOS kan du finde disse indstillinger under Systemindstillinger> Netværk> Avanceret> TCP/IP

Upload filerne til dit bord. Hvis alt går godt, lyser strimlen hvidt, når den er forbundet til dit WiFi -netværk. Åbn Serial Monitor på 115200 baud for at søge efter yderligere oplysninger.

Trin 4: Styr det lokalt

For at demonstrere lampens funktion lavede jeg en lille web-app, der er tilgængelig på https://lamp-app.surge.sh (kilde på Codepen). Denne app sender JSON -anmodninger direkte til ESP8266, som igen opdaterer lysdioderne.

Ovenstående fungerer kun, hvis din lampe og telefon er forbundet til det samme WiFi -netværk, fordi du adresserer lampen med dens lokale IP -adresse. For at kunne styre lampen hvor som helst, skal du grave i dine routerindstillinger.

Trin 5: Styr det fra hvor som helst

For at åbne din lampe for den magiske ting, der er World Wide Web, skal vi gøre noget, der kaldes port forwarding. Grundlæggende vil dette omdirigere anmodninger adresseret på din offentlige IP -adresse (den, der leveres af din internetudbyder) og portnummer (i dette eksempel vilkårligt sat til 300) til den interne, lokale IP -adresse, din ESP8266 kan adresseres på.

Denne proces er forskellig for hver enhed, så hvis du ikke ved, hvordan du gør dette på din specifikke router, skal du sørge for at google 'port forwarding' + navnet på din router. Dette er de indstillinger, du skal bruge:

Ekstern start/slut -port: 300

Intern start/slut -port: 300

Intern IP -adresse: 192.168.178.101 (adressen, der vises i Serial Monitor)

Protokol: TCP/UDP

Advarsel! Efter at have gjort dette kan din lampe styres af alle, der kender din offentlige IP og den port, lampen kører på. Hvis du ikke synes, det er en god idé, anbefales det at implementere et eller andet lag af sikkerhed

For at teste, om alt er konfigureret korrekt, skal du indtaste følgende i din browser: (hvis du ikke ved, din offentlige IP -adresse er, skal du gå til dette websted.)

[DIN OFFENTLIGE IP]: 300

Du skulle se en JSON -bekræftelsesmeddelelse. Du kan nu prøve at bruge appen med din offentlige IP -adresse.

Trin 6: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

Det er her den rigtige sjov begynder. Nu hvor vores lampe er forbundet til ~~ internettet ~~, kan vi bruge webstedet IFTTT til at tilslutte den til alle forskellige former for tjenester.

I dette eksempel konfigurerer vi en Google Assistant -kommando, der lyser rødt, men du kan vælge en anden tjeneste, der sætter gang i din fantasi.

  1. Gå til IFTTT.com og opret en konto, hvis du ikke allerede har gjort det
  2. Naviger til 'Mine appletter'> 'Ny applet'
  3. Søg efter 'Google Assistant' for udløsertjenesten
  4. Vælg 'Sig en simpel sætning'
  5. Kom med et par unikke sætninger
  6. Søg efter 'Webhooks' for handlingstjenesten
  7. Brug følgende indstillinger:

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

Metode: POST Indholdstype: application/json

Og for kroppen:

Når vi nu siger vores valgte sætning, sender Google Assistant en forespørgsel til IFTTT, som igen sender en JSON -anmodning til vores lampe. Sørg for at prøve det! Dyk ned i koden for at se, hvad du ellers kan få strimlen til at gøre.

Trin 7: Gør det smukt

Gør det smukt
Gør det smukt
Gør det smukt
Gør det smukt
Gør det smukt
Gør det smukt

Den dyreste del af dette projekt er kabinettet, der huser LED -båndet. Hvis du bare vil prøve dette projekt uden at bruge for mange penge på det, kan du også overveje andre former eller blot lave røret af hvidt printerpapir. Vedhæftet finder du en wireframe, som du kan udskrive på papir for at folde nogle stativer til røret, som vist på billederne ovenfor.

Til et mere solidt kabinet brugte jeg følgende emner:

  • Frostet akrylrør (længde = 1160 mm, diameter = 40 mm, vægtykkelse = 2 mm)
  • 2x plastikdæksel
  • 20x2x30mm blok af blødt træ
  • 10x1160x2mm metalbånd

Selve LED -båndet er 1000 mm, hvilket efterlader 80 mm i begge ender af røret for at skjule elektronikken. Jeg brugte printerpapir rullet op i røret i begge ender for at gøre dem uigennemsigtige. For at gøre indsættelsen lettere, limede jeg LED -strimlen på en lang metalstrimmel

Jeg fræste stativerne ud af en blok blødtræ. Hvis du vil gøre det samme, findes.stl -filen herunder. Du kan også overveje 3D -udskrivning af stativet.

Anbefalede: