/* 自定義代碼塊樣式 */
顯示具有 智慧生活 標籤的文章。 顯示所有文章
顯示具有 智慧生活 標籤的文章。 顯示所有文章

2021年3月25日 星期四

安裝 Home Assistant

 markdown

Home Assistant 我是用官方的映象檔安裝在樹莓派上使用,下載的檔案就直接燒錄在SD卡即可,這邊我使用的燒錄軟體是Rufus。

但別急著插進樹莓派開機,還要設定WiFi連線,才能讓樹莓派連上網路

在SD卡根目錄下,新增一個CONFIG的目錄,裡面再新增一個network目錄

在network目錄內,增加一個文字檔案 my-network

[connection]
id=resin-wifi
type=wifi

[wifi]
hidden=true
mode=infrastructure
ssid=你的SSID名稱

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=你的Wifi密碼

把ssid與wifi密碼修改完後,就可以插入樹莓派開機了

插入電源開機。第一次開機HA會自動下載最新版的 Home Assistant 並執行,耗時約 20 分鐘。

在等待更新的過程中,也可以打開瀏覽器輸入 http://hassio.local:8123 或是http://homeassistant.local:8123 看到HA的畫面

等待更新結束後,會看到建立帳號的畫面,就依照畫面指示,完成資料填寫即可






2020年10月20日 星期二

智能插座 --- App篇

markdown

智能插座的硬體都改裝完成後,總是要能夠用手機操作吧,但我又不會寫App,這樣單有個插座硬體插座也是英雄無用武之地呀。

我自已是用 iPhone 手機,下載過好多個App都無法適用,某日不小心看到這個,安裝後,似乎可以滿足我要的功能


免費版只能使用10個 device,不過也夠用了,至少目前用不到那麼多,等超過了再購買App也行

下方左圖是正常使用畫面,右圖為 Edit 模式,預設的範例中有溫度曲線圖, 環狀溫度顯示方式,溫度設定等等的功能,更多功能可以自行研究,我們這邊只用到開關功能,圖中顯示在最下面的裝置 AC plug1,在Edit 編輯模式中,按下要修改的device 齒輪圖示,就進入了編輯模式


下圖左,首先看到的就是這個device的名稱(name),這邊示取名為AC plug1
然後把最下面 PUBLISH VALUES 中的 True與 False 分別改為 ON與OFF,
這意思表示當開關為【開】時,會在 Publish topic string 後面加上ON或OFF的字串,讓device去分析收到的訊息是要開啟裝置還是關閉裝置

接著要設定要發佈的訊息,按下 Publish 就進入設定畫面,如下圖右
把Topic string 填入發佈的訊息字串,這邊例子是填入 /devices/AC plug1/action
開啟 Allow publish,最下方的QoS選擇 At least once,也就是QoS1



接著要設定MQTT 主機,先按下主螢幕左上角的三藍線icon,再按下左下方的Settings,就可以看到如下圖左的設定畫面

點選 Configuration 組態設定,就會出現下圖右的 設定,在Host 端填入主機位址,若沒有,可以參考這裡  https://test.mosquitto.org/

設定完成後,回到主畫面,即完成設定了






至此算完成了,可以在回到家前,遠端把裝置開啟了









2020年6月4日 星期四

智能插座改造

markdown
最近看到一個智能插座,因為沒有App的支援,所以老闆就便宜賣,價格超便宜,就買了幾個回來準備拆開研究看看,拆開後如下


底部插座跟Relay部分可以延用,上面有一片小板,是藍芽控制板,既然沒有App支援,就乾脆改裝WiFi版的智能插座吧

從抽屜中拿出ESP8266模組,研究一下藍芽小板的走線後,便把藍芽模組拆掉


因為頂部空間有限,要焊接ESP8266上去似乎不太夠,便用漆包線延長,固定在側邊

最後再裝回原來的樣子,WiFi版的智能插座硬體部分就完成了



ESP8266的韌體一樣使用Arduino做開發,使用 IotWebConf 及 arduino-mqtt 的Library,
並以 IotWebConf07MqttRelay 範例進行修改

韌體/硬體完成後,就可以用手機進行設定了,如下是連線後跳出的畫面,按下configure page就可以進行設定



Thing name 可以修改成自己想要的名稱,之後設定 MQTT 時會需要這個名稱
AP password 就是登入這個裝置的WiFi密碼
WiFi SSID 要讓裝置連線的 AP SSID名稱
WiFi password 要讓裝置連線的 AP SSID 密碼  
MQTT server 讓裝置可登入的MQTT sever,因我自己是在 NAS 上增加MQTT的服務,所以這邊是填家中的NAS IP address

接著是新增加的功能,本來的範例除了可以遠端控制外,我還想讓裝置有定時的功能,所以多增加五組的開關機時間

--------------------------------------------------------------------------------

都設定完成後,準備進行測試

安裝 Chrome MQTT延伸擴充功能進行測試,如下為 MQTTLens 套件



一樣將MQTT server設定好,訂閱的路徑設定好,應該就可以對裝置進行操作了

如下圖

Subscribe : /devices/testThing/status 
Publish : /devices/testThing/action

其中的 testThing 就是前面透過手機所設定的 Thing name 名稱

在 Message 填入ON或OFF即可進行測試



--------------------------------------------------------------------------------

以上都在電腦端測試完成後,手機App呢? 

參考另一篇文章,App的設定

https://mattlinotes.blogspot.com/2020/10/app.html

下一步,準備把溫度與濕度 sensor 也一併整合進這個智能插座中,掌握當下的房間狀況,決定要不要遠端啟動受控裝置了


在ESP32S3使用 Adafruit_TinyUSB 建立 HID 裝置進行讀寫

Adafruit_USBD_HID usb_hid; #define USB_VID 0xCafe #define USB_PID 0x4011 #define USB_MANUFACTURER "ESP32S3" #define USB_PRODUCT ...