更多

    RASPBERRY PI ZERO W 變身智能家居保安員(下)

    我們通過硬件製作程雲端服務設定後,大部分的工作將準備就緒。今期我們將加入程式,就可將所有服務連結,日後毋須手動,也可進行自動監測。

    [row][double_paragraph]

    doorMontitor.py 的程式碼
    doorMontitor.py 的程式碼

    [/double_paragraph][double_paragraph] Python 程式 doorMontitor.py 的說明如下:
    行數 1-5 :載入所需要用的 Library 。
    行數 6-7 :設定磁控開關的接口位置。
    行數 8 :列印出「 Raspberry Pi Zero W start to monitor the door 」表示電腦程式開始。
    行數 10-13 :檢查門戶,若果被打開了, door 數值將設定為 1 ,否則設為 0 。
    行數 14-17 :當檢查完結後,系統就會將 door 數值上載到 ThingSpeak 。留意在第 14 行中的 api_key ,是剛才 ThingSpeak Channel 的 Write API KEY ,只要複製上去便可以了。
    行數 18 :等待( sleep ) 15 秒後,就會循環再重複上述的工作。 [/double_paragraph] [/row]

    [row][double_paragraph]

    在 ThingSpeak 平台可監察到窗戶開關的情況,實際上要留意是兩個數值,分別是代表開啟的 1 ,和關閉的 0 。
    在 ThingSpeak 平台可監察到窗戶開關的情況,實際上要留意是兩個數值,分別是代表開啟的 1 ,和關閉的 0 。

    [/double_paragraph][double_paragraph]

    當家中的門被開啟後,系統會發送訊息給用戶。
    當家中的門被開啟後,系統會發送訊息給用戶。

    [/double_paragraph] [/row]

    智能家居保安員流程圖智能家居保安員流程圖

    運用流程表

    今期是一連三期的習作,相比過往的複雜度有少許提升,最主要是硬件以外,還涉及雲端儲存。在教學過程中,我們盡量考慮以基本出發,但少不免同學有疑問,比如製作的次序是否有相關?為何要等待 15 秒?如此類推的問題,說起來看似簡單,但若程式概念不清晰,少不免會有混亂感覺。要讓設計更清楚,也方便溝通與日後擴建,可製作流程圖。從流程圖中,就可清楚看出第一及第二部分的順序關連不大,但要完成兩者,才可進入撰寫程式一環。

    另一方面,此佈局也有助提升邏輯思考。流程圖有助將問題切割,由大問題變成小問題,也就是邏輯解難的一環。例如末段的部分,是否要等待 15 秒,還是 1 分鐘?若要加插其他感應器或監察工具,例如發出通知訊息後,要啟動監視器,就可從當中思考及延伸。如大家有興趣,不妨使用 Google 文件製作。

    [row][double_paragraph]

    若是遇上分組討論,可用 Google 文件製作流程圖。
    若是遇上分組討論,可用 Google 文件製作流程圖。

    [/double_paragraph][double_paragraph]

    Google Doc 裡的繪圖文件工具十分充足。
    Google Doc 裡的繪圖文件工具十分充足。

    [/double_paragraph] [/row]

    總結

    智能家居保安員製作簡單,非常適合初學者。用家只要利用有 Wi-Fi 功能的 RPi Zero W(或有 Wi-Fi 功能的 Arduino Yun ), 配合 ThingSpeak 平台,就可以做到。此外,系統也適合在其他情況下使用,例如在照顧家中的老人,想看看他有沒有定時打開藥箱服藥、或是監察大樓裡的房間正在被使用中。當然也可以單純通過此系統,自動傳送訊息作通知。只要讀者發揮想像力,相信改良此習作,就可以應用在更多不同的場合。

    您會感興趣的內容

    相關文章