1概述
本Demo是基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應用,達到將Hi3516開發(fā)板中攝像頭獲取的數據通過RTSP協(xié)議傳輸到手機并顯示 。
1.1 應用運行效果圖
1.2 設備與手機間交互示意圖
如上圖所示,手機播放3516攝像頭采集的視頻數據。
2快速上手
2.1 硬件開發(fā)環(huán)境準備
-
預裝windows系統(tǒng)的PC機
-
Hi3516DV300 IoT Camera開發(fā)板
-
USB轉串口線、網線(Windows工作臺通過USB轉串口線、網線與開發(fā)板連接)
-
開發(fā)板介紹參照文檔
2.2下載源碼
準備
sudo apt-get install git-lfs
sudo apt-get install curl
sudo 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工具,可以執(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源碼
#特別注意:請下載OpenHarmony 1.0.1 版本,后續(xù)會更新支持OpenHarmony其他版本
repo init -u [email protected]:openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
左右滑動查看全部內容
下載smart_door_viewer_3516代碼
具體倉庫地址: knowledge_demo_smart_home
通過git命令下載(方便后期代碼上傳管理,建議先將倉庫fork到自己賬號目錄,然后再下載):
git clone [email protected]: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協(xié)議傳輸頭文件
│ │ ├── rtsp_log.h // 打印調試頭文件
│ │ └── rtsp_server.h // rtsp_server頭文件
│ └── src
│ ├── camera_sample.cpp // 攝像頭實現
│ ├── main.cpp // 主函數
│ ├── rtp.cpp // rtp協(xié)議實現
│ └── rtsp_server.cpp // rtsp協(xié)議實現
├── foundation
│ └── multimedia
│ └── media_lite
│ ├── frameworks
│ │ └── recorder_lite
│ │ ├── recorder.cpp //增加獲取h.265數據存放至環(huán)形緩沖區(qū)接口實現
│ │ ├── recorder_impl.cpp //增加向應用層提供環(huán)形緩沖區(qū)接口實現
│ │ └── recorder_impl.h //增加向應用層提供環(huán)形緩沖區(qū)接口定義
│ └── interfaces
│ └── kits
│ └── recorder_lite
│ └── recorder.h //增加獲取h.265數據存放至環(huán)形緩沖區(qū)接口定義
左右滑動查看全部內容
2.3Linux編譯服務器開發(fā)環(huán)境準備
開發(fā)基礎環(huán)境由windows 工作臺和Linux 編譯服務器組成。windows 工作臺通過samba 服務或ssh 方式訪問Linux編譯服務器。其中windows 工作臺用來燒錄和代碼編輯,Linux編譯服務器用來編譯OpenHarmony代碼,為了簡化步驟,Linux編譯服務器推薦安裝Ubuntu20.04。
參考官方文檔搭建開發(fā)Linux編譯環(huán)境。
-
系統(tǒng)基礎環(huán)境搭建
-
Hi3516搭建環(huán)境
編譯
源碼和環(huán)境準備完后,接下來就是編譯,編譯涉及的指令有2條,hb set和hb build -f 。
hb set -- 設置工程目錄和選擇對應的目標,通過鍵盤的上下鍵來選擇。
左右滑動查看全部內容
hb build -f -- 開始全量編譯。(hb build 為增量編譯)
左右滑動查看全部內容
編譯完后會生成對應整個系統(tǒng)固件(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";
saveenv
reset
左右滑動查看全部內容
到此,燒錄已經完成,設備也正常啟動。
3
啟動rtsp_server應用
開啟熱點
準備一部手機開啟熱點設置
ssid為"SMedia",
password為”12345678“。
左右滑動查看全部內容
設備連接熱點
1、準備一張SD卡插入到插槽內。
2、進入3516的shell輸入如下命令連接熱點:
./bin/wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf
左右滑動查看全部內容
3、在3516中輸入ifconfig查看連接狀態(tài):
運行應用
1、在串口下輸入
./bin/rtsp_server
打印如下表示設備應用已準備完畢
4、在手機應用市場中搜索”完美播放器“并下載安裝。
5、打開菜單選擇網址播放。
6、輸入rtsp播放地址,其中ip地址192.168.43.118為3516DV300板子中的地址。
效果動圖
原文標題:基于 Hi3516 開發(fā)板開發(fā)的智能貓眼
文章出處:【微信公眾號:HarmonyOS官方合作社區(qū)】歡迎添加關注!文章轉載請注明出處。
-
開源
+關注
關注
3文章
3398瀏覽量
42687 -
開發(fā)板
+關注
關注
25文章
5121瀏覽量
98112 -
Hi3516
+關注
關注
1文章
21瀏覽量
15925 -
OpenHarmony
+關注
關注
25文章
3744瀏覽量
16542
原文標題:基于 Hi3516 開發(fā)板開發(fā)的智能貓眼
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論