2019年3月20日 星期三

ESP32 Homekit 開關 (SWITCH)

之前使用ESP8266製作Homekit裝置時,都須藉由RPi3當中繼,才能透過手機與Homekit裝置做控制
現在在ESP32上,裝置已經可以獨立運作,不再需要RPi3了

感謝網路上的許多神人們 younghyunjo , maximkulkin

開發ESP32的程式可以使用Arduio IDE的環境,官方網站有提供教學,或是到MAKERPRO也可以喔,不過本篇重點不在Arduino IDE的環境下做開發,就不再多做說明了

開發Homekit的程式,目前似乎都是在ESP-IDF或是ESP-OPEN-RTOS之下所開發的,所以就需要安裝相關的環境做開發,但是還是可以安裝Arduino的元件(Component),就可以混合使用Arduino的語法做開發囉

開始動手

Step 1 照著官方的步驟,安裝ESP-IDF的開發環境吧

Step 2 從Y大的GitHub下載 esp32-Homekit
$ git clone --recursive https://github.com/younghyunjo/esp32-homekit.git

Step 3 修改 examples/switch/main/main.c 裡面WiFi的SSID與WiFi密碼
#define EXAMPLE_ESP_WIFI_SSID "myssid"
#define EXAMPLE_ESP_WIFI_PASS "12345678"  

Step 4 編譯跟燒錄

以開關的範例示範
$ cd examples/switch
$ make
$ make flash

Step 5 配對
可以開啟支援Homekit的iPhone或iPad進行配對了,配對過程中會需要密碼,程式中預設的密碼為053-58-197,可以尋找程式中 hap_accessory_register 函數,自行修改配對密碼

選擇「沒有代碼或無法掃描」選項

可以看到「SWITCH」配件出現,點選它



我們是秉持DIY精神的,所以並沒有通過認證,直接強制加入就可以啦

輸入程式中的預設密碼,053-58-197


開始搜尋配件


找到後,在我們的「家庭」中就可已看到「SWICTH」了,我們可以將它重新命名,如「電燈開關」






直接在「SWITCH」上點擊,燈就會亮起啦 (ESP32 板子上的LED也會跟著亮起)


4 則留言:

DAVID 提到...

ESP32有四通道RELAY嗎?

Matt 提到...

David您好,可以使用四個GPIO分別控制四個Relay或是用串列轉並列的IC做控制也可以的

SSD Expert 提到...

請問我現在在Arduino import library之後編譯一直遇到 No such file or directory的問題, 不知道這麼問題你有遇過嗎?

Matt 提到...

SSD Expert您好,請問您是在ESP-IDF(Espressif IoT Development Framework)的環境下 import Arduino 的library還是純Arduino的環境下開發呢?
我的開發環境是前者,在ESP-IDF的環境下開發,並import Arduino的Library進行開發,並沒遇到您所說的問題喔

Free ERP on the Raspberry Pi (odoo)

  #更新系統軟體 sudo apt update && sudo apt upgrade -y #安裝資料庫 sudo apt install postgresql -y #安裝py程序 sudo apt install python3-pip -y #安裝od...