Isi kandungan:

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

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

Video: Pengawal LED Apple HomeKit WS2812B: 3 Langkah (dengan Gambar)
Video: Умная лампа HomeKit - Xiaomi Mi Smart LED Desk Lamp 1S 2024, November
Anonim
Image
Image
Pengawal LED Apple HomeKit WS2812B
Pengawal LED Apple HomeKit WS2812B
Pengawal LED Apple HomeKit WS2812B
Pengawal LED Apple HomeKit WS2812B
Pengawal LED Apple HomeKit WS2812B
Pengawal LED Apple HomeKit WS2812B

Terdapat banyak projek berdasarkan jalur LED WS2812B di luar sana, tetapi kebanyakannya menggunakan jambatan rumah atau penyelesaian lain - kebanyakan berdasarkan MQTT - untuk berkomunikasi dengan HomeKit.

Beberapa projek menggunakan kesan melalui Apple HomeKit juga, tetapi tidak ada yang menyokong HomeKit yang berdiri sendiri tanpa memerlukan jambatan yang saya gunakan LED WS2812B hampir 3-4 tahun sekarang dengan HomeKit dan mereka berfungsi dengan baik

Oleh kerana kodnya sangat rumit dan saya telah menggunakan banyak perpustakaan tersuai, saya telah membuat fail firmware yang telah disusun sebelumnya. Bagi mereka yang berminat untuk membuat projek HomeKit asli, kod sumber untuk esp-homekit boleh didapati di sini.

Maklumat Asas:

  • Pada masa ini hanya jalur LED WS2812B, WS2812B ECO dan WS2813 yang disokong!
  • Bilangan maksimum LED terhad kepada 500 untuk menjimatkan RAM
  • Diperlukan penukar Tahap Logik (untuk penukaran data 3.3V hingga 5V)
  • Bekalan kuasa 5V berkualiti juga diperlukan
  • Lebih banyak maklumat boleh didapati di GitHub saya
  • Adafruit Überguide juga dapat membantu:-)

Reka Bentuk PCB:

Saya telah merancang PCB mudah untuk menggerakkan LED NeoPixel dengan cara yang betul yang dijelaskan dalam NeoPixel Überguide Adafruit menggunakan SN74HCT125N Logic Level Converter IC terbaru dan kapasitor 1000uF yang juga disyorkan:-) Saya kini menggunakan PCB ini dengan bekalan kuasa 5V 10A tanpa masalah (suhu):-)

Saya juga mempunyai versi USB Type-C untuk jalur LED yang lebih pendek!

Anda boleh memesan PCB dari sini dan di sini

Anda boleh mendapatkan lebih banyak maklumat mengenai PCB di sini

Ciri-ciri:

  • Tukar Warna
  • Tukar Kecerahan
  • Tukar Suhu Warna (tidak memerlukan jalur RGBW)
  • Kesan Cahaya WS2812FX (beta !!!)
  • Menyiapkan kiraan LED WS2812B (pada but pertama dari 1 hingga 500)
  • Ciri Kelakuan Kekuatan (Warna Lalai / Terakhir Digunakan pada permulaan melalui aplikasi Eve)
  • Peralihan (Cepat / Lalai / Sederhana / Tenang melalui aplikasi Eve)
  • Kunci Kanak-kanak (butang Aktifkan / Lumpuhkan tekan melalui aplikasi Eve)
  • Manual Pengguna yang boleh dimuat turun (melalui aplikasi Eve)
  • Butang Kuasa / Tetapkan Semula

Bekalan

Untuk membuat PCB tersuai, anda memerlukan Soldering Iron yang murah, atau Soldering Station seperti ini atau yang ini. Pistol Pemateri Udara Panas juga berguna! Untuk memuat naik kod, anda mungkin juga perlu membeli penyesuai USB TTL.

Bahagian yang diperlukan:

  • NodeMCU atau Wemos D1 Mini
  • IC penukar tahap logik
  • Jalur LED WS2812B
  • Penyambung wanita JST 3 pin
  • Bekalan kuasa 5V 2-10A v1 atau bekalan kuasa 5V 2-10A v2
  • Kabel pelompat

Bahagian PCB:

  • ESP12F / E
  • ESP-01S (denyar 1MB)
  • Perintang SMD 0805
  • Kapasitor SMD 0805
  • AMS1117-3.3
  • Butang Taktil
  • Pengepala 2.54mm
  • SN74HCT125N
  • Kapasitor SMD 10.5x10.5 1000uF
  • Penyambung DC
  • Terminal skru 3 pin
  • Pemegang fius
  • Fius

Langkah 1: Memasang Firmware

Memasang Firmware
Memasang Firmware
Memasang Firmware
Memasang Firmware
Memasang Firmware
Memasang Firmware

Anda boleh memuat turun firmware dari halaman GitHub saya

Tingkap

Untuk Windows anda boleh menggunakan Alat Muat turun Firmware rasmi oleh Espressif

Menetapkan alamat denyar (0x2000), ukuran denyar (1MB / 8mbit, 4MB / 32mbit) dan mod denyar (DIO / QIO) adalah langkah yang sangat penting, tetapi tetapan ini mungkin berubah berdasarkan modul yang anda gunakan! Saya juga mengesyorkan untuk memadamkan denyar sebelum memuat naik fail.bin!

Tetapan:

  • Kadar baud 115200
  • Saiz kilat 4MB atau 32mbit (bergantung pada modul anda)
  • Mod Kilat QIO (atau DIO, bergantung pada modul anda)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 ledstrip.bin
  • 40MHz

MacOS

Untuk MacOS anda boleh menggunakan alat flasher ini

Tetapan:

  • Padamkan denyar - ya
  • Kadar baud 115200
  • Saiz kilat 4MB atau 32mbit (bergantung pada modul anda)
  • Mod Kilat QIO (atau DIO, bergantung pada modul anda)
  • Fail: ledstrip.bin
  • 40MHz

Flash secara manual

Kita mesti memasang esptool.py pada Mac kita agar dapat memancarkan modul ESP kita. Untuk bekerja dengan esptool.py, anda memerlukan Python 2.7, Python 3.4 atau pemasangan Python yang lebih baru pada sistem anda. Kami mengesyorkan menggunakan versi Python terkini, jadi pergi ke laman web Python dan pasangkannya di komputer anda.

Dengan Python dipasang, buka tetingkap Terminal dan pasang pelepasan esptool.py stabil terkini dengan pip:

pip pasang esptool

Catatan: dengan beberapa pemasangan Python, arahan itu mungkin tidak berfungsi dan anda akan menerima ralat. Sekiranya demikian, cuba pasang esptool.py dengan:

pip3 pasang esptool python -m pip pasang esptool pip2 pasang esptool

Selepas memasang, anda akan memasang esptool.py ke dalam direktori Python yang boleh dilaksanakan dan anda boleh menjalankannya dengan perintah esptool.py. Di tetingkap Terminal anda, jalankan arahan berikut:

esptool.py

Dengan esptool.py dipasang pada komputer anda, anda boleh mem-flash papan ESP8266 anda dengan firmware.

Pada mulanya anda perlu memuat turun tiga fail bin: rboot.bin dan blank_config.bin dan keluaran terbaru. Rboot.bin mengandungi bootloader untuk ESP8266 dan blank_config.bin hanya dalam fail konfigurasi kosong dan ledstrip.bin mengandungi firmware. Sekarang sambungkan peranti anda ke penyesuai FTDI anda dalam mod kilat.

Pautan cermin:

rboot.binblank_config.binledstrip.bin

Meletakkan Peranti Ke Mod Kilat

Untuk mengaktifkan firmware ESP8266, pin GPIO0 yang berkelip mesti ditarik rendah semasa menghidupkan peranti. Dengan PCB khusus saya ada butang, nodeMCU juga mempunyai butang flash dan Wemos melakukannya secara automatik menggunakan USB. Sebaliknya, untuk but biasa, GPIO0 mesti ditarik tinggi atau terapung. Mulakan dalam FLASH MODE

Pergi ke direktori yang anda buat di mana anda meletakkan fail rboot.bin blank_config.bin yang dimuat turun sebelumnya (mis. Muat turun)

Buka aplikasi Terminal. Klik ikon Finder di dok anda. Klik Pergi. Klik Utiliti. Klik dua kali Terminal. Tukar ke direktori muat turun.

Anda memerlukan penyesuai TTL USB untuk menyambung ke ESP8266. Sekiranya anda menggunakan Wemos D1 Mini yang diperlukan hanyalah kabel microUSB, Wemos mempunyai penyesuai TTL terbina dalam.

muat turun cd

Catatan: Sekiranya Anda menggunakan perpustakaan lain untuk menyimpan ketiga-tiga fail.bin, arahkan ke perpustakaan itu menggunakan perintah `cd`:

Gunakan esptool.py untuk memancarkan peranti anda. Mula-mula kita perlu memadamkan denyar:

esptool.py -p / dev / erase_flash

Biasanya, ESPPort anda akan menjadi seperti / dev / cu.usbserial-`xxxxxx`. Kemudian, tetapkan peranti anda dalam mod kilat sekali lagi, dan nyalakan 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: Penyediaan Wi-fi dan HomeKit

Wi-fi dan Persediaan HomeKit
Wi-fi dan Persediaan HomeKit
Wi-fi dan Persediaan HomeKit
Wi-fi dan Persediaan HomeKit

Persediaan Wi-Fi

Anda mesti mengkonfigurasi rangkaian wifi sebelum menambahkan aksesori ke HomeKit. Untuk mengkonfigurasi tetapan Wi-Fi, peranti menghasilkan Wi-Fi sendiri dalam mod AP. Anda mesti menyambungnya untuk menyiapkan rangkaian Wi-Fi anda. Cukup bawa peranti iOS anda, pergi ke Setting -> Wi-Fi, dan cari SSID yang dipanggil HomeKid- diikuti dengan alamat MAC modul dan sambungkan ke dalamnya. Atas sebab keselamatan, AP dilindungi kata laluan! Kata laluan AP lalai: 12345678

Tunggu beberapa saat sehingga web muncul yang menunjukkan kepada anda semua rangkaian Wi-Fi yang dijumpai oleh peranti. Pilih nama anda, dan masukkan kata laluan! Selepas itu anda boleh menambahkan jumlah LED yang tepat di jalur LED anda! Masukkan nombor dari 1 hingga 500! Kemudian klik butang Join! Modul akan cuba menghubungkan rangkaian Wi-Fi yang dipilih, ini akan memakan masa beberapa saat.

Catatan: Sekiranya kata laluan yang diberikan salah, anda boleh Tetapkan semula tetapan Wi-fi dengan menahan butang Reset selama 10 saat

Persediaan HomeKit

Di peranti iOS anda, buka Aplikasi Rumah dan ikuti langkah biasa untuk menambahkan aksesori baru. Penyediaan pasangan memerlukan masa kira-kira 30 saat.

Kod HomeKit lalai adalah 021-82-017

Anda juga boleh mengimbas kod QR HomeKit ini:

Catatan: Jika gagal memasangkan, anda dapat mematikan kuasa peranti anda, mematikannya, dan memulakan semula penyediaan HomeKit (tetapan Wifi tetap dikonfigurasi). Setelah berjaya memasangkan jalur LED akan berkelip putih sebanyak 3 kali!

Masalah biasa:

  • Kadang-kadang menambahkan beberapa aksesori menggunakan kod QR gagal, jika HomeKit melaporkan "Aksesori sudah ditambahkan" cukup tambahkan kod pasangan secara manual dan bukannya mengimbas kod QR!
  • Sekiranya berlaku sesuatu, anda dapat melihat fail log menggunakan monitor bersiri Arduino dan bebas untuk membuka masalah di GitHub

Langkah 3: Tetapan Tersuai

Tetapan Tersuai
Tetapan Tersuai
Tetapan Tersuai
Tetapan Tersuai

Sayangnya aplikasi Home tidak menyokong ciri khas / pihak ketiga jadi anda memerlukan aplikasi Elgato EVE untuk mengubah tetapan ini dan menggunakan kesan WS2812B. Juga aksesori itu bertindak seperti aksesori Jalur Cahaya Fake Eve apabila anda menambahkannya melalui aplikasi Eve?

Peralihan dan Kelakuan Kuasa

Jalur Eve Light yang asli menyokong dua ciri ini. Dengan Peralihan anda boleh mengubah kelajuan jalur LED semasa menggunakan Kesan WS2812FX! Menetapkannya ke Pantas akan mematikan pudar masuk / keluar dan ia akan cepat menyala!

Dengan Power Behavior anda boleh menukar warna lalai apabila jalur LED menyala! Secara lalai ia ditetapkan ke Warna Terakhir Digunakan, jadi apabila anda mematikan jalur LED, ia akan selalu mengingat warna terakhir yang anda gunakan! Apabila diset ke Putih Default, setiap kali anda mematikan jalur LED, warna akan kembali ke Putih!

Tetapkan semula

Kod ini mempunyai fungsi Reset sekiranya berlaku sesuatu. Tunggu sekitar 5 saat untuk membolehkan peranti boot sepenuhnya, dan kemudian tekan lama butang sekurang-kurangnya 10 saat!

Semua tetapan yang dikonfigurasi telah dikeluarkan dan peranti dimulakan semula. Ini akan menghapus tetapan HomeKit dan Wi-Fi, dan perangkat Anda akan masuk ke mod Titik Akses lain kali untuk mengkonfigurasi ulang Wi-Fi.

Catatan: Menekan satu butang yang sama akan menukar jalur LED ON atau OFF

Disyorkan: