1 概述
本demo是基于hi3516开发板,使用开源openharmony开发的rtsp协议流媒体应用,达到将hi3516开发板中摄像头获取的数据通过rtsp协议传输到手机并显示 。
1.1 应用运行效果图
1.2 设备与手机间交互示意图
如上图所示,手机播放3516摄像头采集的视频数据。
2 快速上手
2.1 硬件开发环境准备
预装windows系统的pc机
hi3516dv300 iot camera开发板
usb转串口线、网线(windows工作台通过usb转串口线、网线与开发板连接)
开发板介绍参照文档
2.2下载源码
准备
注册码云gitee账号。
注册码云ssh公钥,请参考码云帮助中心的公钥管理:https://gitee.com/help/articles/4181
安装并设置编译工具
sudo apt-get install git-lfssudo apt-get install curlsudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 左右滑动查看全部内容
安装git客户端并配置用户信息
git config --global user.name yournamegit config --global user.email your-email-addressgit config --global credential.helper store 左右滑动查看全部内容
安装码云repo工具,可以执行如下命令
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repochmod a+x /usr/local/bin/repopip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests 左右滑动查看全部内容
下载openharmony源码
#特别注意:请下载openharmony 1.0.1 版本,后续会更新支持openharmony其他版本repo init -u git@gitee.com:openharmony/manifest.git -b openharmony_1.0.1_release --no-repo-verifyrepo sync -crepo forall -c 'git lfs pull' 左右滑动查看全部内容
下载smart_door_viewer_3516代码
具体仓库地址: knowledge_demo_smart_home
通过git命令下载(方便后期代码上传管理,建议先将仓库fork到自己账号目录,然后再下载):
git clone git@gitee.com:xxxxxxx/knowledge_demo_smart_home.git其中xxxxxxx为fork后相关账号名字。 左右滑动查看全部内容
代码拷贝
在openharmony的vendor目录下新建一个team_x的目录:
mkdir vendor/team_x 左右滑动查看全部内容
将下载的智能油烟机代码的代码拷贝到新建的team_x下面:
cp -rf ../knowledge_demo_smart_home/dev/team_x/smart_door_viewer_3516/ vendor/team_x/ 左右滑动查看全部内容
将下面文件替换到openharmony1.0.1源码下的文件
代码目录结构
├── smart_door_viewer_3516│ ├── build.gn // 编译脚本│ ├── include│ │ ├── camera_sample.h // 摄像头定义头文件│ │ ├── rtp.h // rtp协议传输头文件│ │ ├── rtsp_log.h // 打印调试头文件│ │ └── rtsp_server.h // rtsp_server头文件│ └── src│ ├── camera_sample.cpp // 摄像头实现│ ├── main.cpp // 主函数│ ├── rtp.cpp // rtp协议实现│ └── rtsp_server.cpp // rtsp协议实现├── foundation │ └── multimedia│ └── media_lite│ ├── frameworks│ │ └── recorder_lite │ │ ├── recorder.cpp //增加获取h.265数据存放至环形缓冲区接口实现│ │ ├── recorder_impl.cpp //增加向应用层提供环形缓冲区接口实现│ │ └── recorder_impl.h //增加向应用层提供环形缓冲区接口定义│ └── interfaces│ └── kits│ └── recorder_lite│ └── recorder.h //增加获取h.265数据存放至环形缓冲区接口定义 左右滑动查看全部内容
2.3linux编译服务器开发环境准备
开发基础环境由windows 工作台和linux 编译服务器组成。windows 工作台通过samba 服务或ssh 方式访问linux编译服务器。其中windows 工作台用来烧录和代码编辑,linux编译服务器用来编译openharmony代码,为了简化步骤,linux编译服务器推荐安装ubuntu20.04。
参考官方文档搭建开发linux编译环境。
系统基础环境搭建
hi3516搭建环境
编译
源码和环境准备完后,接下来就是编译,编译涉及的指令有2条,hb set和hb build -f 。
hb set -- 设置工程目录和选择对应的目标,通过键盘的上下键来选择。 左右滑动查看全部内容
hb build -f -- 开始全量编译。(hb build 为增量编译) 左右滑动查看全部内容
编译完后会生成对应整个系统固件(u-boot-hi3516dv300.bin,ohos_image.bin, rootfs_vfat.img, userfs_vfat.img)
以下表格为所有生成的固件及对应的位置:
2.4固件烧录
烧录工具选择
固件编译完后,是需要烧录到单板的。这里我们用的是hitool工具烧录的。(hitool工具下载地址:hihope官网)
烧录步骤
打开hitool工具,如下图:
烧写步骤按照图中标注即可。点击烧入后,烧录工具会提示重新上电,此时重启单板即可。
烧录结果
烧录成功后,会弹出如下提示,单板也会自行启动。
2.5特别说明
如果是第一次烧录程序的话,单板在启动的时候需要设置bootargs,否则不能正常启动。单板第一次启动会停在hisilicon界面:
输入以下启动参数:
setenv bootcmd mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000;setenv bootargs console=ttyama0,115200n8 root=emmc fstype=vfat rootaddr=10m rootsize=20m rw;saveenvreset 左右滑动查看全部内容
到此,烧录已经完成,设备也正常启动。
3
启动rtsp_server应用
开启热点
准备一部手机开启热点设置
ssid为smedia,password为”12345678“。 左右滑动查看全部内容
设备连接热点
1、准备一张sd卡插入到插槽内。
2、进入3516的shell输入如下命令连接热点:
./bin/wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf 左右滑动查看全部内容
3、在3516中输入ifconfig查看连接状态:
运行应用
1、在串口下输入
./bin/rtsp_server
打印如下表示设备应用已准备完毕
4、在手机应用市场中搜索”完美播放器“并下载安装。
5、打开菜单选择网址播放。
6、输入rtsp播放地址,其中ip地址192.168.43.118为3516dv300板子中的地址。
效果动图
原文标题:基于 hi3516 开发板开发的智能猫眼
文章出处:【微信公众号:harmonyos官方合作社区】欢迎添加关注!文章转载请注明出处。
射频导纳物位开关-全球百科
机器人RIP的控制程序解析
离子平衡测试仪器的构成
我国工业设计行业发展趋势分析
国产串行SRAM存储芯片EMI7008LSMI的介绍
基于Hi3516开发板的智能猫眼设计
随AI悄然兴起的情感计算
划片机,国内权威品牌博捷芯引领行业风向标
台积电年底7nm产能被包圆:AMD成最大客户、高通次之
宁德时代全新AI动力电池缺陷检测方案应用
CBB81脚距15mm与20mm的区别有哪些?
太阳能频振式杀虫灯是什么,它的工作原理是怎样的
中芯国际投资的超级晶圆厂启动,月产能10万片
华为Mae40 Pro+后续依旧会缺货严重
BG资讯币虚拟货币分销商城开发
携手华为构建城市立体感知体系,深开鸿参加城市智能体大模型创新峰会
自己定义的CAD图块,为什么插入图块时图形离插入点很远?
Git命令解析-merge、rebase
中国批准了高通40亿美元收购恩智浦 可这件事该哭了
多晶硅“双反”有利于产业健康发展