Turinys:

„Apple HomeKit WS2812B“LED valdiklis: 3 žingsniai (su paveikslėliais)
„Apple HomeKit WS2812B“LED valdiklis: 3 žingsniai (su paveikslėliais)

Video: „Apple HomeKit WS2812B“LED valdiklis: 3 žingsniai (su paveikslėliais)

Video: „Apple HomeKit WS2812B“LED valdiklis: 3 žingsniai (su paveikslėliais)
Video: How to make Apple HomeKit WS2812B Neopixel RGB LED Strip Controller 2024, Liepa
Anonim
Image
Image
„Apple HomeKit WS2812B“LED valdiklis
„Apple HomeKit WS2812B“LED valdiklis
„Apple HomeKit WS2812B“LED valdiklis
„Apple HomeKit WS2812B“LED valdiklis
„Apple HomeKit WS2812B“LED valdiklis
„Apple HomeKit WS2812B“LED valdiklis

Yra daug projektų, pagrįstų WS2812B šviesos diodų juostomis, tačiau dauguma jų naudoja namų tiltą ar bet kurį kitą sprendimą, daugiausia pagrįstą MQTT, kad galėtų bendrauti su „HomeKit“.

Kai kurie projektai taip pat naudoja efektus per „Apple HomeKit“, tačiau nė vienas iš jų nepalaiko atskiro „HomeKit“, nereikalaujant jokio tilto. Aš naudoju WS2812B šviesos diodus beveik 3-4 metus su „HomeKit“ir jie veikia labai gerai

Kadangi kodas yra labai sudėtingas ir aš naudoju daug pasirinktinių bibliotekų, sukūriau iš anksto sukompiliuotus programinės įrangos failus. Tiems, kurie nori sukurti vietinius „HomeKit“projektus, „esp-homekit“šaltinio kodą rasite čia.

Pagrindinė informacija:

  • Šiuo metu palaikomos tik WS2812B, WS2812B ECO ir WS2813 LED juostos!
  • Maksimalus šviesos diodų skaičius yra ribotas iki 500, kad būtų taupoma RAM
  • Reikalingas loginio lygio keitiklis (3,3V į 5V duomenų konvertavimui)
  • Taip pat reikalingas geros kokybės 5 V maitinimo šaltinis
  • Daugiau informacijos rasite mano „GitHub“
  • „Adafruit Überguide“taip pat gali padėti:-)

PCB dizainas:

Sukūriau paprastą PCB, skirtą „NeoPixel“šviesos diodams valdyti, kaip aprašyta „Adafruit“„NeoPixel Überguide“, naudojant naujausią SN74HCT125N loginio lygio keitiklio IC ir taip pat rekomenduojamą 1000uF kondensatorių:-) Šiuo metu naudoju šią PCB su 5V 10A maitinimo šaltiniu be jokių (temperatūros) problemų:-)

Taip pat turiu C tipo USB versiją trumpesnėms LED juostoms!

PCB galite užsisakyti čia ir čia

Daugiau informacijos apie PCB galite rasti čia

Funkcijos:

  • Keisti spalvą
  • Keisti ryškumą
  • Keisti spalvų temperatūrą (nereikia RGBW juostos)
  • WS2812FX šviesos efektai (beta !!!)
  • WS2812B LED skaičiaus nustatymas (pirmą kartą paleidžiant nuo 1 iki 500)
  • Maitinimo elgesio charakteristika (numatytoji spalva / paskutinį kartą naudojama paleidžiant per „Eve“programą)
  • Perėjimas (greitas / numatytasis / vidutinis / ramus naudojant „Eve“programą)
  • Užraktas nuo vaikų (įjungti/išjungti mygtuko paspaudimą naudojant „Eve“programą)
  • Atsisiunčiamas vartotojo vadovas (per „Eve“programą)
  • Maitinimo / atstatymo mygtukas

Prekės

Norėdami sukurti pasirinktinę PCB, jums reikės pigios lituoklio arba tokios ar kitos litavimo stoties. Taip pat būtų naudingas karšto oro litavimo pistoletas! Norėdami įkelti kodą, greičiausiai taip pat turite nusipirkti USB TTL adapterį.

Būtinos dalys:

  • „NodeMCU“arba „Wemos D1 Mini“
  • Loginio lygio keitiklio IC
  • WS2812B LED juostelė
  • JST 3 kontaktų jungtis
  • 5V 2-10A maitinimo šaltinis v1 arba 5V 2-10A maitinimo šaltinis v2
  • Trumpieji kabeliai

PCB dalys:

  • ESP12F/E
  • ESP-01S (1 MB blykstė)
  • SMD 0805 rezistoriai
  • SMD 0805 kondensatoriai
  • AMS1117-3.3
  • Taktilinis mygtukas
  • 2,54 mm antraštė
  • SN74HCT125N
  • SMD 10,5x10,5 1000uF kondensatorius
  • DC jungtis
  • 3 kontaktų varžto gnybtas
  • Saugiklių laikiklis
  • Lydusis saugiklis

1 žingsnis: Įdiekite programinę -aparatinę įrangą

Firmware diegimas
Firmware diegimas
Firmware diegimas
Firmware diegimas
Firmware diegimas
Firmware diegimas

Programinę -aparatinę įrangą galite atsisiųsti iš mano „GitHub“puslapio

„Windows“

„Windows“galite naudoti oficialų „Espressif“programinės įrangos atsisiuntimo įrankį

Blykstės adresų (0x2000), blykstės dydžio (1MB/8mbit, 4MB/32mbit) ir blykstės režimo (DIO/QIO) nustatymas yra labai svarbus žingsnis, tačiau šie nustatymai gali būti pakeisti atsižvelgiant į naudojamą modulį! Taip pat rekomenduoju ištrinti blykstę prieš įkeliant.bin failus!

Nustatymai:

  • Baud kursas 115200
  • Blykstės dydis 4 MB arba 32 MB (priklausomai nuo jūsų modulio)
  • Blykstės režimas QIO (arba DIO, priklausomai nuo jūsų modulio)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 ledstrip.bin
  • 40MHz

„MacOS“

„MacOS“galite naudoti šį mirksėjimo įrankį

Nustatymai:

  • Ištrinti blykstę - taip
  • Baud kursas 115200
  • Blykstės dydis 4 MB arba 32 MB (priklausomai nuo jūsų modulio)
  • Blykstės režimas QIO (arba DIO, priklausomai nuo jūsų modulio)
  • Failas: ledstrip.bin
  • 40MHz

„Flash“rankiniu būdu

Kad galėtume atnaujinti ESP modulį, „Mac“turime įdiegti esptool.py. Jei norite dirbti su esptool.py, jums reikės „Python 2.7“, „Python 3.4“arba naujesnės „Python“diegimo jūsų sistemoje. Rekomenduojame naudoti naujausią „Python“versiją, todėl eikite į „Python“svetainę ir įdiekite ją savo kompiuteryje.

Įdiegę „Python“, atidarykite terminalo langą ir įdiekite naujausią stabilų „esptool.py“leidimą naudodami „pip“:

pip įdiegti esptool

Pastaba: kai kuriuose „Python“įrenginiuose ši komanda gali neveikti ir gausite klaidą. Tokiu atveju pabandykite įdiegti esptool.py naudodami:

pip3 install esptool python -m pip install esptool pip2 install esptool

Įdiegę turėsite įdiegti esptool.py į numatytąjį vykdomųjų failų katalogą „Python“ir turėtumėte jį paleisti naudodami komandą esptool.py. Terminalo lange paleiskite šią komandą:

esptool.py

Jei kompiuteryje įdiegta esptool.py, galite lengvai atnaujinti ESP8266 plokštę naudodami programinę -aparatinę įrangą.

Iš pradžių turite atsisiųsti tris šiukšliadėžės failus: rboot.bin ir blank_config.bin ir naujausią versiją. Rboot.bin yra ESP8266 įkrovos įkėlimo programa ir blank_config.bin tik tuščiame konfigūracijos faile, o ledstrip.bin yra programinė įranga. Dabar prijunkite savo įrenginį prie FTDI adapterio blykstės režimu.

Veidrodinės nuorodos:

rboot.binblank_config.binledstrip.bin

Įrenginio perkėlimas į blykstės režimą

Norėdami įjungti ESP8266 programinės įrangos mirksėjimą, GPIO0 kaištis turi būti nuspaustas žemai, kai įjungiamas įrenginys. Mano pasirinktinėje PCB yra mygtukas, nodeMCU taip pat turi blykstės mygtuką, o „Wemos“tai daro automatiškai naudodamas USB. Ir atvirkščiai, normaliam įkrovimui GPIO0 turi būti ištrauktas aukštai arba plaukiojantis. Pradėkite blykstės režimu

Eikite į savo sukurtą katalogą, į kurį įdėjote anksčiau atsisiųstus failus rboot.bin blank_config.bin (pvz., Atsisiuntimai)

Atidarykite terminalo programą. Savo doke spustelėkite „Finder“piktogramą. Spustelėkite Eiti. Spustelėkite Utilities. Dukart spustelėkite Terminalas. Pakeiskite atsisiuntimų katalogą.

Norėdami prisijungti prie ESP8266, jums reikės USB TTL adapterio. Jei naudojate tik „Wemos D1 Mini“, reikalingas „microUSB“kabelis, „Wemos“turi įmontuotą TTL adapterį.

CD atsisiuntimai

Pastaba: jei naudojate kitą biblioteką trims.bin failams saugoti, eikite į tą biblioteką naudodami komandą „cd“:

Norėdami paleisti įrenginį, naudokite esptool.py. Pirmiausia turime ištrinti blykstę:

esptool.py -p / dev / erase_flash

Paprastai jūsų ESPPort bus kažkas panašaus į /dev /cu.usbserial-`xxxxxx`. Tada vėl nustatykite įrenginį blykstės režimu ir paleiskite naują programinę-aparatinę įrangą:

esptool.py -p /dev/cu.wchusbserial1420 --baud 115200 write_flash -fs 32m -fm dio -ff 40m 0x0 rboot.bin 0x1000 blank_config.bin 0x2000 ledstrip.bin

2 veiksmas: „Wi-Fi“ir „HomeKit“sąranka

„Wi-Fi“ir „HomeKit“sąranka
„Wi-Fi“ir „HomeKit“sąranka
„Wi-Fi“ir „HomeKit“sąranka
„Wi-Fi“ir „HomeKit“sąranka

„Wi-Fi“sąranka

Prieš pridėdami priedą prie „HomeKit“, turite sukonfigūruoti „Wi -Fi“tinklą. Norėdami konfigūruoti „Wi-Fi“nustatymus, įrenginys sukuria savo „Wi-Fi“AP režimu. Norėdami nustatyti „Wi-Fi“tinklą, turite prisijungti prie jo. Tiesiog paimkite „iOS“įrenginį, eikite į „Nustatymai“-> „Wi-Fi“ir suraskite SSID, pavadintą „HomeKid“, po kurio seka modulio MAC adresas ir prisijunkite prie jo. Saugos sumetimais AP yra apsaugota slaptažodžiu! Numatytasis AP slaptažodis: 12345678

Palaukite kelias sekundes, kol pasirodys žiniatinklis, kuriame bus rodomi visi įrenginio rasti „Wi-Fi“tinklai. Pasirinkite savo ir įveskite slaptažodį! Po to savo LED juostelėje galite pridėti tikslų šviesos diodų skaičių! Įveskite skaičių nuo 1 iki 500! Tada spustelėkite mygtuką Prisijungti! Modulis bandys prijungti pasirinktą „Wi-Fi“tinklą, tai užtruks porą sekundžių.

Pastaba: jei nurodytas slaptažodis neteisingas, galite iš naujo nustatyti „Wi-Fi“nustatymus, laikydami nuspaudę mygtuką „Atstatyti“10 sekundžių

„HomeKit“sąranka

„IOS“įrenginyje atidarykite „Home“programą ir atlikite įprastus veiksmus, kad pridėtumėte naują priedą. Susiejimo sąranka trunka apie 30 sekundžių.

Numatytasis „HomeKit“kodas yra 021-82-017

Taip pat galite nuskaityti šį „HomeKit“QR kodą:

Pastaba: Jei susiejimas nepavyksta, galite atjungti įrenginio maitinimą, pakartotinai maitinti ir vėl pradėti „HomeKit“sąranką („Wifi“nustatymai lieka sukonfigūruoti). Po sėkmingo suporavimo šviesos diodų juostelė mirksės balta spalva 3 kartus!

Dažnos problemos:

  • Kartais nepavyksta pridėti kelių priedų naudojant QR kodą, jei „HomeKit“praneša „Priedas jau pridėtas“, tiesiog pridėkite susiejimo kodą rankiniu būdu, o ne nuskaitykite QR kodą!
  • Jei kažkas negerai, galite pamatyti žurnalo failus naudodami „Arduino“serijinį monitorių ir laisvai atidaryti problemą „GitHub“

3 veiksmas: pasirinktiniai nustatymai

Pasirinktiniai nustatymai
Pasirinktiniai nustatymai
Pasirinktiniai nustatymai
Pasirinktiniai nustatymai

Deja, programa „Home“nepalaiko pasirinktinių/trečiųjų šalių savybių, todėl jums reikės „Elgato EVE“programos, kad pakeistumėte šiuos nustatymus ir galėtumėte naudoti WS2812B efektus. Be to, priedas veikia kaip netikras „Eve Light Strip“priedas, kai jį pridedate per „Eve“programą?

Perėjimai ir galios elgesys

Originali „Eve Light“juostelė palaiko šias dvi savybes. Naudodami perėjimus galite pakeisti LED juostos greitį naudodami WS2812FX efektus! Nustačius greitą, išjungimas/išblukimas bus išjungtas ir jis greitai įsijungs!

Naudodami „Power Behavior“galite pakeisti numatytąją spalvą, kai LED juostelė įsijungia! Pagal numatytuosius nustatymus ji nustatyta kaip paskutinė naudojama spalva, taigi, kai išjungsite šviesos diodų juostą, ji visada prisimins paskutinę jūsų naudojamą spalvą! Nustačius numatytąją baltą spalvą, kiekvieną kartą išjungus šviesos diodų juostelę, spalva grįš į baltą!

Iš naujo nustatyti

Kodas turi atstatymo funkciją, jei kažkas negerai. Palaukite apie 5 sekundes, kol įrenginys bus visiškai paleistas, tada ilgai paspauskite mygtuką bent 10 sekundžių!

Visi sukonfigūruoti nustatymai buvo pašalinti ir įrenginys paleidžiamas iš naujo. Taip pašalinami „HomeKit“ir „Wi-Fi“nustatymai, o kitą kartą jūsų įrenginys pereis į prieigos taško režimą, kad iš naujo sukonfigūruotų „Wi-Fi“.

Pastaba: vieną kartą paspaudus tą patį mygtuką, LED juostelė įjungiama arba išjungiama

Rekomenduojamas: