簡(jiǎn)介
這是一個(gè)基于ESP32-Cam的一個(gè)監(jiān)控項(xiàng)目吩抓。
開(kāi)源地址:https://github.com/guohuanwen/esp32-cam
效果展示
功能
- 本地監(jiān)控 ?
- 遠(yuǎn)程監(jiān)控 ?
- 攝像頭旋轉(zhuǎn) ?
- 遠(yuǎn)程操控 ?
- Client界面優(yōu)化 ?
- 幀率優(yōu)化 ?
目錄結(jié)構(gòu)
3dmodel
3D模型,整體框架連接與固定
board
開(kāi)發(fā)板相關(guān)代碼
servers
服務(wù)器相關(guān)代碼
材料
ESP32-CAM 開(kāi)發(fā)版
USB TO TTL下載器
舵機(jī)(SG90)
電源(5V 2A)
我直接用普通手機(jī)充電器代替
耗材若干
如果沒(méi)有3D打印機(jī)雨饺,整體框架可用膠水固定
開(kāi)發(fā)工具
ESP32開(kāi)發(fā)
PlatformIO
https://docs.platformio.org/en/latest/core/installation.html
CLion 2020.3
安裝插件 platformio
服務(wù)端開(kāi)發(fā)(go)
- IntelliJ IDEA 2019.3.3
模型
- OpenSCAD(建模)
- Ultimaker Cura (切片)
使用
Clone整個(gè)項(xiàng)目
git clone https://github.com/guohuanwen/esp32-cam.git
運(yùn)行服務(wù)器
項(xiàng)目分兩種運(yùn)行方式额港,主要區(qū)別是部署服務(wù)器在本地局域網(wǎng)還是遠(yuǎn)程機(jī)器上移斩。
# 需要安裝GO環(huán)境
cd ./esp32-cam/servers
bash start.sh
局域網(wǎng)運(yùn)行
服務(wù)端部署在局域網(wǎng)內(nèi)的一臺(tái)電腦上绢馍,由于在局域網(wǎng)內(nèi),視頻數(shù)據(jù)上傳下載更快猖任,幀數(shù)更加穩(wěn)定瓷耙,但是只能與單片機(jī)在同一個(gè)Wi-Fi環(huán)境下使用哺徊。
遠(yuǎn)程運(yùn)行
服務(wù)端部署在阿里云\騰訊云的機(jī)器上,受限于網(wǎng)絡(luò)落追,幀數(shù)不穩(wěn)定轿钠,服務(wù)器也需要成本,但是可以任何地方使用症汹。
配置ESP32-Cam贷腕,編譯并上傳
- ./esp32-cam/board/src 目錄下新建config.h文件咬展,文件內(nèi)容如下
//配置你的wifi名稱(chēng)和密碼瞒斩,配置2.4G的WIFI
#define WIFI_NAME "xxx"
#define WIFI_PASSWORD "xxxx"
//本地運(yùn)行填寫(xiě)路由器給電腦分配的IP胸囱,遠(yuǎn)程運(yùn)行填寫(xiě)服務(wù)器IP
#define WEBSOCKET_HOST "192.168.1.101"
//服務(wù)對(duì)應(yīng)的端口
#define WEBSOCKET_PORT 8080
//視頻流的socket地址,一般不用更改
#define WEBSOCKET_URL "/camera/uploader/ws"
編譯項(xiàng)目
接線(xiàn)
- ESP32-CAM
- ESP32-CAM調(diào)試接線(xiàn)
- V1.1.0版本接線(xiàn)
| 電源 | ESP32-Cam | 舵機(jī)(SG90) |
上傳源碼到ESP32-Cam
查看日志
#terminal 執(zhí)行
platformio device monitor
如果看到下面日志,則說(shuō)明以上流程走通了
[WSc] Connected to url: xxxx
訪(fǎng)問(wèn)
瀏覽器打開(kāi) http://${服務(wù)端IP}/camera/client
技術(shù)點(diǎn)
- 3D建模
- 3D打印
- Golang
- Arduino/Esp32
- Websocket
- Html/JavaScript