如今,家庭安全非常重要,市場上有許多監(jiān)控系統(tǒng)可以從任何地方監(jiān)控您的家庭或辦公室。但是這些基于IP的安全系統(tǒng)非常昂貴,而且更便宜的系統(tǒng)只能在本地傳輸數據。
所以在這里,我們正在建立一個簡單而有用的家庭安全系統(tǒng)使用樹莓派和PIR傳感器。該系統(tǒng)將檢測到入侵者的存在,并通過向用戶的手機發(fā)送推送通知來快速提醒用戶。樹莓派用于控制整個系統(tǒng),PIR傳感器用于檢測任何運動。這個系統(tǒng)可以安裝在你家或辦公室的門附近,如果有人進入你的房子,你可以得到實時通知。
樹莓派是最適合物聯(lián)網項目的微控制器,因為它內置了Wi-Fi,可以輕松連接互聯(lián)網。要開始使用樹莓派,您應該有一個可以使用HDMI電纜連接的顯示器,或者您可以使用SSH終端或VNC服務器訪問它。在我們之前的項目中,我們通過各種物聯(lián)網平臺控制樹莓派GPIO。
什么是推送通知?它是如何工作的?
推送通知就像在智能手機或臺式機/筆記本電腦上彈出的即時消息。這些消息由后端服務器推送,其中包含一些與最新優(yōu)惠,促銷,廣告,分數等相關的信息。幾乎所有的移動平臺都支持推送通知,大多數應用程序都以推送消息的形式發(fā)送通知,比如Facebook、amazon、chrome等。然而,你可以關閉來自特定應用程序的推送通知。這項服務可以幫助用戶在屏幕上彈出重要信息時繼續(xù)工作。
在Android設備中,推送消息以應用程序圖標和狀態(tài)欄中的消息顯示。當用戶點擊那個圖標時,它就會指向那個特定的應用程序。
推送通知是如何工作的?
有一些服務器用于向你的設備發(fā)送數據,如Android的GCM (Google Cloud Messaging),微軟的MPNS和蘋果的APNS。
以下步驟展示了Android設備上的推送通知:
?通過發(fā)送發(fā)送方ID和應用程序ID,首先在GCM服務器上注冊android設備。
?注冊成功后,服務器會給android設備頒發(fā)一個注冊ID。
?然后將接收到的注冊ID發(fā)送到處理該特定應用程序的服務器。
?應用服務器將在數據庫中存儲注冊ID以供以后使用。
每當需要推送通知時,應用服務器將消息連同設備注冊ID發(fā)送給GCM服務器。
使用該設備注冊ID, GCM服務器將把該消息傳遞到受尊重的移動設備。
現在需要一個服務器來承載推送通知服務。為此,我們有很多平臺,比如Pushetta、Pushsafer、PushBullet等。從所有這些服務中,Pushbullet都很容易免費使用。Pushbullet有預構建的python庫,這使得它很容易與樹莓派一起使用。
設置Pushbullet帳戶
1. 首先在Pushbullet網站上創(chuàng)建一個賬戶。
2. 現在,我們需要帳戶設置中的訪問令牌密鑰。所以,點擊設置,然后點擊賬戶,向下滾動。您將找到創(chuàng)建訪問令牌按鈕。點擊它,就會出現一個鍵。復制此鍵,它將在代碼中需要。
要顯示推送通知,請在android設備上安裝Pushbullet應用程序?,F在,使用用于獲取訪問令牌的相同帳戶登錄?,F在推送消息將開始出現在給定的屏幕上。
在樹莓派上安裝Pushbullet庫
運行以下命令安裝在Raspberry Pi上使用Pushbullet所需的庫。
現在,我們準備編寫python代碼來檢測運動并在有人進入房間時發(fā)送推送通知。
組件的要求
?Raspberry Pi,安裝Raspbian OS。
?PIR傳感器
?跳線
線路圖
在這個項目中,只有PIR傳感器與樹莓派相連。在這里,PIR傳感器的信號引腳連接到樹莓派的11號引腳,如下圖所示。
代碼與說明
完整的python代碼和工作視頻在本項目的末尾給出。
首先導入使用RPi gpios、pushbullet和time所需的所有重要庫。
現在,設置連接PIR傳感器的GPIO模式和引腳編號。
輸入我們在Pushbullet上創(chuàng)建帳戶時復制的訪問令牌,并打印正在使用您帳戶的所有設備。
現在,在while循環(huán)檢查任何運動檢測通過檢查PIR輸出引腳。
如果有人進入PIR傳感器的范圍,那么值將是“1”。現在,從Pushbullet應用程序中輸入設備名稱。設備名稱也可以在運行此腳本時找到,如下圖所示。然后輸入要作為推送通知發(fā)送的消息。
現在,最后復制項目末尾給出的完整代碼,并以.py擴展名保存該文件。然后使用下面的命令運行這個腳本
確保PIR傳感器連接正確。
每當有人靠近PIR傳感器時,運動消息將顯示在終端上,您將獲得推送通知,如下面的快照所示。
本文編譯自iotdesignpro





