基于ESP32-CAM的RSTP协议的网络摄像头

电子说

1.3w人已加入

描述

本次介绍的程序是使用ESP32-CAM进行图像采集并将图像以RTSP协议进行无线传输。在同网络的PC上使用软件对摄像头的图像进行拉取观看。

开发环境:Arduino。

程序语言:C语言。

ESP32-CAM:

ESP32-CAM是安信可最新发布小尺寸的摄像头模组。该模块可以作为最小系统独立工作,尺寸仅为27*40.5*4.5mm,深度睡眠电流最低达到6mA。

ESP32-CAM可广泛应用于各种物联网场合,适用于家庭智能设备、工业无线控制、无线监控、QR无线识别,无线定位系统信号以及其它物联网应用,是物联网应用的理想解决方案。

ESP32

ESP32-CAM采用DIP封装,直接插上底板即可使用,实现产品的快速生产,为客户提供高可靠性的连接方式,方便应用于各种物联网硬件终端场合。体积超小的802.11b/g/n Wi-Fi + BT/BLE SoC模块

产品特性

采用低功耗双核32位CPU,可作应用处理器

主频高达240MHz,运算能力高达 600 DMIPS

内置 520 KB SRAM,外置8MB PSRAM

支持UART/SPI/I2C/PWM/ADC/DAC等接口

支持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传送的是多媒体数据。

ESP32

RTSP是基于文本的协议,采用ISO10646字符集,使用UTF-8编码方案。行以CRLF中断,包括消息类型、消息头、消息体和消息长。但接收者本身可将CR和LF解释成行终止符。基于文本的协议使其以自描述方式增加可选参数更容易,接口中采用SDP作为描述语言。

本文介绍的方法使用方法是基于Arduino开发环境实现的。用到的开源库名称为:Micro-RTSP。库文件可以在github上搜索到,代码资源也上传到网盘,文末有相应的获取方式。将Micro-RTSP-master库添加到Arduino软件中。

ESP32

安装成功后,在第三方库示例中就可以找到例程。

ESP32

例程打开以后首先需要在wifikeys.h文件中设置一下WiFi名称和WiFi密码。

ESP32

然后需要修改宏定义。第一个宏定义是OLED显示器,如果你的ESP32 CAM有I2C接口OLED显示器,可以打开这个宏定义,并设置对应的引脚这样就可以使用显示器显示对应的输出信息;第二个宏定义是接入点模式,这种模式下ESP32会作为接入点,创建一个WIFI;第三个宏定义是使能web服务器,使能web服务器后可以在浏览器访问ESP32的IP地址就可以实时获取其图像信息;第四个是使能RTSP服务器,使能后即可通过RTSP端口获取到图像信息。可以根据需要开启对应的宏定义。

ESP32

修改完宏定义信息后,还需要根据ESP32 CAM的硬件信息修改下面的配置,我这里使用的是安信可生产的ESP32 CAM,修改对应的配置信息即可。

ESP32

修改完成后即可上传,上传成功后可以通过串口或路由器配置界面查看EPS32 CAM联网后的IP。然后打开VLC播放器。

ESP32

依次选择“媒体”->“打开网络串流”。然后输入rtsp://“IP地址”:8554/mjpeg/2。最后点击“播放”,等待连接成功后就可以显示出摄像头图像。

ESP32

需要注意的是RTSP图像传输的方式延迟较大。

ESP32

如果有需要使用该程序库的可以在公众号界面发送"ESP32-RSTP网络摄像头"。获取程序代码。文中使用的Arduino程序库在GitHub上也可以找到。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分