PiNG Video Doorbell 由 Raspberry Pi 提供支持,當(dāng)訪客按下按鈕時,它會使用 Google Duo 在您的手機上與您進行視頻通話。
PiNG Video Doorbell 由 Raspberry Pi 提供動力,復(fù)古風(fēng)格地裝在 1986 年對講機和老式 Sony 磁帶播放器中。
當(dāng)按下門鈴按鈕時,Pi 會使用Google Duo進行高質(zhì)量的視頻通話,可以在手機、平板電腦或電腦上接聽。讓您在出門在外時(或在家但被貓咪困住時),可以通過 WiFi 和蜂窩網(wǎng)絡(luò)運行,因此您甚至可以在外出散步時開門。
它還會在屋內(nèi)發(fā)出標(biāo)準(zhǔn)的無線門鈴作為故障保險,以防無法接聽電話。
設(shè)置和代碼非常簡單,請繼續(xù)閱讀,我將展示如何在短短幾個小時內(nèi)以低于 50 英鎊的價格從頭開始制作自己的視頻門鈴(如果您已經(jīng)擁有 Pi 和一些組件,則幾乎不再需要任何額外的費用)。
我一直想用 Raspberry Pi 制作視頻門鈴,但直到最近我還沒有找到一種簡單的方法來進行視頻通話。既可以在項目中使用,又可以讓其他人直接重新創(chuàng)建。然而,這一切在最近發(fā)生了變化,當(dāng)我讀到有關(guān)基于瀏覽器的 Google Duo 版本已經(jīng)發(fā)布的報道恍然大悟——這意味著它可以在不安裝專用應(yīng)用程序的情況下運行。
我已經(jīng)研究過使用 Skype 和 WhatsApp 進行 Pi 通話的挑戰(zhàn),之后我正準(zhǔn)備安裝 Android 以嘗試使用 Google Duo,但由于無法輕松集成 GPIO 接口而被推遲,直到上面那則振奮人心的消息。
閱讀完文章后,我首先在我的 Windows 筆記本電腦上測試了 Duo,然后迅速在我的車間機器 Pi 2 上嘗試使用 Chromium。這并不順利,出現(xiàn)了 Duo 網(wǎng)站并讓我登錄,但是沒有顯示我的聯(lián)系人列表或任何更改設(shè)置的選項。我決定考慮使用其他瀏覽器(文章說它也適用于 Firefox 和 Safari),并在更強大的 Pi 3 上進行測試。
我在 Pi 3 上連接了一個羅技網(wǎng)絡(luò)攝像頭,然后啟動了 Chromium,令我驚訝的是,在調(diào)整了一些設(shè)置后,幾秒鐘后我就可以在客廳里給我妻子打電話了。我測試的網(wǎng)絡(luò)攝像頭有一個內(nèi)置麥克風(fēng),即使在第一次綜合測試通話中,質(zhì)量也很棒。這是一個非常激動人心的時刻,釋放了可視門鈴項目的潛力以及許多其他可能性。
因此,使用鍵盤、鼠標(biāo)和屏幕進行視頻通話無疑是一種選擇——但是如何使用無頭樹莓派和一些按鈕進行這項工作呢?
應(yīng)用操作
讓 Duo 在 Chromium 中運行很棒,我以為我只是全屏運行它,但后來(實際上是偶然)我意識到它可能會“耗盡瀏覽器”運行,就像您可以“安裝”網(wǎng)絡(luò)應(yīng)用程序一樣在 Windows PC 上 - 方法如下:
轉(zhuǎn)到 Pi 上 Chromium 中的 Google Duo 站點 (https://duo.google.com/)
使用您要用來撥打門鈴的 Google 帳戶登錄
單擊三個點(漢堡包)》 安裝 Google Duo(如果您使用的不是最新的 Raspbian,則可能需要選擇更多工具 》 添加到桌面
在出現(xiàn)的對話框中點擊“添加”
- 桌面上會出現(xiàn)一個 Google Duo 快捷方式
然后雙擊桌面上的圖標(biāo) Duo 打開,但就像一個應(yīng)用程序,沒有通常的 Chromium 家具。我不確定以這種方式運行它是否使用更少的 Pi 資源(似乎有意義?)但它確實使界面更清晰。
經(jīng)過一些測試后,我為門鈴設(shè)置了一個單獨的谷歌帳戶并將其鏈接到安卓手機上的電話號碼,但如果你有一個現(xiàn)有的谷歌帳戶并且你很樂意將它用于門鈴,你可能不需要這樣做。
它不會在每次啟動時記住您的登錄詳細信息,但是一旦您打開它就會保持登錄狀態(tài),我的已經(jīng)運行了一個多星期而無需觸摸它。在進行測試呼叫之前,您需要確保網(wǎng)絡(luò)攝像頭已插入并選擇音頻源,方法是單擊“cog”設(shè)置圖標(biāo)和“Manage Sources”??捎玫柠溈孙L(fēng)和揚聲器選項很簡單,您可以播放測試聲音以確保它們正確 - 您必須在第一次執(zhí)行此操作時在彈出窗口中授予權(quán)限,并且可能需要根據(jù)您的網(wǎng)絡(luò)攝像頭進行試驗/音頻設(shè)置。
保存源后,將視頻形狀設(shè)置為寬也是一個好主意,以便在門鈴呼叫您時盡可能多地看到。要執(zhí)行此操作,請單擊聯(lián)系人,就像您要撥打電話一樣,然后單擊視頻預(yù)覽右上角的“顯示寬視頻”矩形,然后按 X 返回。此設(shè)置將被記住,直到 Pi 重新啟動。
鼠標(biāo)地圖
如果 Duo 是一個完整的應(yīng)用程序,那么命令行選項可能可用,例如啟動應(yīng)用程序并立即呼叫特定聯(lián)系人。在沒有這個(現(xiàn)在?)的情況下,我需要找到一種通過按下 GPIO 按鈕自動開始通話的方法。
為此,我使用了 Python 模塊PyUserInput ,它可以讓您對鼠標(biāo)移動、點擊和鍵盤敲擊進行編程。
我的想法是設(shè)置一個腳本來等待按鈕按下,然后將鼠標(biāo)移動到“聯(lián)系人”文本框,輸入聯(lián)系人的姓名,按“Enter”并單擊“視頻通話”。Duo 記得最后聯(lián)系的人并將他們顯示在屏幕中央,但我不想依賴這個,以防門鈴叫錯人(因為這曾經(jīng)就在測試中發(fā)生過)!
10讓鼠標(biāo)在正確的位置單擊(讓應(yīng)用程序全屏幫助)并找到正確的擊鍵來模擬“Enter”鍵需要一些試驗和錯誤,但它很有趣。在 GitHub 頁面上還有一個名為 Position.py 的小腳本,用于顯示鼠標(biāo)坐標(biāo),非常有用。
解決了這個問題后,我添加了更多代碼來根據(jù) GPIO 按鈕單擊啟動鼠標(biāo)移動。這在測試中效果很好,一旦電話掛斷,樹莓派就會回到原來的屏幕,所以當(dāng)再次按下門鈴按鈕時,它會重復(fù)同樣的動作。
軟件設(shè)置
經(jīng)過大量試驗后,我將設(shè)置過程改進為以下步驟。
全新(完整)安裝 Raspbian 后,最好在連接顯示器的情況下完成以下大部分設(shè)置。首先啟用 VNC 服務(wù)器,最好登錄/創(chuàng)建一個 VNC 帳戶,以盡可能簡單地連接到 Pi。在 Pi 無頭運行的情況下,您需要在啟動后連接并登錄 Duo,這很簡單,只需要幾秒鐘 - 我通常只使用手機來完成此操作。
VNC 可以在 Start 》 Preferences 》 Raspberry Pi Configuration(接口選項卡)下啟用。因為 Pi 將無頭運行,我們還需要告訴它假設(shè)連接了 HDMI 顯示器,并手動設(shè)置分辨率(系統(tǒng)選項卡),以便腳本中的鼠標(biāo)命令與 Web 應(yīng)用程序上的元素對齊。我選擇了選項 19,1280x720,如果您使用不同的分辨率,您可能需要在 PiNG.py 腳本中編輯鼠標(biāo)坐標(biāo)。
接下來我們需要從終端安裝PyUserInput :
pip3 install PyUserInput
。。。然后從GitHub將PiNG.py 腳本下載到 Pi 上,我只是將它彈出到主 Pi 文件夾中。為了避免在每次重新啟動后啟動腳本,值得通過編輯全局自動啟動文件將其設(shè)置為在桌面加載后自動運行:
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
并在底部添加以下行以指向腳本位置:
@python3 /home/pi/PiNG.py
重新啟動后,腳本應(yīng)自動運行。
由于 Pi 可能會等待一段時間讓門鈴響起(除非你真的很受歡迎),所以最好禁用默認的屏幕調(diào)光,因為這可能會干擾鼠標(biāo)點擊。與直覺相反,實現(xiàn)此目的的最佳方法是安裝 Xscreensaver:
sudo apt-get install xscreensaver
安裝后,您可以配置屏幕保護程序選項(開始 》 首選項 》 屏幕保護程序)并將其設(shè)置為禁用。
它本質(zhì)上只是對門鈴按鈕進行編程,以執(zhí)行一系列鼠標(biāo)點擊來控制屏幕上的 Duo Web 應(yīng)用程序。除了它不是真的在屏幕上,因為 Pi 是無頭運行的。
如果您已完成上述操作并且 Pi 已重新啟動,您應(yīng)該能夠斷開顯示器(如果您使用過顯示器),通過 VNC 從手機或 PC 連接到 Pi 并登錄 Duo,將其設(shè)置為 full-屏幕,選擇音頻源并設(shè)置視頻寬度,如上所述。完成后,您可以斷開 VNC 連接,門鈴就可以使用了!
音頻
我知道音頻對于這個項目很重要,因為如果郵遞員聽不到你的聲音,那么遠程與他交談是沒有意義的!我決定使用Pimoroni pHAT BEAT ,因為我有一個方便的——盡管在某些方面對于這個項目來說有點矯枉過正。
我真的只需要一個門鈴單聲道輸出,但 pHAT BEAT 為兩個揚聲器提供立體聲輸出,以及一個漂亮的 LED VU 表。
將 pHAT 用于音頻的唯一復(fù)雜之處在于它會位于 GPIO 接頭上的所有引腳上——我需要其中的一些來連接門鈴按鈕和 LED。為了解決這個問題,我在去年的Raspberry Fields的派對包中添加了一頂 pico hat hack3r 。這是一個小巧但非常方便的電路板,基本上將 GPIO 輸出一分為二,讓您在連接 HAT 的同時仍然暴露一整套 GPIO 引腳。雖然這很好,但您必須小心不要與 HAT 已經(jīng)使用的引腳沖突,所以我仔細檢查了pinout.xyz并決定如下:
門鈴按鈕 - GPIO22(引腳 15)和隔壁的 3v3(引腳 17)
通知 LED - GPIO9 正極(引腳 21,通過電阻器),引腳 25 處負極
隨著網(wǎng)絡(luò)攝像頭、音頻、按鈕和 LED 連接并正常工作,我現(xiàn)在有了一個可以工作的視頻門鈴——盡管它分布在整個工作臺上。接下來我需要考慮如何使用它以及它會是什么樣子。
額外的鐘聲
設(shè)置在替補席上運行良好,但 IRL 會發(fā)生什么?我想在外面只有一個門鈴來避免混亂的訪客,但同時想知道如果有人在我無法接聽電話的情況下按門鈴,或者如果有人在房子里沒有聽到會發(fā)生什么雙人電話打來。
這些擔(dān)憂的答案是在構(gòu)建中包括一個標(biāo)準(zhǔn)的無線門鈴發(fā)射器,它可以與我們現(xiàn)有的房子里的鈴聲配對。這樣,即使構(gòu)建的 Pi 部分由于某種原因停止工作,“正?!钡拈T鈴也會響起。
案例邏輯
一旦我證明了代碼可以工作,接下來的事情就是決定該項目的案例。我希望它顯然是一個門鈴,但出于明顯的安全原因,我不喜歡將一個完全連接的 Pi 掛在我家外面的想法。
我決定將項目一分為二——在屋外安裝一個門鈴單元,連接到屋內(nèi)的 Pi 基站。朝這個方向發(fā)展有幾個很好的理由:
更少的組件可以擠入外殼并暴露在元素中
屋內(nèi)更好的 WiFi 信號,增加了以太網(wǎng)選項
更容易執(zhí)行維護和升級
將我珍貴的 Pi 3B+ 固定在鎖著的門后面
在網(wǎng)絡(luò)攝像頭上做出決定很容易——我的一個MotionEye安全攝像頭已經(jīng)使用 Microsoft Lifecam HD 3000 和 Pi Zero 24/7 運行了兩年多,所以這是一個合乎邏輯的選擇——尤其是因為它有一個集成的麥克風(fēng)。許多其他網(wǎng)絡(luò)攝像頭與 Pi 配合得很好,你甚至可以使用標(biāo)準(zhǔn)的 Pi 攝像頭——不過你需要一個單獨的麥克風(fēng)來捕捉音頻。
外部設(shè)備也很簡單,1986 年的對講機!前段時間我買了 3 件這樣的復(fù)古設(shè)備,并且在 2017 年只在Google Pi Intercom項目中使用了一個,所以備件很方便——而且我已經(jīng)熟悉它的內(nèi)部結(jié)構(gòu),并且相信我可以讓所有東西都適合。
對于內(nèi)部基本單元,我考慮只使用標(biāo)準(zhǔn)塑料項目盒,但由于當(dāng)?shù)?Maplin 已關(guān)閉,選擇合適的匹配并不容易 - 所以我決定重新使用一些更舊的技術(shù)并安裝 Pi在一個舊的磁帶播放器里面。由于有足夠的空間,所以效果非常好 - 這意味著 VU 表 LED 可以通過磁帶窗口顯示,這是一種方便的額外觸摸。我還能夠?qū)⒑惺酱艓Рシ牌鞯脑紦P聲器連接到 Phat Beat 上的備用輸出 - 這意味著鈴聲和語音將在屋內(nèi)和室外播放。
要將兩個單元連接在一起,我決定使用 6 芯報警電纜,因為它非常薄且易于使用,可以在每端添加一個連接塊。
與往常一樣,這些箱子在準(zhǔn)備好使用之前需要進行一些拆卸和修改,所以一旦我剝離了原始電路,我就開始使用旋轉(zhuǎn)工具清理內(nèi)部。
對講機是第一個,我不得不砍掉一個塑料柱為網(wǎng)絡(luò)攝像頭騰出空間,為廣角鏡頭切出一個孔,并打磨掉許多突出物,以使揚聲器之類的東西更容易安裝。一旦我有了一塊空白畫布,我就會考慮如何適應(yīng)各種組件。我需要騰出空間:
一個新的揚聲器
兩個杠桿微動開關(guān)
無線門鈴電路
網(wǎng)絡(luò)攝像頭
電纜連接塊
LED的小型原型板電路
以及最初的開關(guān)和機制 - 起初看起來很寬敞,但現(xiàn)在我開始懷疑了。
為了使這個過程更容易,我使用了Hitachi Pi TV Conversion 的一個方便的技巧,并首先構(gòu)建了一個有機玻璃底盤來容納所有組件。有機玻璃絕對是最理想的,因為您可以在標(biāo)記在哪里切割孔時看到它。首先,我將它粗略地切割成合適的尺寸,然后鉆孔,這樣它就可以安裝在對講機現(xiàn)有的螺絲柱上。從這里我一個一個地添加組件,鉆孔和切割孔以適合它們或為它們騰出空間。這樣做的另一個好處是我能夠在最終組裝之前測試一切是否正常!
為了使網(wǎng)絡(luò)攝像頭適合,我必須小心地切掉它的很多塑料外殼,這樣它就可以直接粘在廣角鏡頭后面 - 如果你需要這樣做,首先要撬開它的前面,不要砍掉像我一樣用剪線鉗和鉗子在后面!
我對盒式磁帶播放器不那么挑剔,并且無情地剝離了所有電路和組件,只留下一個空盒子。像大按鈕這樣的化妝品部件只是熱粘合到位,我用一個紅色的按鈕填充了一個破碎的小燈窗孔。
為了讓 pi 放在磁帶窗口后面的正確位置,我首先將一個樂高板熱粘到一個舊的Pi 盒的底部。然后,我在磁帶播放器內(nèi)的正確位置熱粘合了一個匹配的板,以制作一個很好的半永久性配件 - GPIO 引腳可以在磁帶門打開的情況下使用,但我想確保我可以將 Pi 取出來更換SD卡等沒有任何麻煩。我已經(jīng)學(xué)會了提前計劃未來拆卸和維護的艱難方法!最后,我在磁帶播放器的外部切掉了一些插槽,以便在組裝后仍然可以使用 USB 和 HDMI 端口,以防萬一。
組裝和繪畫
將有機玻璃底盤試裝到對講機中后,我給它涂了一層油漆 - 我為顏色苦惱了一段時間,試圖在白色、亞光黑色和棕色之間進行選擇,但選擇了“Claret Red”進行更改。
最終組裝非常簡單,我將對講機底盤熱粘合到最后的外殼上,還將無線門鈴電路安裝在設(shè)備背面,以便于更換電池。最后一項工作是添加一個銘牌,我只是用不同的字體大小打印出來的——但是當(dāng)我開始添加這個時,我意識到一些熱膠從表殼上的一個小孔中滲出,蔓延到整個新鮮的油漆并堵塞銘牌槽。
這里還沒有內(nèi)容,您有什么問題嗎?
電子電路資源推薦
- BUCK電路的環(huán)路計算,補償和仿真
來源:下載中心
- 傅里葉變換及其應(yīng)用(第3版)
來源:下載中心
- 拉扎維模擬集成電路教程(英語字幕)
來源:大學(xué)堂
- 直流電源設(shè)計
來源:大學(xué)堂
- 電路的基本物理量:電流,電壓,電位,電動勢,電功率
來源:電路圖
- 電路的基本物理量:電流,電壓,電位,電動勢,電功率
來源:電路圖
推薦帖子 最新更新時間:2025-07-12 00:08
- 問下2596前面加共模電感的作用
- 問下2596前面加共模電感的作用,而且為什么要在共模電感的前后,加上400V/0.1UF的電容呢? 問下2596前面加共模電感的作用 安規(guī)電容 問下2596前面加共模電感的作用 防止LM2596對P1左邊聯(lián)接的各用電設(shè)備產(chǎn)生干擾,同時也防止P1左邊聯(lián)接的各用電設(shè)備對L
sky999
電源技術(shù)
- 基于 FRAM 的 MCU MSP430FR57xx 設(shè)計
- 移動信用卡讀取器應(yīng)用,在該應(yīng)用中 MSP430FR5739 的獨特差異化價值可幫助解決多種挑戰(zhàn)。 MSP430FR5739 器件配有 16K 嵌入式 FRAM、5 個獨立定時器、硬件乘法器、DMA、ADC 以及串行通信端口。說到移動信用卡讀取器,并非所有讀取器都是同等的
fish001
微控制器 MCU
- 用NE555制作尋光機器人
- 在日常生活和學(xué)習(xí)中充斥著高新技術(shù)的今天,“低技術(shù)”表達的是回歸自然和傳統(tǒng),去挖掘人類早已擁有的聰明才智。低技術(shù)不要求我們一味地追求技術(shù)的尖端化,但其所展現(xiàn)的科技成果和科學(xué)理念同樣精彩。本文將通過一部尋光機器人的制作,向大家展示低技術(shù)的魅力。 一、低技術(shù)機器人 尋
凱哥
能源基礎(chǔ)設(shè)施
- Proteus 6 Professional 入門教程
- Proteus 6 Professional 入門教程 Proteus 6 Professional 入門教程 謝謝樓主啊! Re: Proteus 6 Professional 入門教程 我正想學(xué)呢,來的正及時,先謝謝啦~~~ Re: Proteus 6 Professiona
ruopu
單片機
- 國賽經(jīng)驗分享匯總
- 論壇正在舉行 國賽經(jīng)驗分享 活動,歡迎大家來參加?。?!期待你的分享! 活動鏈接: EEWorld邀你參加 國賽經(jīng)驗分享賽 ,助力2019全國大學(xué)生電子設(shè)計大賽 @ lb8820265 我的電賽分享 塞翁失馬焉知非福 @ gujiamao 我
okhxyyo
電子競賽
- 各位大爺,不緊急的求助,ESP8266發(fā)E-mail怎么實現(xiàn)
- 硬件使用的是D1 MINI ESP8266 想用DHT11獲取溫濕度保存為txt文件在內(nèi)存中,然后定期Email發(fā)送, 有簡單辦法實現(xiàn)嗎? 各位大爺,不緊急的求助,ESP8266發(fā)E-mail怎么實現(xiàn) 你搜一下 esp8266 email 就找到代碼了 比如這個 ht
sf5a1
MicroPython開源版塊
- FreeRtos 阻塞問題討論
- 各種二次回路圖及其講解
- 電磁干擾抑制技術(shù)全面概述
- 關(guān)于STC89C52單片機的延時1ms程序?
- 兆易GD32307E-START開發(fā)板推薦
- ST NUCLEO-WL55JC2 測評活動評獎
- 介紹TI C2000的堆棧評估方法問題
- TI DM8148 多核DSP 的SDK 的編譯
- lps33hw的stm32f103工程
- 用于工業(yè)電機控制的 C2000 DesignDRIVE 開發(fā)套件
- 面試:嵌入式軟件開發(fā)應(yīng)該注意問題
- 誰能告訴我這是個什么芯片?
- keilc51編程與警告處理
- 頒獎:直播—完美替代傳統(tǒng)汽車鑰匙?探索英飛凌數(shù)字鑰匙解決方案
- 有獎直播:NXP 汽車系統(tǒng)電源管理開講啦,從功能安全架構(gòu)到新品FS26,預(yù)約有禮~
- 今天下午13:30直播|Keysight World Tech Day 2023分論壇——汽車自動駕駛與新能源
- STM32 硬件仿真調(diào)試過程中,停在某處不向下運行的問題
- D類功放“爆破音”機理與抑制措施淺析
- 使用電壓互感器采集到的微弱交流信號,經(jīng)過運放放大偏置后的放大信號,要怎么處理?
- 穩(wěn)壓、調(diào)壓、監(jiān)控、DC/DC芯片介紹大全
- LT1170HVCT、5A 外部限流器的典型應(yīng)用
- C8051F800DK、8051 MCU 開發(fā)套件旨在用作 C8051F336 微控制器的開發(fā)平臺
- LT1172HVIQ、1.25A 高效恒流充電器的典型應(yīng)用
- LTC3788-1 的典型應(yīng)用 - 2 相、雙輸出同步升壓控制器
- RD-344,用于空調(diào)的 1500W、600V DC 到 DC 單輸出電源的參考設(shè)計
- TG-5021CG_CC112x,用于 CC1120、CC1200 和 CC1121 系列低功耗射頻無線應(yīng)用的外部振蕩電路
- CN0305
- SESD0402X1UN-0020-090,使用 SESD0402X1UN-0020-090 ESD 抑制二極管陣列的典型應(yīng)用 20kV 2-Pin DFN
- 低功耗開源伽馬射線能譜儀Pomelo
- 使用 ROHM Semiconductor 的 BU90004GWZ-E2 的參考設(shè)計
- 現(xiàn)代控制理論基礎(chǔ)(輕工業(yè)出版社+1990)
- 國內(nèi)集成電路IP核標(biāo)準(zhǔn)進展與展望
- 智能集成型無功補償用容性負荷開關(guān)的研究
- 用復(fù)合辛普森公式計算衛(wèi)星軌道長度的程序.
- analog technology integrates bipolar, CMOS, and high-voltage DMOS transistors
- 基于優(yōu)化bp神經(jīng)網(wǎng)絡(luò)的pid控制器研究基于優(yōu)化bp神經(jīng)網(wǎng)絡(luò)的pid控制器研究
- Enc 壓 縮 wav文件為 A16格式的 文件
- 整流電路與濾波電路
- 數(shù)論的基礎(chǔ)有素數(shù)刪選質(zhì)因數(shù)的分解公約數(shù)的求解等
- 同步整流在WK283R3S-33M中的應(yīng)用