本文将以Air8101开发板为例:实现MP4视频录制,保存到SD卡以及通过HTTP POST上传到阿里云OSS的功能。
在工业监控、智能垃圾分类、无人售货机开箱取物等等实际应用中,可根据具体需求对示例源码进行进一步的修改和优化。
最新开发资料详见:www.air8101.cn
一、相关知识点
1.1 SD卡文件系统
SD卡(Secure Digital Card)是一种基于半导体快闪记忆器的新一代记忆设备,被广泛用于便携式设备中存储数据。具有高存储容量、快速数据传输速度、体积小、重量轻、安全性高(支持数据加密)等特点。
SD卡通常使用FAT32文件系统,支持长文件名和大文件存储,是嵌入式系统中常用的存储介质。
1.2 HTTP POST请求
HTTP POST是一种常用的网络请求方法,用于向服务器发送数据,适用于文件上传等场景。
1.3 阿里云OSS
阿里云对象存储服务(OSS)是一种高可靠、高可用、高性能的云端存储服务,适用于存储和管理大量数据。
相关知识点详细介绍参见:https://docs.openluat.com/air8101/luatos/app/multimedia/video/
二、主要硬件准备
2.1 主要硬件
Air8101开发板套件;
支持数据传输的USB数据线;
Win10及其以上PC电脑。
2.2 接线说明
需要特别注意:因前期B10版本的开发板设计原因,需要把SD_3.3V与SWD_3.3V短接,才能正常供电。
如下图示:
B11及其之后版本的开发板,没有上述问题。正常安装摄像头、SD卡、屏幕等配件后,使用USB数据线连接电脑即可。
三、最新源码及实操教程
Air8101应用示例持续更新中,当前示例为MP4视频录制存储和上传功能。
最新源码及实操教程详见:
https://docs.openluat.com/air8101/luatos/app/multimedia/video/
主要示例代码如下所示:
3.1 Wi-Fi联网
通过Wi-Fi连接到指定网络。注意:实际使用中,须替换ssid和password为实际的Wi-Fi名称和密码。
程序将等待Wi-Fi连接成功,并发布一个net_ready消息表示网络已就绪。
3.2 挂载SD卡
初始化并挂载SD卡,用于后续存储视频文件。
程序将初始化SPI总线并挂载SD卡到/sd目录;注意检查挂载结果,确保SD卡已正确挂载。
3.3 视频录制
初始化USB摄像头并开始录制视频,保存到SD卡的/sd/abc.mp4文件;录制时长为20秒,可根据需要调整sys.wait的参数。
3.4 视频上传
将录制好的视频文件保存到SD卡后,通过HTTP POST请求上传到阿里云OSS。
配置阿里云OSS的上传参数,包括URL和表单参数;
使用httpplus.request函数执行HTTP POST请求,上传视频文件到阿里云OSS;
打印服务器返回的状态码、headers和body信息,以便调试和验证上传结果。
四、相关注意事项
Air8101视频录制及上传功能并不复杂,但实操过程中还请注意以下几点:
确保SD卡已正确格式化为FAT32文件系统,且文件名不超过8个字节(如果需要支持长文件名,请参考相关文档进行配置)。
根据实际情况调整Wi-Fi名称、密码、阿里云OSS的URL、AccessKeyId和Signature等参数。
录制视频时,请确保SD卡有足够的剩余空间。
上传视频时,请确保网络连接稳定,以避免上传失败。
今天的内容就分享到这里了~
审核编辑 黄宇