最近正在研究微控制器和基於物聯網的設備安全。因此,我開始考慮建立一個小型家庭系統化系統,雖然目前還沒完成,但我想先在文章中分享一下我如何使用樹莓派2及一些其他電子元件來控制房間的燈光。當然,我在這裡不會介紹樹莓派的初始設置,因為你可以在網上發現各種各樣的教程。
注意事項
在我們繼續實驗之前,我想有必要提醒一下關於實驗中「電流」的危險性。一旦出現任何狀況,最糟糕的情況就是死掉或者燒了你的房子。所以,請不要試圖完成任何文中提到但是你不理解事情,或者你可以在製作的時候尋求一些有經驗的電工的幫助。
好啦,讓我們開始DIY吧!
實驗準備
硬體需求
1、樹莓派2(或者任何5V輸出功率的型號,均可)
2、USB無線軟體狗
3、8路繼電器
4、一些Female-Female跳線(40 PCS FEMALE TO FEMALE JUMPER WIRES)
5、燈頭電線
(以上硬體,某寶均有銷售)
其他要求
1、了解基本Python語言或者其他任何語言(我會用到Python)
2、對Linux系統有基本了解
3、專心致志
流程要求
首先,用ssh連結到樹莓派上,並安裝「apache」和「php5」:
你會需要安裝python的GPIO庫來控制樹莓派的GPIO插腳:
了解元件
現在,在我們繼續製作之前,你需要了解一下我們將使用到的電子元件。
1、繼電器
繼電器是一種使用非常低的電壓輸入控制高壓電的電氣設備。由一個線圈纏繞的金屬杆和兩個小型金屬節點構成的閉合電路。其中一個節點是固定的,其他的都是可移動的。無論何時,當電流通過線圈的時候,它會產生一個磁場,吸引可移動節點向靜態節點運動,形成電路。通過給線圈供應小額電壓,我們就能完成高壓電路的輪迴。同時,靜態節點並非在物理上與線圈有聯繫,因此一旦有地方出錯,微控制器驅動的線圈也很少出現故障。
試驗中,我使用一個8路繼電器,可以同時控制8個設備。你可以選擇自己的繼電器或者繼電板,但是請確保你在繼電器的額定電壓之內處理,以避免任何事故的發生。
2、跳線
跳線就是我們連結樹莓派GPIO插腳與繼電器的簡單連接電線。
3、樹莓派2
我們使用樹莓派2作為一個微控制器來操縱繼電器。它有40個GPIO(通用輸入/輸出)插腳。你可以看到下面這些插腳的布局,我們將使用這些接口為繼電器加電和控制開關。
連接電路
電路非常簡單。我們將連接GPIO插腳到繼電板上。首先連接繼電器板上的「GND」與樹莓派上的任意「GND」。然後連結繼電器的「IND1」到GPIO PIN 17,我們會把GPIO PIN 17作為一個控制第一繼電器的輸出。最後,將繼電器的「VCC」連接到樹莓派的「5V」GPIO插腳。讓我們簡單直接設置一下:
現在我們到了最為棘手的部分,我們要將繼電器連接到接通主電路供電的燈頭上。但是,我想先給你介紹一個如何通過直流屏電源開啟及關閉燈光的簡單操作。
我們通常連接兩根電線到燈泡上,來提供電流供給。其中一根電線是「中性」電線,另一根則是實際帶著電流的「負極」電線,同樣的這裡也有一個控制整個電路的開關。因此,當開關(閉合)連接到流經燈泡的電流和負極電線時,電路便完整了。燈泡從而亮了起來。當開關(斷開),破壞了電路和燈泡的電流,因此燈泡不亮。這裡有一個小的電路圖來解釋具體情況:
當我們在試驗中,我們需要「負極電線」通過我們的繼電器來打破電路,從而使用繼電器開關的控制流經的電流。因此,當繼電器打開,在閉合電路中燈泡也應該亮起來,反之亦然。請參考一下完整的電路:
控制腳本
現在,終於到了軟體的部分。我編寫了一個簡單的python腳本來控制繼電器開關,使用了GPIO PIN 17和一個PHP代碼可以在任何移動終端上面來運行python腳本。你可以從我的Github(和CSS)上找到這段代碼。
注意:你將會需要添加「www-data」用戶到sudoers文件。
注意+:PHP代碼只是為了測試,我們不建議在公共環境中運行。
不久我將完成這個設置,希望回來更新一個新的帖子。請在那時之前,自己動手試一下這個控制燈,但是一定要注意安全。
-END-
分享技術,幫助更多人!請點擊右下角「好看」