【DIY】舊手機秒變 IP Cam:移動偵測、對講、錄影,免費部署到 GitHub Pages
家裡抽屜總有幾支退役的舊手機,電池還行、鏡頭也還能用,就這樣放著實在可惜。市面上有「阿福管家(AlfredCamera)」這類 App 可以把舊手機變成監視器,但要裝 App、要註冊帳號,進階功能還要付費。 所以我自己寫了一個 「舊機監視器」 : 只有一個 index.html 網頁檔 ,放在 GitHub Pages 上,兩支手機用瀏覽器打開就能用, 免裝 App、免註冊、不經雲端儲存 。這篇把功能、原理、部署方式和開發中踩到的坑整理起來。 👉 原始碼: github.com/cphsia/old-phone-cam 一、能做什麼? 同一個網頁有兩種角色,開啟後選一個就好: 📷 攝影機模式(舊手機) 即時影像+聲音傳送 移動偵測 :畫面有變化就自動截圖,推送給觀看端 可被遠端切換前/後鏡頭、開手電筒、響警報器 螢幕常亮(Wake Lock),另有「黑屏省電」模式,點兩下恢復 可勾選「開網頁自動進入攝影機模式」,停電重開機後不用手動操作 畫面上直接顯示配對 QR Code、攝影機代碼與 4 位數 PIN,PIN 可隨時更換 📱 觀看模式(你的手機) 掃 QR Code 一鍵連線,或手動輸入「代碼+PIN」 按住對講 :像對講機一樣,按住說話、放開停止 錄影(存到觀看那支手機)、截圖 夜視增強(提高亮度與對比、轉黑白)、全螢幕 遠端調整移動偵測開關與靈敏度 移動通知:震動+提示音+系統通知,附截圖縮圖 顯示攝影機端電量、目前是「直連」還是「經 TURN 中繼」 斷線自動重連、「我的攝影機」常用清單一鍵連線 二、運作原理 整個系統沒有自己的後端伺服器,靠的是瀏覽器內建的 WebRTC : 配對(訊號交換) :使用 PeerJS 的免費公用伺服器,讓兩支手機互相「找到對方」。攝影機用固定代碼註冊,觀看端拿代碼去連。 穿透網路(STUN) :透過 Google 與 Cloudflare 的 STUN 伺服器,讓手機知道自己在外網的位址,嘗試直接打洞連線。 影像直送(P2P) :連上之後,影像和聲音是兩支手機之間 點對點加密 直送,不經過任何雲端儲存。 中繼備援(TURN) :如果兩邊網路太嚴格(例如一...