Malayuang Kinokontrol na RGB Desktop Lights: 5 Hakbang
Malayuang Kinokontrol na RGB Desktop Lights: 5 Hakbang
Anonim
Malayuang Kinokontrol na RGB Desktop Lights
Malayuang Kinokontrol na RGB Desktop Lights
Malayuang Kinokontrol na RGB Desktop Lights
Malayuang Kinokontrol na RGB Desktop Lights

Ipinapakita ng proyektong ito ang paggamit ng firebase bilang isang server para sa pagkontrol at pagmamanipula ng mga humantong ilaw sa likuran ng aking mesa

Mga gamit

  • ESP8266.
  • Led Strips WS2812B.
  • Ang supply ng kuryente na may hindi bababa sa 10W @ 5V na rating.
  • Isang app para sa pagkontrol sa mga LED Strips.

Hakbang 1: Kunin ang mga Strip sa Tamang Lugar

Kunin ang mga Strip sa Tamang Lugar
Kunin ang mga Strip sa Tamang Lugar
Kunin ang mga Strip sa Tamang Lugar
Kunin ang mga Strip sa Tamang Lugar
Kunin ang mga Strip sa Tamang Lugar
Kunin ang mga Strip sa Tamang Lugar

Ang unang bagay ay upang makuha ang mga LED strip sa lugar

Pinili ko ang aking bland old computer table para sa proyektong ito kaya gumamit ako ng ilang mga sticky tape at naayos ang aking WS2812b led strips kasama ang likuran nito at kinonekta ang mga linya ng VCC, GND, DATA na may ilang mga wires tulad ng ipinakita sa mga larawan

Hakbang 2: Gawin ang Maliit na Mga Koneksyon

Gawin ang Maliit na Mga Koneksyon
Gawin ang Maliit na Mga Koneksyon

Ikonekta ang suplay ng kuryente sa ESP8266 [Tandaan * - Gumamit ako ng isang board na ginamit ko para sa Home Automation ngunit kailangan lamang namin ang ESP8266]

Kumonekta bilang sumusunod:

  • D5 (Pin 14) -> Data Pin ng LED strip
  • Ikabit ang GND pin ng ESP8266, Power Supply, LED Strips.

Iyon ay para sa hardware, ngayon ay nagbibigay-daan sa tumalon sa coding board.

Hakbang 3: Mga Panuntunan sa Firebase at Database Schema

Mga Panuntunan sa Firebase at Scheme ng Database
Mga Panuntunan sa Firebase at Scheme ng Database
Mga Panuntunan sa Firebase at Scheme ng Database
Mga Panuntunan sa Firebase at Scheme ng Database

Ang Database Schema ay simple.

  • (gumagamit)

    • mga neopixel

      • 0

        {r: 12, g: 220, b: 120}

      • 1

        {r: 112, g: 150, b: 200}

    • token

      • pampubliko: {token}
      • pribado: {token}

Ang Schema na ito ay kumakatawan sa isang simpleng istruktura ng isang listahan ng mga halagang Led

Ang mga seksyon ng token ay kumakatawan sa isang simpleng sistema ng pagpapatotoo kung saan tumutugma ang publiko at pribadong seksyon kung napatunayan.

Hakbang 4: Code para sa Pag-setup

Code para sa Pag-setup
Code para sa Pag-setup
Code para sa Pag-setup
Code para sa Pag-setup
Code para sa Pag-setup
Code para sa Pag-setup

Ang code ay medyo naglalarawan sa sarili.

  1. Isama ang mga kinakailangang aklatan.
  2. I-setup ang token ng pagpapatotoo ng database
  3. Magbigay ng mga kredensyal ng WiFI
  4. I-set up ang firebase stream sa mga pagbabago sa neopixels at simulang makinig para sa mga pagbabago sa data na na-trigger ng panig ng client.
  5. Sa loop patuloy na suriin ang mga kaganapan at ipadala ang papasok na data sa mga function ng helper.
  • Kinukuha ng pagpapaandar ng helper ang data at sinuri ang wheater na na-update ang neopixel para sa isang:

    • Isang solong LED
    • Isang hanay ng mga LED na numero
    • Lahat ng mga LED.

Hakbang 5: Ang Autoroom App

Image
Image
Ang Autoroom App
Ang Autoroom App
Ang Autoroom App
Ang Autoroom App
Ang Autoroom App
Ang Autoroom App

Gumawa ako ng isang app na tinatawag na "Autoroom" sa Flutter gamit ang Dart Programming Language, kinokontrol ang mga LED Lights.

Narito ang mga halimbawa ng mga resulta doon.

  1. Una, mag-log in gamit ang mga kredensyal sa aking kaso na ito (xritzx)
  2. Piliin ang kulay at ang saklaw at i-update ang hit.
  3. O baka kulayan ang buong saklaw sa pamamagitan ng pagpili ng -1.

Inirerekumendang: