【安信可应用分享】安信可 ESP32S3 系列模组实现对 USB 摄像头 MJPEG 数据流读取、Wi-Fi 图传。

在这里插入图片描述


采用安信可 ESP32S3 系列模组的 USB 主机功能,实现对 USB 摄像头 MJPEG 数据流读取、Wi-Fi 图传,支持以下功能:

  • 支持 USB Camera 数据流获取和解析
  • 支持设置为 Wi-Fi AP 或 STA 模式
  • 支持 HTTP 图传,可使用移动设备或 PC浏览器查看实时画面

硬件准备

该示例支持的摄像头,需要满足以下必要参数:

  • 摄像头兼容 USB1.1 全速模式
  • 摄像头自带 MJPEG 压缩
  • 摄像头支持设置接口为 wMaxPacketSize 为 512
  • 图像数据流USB 传输总带宽应小于 4 Mbps (500 KB/s) 受制于 USB
  • 总线带宽,图像帧率和单帧图像大小相互制约,若图像单帧 25KB,帧率可到 20 FPS.
  • 该示例由于无需本地解码,可支持满足以上条件的任意分辨率

USB 摄像头硬件接线:

  • USB 摄像头 VBUS 请使用 5V 电源独立供电,亦可使用 IO 控制 VBUS 通断
  • USB 摄像头 D+ D- 数据线请按常规差分信号标准走线
  • USB 摄像头 D+ (绿线) 接 安信可 ESP32S3 系列模组 GPIO20
  • USB 摄像头 D- (白线)接 安信可 ESP32S3 系列模组 GPIO19

编译代码

该示例代码需要额外添加 2M PSRAM,建议使用安信可 ESP32S3 系列模组开发板,如 ESP-S3-12K-Kit 开发板:

  1. 添加 ESP-IDF 环境变量,Linux 方法如下,其它平台请查阅 Set up the environment variables
    . $HOME/esp/esp-idf/export.sh
    
  2. 添加 ESP-IOT-SOLUTION 环境变量,Linux 方法如下,其它平台请查阅 readme
    export IOT_SOLUTION_PATH=$HOME/esp/esp-iot-solution
    
  3. 根据摄像头配置描述符,修改摄像头配置项
  4. 设置编译目标为 esp32s3
    idf.py set-target esp32s3
    
  5. 编译、下载、查看输出
    idf.py build flash monitor
    

使用说明

  1. PC 或手机接入 ESP-S3-12K-Kit 开发板发出的热点,SSID: ESP32S2-UVC 默认无密码
  2. 浏览器输入 192.168.4.1 打开操作窗口
  3. 点击 Start Stream 开启视频流
  4. 点击 Get Still 拍摄照片
  5. 点击预览窗口 Save 可保存当前图像

性能参数

总带宽限制下,不同分辨率图像压缩率帧率对应关系:

  • 在压缩率 15:1 下,320*240 图像吞吐率可达到 33 帧每秒,每一帧图像大小约 15 KB:

在这里插入图片描述

  • 在压缩率 25:1 下,640*480 图像吞吐率可达到 15 帧每秒,每一帧图像大小约 36 KB:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hLii2Pzk-1646182719199)(./_static/640_480_fps.jpg)]

更多资料

以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,以上提供的驱动源码联系我们可以免费提供;

源码获取:usb/host/usb_camera_wifi_transfer
官方官网:https://www.ai-thinker.com
开发资料:https://docs.ai-thinker.com/
官方论坛:http://bbs.ai-thinker.com
公司地址: 深圳市宝安区西乡固戍华丰智慧创新港C栋410

猜你喜欢

转载自blog.csdn.net/Boantong_/article/details/123221555