Talaan ng mga Nilalaman:

IoT Design lamp na may IFTTT: 7 Hakbang (na may Mga Larawan)
IoT Design lamp na may IFTTT: 7 Hakbang (na may Mga Larawan)

Video: IoT Design lamp na may IFTTT: 7 Hakbang (na may Mga Larawan)

Video: IoT Design lamp na may IFTTT: 7 Hakbang (na may Mga Larawan)
Video: 3-часовой марафон паранормальных и необъяснимых историй 2024, Hulyo
Anonim
IoT Design lamp na may IFTTT
IoT Design lamp na may IFTTT
IoT Design lamp na may IFTTT
IoT Design lamp na may IFTTT

Sa Instructable na ito, gagabayan ka sa paggawa ng isang lampara sa LED na konektado sa internet na parehong gumagana at naka-istilo.

Ang bagay na nakakatawang disenyo na ito ay makokontrol sa isang web-app o sa serbisyong online na IFTTT. Ginawang posible ng huli na i-hook ang lampara sa lahat ng uri ng mga panlabas na serbisyo tulad ng Google Assistant, Alexa, Mga Abiso sa Android, Oras at Petsa, Pagtataya ng Panahon, atbp. Ipinagpapalagay ng proyektong ito ang isang pangunahing kaalaman sa ESP8266 at ang Arduino editor.

Hakbang 1: Ipunin ang Electronics

Ipunin ang Electronics!
Ipunin ang Electronics!
Ipunin ang Electronics!
Ipunin ang Electronics!

Para sa proyektong ito kakailanganin mo ang sumusunod:

  • Isang NodeMCU o ibang ESP8266 microcontroller
  • Neopixel / WS2812B LED-strip (1m 60LED / m)
  • Level Shifter *
  • Jump wires (Lalaki-sa-Babae)
  • Micro-USB cable
  • USB Wall plug (5V)

Ang LED-strip ay may tatlong mga kable: 5V sa (pula), GND (puti) at DATA sa (berde). Ang ESP8266 ay nagpapatakbo sa 3.3V ngunit may isang VU pin. Ang pin na ito ay direktang konektado sa lakas ng USB, kaya kung pinapagana mo ang iyong board na may 5V sa paglipas ng USB, ang boltahe na ito ay magagamit din sa VU pin. Gagamitin namin ang pin na ito upang mapagana ang LED strip. Kaya, sa madaling salita:

  • Ikonekta ang Ground sa Ground (GND TO G)
  • Ikonekta ang 5V + sa Vu
  • Ikonekta ang Din sa D2

* = Nakasalalay sa iyong partikular na hardware, maaaring hindi gumana ang mga kable na ito. Dahil ang ESP8266 ay nagpapatakbo sa 3.3V, ang signal ng data na ibinibigay nito ay nasa 3.3V din. Dahil ang WS2812B ay pinalakas ng 5V ang data signal ay maaaring masyadong mahina upang maayos na matanggap ng strip. Kung ang mga kable sa itaas ay hindi gumagana, kakailanganin mo ang isang Level Shifter na nagbabago ng signal ng data mula sa 3.3V hanggang 5V. Tingnan ang naka-attach na scheme ng mga kable.

Tandaan! Ang ilang mga LED-Strips ay mas madaling kapitan ng paglabag kaysa sa iba. Kung hindi ka pa nagtrabaho kasama ang mga strip na ito masidhi kong inirerekumenda na basahin ang Neopixel Überguide para sa mga tip sa ligtas na pagkonekta sa isang Neopixel LED-strip.

Hakbang 2: Mabilis

Mabilis
Mabilis

Upang makontrol ang mga LED maaari nating magamit ang FastLED library. Kung hindi mo pa nagagawa, idagdag ang library na ito sa iyong Arduino na kapaligiran (Sketch> Isama ang Library> Pamahalaan ang mga aklatan> 'FastLED').

Upang matiyak na gumagana ang iyong mga kable, baka gusto mong subukan ang isa sa maraming mga halimbawa na kasama ng library ng FastLED (File> Mga halimbawa> FastLED). Tiyaking baguhin ang mga setting sa bawat halimbawa (bilang ng mga LED = 60, Data pin = 2), bago i-upload ang mga ito sa iyong board.

Mag-ingat sa pagtatakda ng masyadong maliwanag na mga LED habang ang board ay konektado sa iyong computer. Kapag gumuhit ng higit sa 500mA, maaaring isara ng iyong computer ang port. Kung nais mong gamitin ang strip sa buong liwanag, paganahin ito sa isang USB wall plug na maaaring magbigay ng isang sapat na mataas na amperage.

Hakbang 3: Software

Software
Software

Ngayon na para sa pasadyang software. Magagamit ang software sa GitHub:

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

I-download ang file ng software, i-unzip ito, at buksan ang file ng software.ino sa iyong Arduino editor. Tiyaking mayroon kang lahat ng mga silid aklatan na nabanggit sa file na ito na naka-install.

Pumunta sa tab na Config at idagdag ang pangalan at password ng iyong WiFi sa mga linyang ito:

const char * ssid = "";

const char * password = "";

Maaaring kailanganin mong baguhin ang sumusunod, depende sa iyong router:

const IPAddress staticIp (192, 168, 178, 101); // Ang nais na static na lokal na IP ng aparato

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

Sa MacOS, mahahanap mo ang mga setting na ito sa ilalim ng Mga Kagustuhan sa System> Network> Advanced> TCP / IP

I-upload ang mga file sa iyong board. Kung maayos ang lahat, ang strip ay magpapasindi ng puti kapag nakakonekta ito sa iyong WiFi network. Buksan ang Serial Monitor sa 115200 baud upang suriin para sa karagdagang impormasyon.

Hakbang 4: Pagkontrol sa Ito nang Lokal

Upang maipakita ang pagtakbo ng lampara, gumawa ako ng isang maliit na web-app na magagamit sa https://lamp-app.surge.sh (pinagmulan sa Codepen). Nagpadala ang app na ito ng mga kahilingan ng JSON nang direkta sa ESP8266, na siya namang ina-update ang mga LED.

Gagana lang ang nasa itaas kung ang iyong lampara at telepono ay nakakonekta sa parehong WiFi network dahil tinutugunan mo ang lampara sa pamamagitan ng lokal na IP address. Upang makontrol ang lampara mula sa kahit saan, kakailanganin mong maghukay sa iyong mga setting ng router.

Hakbang 5: Pagkontrol Ito Mula Sa Kahit saan

Upang buksan ang iyong ilawan hanggang sa mahika na bagay na ang World Wide Web, kailangan naming gumawa ng isang bagay na tinatawag na port forwarding. Talaga, ire-redirect nito ang mga kahilingan na naka-address sa iyong pampublikong IP address (ang isa na ibinibigay ng iyong ISP) at numero ng port (sa halimbawang ito na arbitraryong itinakda sa 300) sa panloob, lokal na IP address na iyong address ng iyong ESP8266.

Ang prosesong ito ay naiiba para sa bawat aparato, kaya kung hindi mo alam kung paano ito gawin sa iyong tukoy na router, siguraduhing i-google ang 'pagpapasa ng pagpapasa' + ng pangalan ng iyong router. Ito ang mga setting na kakailanganin mo:

Panlabas na Start / End Port: 300

Panloob na Start / End Port: 300

Panloob na IP Adress: 192.168.178.101 (ang address na ipinapakita sa Serial Monitor)

Protocol: TCP / UDP

Babala! Matapos gawin ito, ang iyong lampara ay maaaring makontrol ng sinumang nakakaalam ng iyong pampublikong IP at ang port na tumatakbo ang lampara. Kung sa tingin mo hindi ito magandang ideya, inirekumenda ang pagpapatupad ng ilang layer ng seguridad

Upang masubukan kung ang lahat ay na-set up nang tama, ipasok ang sumusunod sa iyong browser: (kung hindi mo alam ang iyong Public IP address, pumunta sa website na ito.)

[IYONG PUBLIC IP]: 300

Dapat kang makakita ng isang mensahe ng kumpirmasyon ng JSON. Maaari mo na ngayong subukan ang paggamit ng app sa iyong pampublikong IP address.

Hakbang 6: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

Dito nagsisimula ang totoong kasiyahan. Ngayon na ang aming lampara ay konektado sa ~~ sa internet ~~, maaari naming gamitin ang website na IFTTT upang mai-hook ito sa lahat ng iba't ibang mga uri ng serbisyo.

Sa halimbawang ito, magse-set up kami ng isang utos ng Google Assistant na magpapasara sa mga ilaw, ngunit maaari kang pumili ng isa pang serbisyo na magpapukaw sa iyong imahinasyon.

  1. Pumunta sa IFTTT.com at lumikha ng isang account kung hindi mo pa nagagawa
  2. Mag-navigate sa 'Aking Mga Applet'> 'Bagong Applet'
  3. Para sa serbisyo ng pag-trigger, maghanap para sa 'Google Assistant'
  4. Piliin ang 'Say A Simple Phrase'
  5. Bumuo ng ilang natatanging mga parirala
  6. Para sa serbisyo sa pagkilos, maghanap para sa 'Webhooks'
  7. Gamitin ang mga sumusunod na setting:

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

Pamamaraan: Uri ng Nilalaman ng POST: application / json

At para sa Katawan:

Ngayon kapag sinabi namin ang aming napiling pangungusap, hihilingin ng Google Assistant ang IFTTT, na magpapadala naman ng isang kahilingan sa JSON sa aming lampara. Tiyaking subukan ito! Sumisid sa code upang makita kung ano pa ang maaari mong gawin sa strip.

Hakbang 7: Ginagawa itong Maganda

Ginagawang Maganda
Ginagawang Maganda
Ginagawang Maganda
Ginagawang Maganda
Ginagawang Maganda
Ginagawang Maganda

Ang pinakamahal na bahagi ng proyektong ito ay ang pambalot na naglalaman ng LED strip. Kung nais mo lamang subukan ang proyektong ito nang hindi gumagasta ng labis na pera dito, maaari mo ring isaalang-alang ang iba pang mga hugis o simpleng paggawa ng tubo mula sa puting papel ng printer. Nakalakip makakakita ka ng isang wireframe na maaari mong mai-print sa papel upang tiklop ang ilang mga nakatayo para sa tubo, tulad ng ipinakita sa mga larawan sa itaas.

Para sa isang mas solidong pambalot na ginamit ko ang mga sumusunod na item:

  • Frosted acrylic tube (haba = 1160mm, diameter = 40mm, kapal ng pader = 2mm)
  • 2x Plastic Cap
  • 20x2x30mm bloke ng softwood
  • 10x1160x2mm metal strip

Ang LED strip mismo ay 1000mm, naiwan ang 80mm sa magkabilang dulo ng tubo upang maitago ang electronics. Gumamit ako ng papel ng printer na pinagsama sa tubo sa magkabilang dulo upang gawin silang hindi malinaw. Upang gawing mas madali ang pagpapasok, idinikit ko ang LED strip sa isang mahabang metal strip

Giniling ko ang mga nakatayo sa labas ng isang bloke ng mga softwoods. Kung nais mong gawin ang pareho, ang.stl file ay ibinibigay sa ibaba. Maaari mo ring isaalang-alang ang 3D sa pagpi-print ng stand.

Inirerekumendang: