【OpenHarmony开发】基于Hi3518开发板开发的智能猫眼(案例演示)


1
概述
本demo是基于hi3518开发板,使用开源openharmony开发的rtsp协议流媒体应用。达到将hi3518开发板中摄像头获取的数据通过rtsp协议传输到手机并显示 。
rtsp实现可参考文档:rtspserver
1.1 应用运行效果图
1.2 设备与手机间交互示意图
如上图所示,手机播放3518摄像头采集的视频数据。

2
快速上手
2.1 硬件开发环境准备
1. 预装windows系统的pc机
2. hi3518ev300 iot camera开发板
3. usb转串口线、网线(windows工作台通过usb转串口线、网线与开发板连接)
4. 开发板介绍参照文档:hi3518开发板介绍
5. 淘宝店hi3518ev300开发板购买地址:harmonyos hispark aries ipc 摄像头(hi3518e)开发板套件
2.2 下载源码准备
1. 注册码云gitee账号。
2. 注册码云ssh公钥,请参考码云帮助中心的公钥管理:https://gitee.com/help/articles/4181
3. 安装下载工具
   sudo apt-get install git-lfssudo apt-get install curlsudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 
4. 安装git客户端并配置用户信息。
   git config --global user.name yournamegit config --global user.email your-email-addressgit config --global credential.helper store5. 安装码云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_3518代码
具体仓库地址: knowledge_demo_smart_home
通过git命令下载(方便后期代码上传管理,建议先将仓库fork到自己账号目录,然后再下载):
  git clone git@gitee.com:xxxxxxx/knowledge_demo_smart_home.git其中xxxxxxx为fork后相关账号名字。 
代码拷贝
1.在openharmony的vendor目录下新建一个team_x的目录:
 mkdir vendor/team_x 
2.将下载的智能油烟机代码的代码拷贝到新建的team_x下面:
 cp -rf ../knowledge_demo_smart_home/dev/team_x/smart_door_viewer_3518/ vendor/team_x/ 
3.将下面文件替换到openharmony1.0.1源码下的文件
代码目录结构
                        ├── smart_door_viewer_3518│   ├── 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.3 linux编译服务器开发环境准备
开发基础环境由windows 工作台和linux 编译服务器组成。windows 工作台通过samba 服务或ssh 方式访问linux编译服务器。其中windows 工作台用来烧录和代码编辑,linux编译服务器用来编译openharmony代码,为了简化步骤,linux编译服务器推荐安装ubuntu20.04。
参考官方文档搭建开发linux编译环境。
1. 系统基础环境搭建
2. hi3518搭建环境
编译
源码和环境准备完后,接下来就是编译,编译涉及的指令有2条,hb set和hb build -f
 hb set         --         设置工程目录和选择对应的目标,通过键盘的上下键来选择。
hb build -f  -- 开始全量编译。(hb build 为增量编译) 
编译完后会生成对应整个系统固件(u-boot-hi3518ev300.bin,ohos_image.bin, rootfs_vfat.img, userfs_vfat.img)
以下表格为所有生成的固件及对应的位置:
2.4 固件烧录烧录工具选择
固件编译完后,是需要烧录到单板的。这里我们用的是hitool工具烧录的。(hitool工具下载地址:hihope官网)
烧录步骤
打开hitool工具,如下图:
烧写步骤按照图中标注即可。点击擦除后再拔出usb口再接入。
擦除成功如下所示。
然后按如下图选择,再点击烧写。
烧录成功后,会弹出如下提示,单板也会自行启动。
单板在启动的时候需要设置bootargs,否则不能正常启动。单板第一次启动会停在hisilicon界面:
输入以下启动参数:
    setenv bootcmd sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000;setenv bootargs console=ttyama0,115200n8 root=flash fstype=jffs2 rw rootaddr=7m rootsize=8m;save;reset......

18家物联网企业构成的智能馆成为博览会的一道亮丽风景
技嘉发布1TB版Vision Drive移动固态硬盘
传iPhone 5机身厚度将达7.9mm 预计10月推出
关于多数制造商对网络安全准备问题
农业产业可以利用物联网来加强吗
【OpenHarmony开发】基于Hi3518开发板开发的智能猫眼(案例演示)
重磅!芯电易抢单网与航顺芯达成战略合作!
【洞见芯趋势】UWB数字钥匙即将大爆发!
红米2打冲锋,小米5拼刺刀,雷军要肉搏!
基于lm317的可调稳压电路设计
凌力尔特推出面向便携式处理器的电源管理解决方案LTC3589
浦桑尼克P9手持式吸尘器评测 轻巧轻松高效
带插接定位的超声波流量计的原理及设计
2018年净利润超5000万元 芯朋微重新启动IPO计划
维谛技术Vertiv:聚焦用户需求 抢占中功率UPS市场高地
电力变压器瓦斯保护的基本工作原理及整定方法
英飞凌助力中国新能源汽车本土研发
SL8701多功能平均电流型LED恒流驱动器概述及特点
激光电视极具优势 预计2022年销售复合增长92%
智能冰箱未来还需要进行很多改进 才能满足用户的使用需求