1概述
本Demo是基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應(yīng)用,達(dá)到將Hi3516開發(fā)板中攝像頭獲取的數(shù)據(jù)通過RTSP協(xié)議傳輸?shù)?a target="_blank">手機(jī)并顯示 。
1.1 應(yīng)用運(yùn)行效果圖
1.2 設(shè)備與手機(jī)間交互示意圖
如上圖所示,手機(jī)播放3516攝像頭采集的視頻數(shù)據(jù)。
2快速上手
2.1 硬件開發(fā)環(huán)境準(zhǔn)備
-
預(yù)裝windows系統(tǒng)的PC機(jī)
-
Hi3516DV300 IoT Camera開發(fā)板
-
USB轉(zhuǎn)串口線、網(wǎng)線(Windows工作臺(tái)通過USB轉(zhuǎn)串口線、網(wǎng)線與開發(fā)板連接)
-
開發(fā)板介紹參照文檔
2.2下載源碼
準(zhǔn)備
-
注冊(cè)碼云gitee賬號(hào)。
-
注冊(cè)碼云SSH公鑰,請(qǐng)參考碼云幫助中心的公鑰管理:https://gitee.com/help/articles/4181
-
安裝并設(shè)置編譯工具
sudo apt-get install git-lfs
sudo apt-get install curl
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
左右滑動(dòng)查看全部?jī)?nèi)容
-
安裝git客戶端并配置用戶信息
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
左右滑動(dòng)查看全部?jī)?nèi)容
安裝碼云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
左右滑動(dòng)查看全部?jī)?nèi)容
下載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'
左右滑動(dòng)查看全部?jī)?nèi)容
下載smart_door_viewer_3516代碼
具體倉庫地址: knowledge_demo_smart_home
通過git命令下載(方便后期代碼上傳管理,建議先將倉庫fork到自己賬號(hào)目錄,然后再下載):
git clone git@gitee.com:xxxxxxx/knowledge_demo_smart_home.git
其中xxxxxxx為fork后相關(guān)賬號(hào)名字。
左右滑動(dòng)查看全部?jī)?nèi)容
代碼拷貝
在OpenHarmony的vendor目錄下新建一個(gè)team_x的目錄:
mkdir vendor/team_x
左右滑動(dòng)查看全部?jī)?nèi)容
將下載的智能油煙機(jī)代碼的代碼拷貝到新建的team_x下面:
cp -rf ../knowledge_demo_smart_home/dev/team_x/smart_door_viewer_3516/ vendor/team_x/
左右滑動(dòng)查看全部?jī)?nèi)容
將下面文件替換到openHarmony1.0.1源碼下的文件
代碼目錄結(jié)構(gòu)
├── smart_door_viewer_3516
│ ├── 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ū)接口定義
左右滑動(dòng)查看全部?jī)?nèi)容
2.3Linux編譯服務(wù)器開發(fā)環(huán)境準(zhǔn)備
開發(fā)基礎(chǔ)環(huán)境由windows 工作臺(tái)和Linux 編譯服務(wù)器組成。windows 工作臺(tái)通過samba 服務(wù)或ssh 方式訪問Linux編譯服務(wù)器。其中windows 工作臺(tái)用來燒錄和代碼編輯,Linux編譯服務(wù)器用來編譯OpenHarmony代碼,為了簡(jiǎn)化步驟,Linux編譯服務(wù)器推薦安裝Ubuntu20.04。
參考官方文檔搭建開發(fā)Linux編譯環(huán)境。
-
系統(tǒng)基礎(chǔ)環(huán)境搭建
-
Hi3516搭建環(huán)境
編譯
源碼和環(huán)境準(zhǔn)備完后,接下來就是編譯,編譯涉及的指令有2條,hb set和hb build -f 。
hb set -- 設(shè)置工程目錄和選擇對(duì)應(yīng)的目標(biāo),通過鍵盤的上下鍵來選擇。
左右滑動(dòng)查看全部?jī)?nèi)容
hb build -f -- 開始全量編譯。(hb build 為增量編譯)
左右滑動(dòng)查看全部?jī)?nèi)容
編譯完后會(huì)生成對(duì)應(yīng)整個(gè)系統(tǒng)固件(u-boot-hi3516dv300.bin,OHOS_Image.bin, rootfs_vfat.img, userfs_vfat.img)
以下表格為所有生成的固件及對(duì)應(yīng)的位置:
2.4固件燒錄
燒錄工具選擇
固件編譯完后,是需要燒錄到單板的。這里我們用的是HiTool工具燒錄的。(HiTool工具下載地址:HiHope官網(wǎng))
燒錄步驟
打開HiTool工具,如下圖:
燒寫步驟按照?qǐng)D中標(biāo)注即可。點(diǎn)擊燒入后,燒錄工具會(huì)提示重新上電,此時(shí)重啟單板即可。
燒錄結(jié)果
燒錄成功后,會(huì)彈出如下提示,單板也會(huì)自行啟動(dòng)。
2.5特別說明
如果是第一次燒錄程序的話,單板在啟動(dòng)的時(shí)候需要設(shè)置bootargs,否則不能正常啟動(dòng)。單板第一次啟動(dòng)會(huì)停在hisilicon界面:
輸入以下啟動(dòng)參數(shù):
setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000";
setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=20M rw";
saveenv
reset
左右滑動(dòng)查看全部?jī)?nèi)容
到此,燒錄已經(jīng)完成,設(shè)備也正常啟動(dòng)。
3
啟動(dòng)rtsp_server應(yīng)用
開啟熱點(diǎn)
準(zhǔn)備一部手機(jī)開啟熱點(diǎn)設(shè)置
ssid為"SMedia",
password為”12345678“。
左右滑動(dòng)查看全部?jī)?nèi)容
設(shè)備連接熱點(diǎn)
1、準(zhǔn)備一張SD卡插入到插槽內(nèi)。
2、進(jìn)入3516的shell輸入如下命令連接熱點(diǎn):
./bin/wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf
左右滑動(dòng)查看全部?jī)?nèi)容
3、在3516中輸入ifconfig查看連接狀態(tài):
運(yùn)行應(yīng)用
1、在串口下輸入
./bin/rtsp_server
打印如下表示設(shè)備應(yīng)用已準(zhǔn)備完畢
4、在手機(jī)應(yīng)用市場(chǎng)中搜索”完美播放器“并下載安裝。
5、打開菜單選擇網(wǎng)址播放。
6、輸入rtsp播放地址,其中ip地址192.168.43.118為3516DV300板子中的地址。
效果動(dòng)圖
原文標(biāo)題:基于 Hi3516 開發(fā)板開發(fā)的智能貓眼
文章出處:【微信公眾號(hào):HarmonyOS官方合作社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
開源
+關(guān)注
關(guān)注
3文章
3309瀏覽量
42471 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97371 -
Hi3516
+關(guān)注
關(guān)注
1文章
21瀏覽量
15889 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3713瀏覽量
16254
原文標(biāo)題:基于 Hi3516 開發(fā)板開發(fā)的智能貓眼
文章出處:【微信號(hào):HarmonyOS_Community,微信公眾號(hào):電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論