“
1
概述
本Demo是基于Hi3518開(kāi)發(fā)板,使用開(kāi)源OpenHarmony開(kāi)發(fā)的RTSP協(xié)議流媒體應(yīng)用。達(dá)到將Hi3518開(kāi)發(fā)板中攝像頭獲取的數(shù)據(jù)通過(guò)RTSP協(xié)議傳輸?shù)?a target="_blank">手機(jī)并顯示 。
rtsp實(shí)現(xiàn)可參考文檔:RTSPServer
1.1 應(yīng)用運(yùn)行效果圖
1.2 設(shè)備與手機(jī)間交互示意圖
如上圖所示,手機(jī)播放3518攝像頭采集的視頻數(shù)據(jù)。
“
2
快速上手
2.1 硬件開(kāi)發(fā)環(huán)境準(zhǔn)備
1. 預(yù)裝windows系統(tǒng)的PC機(jī)
2. Hi3518EV300 IoT Camera開(kāi)發(fā)板
3. USB轉(zhuǎn)串口線、網(wǎng)線(Windows工作臺(tái)通過(guò)USB轉(zhuǎn)串口線、網(wǎng)線與開(kāi)發(fā)板連接)
4. 開(kāi)發(fā)板介紹參照文檔:Hi3518開(kāi)發(fā)板介紹
5. 淘寶店Hi3518EV300開(kāi)發(fā)板購(gòu)買(mǎi)地址:HarmonyOS HiSpark Aries IPC 攝像頭(Hi3518E)開(kāi)發(fā)板套件
2.2 下載源碼準(zhǔn)備
1. 注冊(cè)碼云gitee賬號(hào)。
2. 注冊(cè)碼云SSH公鑰,請(qǐng)參考碼云幫助中心的公鑰管理:https://gitee.com/help/articles/4181
3. 安裝下載工具
sudo apt-get install git-lfs
sudo apt-get install curl
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
4. 安裝git客戶端并配置用戶信息。
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
5. 安裝碼云repo工具,可以執(zhí)行如下命令。
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
chmod a+x /usr/local/bin/repo
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
下載OpenHarmony源碼
#特別注意:請(qǐng)下載OpenHarmony 1.0.1 版本,后續(xù)會(huì)更新支持OpenHarmony其他版本
repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
下載smart_door_viewer_3518代碼
具體倉(cāng)庫(kù)地址: knowLEDge_demo_smart_home
通過(guò)git命令下載(方便后期代碼上傳管理,建議先將倉(cāng)庫(kù)fork到自己賬號(hào)目錄,然后再下載):
git clone git@gitee.com:xxxxxxx/knowledge_demo_smart_home.git
其中xxxxxxx為fork后相關(guān)賬號(hào)名字。
代碼拷貝
1.在OpenHarmony的vendor目錄下新建一個(gè)team_x的目錄:
mkdir vendor/team_x
2.將下載的智能油煙機(jī)代碼的代碼拷貝到新建的team_x下面:
cp -RF ../knowledge_demo_smart_home/dev/team_x/smart_door_viewer_3518/ vendor/team_x/
3.將下面文件替換到openHarmony1.0.1源碼下的文件
代碼目錄結(jié)構(gòu)
├── smart_door_viewer_3518
│ ├── BUILD.gn // 編譯腳本
│ ├── include
│ │ ├── camera_sample.h // 攝像頭定義頭文件
│ │ ├── rtp.h // rtp協(xié)議傳輸頭文件
│ │ ├── rtsp_log.h // 打印調(diào)試頭文件
│ │ └── rtsp_server.h // rtsp_server頭文件
│ └── src
│ ├── camera_sample.cpp // 攝像頭實(shí)現(xiàn)
│ ├── main.cpp // 主函數(shù)
│ ├── rtp.cpp // rtp協(xié)議實(shí)現(xiàn)
│ └── rtsp_server.cpp // rtsp協(xié)議實(shí)現(xiàn)
├── foundation
│ └── multimedia
│ └── media_lite
│ ├── frameworks
│ │ └── recorder_lite
│ │ ├── recorder.cpp //增加獲取h.265數(shù)據(jù)存放至環(huán)形緩沖區(qū)接口實(shí)現(xiàn)
│ │ ├── recorder_impl.cpp //增加向應(yīng)用層提供環(huán)形緩沖區(qū)接口實(shí)現(xiàn)
│ │ └── recorder_impl.h //增加向應(yīng)用層提供環(huán)形緩沖區(qū)接口定義
│ └── interfaces
│ └── kits
│ └── recorder_lite
│ └── recorder.h //增加獲取h.265數(shù)據(jù)存放至環(huán)形緩沖區(qū)接口定義
2.3 Linux編譯服務(wù)器開(kāi)發(fā)環(huán)境準(zhǔn)備
開(kāi)發(fā)基礎(chǔ)環(huán)境由windows 工作臺(tái)和Linux 編譯服務(wù)器組成。windows 工作臺(tái)通過(guò)samba 服務(wù)或ssh 方式訪問(wèn)Linux編譯服務(wù)器。其中windows 工作臺(tái)用來(lái)燒錄和代碼編輯,Linux編譯服務(wù)器用來(lái)編譯OpenHarmony代碼,為了簡(jiǎn)化步驟,Linux編譯服務(wù)器推薦安裝Ubuntu20.04。
參考官方文檔搭建開(kāi)發(fā)Linux編譯環(huán)境。
1. 系統(tǒng)基礎(chǔ)環(huán)境搭建
2. Hi3518搭建環(huán)境
編譯
源碼和環(huán)境準(zhǔn)備完后,接下來(lái)就是編譯,編譯涉及的指令有2條,hb set和hb build -f
hb set -- 設(shè)置工程目錄和選擇對(duì)應(yīng)的目標(biāo),通過(guò)鍵盤(pán)的上下鍵來(lái)選擇。
hb build -f -- 開(kāi)始全量編譯。(hb build 為增量編譯)
編譯完后會(huì)生成對(duì)應(yīng)整個(gè)系統(tǒng)固件(u-boot-hi3518ev300.bin,OHOS_Image.bin, rootfs_vfat.img, userfs_vfat.img)
以下表格為所有生成的固件及對(duì)應(yīng)的位置:
2.4 固件燒錄燒錄工具選擇
固件編譯完后,是需要燒錄到單板的。這里我們用的是HiTool工具燒錄的。(HiTool工具下載地址:HiHope官網(wǎng))
燒錄步驟
打開(kāi)HiTool工具,如下圖:
燒寫(xiě)步驟按照?qǐng)D中標(biāo)注即可。點(diǎn)擊擦除后再拔出USB口再接入。
擦除成功如下所示。
然后按如下圖選擇,再點(diǎn)擊燒寫(xiě)。
燒錄成功后,會(huì)彈出如下提示,單板也會(huì)自行啟動(dòng)。
單板在啟動(dòng)的時(shí)候需要設(shè)置bootargs,否則不能正常啟動(dòng)。單板第一次啟動(dòng)會(huì)停在hisilicon界面:
輸入以下啟動(dòng)參數(shù):
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
......
-
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5121瀏覽量
98036 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3744瀏覽量
16502
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
OpenHarmony源碼編譯后燒錄鏡像教程,RK3566鴻蒙開(kāi)發(fā)板演示
![<b class='flag-5'>OpenHarmony</b>源碼編譯后燒錄鏡像教程,RK3566鴻蒙<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>演示</b>](https://file1.elecfans.com/web3/M00/04/41/wKgZO2dyAH2AFFx6AAB2FN45Lh8124.png)
OpenHarmony怎么修改DPI密度值?觸覺(jué)智能RK3566鴻蒙開(kāi)發(fā)板演示
![<b class='flag-5'>OpenHarmony</b>怎么修改DPI密度值?觸覺(jué)<b class='flag-5'>智能</b>RK3566鴻蒙<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>演示</b>](https://file1.elecfans.com/web3/M00/03/8B/wKgZPGdqLoyAKZgAAAB1wHV_XdE820.png)
OpenHarmony默認(rèn)30秒熄屏太麻煩?觸覺(jué)智能鴻蒙開(kāi)發(fā)板教你輕松取消
![<b class='flag-5'>OpenHarmony</b>默認(rèn)30秒熄屏太麻煩?觸覺(jué)<b class='flag-5'>智能</b>鴻蒙<b class='flag-5'>開(kāi)發(fā)板</b>教你輕松取消](https://file1.elecfans.com/web3/M00/01/8E/wKgZPGdWZ_GAGdDCAAB7Ia_4sBM517.png)
OpenHarmony屬性信息怎么修改?觸覺(jué)智能RK3566鴻蒙開(kāi)發(fā)板來(lái)演示
![<b class='flag-5'>OpenHarmony</b>屬性信息怎么修改?觸覺(jué)<b class='flag-5'>智能</b>RK3566鴻蒙<b class='flag-5'>開(kāi)發(fā)板</b>來(lái)<b class='flag-5'>演示</b>](https://file1.elecfans.com/web3/M00/00/12/wKgZPGdGdlaAQcG2AAB7LqkFe94757.png)
如何在Linux系統(tǒng)實(shí)現(xiàn)屏幕旋轉(zhuǎn)?觸覺(jué)智能RK3568鴻蒙開(kāi)發(fā)板演示
![如何在Linux系統(tǒng)實(shí)現(xiàn)屏幕旋轉(zhuǎn)?觸覺(jué)<b class='flag-5'>智能</b>RK3568鴻蒙<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>演示</b>](https://file1.elecfans.com/web1/M00/F5/74/wKgaoWc8sZ-AEqN-AAB7qAk7FAo025.png)
如何在開(kāi)源鴻蒙OpenHarmony開(kāi)啟SELinux模式?RK3566鴻蒙開(kāi)發(fā)板演示
![如何在開(kāi)源鴻蒙<b class='flag-5'>OpenHarmony</b>開(kāi)啟SELinux模式?RK3566鴻蒙<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>演示</b>](https://file1.elecfans.com/web2/M00/0C/C1/wKgaomc7Hr6AL1UtAAB6Pp_Ckc0170.png)
鴻蒙OpenHarmony【基于Hi3516DV300開(kāi)發(fā)板(時(shí)鐘應(yīng)用開(kāi)發(fā))】
![鴻蒙<b class='flag-5'>OpenHarmony</b>【基于<b class='flag-5'>Hi</b>3516DV300<b class='flag-5'>開(kāi)發(fā)板</b>(時(shí)鐘應(yīng)用<b class='flag-5'>開(kāi)發(fā)</b>)】](https://file1.elecfans.com/web2/M00/E2/07/wKgZomY6GKSAUIhwAAClthbkdmU534.jpg)
鴻蒙OpenHarmony南向:【Hi3861開(kāi)發(fā)板介紹】
![鴻蒙<b class='flag-5'>OpenHarmony</b>南向:【<b class='flag-5'>Hi</b>3861<b class='flag-5'>開(kāi)發(fā)板</b>介紹】](https://file1.elecfans.com/web2/M00/E1/98/wKgaomY4nymAGhj6AAiNkRdS0qQ673.jpg)
鴻蒙OpenHarmony【輕量系統(tǒng) 環(huán)境搭建】 (基于Hi3861開(kāi)發(fā)板)
![鴻蒙<b class='flag-5'>OpenHarmony</b>【輕量系統(tǒng) 環(huán)境搭建】 (基于<b class='flag-5'>Hi</b>3861<b class='flag-5'>開(kāi)發(fā)板</b>)](https://file1.elecfans.com/web2/M00/DB/70/wKgZomYrdQKAVmNbAAD2f7eOBJs616.jpg)
鴻蒙OpenHarmony【集成三方SDK】 (基于Hi3861開(kāi)發(fā)板)
![鴻蒙<b class='flag-5'>OpenHarmony</b>【集成三方SDK】 (基于<b class='flag-5'>Hi</b>3861<b class='flag-5'>開(kāi)發(fā)板</b>)](https://file1.elecfans.com/web2/M00/C5/CD/wKgZomYCdwyAIFf5AAB_7E1pFms943.jpg)
OpenHarmony鴻蒙南向開(kāi)發(fā)案例:【智能貓眼(基于Hi3518開(kāi)發(fā)板)】
![<b class='flag-5'>OpenHarmony</b>鴻蒙南向<b class='flag-5'>開(kāi)發(fā)</b>案例:【<b class='flag-5'>智能</b><b class='flag-5'>貓眼</b>(基于<b class='flag-5'>Hi3518</b><b class='flag-5'>開(kāi)發(fā)板</b>)】](https://file1.elecfans.com/web2/M00/D3/A2/wKgZomYlGnGAEsJrAAnql-cr_sM996.jpg)
OpenHarmony鴻蒙南向開(kāi)發(fā)案例:【智能貓眼(基于3516開(kāi)發(fā)板)】
![<b class='flag-5'>OpenHarmony</b>鴻蒙南向<b class='flag-5'>開(kāi)發(fā)</b>案例:【<b class='flag-5'>智能</b><b class='flag-5'>貓眼</b>(基于3516<b class='flag-5'>開(kāi)發(fā)板</b>)】](https://file1.elecfans.com/web2/M00/D1/4F/wKgaomYidIOAb5t-AASi2dMK2KA073.jpg)
OpenHarmony南向開(kāi)發(fā)案例:【智能油煙機(jī)】
![<b class='flag-5'>OpenHarmony</b>南向<b class='flag-5'>開(kāi)發(fā)</b>案例:【<b class='flag-5'>智能</b>油煙機(jī)】](https://file1.elecfans.com/web2/M00/CD/1C/wKgZomYgzqSAWRzHAACSXrVIsDk052.jpg)
OpenHarmony南向開(kāi)發(fā)案例:【智能中控屏】
![<b class='flag-5'>OpenHarmony</b>南向<b class='flag-5'>開(kāi)發(fā)</b>案例:【<b class='flag-5'>智能</b>中控屏】](https://file1.elecfans.com/web2/M00/CB/1C/wKgZomYfgqiAMRwpAACiuTXEuS8868.jpg)
評(píng)論