“
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-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工具,可以執行如下命令。
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_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
......
-
開發板
+關注
關注
25文章
5068瀏覽量
97625 -
OpenHarmony
+關注
關注
25文章
3726瀏覽量
16375
發布評論請先 登錄
相關推薦
評論