Daftar Isi:

Apple HomeKit WS2812B LED Controller: 3 Langkah (dengan Gambar)
Apple HomeKit WS2812B LED Controller: 3 Langkah (dengan Gambar)

Video: Apple HomeKit WS2812B LED Controller: 3 Langkah (dengan Gambar)

Video: Apple HomeKit WS2812B LED Controller: 3 Langkah (dengan Gambar)
Video: ESP IDF Homekit RGB LED Control Over iPhone 2024, November
Anonim
Image
Image
Pengontrol LED Apple HomeKit WS2812B
Pengontrol LED Apple HomeKit WS2812B
Pengontrol LED Apple HomeKit WS2812B
Pengontrol LED Apple HomeKit WS2812B
Pengontrol LED Apple HomeKit WS2812B
Pengontrol LED Apple HomeKit WS2812B

Ada banyak proyek berdasarkan strip LED WS2812B di luar sana, tetapi sebagian besar menggunakan homebridge atau solusi lainnya - sebagian besar berdasarkan MQTT - untuk berkomunikasi dengan HomeKit.

Beberapa proyek menggunakan efek melalui Apple HomeKit juga, tetapi tidak satupun dari mereka mendukung HomeKit mandiri tanpa perlu jembatan Saya menggunakan WS2812B LED hampir 3-4 tahun sekarang dengan HomeKit dan mereka bekerja dengan sangat baik

Karena kodenya sangat kompleks dan saya telah menggunakan banyak perpustakaan khusus, saya telah membuat file firmware yang telah dikompilasi sebelumnya. Bagi mereka yang tertarik untuk membuat proyek HomeKit asli, kode sumber untuk esp-homekit tersedia di sini.

Informasi Dasar:

  • Saat ini hanya strip LED WS2812B, WS2812B ECO, dan WS2813 yang didukung!
  • Jumlah maksimum LED dibatasi hingga 500 untuk menghemat RAM
  • Diperlukan konverter Level Logika (untuk konversi data 3.3V ke 5V)
  • Catu daya 5V berkualitas baik juga diperlukan
  • Informasi lebih lanjut dapat ditemukan di GitHub saya
  • Adafruit berguide juga bisa membantu:-)

Desain PCB:

Saya telah merancang PCB sederhana untuk menggerakkan LED NeoPixel dengan cara yang benar yang dijelaskan dalam NeoPixel berguide Adafruit menggunakan IC Konverter Level Logika SN74HCT125N terbaru dan juga kapasitor 1000uF yang direkomendasikan:-) Saat ini saya menggunakan PCB ini dengan catu daya 5V 10A tanpa masalah (suhu):-)

Saya juga memiliki versi USB Type-C untuk strip LED yang lebih pendek!

Anda dapat memesan PCB dari sini dan di sini

Anda dapat menemukan informasi lebih lanjut tentang PCB di sini

Fitur:

  • Ganti warna
  • Ubah Kecerahan
  • Ubah Suhu Warna (tidak diperlukan strip RGBW)
  • Efek Cahaya WS2812FX (beta!!!)
  • Menyiapkan jumlah LED WS2812B (saat boot pertama dari 1 hingga 500)
  • Karakteristik Perilaku Daya (Warna Default / Terakhir Digunakan saat startup melalui aplikasi Eve)
  • Transisi (Cepat / Default / Sedang / Tenang melalui aplikasi Eve)
  • Child Lock (Aktifkan/Nonaktifkan tombol tekan melalui aplikasi Eve)
  • Panduan Pengguna yang Dapat Diunduh (melalui aplikasi Eve)
  • Tombol Daya / Atur Ulang

Perlengkapan

Untuk membuat PCB kustom Anda memerlukan Besi Solder yang murah, atau Stasiun Solder seperti ini atau ini. Juga Pistol Solder Udara Panas juga akan sangat membantu! Untuk mengunggah kode, Anda mungkin harus membeli adaptor USB TTL juga.

Bagian yang Diperlukan:

  • NodeMCU atau Wemos D1 Mini
  • IC konverter level logika
  • Strip LED WS2812B
  • Konektor JST 3 pin perempuan
  • Catu daya 5V 2-10A v1 atau catu daya 5V 2-10A v2
  • Kabel jumper

Bagian PCB:

  • ESP12F/E
  • ESP-01S (1MB flash)
  • SMD 0805 resistor
  • SMD 0805 kapasitor
  • AMS1117-3.3
  • Tombol Taktil
  • 2.54mm header
  • SN74HCT125N
  • SMD 10.5x10.5 1000uF kapasitor
  • konektor DC
  • 3 Pin sekrup terminal
  • Pemegang sekering
  • Sekering

Langkah 1: Menginstal Firmware

Menginstal Firmware
Menginstal Firmware
Menginstal Firmware
Menginstal Firmware
Menginstal Firmware
Menginstal Firmware

Anda dapat mengunduh firmware dari halaman GitHub saya

jendela

Untuk Windows Anda bisa menggunakan Firmware Download Tool resmi dari Espressif

Mengatur alamat flash (0x2000), ukuran flash (1MB/8mbit, 4MB/32mbit) dan mode flash (DIO/QIO) adalah langkah yang sangat penting, tetapi pengaturan ini dapat berubah berdasarkan modul yang Anda gunakan! Saya juga merekomendasikan untuk menghapus flash sebelum mengunggah file.bin!

Pengaturan:

  • Baud rate 115200
  • Ukuran flash 4MB atau 32mbit (tergantung modul Anda)
  • Mode Flash QIO (atau DIO, tergantung pada modul Anda)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 ledstrip.bin
  • 40MHz

MacOS

Untuk MacOS Anda dapat menggunakan alat flasher ini

Pengaturan:

  • Hapus flash - ya
  • Baud rate 115200
  • Ukuran flash 4MB atau 32mbit (tergantung modul Anda)
  • Flash Mode QIO (atau DIO, tergantung pada modul Anda)
  • File: ledstrip.bin
  • 40MHz

Flash secara manual

Kami harus menginstal esptool.py di Mac kami agar dapat mem-flash modul ESP kami. Untuk bekerja dengan esptool.py, Anda memerlukan Python 2.7, Python 3.4 atau instalasi Python yang lebih baru di sistem Anda. Kami merekomendasikan menggunakan versi Python terbaru, jadi buka situs web Python dan instal di komputer Anda.

Dengan Python terinstal, buka jendela Terminal dan instal rilis esptool.py stabil terbaru dengan pip:

pip install esptool

Catatan: dengan beberapa instalasi Python, perintah itu mungkin tidak berfungsi dan Anda akan menerima kesalahan. Jika demikian, coba instal esptool.py dengan:

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

Setelah menginstal, Anda akan menginstal esptool.py ke direktori default Python yang dapat dieksekusi dan Anda harus dapat menjalankannya dengan perintah esptool.py. Di jendela Terminal Anda, jalankan perintah berikut:

esptool.py

Dengan esptool.py terinstal di komputer Anda, Anda dapat dengan mudah mem-flash board ESP8266 Anda dengan firmware.

Pada awalnya Anda perlu mengunduh tiga file bin: rboot.bin dan blank_config.bin dan rilis terbaru. Rboot.bin berisi bootloader untuk ESP8266 dan blank_config.bin hanya dalam file konfigurasi kosong dan ledstrip.bin berisi firmware. Sekarang hubungkan perangkat Anda ke adaptor FTDI Anda dalam mode flash.

Tautan cermin:

rboot.binblank_config.binledstrip.bin

Menempatkan Perangkat Ke Mode Flash

Untuk mengaktifkan firmware ESP8266, pin GPIO0 harus ditarik rendah saat menyalakan perangkat. Dengan PCB kustom saya ada tombol, nodeMCU juga memiliki tombol flash dan Wemos melakukannya secara otomatis menggunakan USB. Sebaliknya, untuk boot normal, GPIO0 harus ditarik tinggi atau mengambang. Mulai dalam MODE FLASH

Buka direktori yang Anda buat di mana Anda meletakkan file rboot.bin blank_config.bin yang diunduh sebelumnya (mis. Unduhan)

Buka aplikasi Terminal. Klik ikon Finder di dok Anda. Klik Pergi. Klik Utilitas. Klik dua kali Terminal. Ubah ke direktori unduhan.

Anda memerlukan adaptor USB TTL untuk menghubungkan ke ESP8266. Jika Anda menggunakan Wemos D1 Mini hanya membutuhkan kabel microUSB, Wemos memiliki adaptor TTL built-in.

unduhan cd

Catatan: Jika Anda menggunakan perpustakaan lain untuk menyimpan tiga file.bin, navigasikan ke perpustakaan itu menggunakan perintah `cd`:

Gunakan esptool.py untuk mem-flash perangkat Anda. Pertama kita perlu menghapus flash:

esptool.py -p /dev/ erase_flash

Biasanya, ESPPort Anda akan menjadi seperti /dev/cu.usbserial-`xxxxxx`. Kemudian, atur perangkat Anda dalam mode flash lagi, dan flash firmware baru:

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

Langkah 2: Pengaturan Wi-fi dan HomeKit

Wi-fi dan Pengaturan HomeKit
Wi-fi dan Pengaturan HomeKit
Wi-fi dan Pengaturan HomeKit
Wi-fi dan Pengaturan HomeKit

Pengaturan Wi-Fi

Anda harus mengonfigurasi jaringan wifi sebelum menambahkan aksesori ke HomeKit. Untuk mengonfigurasi pengaturan Wi-Fi, perangkat menghasilkan Wi-Fi sendiri dalam mode AP. Anda harus menghubungkannya untuk mengatur jaringan Wi-Fi Anda. Cukup ambil perangkat iOS Anda, buka Pengaturan -> Wi-Fi, dan cari SSID bernama HomeKid- diikuti dengan alamat MAC modul dan sambungkan ke sana. Untuk alasan keamanan, AP dilindungi kata sandi! Kata sandi AP default: 12345678

Tunggu beberapa detik hingga muncul web yang menunjukkan kepada Anda semua jaringan Wi-Fi yang ditemukan perangkat. Pilih milik Anda, dan masukkan kata sandi! Setelah itu Anda dapat menambahkan jumlah LED yang tepat di strip LED Anda! Masukkan nomor dari 1 hingga 500! Kemudian klik tombol Gabung! Modul akan mencoba menghubungkan jaringan Wi-Fi yang dipilih, ini akan memakan waktu beberapa detik.

Catatan: Jika kata sandi yang diberikan salah, Anda dapat Mengatur Ulang pengaturan Wi-fi dengan menahan tombol Atur Ulang selama 10 detik

Pengaturan HomeKit

Di perangkat iOS Anda, buka Aplikasi Rumah dan ikuti langkah-langkah normal untuk menambahkan aksesori baru. Penyiapan pemasangan membutuhkan waktu sekitar 30 detik.

Kode HomeKit default adalah 021-82-017

Anda juga dapat memindai kode QR HomeKit ini:

Catatan: Jika pemasangan gagal, Anda dapat mencabut daya perangkat, menyalakannya kembali, dan memulai pengaturan HomeKit lagi (pengaturan Wifi tetap dikonfigurasi). Setelah berhasil memasangkan strip LED akan berkedip putih 3 kali!

Masalah umum:

  • Terkadang menambahkan beberapa aksesori menggunakan kode QR gagal, jika HomeKit melaporkan "Aksesori sudah ditambahkan" cukup tambahkan kode penyandingan secara manual alih-alih memindai kode QR!
  • Jika terjadi kesalahan, Anda dapat melihat file log menggunakan monitor serial Arduino dan bebas membuka masalah di GitHub

Langkah 3: Pengaturan Kustom

Pengaturan Kustom
Pengaturan Kustom
Pengaturan Kustom
Pengaturan Kustom

Sayangnya aplikasi Rumah tidak mendukung karakteristik pihak ketiga khusus sehingga Anda memerlukan aplikasi Elgato EVE untuk mengubah pengaturan ini dan menggunakan efek WS2812B. Juga aksesori tersebut bertindak seperti aksesori Fake Eve Light Strip saat Anda menambahkannya melalui aplikasi Eve?

Transisi dan Perilaku Kekuatan

Strip Eve Light asli mendukung dua karakteristik ini. Dengan Transitions, Anda dapat mengubah kecepatan strip LED saat menggunakan WS2812FX Effects! Menyetelnya ke Cepat akan menonaktifkan fading in/out dan akan menyala dengan cepat!

Dengan Perilaku Daya Anda dapat mengubah warna default saat strip LED menyala! Secara default diatur ke Warna Terakhir Digunakan, jadi ketika Anda mematikan strip LED itu akan selalu mengingat warna terakhir yang Anda gunakan! Ketika diatur ke Default White, setiap kali Anda mematikan strip LED, warna akan kembali ke Putih!

Mengatur ulang

Kode memiliki fungsi Reset jika terjadi kesalahan. Tunggu sekitar 5 detik untuk memungkinkan perangkat melakukan booting sepenuhnya, lalu tekan lama tombol setidaknya selama 10 detik!

Semua pengaturan yang dikonfigurasi telah dihapus dan perangkat dimulai ulang. Tindakan ini akan menghapus pengaturan HomeKit dan Wi-Fi, dan perangkat Anda akan beralih ke mode Titik Akses lain kali untuk mengonfigurasi ulang Wi-Fi.

Catatan: Menekan satu tombol yang sama akan mengaktifkan atau menonaktifkan strip LED

Direkomendasikan: