教學原文參考:整合 LINE Notify 即時拍照通知
Pixel:Bit 教學系列文章來到單元十了!(灑花 ???)
在前幾個教學文章中,我們已經將影像透過 Web Server 方式在網頁上呈現,或是將影像從 jpg 解碼後串流在 TFT 螢幕上,這次同樣是擷取 Camera 影像,但不同的是我們將結合 PIR(人體紅外線感測器)、Line Notify,實作一個即時自動拍照機,現在就跟我們一起動手實作吧!
本次教學的重點在於拍照後使用 Line Notify 提供的 HTTPS API 將影像資料發送至 Line Notify 伺服器,最後由 Line Notify 伺服器將圖像傳到使用者 Line 應用程式,架構圖如下所示:
本次實作教學的目標,是自動拍照機將會透過 PIR 人體紅外線感測器感測到人體移動後,點亮 MbitBot mini 擴展板上的 WS2812 LED(白燈),並且透過蜂鳴器發出音階 Si 的音,接著透過 Camera 拍照,並將圖像透過 HTTPS 發送至 Line Notify Server,最後將圖像存入 SD Card。
Line Notify 是一個 Line 的服務,它擁有一個專屬的 Line 官方帳號,並且提供一系列 API,讓第三方平台可透過這些 API 將各種訊息發送至使用者的 Line 帳戶;要使用此服務需要先登入自己的 Line 帳戶,並且「發行權杖」,最終使用此權杖來發送訊息到目標使用者。
開啟 Arduino IDE Library Manager 安裝以下這幾個 Library。
打開 PixelBit 範例程式「08_Pir_Camera_Line_Notify/PixelBit_Pir_Camera_ESP32」,修改第 49~51 行後燒錄至 ESP32 內。
打開「8_Pir_Camera_Line_Notify/PixelBit_Pir_Camera_328p」,燒錄至 328P 內,完成後將燒錄開關切換到「GO」選項,確保 ESP32 能與 328P 溝通。
若使用者想在自動拍照時,一同儲存圖像可以另外準備一張空的 SD 卡並安裝到 Pixel:Bit 上,如下圖所示:
在這邊我們客製了一塊底板,方便可以掛在牆上或是容易攜帶,並將擴展板、PIR 感測器固定上去,使用者可以依照自己喜歡的方式或外觀安裝固定。
請依照下方對照表將 Pixel:Bit、MbitBot mini 擴展板與 Pir 人體紅外線感測器連接、組裝起來。
Pixel:Bit | MbitBot mini 擴展板 | Pir人體紅外線感測器 |
---|---|---|
– | V | V |
– | G | G |
– | Pin6 | S1 |
Edge Connector | Edge Connector | – |
人體紅外線感測器感測到人體移動時,會點亮 WS2812 LED,接著拍照存入 SD 卡(如果有安裝的話),並將圖像傳入目標使用者 Line,如下圖所示:
實作完本篇教學文章後,可以發現只需要幾個簡單的步驟就可以完成一個自動拍照機了!除了可以將圖像即時透過 Wi-Fi HTTPS 發送至使用者的 Line 之外,如果是在沒有網路的環境下,也可以透過 SD 卡將圖像儲存起來觀看。