更多

    RASPBERRY PI 電腦防盜拍攝裝置(四)

    回顧過往數星期,入侵者拍攝裝置共分為四期。首先,我們認識了硬件,接著學習測試,和設定 Twitter 戶口。今期踏入最後一個步驟,就是撰寫程式,將所有事情連結。此外,今期也介紹一下選購硬件的心得分享。

    經過多次習作後,部分有興趣的同學或同工表示想研究更多,當中一個問題是如何選購硬件?其實選購硬件與選購生活物品相似,只要清楚用途後就會有方向。對入門者來說,建議前往官方網站搜集資料。

    接駁所有硬件後的 Rassberry Pi ,接著就是將之安裝於監測範圍,可以是電腦、雪櫃或寵物出入的地方。
    接駁所有硬件後的
    Rassberry Pi ,接著就是將之安裝於監測範圍,可以是電腦、雪櫃或寵物出入的地方。

    選購硬件小知識

    從官方網站,初步可以看到 Rassberry Pi 共六種型號,對於初次入門來說,若沒有大小及預算限制,會建議選購較新及功能較齊全的版本。 Zero 版本是該公司低成本,但減省了所有外接接口的裝置。 Raspberry Pi 1 Mobile B+ 於 2014 年開始發行,科技產品若非成本考慮,有新買新,普遍會支援較多。

    [row][double_paragraph]

    官方網站資料較準確,大多也有充裕的新產品資料,新手必看。
    官方網站資料較準確,大多也有充裕的新產品資料,新手必看。

    [/double_paragraph][double_paragraph]

    Rassberry Pi 官方網站推介的香港零售商,而此網站剛好有比較資料,對消費者來說,十分方便。
    Rassberry Pi 官方網站推介的香港零售商,而此網站剛好有比較資料,對消費者來說,十分方便。

    [/double_paragraph] [/row]

    接下來就是看產品規格,很多人認為是難以閱讀的外星文。不過,細心看看原來有很多都是大家都略知一二的共同語言。以 Raspberry Pi 3 和 Raspberry Pi 2 的比較來說, Wi-Fi 和 Bluetooth 相信大家都熟悉,兩者分別不大。至於其他數字,由於列表不複雜,正好逐一研究,主要查看是有分別的選項,分別是處理器( Processor )和電量,從資料的數字來看, Raspberry Pi 3 比 2 更快支援更多。最後就是價錢,兩者的價值也一樣,選購就是如此簡單!

    撰寫程式

    回歸主題,完成了硬件的部分,也設定 Twitter 戶口後,接著就撰寫下列有關的 Python 程式碼。 intruderPhoto.py ,程式碼如下:

    [row][double_paragraph] 1273kid04p22_intruderPhoto [/double_paragraph][double_paragraph] Python 程式 doorMontitor.py 的說明如下:
    行數 1-4 : 載入所需要用的 Library , 當中包括 GPIO 、 Picamera 和與 Twitter 平台溝通的 Library 。
    行數 5 : 建立一個新的 MotionSensor 物件,並將此物件連繫於接口 4 。
    行數 6 : 建立一個拍攝工具。
    行數 7 : 將拍攝的影像旋轉 180 度。
    行數 8-11 : 在剛才「將照片傳送至 Twitter 」的步驟 4 中,開啟 Twitter 的過程中得出的四個關鍵數值,包括「 consumer_key 」、「 consumer_secret 」、「 access_token 」及「 access_token_secret 」。
    行數 12-17 : 為令程式表達簡潔清楚,在這裏使用自定義函式( Function ) detectMotion 。在這個自定義函式當中,功能包括在 Python Shell 中打印出「 Motion Detected! 」字句;開啟拍攝鏡頭的預覽功能,並等待一秒。然後拍攝相片,並將相片存放在桌面上,檔案名稱設為 image.jpg 。
    行數 18-23 : 這是另一個自定義函式 send_tweet ,當中會匯入四個關鍵數值「 consumer_key 」、「 consumer_secret 」、「 access_token 」及「 access_token_secret 」。
    行數 25-26 : 將剛剛拍攝的相片檔案設定為 latest_photo; 設定上傳到 Twitter 的字句為「 Here is the photo of the intruder! 」。
    行數 27-28 : 最後將相片及信息字句上傳到 Twitter 戶口。
    行數 29-33 : 設立一個 while 循環,當紅外線人體感測器偵測到有人靠近的時候,便會呼叫自定義函式 detectMotion 及 send_tweet 。
    行數 31 : 等待五秒,此設定目的是為了避免裝置會拍攝過多的相片。 [/double_paragraph] [/row]

    一切完成後,現在可以測試一下程式,接著看看  Twitter 戶口是否有收到自動發出的通知訊息及相片!
    一切完成後,現在可以測試一下程式,接著看看 Twitter 戶口是否有收到自動發出的通知訊息及相片!

    總結

    這次介紹的習作非常有趣兼有學習意義,既是動手作之餘,當中電腦程式編寫的部分涉及數據上載到互聯網,因此也是一個簡單的物聯網裝置,應用範圍亦都非常廣泛,發揮得宜,可以應用在不同的情境。例如若讀者家中有飼養小狗或小貓的話,只需調教一下感應器的位置,或額外加上一些功能,例如在相片上加入日期時間等資料,就可成為讀者觀察家中寵物的裝置。

    您會感興趣的內容

    相關文章