1概述
本Demo是基于Hi3516開發板,使用開源OpenHarmony開發的RTSP協議流媒體應用,達到將Hi3516開發板中攝像頭獲取的數據通過RTSP協議傳輸到手機并顯示 。
1.1 應用運行效果圖
1.2 設備與手機間交互示意圖
如上圖所示,手機播放3516攝像頭采集的視頻數據。
2快速上手
2.1 硬件開發環境準備
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工具,可以執行如下命令
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 版本,后續會更新支持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_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編譯環境。
-
系統基礎環境搭建
-
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";
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查看連接狀態:
運行應用
1、在串口下輸入
./bin/rtsp_server
打印如下表示設備應用已準備完畢
4、在手機應用市場中搜索”完美播放器“并下載安裝。
5、打開菜單選擇網址播放。
6、輸入rtsp播放地址,其中ip地址192.168.43.118為3516DV300板子中的地址。
效果動圖
原文標題:基于 Hi3516 開發板開發的智能貓眼
文章出處:【微信公眾號:HarmonyOS官方合作社區】歡迎添加關注!文章轉載請注明出處。
-
開源
+關注
關注
3文章
3349瀏覽量
42499 -
開發板
+關注
關注
25文章
5050瀏覽量
97471 -
Hi3516
+關注
關注
1文章
21瀏覽量
15899 -
OpenHarmony
+關注
關注
25文章
3722瀏覽量
16317
原文標題:基于 Hi3516 開發板開發的智能貓眼
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論