當前位置: 華文世界 > 數位

篇二 使用ESPHome、配合ESP-01S來制作開、關機案例(1)

2024-02-03數位

剛開始玩ESP8266系列時,使用的是Ardunio,但發現即使一些簡單功能實作還是相對繁瑣。後來發現很多大神推薦使用的ESPHome可以很輕松的建立、客製和整合智慧裝置。這不正是我等懶人需要的神器麽~~,先舉個小例子來說明:

就拿上一篇開機舉例吧,我們在開電腦的時候無非是按下開機鍵,然後松手,在這期間哪怕再快中間一定是有一個很小時間的間隔。那對應的行為程式碼就是:

- switch.turn_on: power # 按下- delay: 1000ms # 啟動時,按下持續很短的時間間隔。 # 同理,這個時間很長的話(例如8秒),那就是強制關機了,就是這麽簡單。(單位是毫秒)- switch.turn_off: power # 松手

這樣功能就可以實作,其他無非就是對硬體或行為的描述,例如給他起個名字、使用的wifi名稱、密碼等。配置好後,第一次要使用燒錄器把生成的程式碼固件寫給它,之後就可以簡單透過wifi發送固件了~~

在這裏,先拋開理論,快速實作我們的需求,細節以後慢慢說來。那先介紹這次我們要使用的硬體:

這裏的開機線一分二的的連線方法,在網上找到一個不錯的截圖,稍微修改下:

簡單的做法就是在主機板上找到原 Power SW 線拔下,將開機線的母頭插到主機板之前的位置,將拔下的線插到開機線公頭上。另一個就是接我們做好的母頭即可。

硬體完成後,只要把程式碼寫入ESP-01S後,插到繼電器模組上就完成了。那開始介紹軟體部份:ESPHome。無論是用的NAS,還是路由帶的系統,先確保有容器管理Docker(這個如有必要,我們在後期會講解怎樣安裝Docker)。可以使用命令在docker中安裝ESPHome:

docker run -d --name="ESPHome" \ -e TZ=Asia/Shanghai --hostname="esphome" \ -v /opt/esphome:/config -v /run/udev:/run/udev \ --privileged --restart unless-stopped \ --net=host esphome/esphome

完成後,就可以使用 http://esphome所在的地址:6052 來存取了。

之後的流程:

到此我們做好了可以寫到ESP-01S的固件,下一期會介紹怎樣將它寫入到硬體,並載入至Home Assistant中。敬請期待~~