ESP8266 – HomeKit 運動感應器

內容

在我的上一篇博客中,我測試了ESP HomeKit Software Development Kit。我對這個軟件開發工具包非常熱衷,所以我將寫幾篇關於這個神奇軟件的博客。在每篇博客中,我將介紹另一個可以添加到您的HomeKit中的配件而無需橋接器。在製作了HomeKit Button之後,現在是時候來介紹HomeKit Motion Sensor了。

HomeKit 運動感應器

讓您的存在賦予家居生機。使用HomeKit運動感應器,當進入時啟動完美氛圍,並隨時了解活動情況。豐富場景,設定強大規則以根據您的條件自動化配件。自動啟動您的「我回家了」場景,其中您連接的吊扇和環境照明只會在日落後啟動。然後,如果您離開房間十分鐘以上,且已經過了您的就寢時間,則將所有設備關閉。

透過 Siri、您的控制中心或 Apple Watch 快速設置場景。輕鬆使用 iPhone、iPad 或 iPod touch 上的 Home 應用程式來操作配件。查看簡潔的記錄、獲取洞察,並完全掌控您的智慧家居。讓我們開始建立吧!

軟體準備

我們必須在我們的 Mac 上安裝 esptool.py,以便能夠燒錄我們的 ESP 模組。要使用 esptool.py,您的系統需要安裝 Python 2.7、Python 3.4 或更新版本的 Python。我們建議使用最新版本的 Python,因此請前往Python 的網站並在您的電腦上安裝。

安裝了Python後,打開終端窗口,使用pip安裝最新穩定版本的esptool.py:

pip 安裝 esptool

注意: 對於某些 Python 安裝,該命令可能無法運行,並且會收到錯誤。如果是這種情況,請嘗試使用以下方式安裝 esptool.py:

pip3 安裝 esptool

python -m pip 安裝 esptool

pip2 安裝 esptool

安裝完成後,esptool.py 將安裝到預設的 Python 可執行目錄中,您應該可以使用指令 esptool.py 來運行它。在您的終端窗口中,執行以下指令:

esptool.py

在您的電腦上安裝了 esptool.py 後,您可以輕鬆地為您的 ESP32 或 ESP8266 開發板刷入固件。

硬體準備

要將我們的固件安裝到我們的esp上,我們進行我們的“標準”設置

ESP OS 準備

要運行我們的 ESP HomeKit 設備,我們需要安裝 LCM 和 Open RTos。

生命週期管理器(LCM)

初始安裝、Wi-Fi 設定和任何 GitHub 上的 ESP-open-RTos 存儲庫的空中固件升級。

ESP-open-RTos

一個由社區開發的基於 FreeRTOS 的開源框架,適用於 ESP8266 WiFi 微控制器。旨在用於商業和開源項目。最初基於,但與 Espressif IOT RTOS SDK 有顯著不同。

二進制檔案

起初,您需要下載三個 bin 檔案 otaboot.bin、rboot.bin 和 blank_config.bin。OTAbot.bin 包含了生命週期管理器部分。rboot.bin 包含了 ESP8266 的啟動加載程式。blank_config.bin 僅是一個空白的配置檔案。現在將您的設備連接到 FTDI 轉接器進入刷機模式。

檔案名稱: rboot.bin
版本: 1.4.2

檔案名稱: blank_config.bin
版本: 1.4.2

檔案名稱: OTABoot.bin
版本: 1.0.0

將設備進入閃存模式

為了啟用 ESP8266 韌體燒錄,必須在重置設備之前將 GPIO0 引腳拉低。相反地,對於正常啟動,GPIO0 必須被拉高或浮動。進入燒錄模式 - 同時按下兩個按鈕,釋放重置按鈕,然後釋放燒錄按鈕。

前往您創建的目錄,該目錄中放置了先前下載的 Root.bin、Blank_config.bin 和 Otaboot.bin 檔案(例如,下載)

打開終端機應用程式。點擊您 dock 中的 Finder 圖示。點擊 前往。點擊 工具程式雙擊終端機。切換至下載的目錄。

cd 下載

使用 esptool.py 在您的設備上進行燒錄。首先,擦除快閃記憶體:

esptool.py 刪除_flash

通常,您的 ESPPort 將類似於 /dev/cu.usbserial-A50285BI。然後,再次將設備設置為 flash 模式,並刷入新的固件:

esptool.py -p /dev/cu.usbserial-A50285BI --baud 115200 write_flash -fs 1MB -fm dout -ff 40m 0x0 rboot.bin 0x1000 blank_config.bin 0x2000 otaboot.bin

注意: 如果您使用舊版本的 esptool,您必須將 -fs 1MB 更改為 -fs 8m。

您必須配置 Wi-Fi 網路和 OTA 存儲庫。要配置 Wi-Fi 設定,設備會在 AP 模式下生成自己的 Wi-Fi。您必須連接到它以設置您的 Wi-Fi 網路。只需拿起您的 iOS 設備,進入 設定 -> Wi-Fi,並搜尋一個以 LCM-接著最後的 MAC 位址 為名的 SSID,連接到它,等待幾秒鐘直到出現一個網頁,顯示設備找到的所有 Wi-Fi 網路。選擇您的網路,輸入密碼。還不要點選加入按鈕!!

軟體安裝

現在,您也必須配置 OTA 存儲庫。非常重要的是要正確配置它,因為將來無法更改(如果出錯,必須擦除並重新刷入設備)。

OTA 存儲庫:

AchimPieters/ESP8266-HomeKit-Motion-Sensor

OTA 二進制檔案:

'main.bin'

要完成初始設定,點擊加入按鈕並_等待約7分鐘直到流程完成_(安裝過程中,設備不會顯示任何內容,按鈕也無法使用)。之後,LED 會亮起幾秒鐘,您就可以使用 Home App 將您的配件添加到您的 HomeKit 生態系統中。LCM 將在您的 ESP 上安裝您的 HomeKit 設備。

現在您可以通過掃描下方的 QR 碼來添加您的 HomeKit 按鈕。將您的 ESP 與 HomeKit 連接只需幾秒鐘。

測試 HomeKit 運動感應器硬體

你有任何問題嗎?在這裡留言。

注意: 要生產和銷售與 HomeKit 相容的配件,您的公司需要通過認證(https://developer.apple.com/homekit/。如果您有興趣開發或製造將被分發或銷售的 HomeKit 配件,您的公司必須參加 MFi 計劃。)Espressif 擁有他們的 HomeKit 框架實現,但只會提供給通過 MFi 認證的公司(請注意您提到的頁面底部的這段文字:請注意,Espressif HomeKit SDK 僅提供給 MFi 牌照持有者,並且在請求 SDK 時需要提供帳戶號碼以進行驗證。)這個項目是 HAP 協議的非商業實現,不適用於商業用途。

參考

Maxim Kulkin, esp-wifi-config (2019), 用於啟動 WiFi-enabled 配件 WiFi 配置的庫,https://github.com/maximkulkin/esp-wifi-config Paul Sokolovsky, esp-open-sdk (2019), 針對 ESP8266/ESP8285 晶片的免費且盡可能開放的集成 SDK,https://github.com/pfalcon/esp-open-sdk Espressif Systems, esptool (2019), ESP8266 和 ESP32 串行啟動程序實用工具,https://github.com/espressif/esptool HomeACcessoryKid, life-cycle-manager (2019), 用於 GitHub 上任何 esp-open-rtos 存儲庫的初始安裝、WiFi 設置和空中固件升級,https://github.com/HomeACcessoryKid/life-cycle-manager

總結
這篇文章介紹了如何使用ESP HomeKit SDK來製作HomeKit Motion Sensor,讓你的存在帶動家居生活。透過自動化設定,你可以根據條件自動控制配件,例如在入口處自動啟動氣氛燈光,或根據特定時間自動調整配件狀態。文章詳細介紹了軟體和硬體的準備步驟,包括安裝esptool.py、準備ESP OS、以及OTA repository的設定。最後,透過簡單的步驟,你可以將HomeKit Motion Sensor添加到你的HomeKit生態系統中。整個過程需要一些技術知識和操作,但文章提供了清晰的指引和圖片示範,讓讀者能夠順利完成製作。值得注意的是,若要生產和銷售符合HomeKit標準的配件,公司需要通過認證。