大家好, 歡迎收看本週的Weekend project with Stonez56。
本周要進行的是 Arduino 第35集,"使用 MQTT 無線搖控 ESP32-CAM 模組”。這個是一個專門為初學者來開發的一個系列, 所以會講的比較詳細, 相信各位只要仔細收看內容並進行實作, 一定會收獲滿滿滿。好, 那我們就開始吧今天的練習吧~
!!! ESP32-CAM streaming 的程式是由這裡取得:
https://github.com/wjsanek/wjsanek/blob/main/Working_ESP32_CameraWebServer_V2_with_OTA.zip
這位高手把一大堆沒有用到的ESP32-CAM的程式移除, 所以我才有機會把程式寫成可以OTA.
在 VScode 裡, ESP32-CAM 的模組, 設定如下:
Board: ESP32 Wrover Module
Upload Speed: 115200
Flash Frequency: 80MHz
Flash Mode: QIO
Partition Scheme: Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
本次學習的目標是能遠端遙控 ESP32-CAM, 所以會用到下列的程式
ESP32-CAM - Camera 伺服器 串流影像
Servo - 控制 SG90 伺服器擺動
ESPAsyncWifimanager - 隨時改變 Wi-Fi 設定
AsyncElegantOTA - FOTA - 隨時隨地的更新 firmware
MQTT - PubSubClient - 由ESP32-CAM 收送訊息
Paho MQTT Javascript client - 由瀏覽器 收送訊息 / HTML 編寫
本專案會用到下列的電子元件:
ESP32-CAM * 1
天線 * 1
SG90 Servo 伺服器 * 2 - 上下 & 左右擺動各一個
1000uf 電容一顆 * 1 - 過濾影像的水波紋
杜邦線 * 4 - Power, GND, IO12, IO13
參考資料:
Minimized ESP32 Camera Streaming code
MQTT client PubSubClient V2.8 by Nick O'Leary
AsyncElegantOTA
MQTT Javascript Client by PAHO
ESP32Servo
SG90 Gimbal STL file