本次介紹的程序是使用ESP32-CAM進行圖像采集并將圖像以RTSP協議進行無線傳輸。在同網絡的PC上使用軟件對攝像頭的圖像進行拉取觀看。
開發環境:Arduino。
程序語言:C語言。
ESP32-CAM:
ESP32-CAM是安信可最新發布小尺寸的攝像頭模組。該模塊可以作為最小系統獨立工作,尺寸僅為27*40.5*4.5mm,深度睡眠電流最低達到6mA。
ESP32-CAM可廣泛應用于各種物聯網場合,適用于家庭智能設備、工業無線控制、無線監控、QR無線識別,無線定位系統信號以及其它物聯網應用,是物聯網應用的理想解決方案。
ESP32-CAM采用DIP封裝,直接插上底板即可使用,實現產品的快速生產,為客戶提供高可靠性的連接方式,方便應用于各種物聯網硬件終端場合。體積超小的802.11b/g/n Wi-Fi + BT/BLE SoC模塊
產品特性
主頻高達240MHz,運算能力高達 600 DMIPS
內置 520 KB SRAM,外置8MB PSRAM
支持OV2640和OV7670攝像頭,內置閃光燈
支持圖片WiFI上傳
支持TF卡
支持多種休眠模式。
內嵌Lwip和FreeRTOS。
支持 STA/AP/STA+AP 工作模式。
支持 Smart Config/AirKiss 一鍵配網。
支持二次開發。
RTSP協議:
Real Time Streaming Protocol,RFC2326,實時流傳輸協議,RTSP是 TCP/IP 協議體系中的一個應用層協議,該協議定義了一對多應用程序如何有效地通過 IP 網絡傳送多媒體數據。RTSP在體系結構上位于RTP和RTCP之上,它使用TCP或UDP完成數據傳輸。HTTP與RTSP相比,HTTP傳送HTML,而RTSP傳送的是多媒體數據。
RTSP是基于文本的協議,采用ISO10646字符集,使用UTF-8編碼方案。行以CRLF中斷,包括消息類型、消息頭、消息體和消息長。但接收者本身可將CR和LF解釋成行終止符。基于文本的協議使其以自描述方式增加可選參數更容易,接口中采用SDP作為描述語言。
本文介紹的方法使用方法是基于Arduino開發環境實現的。用到的開源庫名稱為:Micro-RTSP。庫文件可以在github上搜索到,代碼資源也上傳到網盤,文末有相應的獲取方式。將Micro-RTSP-master庫添加到Arduino軟件中。
安裝成功后,在第三方庫示例中就可以找到例程。
例程打開以后首先需要在wifikeys.h文件中設置一下WiFi名稱和WiFi密碼。
然后需要修改宏定義。第一個宏定義是OLED顯示器,如果你的ESP32 CAM有I2C接口OLED顯示器,可以打開這個宏定義,并設置對應的引腳這樣就可以使用顯示器顯示對應的輸出信息;第二個宏定義是接入點模式,這種模式下ESP32會作為接入點,創建一個WIFI;第三個宏定義是使能web服務器,使能web服務器后可以在瀏覽器訪問ESP32的IP地址就可以實時獲取其圖像信息;第四個是使能RTSP服務器,使能后即可通過RTSP端口獲取到圖像信息。可以根據需要開啟對應的宏定義。
修改完宏定義信息后,還需要根據ESP32 CAM的硬件信息修改下面的配置,我這里使用的是安信可生產的ESP32 CAM,修改對應的配置信息即可。
修改完成后即可上傳,上傳成功后可以通過串口或路由器配置界面查看EPS32 CAM聯網后的IP。然后打開VLC播放器。
依次選擇“媒體”->“打開網絡串流”。然后輸入rtsp://“IP地址”:8554/mjpeg/2。最后點擊“播放”,等待連接成功后就可以顯示出攝像頭圖像。
需要注意的是RTSP圖像傳輸的方式延遲較大。
如果有需要使用該程序庫的可以在公眾號界面發送"ESP32-RSTP網絡攝像頭"。獲取程序代碼。文中使用的Arduino程序庫在GitHub上也可以找到。
審核編輯:湯梓紅
-
網絡攝像頭
+關注
關注
2文章
44瀏覽量
16101 -
RSTP
+關注
關注
0文章
7瀏覽量
1019 -
ESP32
+關注
關注
18文章
978瀏覽量
17523
原文標題:基于ESP32-CAM的RSTP協議的網絡攝像頭
文章出處:【微信號:懂事電子設計,微信公眾號:懂事電子設計】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論