智慧感測與應用實務| 10: 繼電器、雲端智能家電、手機遙控智慧開關

Eric Y | 薪火相傳
Eric Y | 薪火相傳
6 min readApr 8, 2019

▉繼電器

繼電器是一種電子控制器件,它具有控制系統和被控制系統,通常應用於自動控制電路中,是用較小的電流去控制較大電流的一種「自動開關」

我們先寫一個程式用來控制led

執行結果:

執行後,led開關了三次,電路設置如下:

____________________________________________________

▉使用MQTT開關LED

樹莓派安裝 eclipse paho — >輸入 sudo pip install paho-mqtt

創一個mqttrelay.py ,程式碼如下,其中第12行 relay 這個名稱,是我們設定的頻道名稱

再開一個PUTTY(開啟兩個的原因是因為如果樹莓派連上mqtt後,就會停在那裏等,所以再開啟一個PUTTY程式才能操作),開啟樹莓派,其中一個執行mqttrelay.py,另外一個輸入以下內容,以下這兩行分別能開啟LED燈及關閉LED燈,請分別輸入

電路設置如下:

____________________________________________________

使用Android控制雲端開關(需要相同網段)

備註:樹莓派與手機要相同網段

雖然這個不那麼實用,但是會牽涉後面教學使用不同網段,所以還是要看唷~!!

而請先去Android手機下載程式 MQTT Dash

輸入網段,手機和樹莓派都要在相同網段下

建立一個文字輸入

把topic改成你的頻道名稱,之前我們設定頻道叫relay(請往前看,上面有寫)

之前樹莓派有設定,輸入1就能啟動繼電器開啟led,輸入0就能關閉繼電器關閉led

可參考以下連接

_____________________________________

▉使用Android控制雲端開關(不需要相同網段)

因為剛剛的設定,手機要和樹莓派要相同網段,這樣如果要使用很不方便,所以我們再進行改造>>先去以下網址註冊帳號

https://www.cloudmqtt.com/

創一個instance

創好以後 點擊以下

可以看到各種資料

到剛剛Android手機程式 MQTT Dash,填入相對應的資料

樹莓派創一個檔案名稱為cloudrelayMqtt.py,把網站的一些設定值寫入檔案,並運行檔案

這樣設定完畢,就按手機app下面按鈕,直接雲端開關繼電器,進一步達成開關led裝置

_______________________________________________________

▉使用IPHONE 控制雲端開關

樹莓派安裝以下檔案

安裝 npm (一種套件管理系統)→sudo apt-get install npm

安裝 homebridge (一個模擬iOS HomeKit API的服務器)— >sudo npm install -g homebridge

插件 安裝homebridge-mqttthing(可以串接mqtt) — >sudo npm install -g homebridge-mqttthing

https://www.npmjs.com/search?q=homebridge%20mqttthing

上述網址有教學怎麼使用這個插件

輸入以下內容,把config-sample.jason檔案移動到.homebridge底下

查樹莓派網卡位置

用網路芳鄰去改.homebridge下的config.json檔

config.json輸入以下內容

也可下載以下檔案: 下載位置 config.json

記得要把網卡位置,小寫改成大寫

跳到上一層>

執行homebridge>就會跳出QR CODE

執行剛剛py檔,運行MQTT

IPHONE開啟”家庭”

掃描QR CODE>>按了以後,就可用手機控制先前的雲端led開關

--

--