基于Hi3516开发板的智能猫眼设计

描述

概述

本Demo是基于Hi3516开发板,使用开源OpenHarmony开发的RTSP协议流媒体应用,达到将Hi3516开发板中摄像头获取的数据通过RTSP协议传输到手机并显示 。

1.1 应用运行效果图

 

开发板

1.2 设备与手机间交互示意图

开发板

如上图所示,手机播放3516摄像头采集的视频数据。

快速上手

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 "yourname"git config --global user.email "your-email-address"git 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编译环境。

  1. 系统基础环境搭建

  2. 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官方合作社区】欢迎添加关注!文章转载请注明出处。

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

全部0条评论

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

×
20
完善资料,
赚取积分