0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenHarmony南向開發(fā)案例:【智能照相機】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-18 22:19 ? 次閱讀

樣例簡介

本Demo是基于Hi3516開發(fā)板,使用OpenHarmony3.0-LTS開發(fā)的應用。通過獲取攝像頭數(shù)據(jù),實現(xiàn)預覽拍照以及路視頻等功能。并且通過后臺AI服務識別喚醒詞來進行語音控制拍照及錄制視頻。

應用運行效果圖:

運行效果

此為相機的預覽界面。

樣例原理

效果示意圖

如上圖所示,用戶對著相機說對應的喚醒此,相機收集到對應的音頻,經(jīng)過AI服務識別對應的文字,最后傳到相機進行對應的操作。

工程版本

  • 系統(tǒng)版本/API版本:OpenHarmony3.0-LTS
  • IDE版本:DevEco Device Tool Release 3.0.0.401

快速上手

搜狗高速瀏覽器截圖20240326151344.png

鴻蒙HarmonyOS與OpenHarmony開發(fā)文檔參考

#### 準備硬件環(huán)境

* Hi3516DV300 IoT Camera開發(fā)板套件

#### 準備開發(fā)環(huán)境

開發(fā)環(huán)境安裝配置參照文檔:[DevEco Device Tool 環(huán)境搭建][`gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md`](https://gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md)點擊或復制轉到。

#### 準備工程

本用例采DevEco Device Tool工具進行開發(fā),當配置完開發(fā)環(huán)境后,我們可以在IDE上進行工程的配置下載。

* 打開DevEco Device Tool,連接遠程linux服務器:[DevEco Device Tool 環(huán)境搭建]
* 點擊左下角DevEco插件圖標,然后點擊左邊框出現(xiàn)的主頁,彈出主頁界面,主頁中選擇新建項目,如下圖:

![main_config](//file1.elecfans.com/web2/M00/C6/C2/wKgZomYMFM2AZ8n7AAC9W_lXmoc898.jpg)

* 配置下載工程

![config download](//file1.elecfans.com/web2/M00/C7/A5/wKgaomYMFM2ATHN-AACMaStfbsw516.jpg)

如上圖所示,填寫對應樣例工程的名稱,選擇對應的樣例組件和樣例工程存放路徑后,點擊創(chuàng)建即可進行樣例工程的下載。下載界面如下:

![download](//file1.elecfans.com/web2/M00/CE/C0/wKgaomYhKgmAXmMtAACJ9gUzNcs185.jpg)

當右下角顯示正在下載OpenHarmony鏡像時,耐心等待下載完成即可。

![download](//file1.elecfans.com/web2/M00/CE/C0/wKgaomYhKgmAJPnLAAEzsaT05Yc111.jpg)

#### 準備工具鏈

* 在Projects中,點擊Settings按鈕,進入配置工程界面。
* 在toolchain頁簽中,DevEco Device Tool會自動檢測依賴的編譯工具鏈是否完備,如果提示部分工具缺失,可點擊SetUp按鈕,自動安裝所需工具鏈。
* 工具鏈自動安裝完成后如下圖所示。

![工具鏈配置成功](//file1.elecfans.com/web2/M00/CE/C0/wKgaomYhKgmAGsHGAAEj9TUMXZY952.jpg)

#### 編譯

樣例代碼下載完成后,DevEco Device Tool會重新要求連接遠程服務器,輸入密碼連接后會進入對應的代碼編輯界面,此時點擊左下角DevEco插件圖標,選擇PROJECT TASKS可以查看到對應的樣例工程,點擊build選項進行編譯,并可在終端查看對應的編譯結果。

![build](//file1.elecfans.com/web2/M00/CD/E0/wKgZomYhKgmAHlVsAAII_kl0tMM036.jpg)

固件生成在對應工程目錄的out/hispark_taurus/smart_camera/目錄下。

![firm](//file1.elecfans.com/web2/M00/CD/E0/wKgZomYhKgmAVSfpAACATS5y4ZM629.jpg)

#### 燒錄/安裝

編譯完成后可以通過DevEco Device Tool進行燒錄,在燒錄前需要做一些燒錄的配置:

##### 配置準備

在配置燒錄前需要先查看DevEco Device Tool是否可以正常識別串口。

* 點擊左邊欄"REMOTE DEVELOPMENT",找到 并點擊” Local PC “ 選項。
* 查看 Local PC右邊圖標
  如若圖標為![方型圖標](//file1.elecfans.com/web2/M00/C8/36/wKgaomYSm-6AacqFAAAAyP4i3c8105.jpg),則代表DevEco Device Tool已連接本地,可以正常識別串口。
  如若圖標為![箭頭圖標](//file1.elecfans.com/web2/M00/C8/36/wKgaomYSm-6AcSn2AAABM8ZHpZc613.jpg),則代表DevEco Device Tool未連接本地,不能識別串口,此時需要點擊該綠色圖標進行連接,連接成功后圖標會變?yōu)?[方型圖標](//file1.elecfans.com/web2/M00/C8/36/wKgaomYSm-6AacqFAAAAyP4i3c8105.jpg)。

![check local pc](//file1.elecfans.com/web2/M00/CD/E0/wKgZomYhKgmAMJeNAADZlR4r_l4731.jpg)

* 點擊主頁,在主頁選擇對應工程,點擊配置工程進入到配置頁面

![start config project](//file1.elecfans.com/web2/M00/CD/E0/wKgZomYhKgqAc5faAAI8QG3Tq6s612.jpg)

##### 配置串口

配置頁面選擇的板級配置頁面,在該頁面查找到燒錄選項,配置燒錄選項中的upload_port和upload_protocol,upload_port選擇開發(fā)板對應的串口號,upload_protocol默認選擇hiburn-usb,最后點擊右上角的保存按鈕進行保存。

![config searail](//file1.elecfans.com/web2/M00/CE/C0/wKgaomYhKgqAVqwlAAISm3kxsfw546.jpg)

##### 燒錄

* 當配置完串口以及固件后,直接點擊左邊欄工程管理中的upload即可啟動燒錄。

![burn](//file1.elecfans.com/web2/M00/C8/79/wKgaomYU6-yAPH9XAAA9xRC_EdA356.jpg)

* 在終端窗口顯示如下藍色提示信息時,在終端按下任意鍵繼續(xù)燒錄。

![continueburn](//file1.elecfans.com/web2/M00/C8/79/wKgaomYU6-yAPbBGAADe_Zd1pmw440.jpg)

* 在終端窗口顯示如下提示信息時,按住復位鍵,插拔USB線,最后松開復位鍵啟動燒錄。

![startburn](//file1.elecfans.com/web2/M00/C8/79/wKgaomYU6-yAW0C9AAGWb5x1VSQ145.jpg)

* 啟動燒錄后,界面提示如下信息時,表示燒錄成功。

![burnseccess](//file1.elecfans.com/web2/M00/C7/93/wKgZomYU6-yADPsDAAEabVCWDJg867.jpg)

##### 設備啟動

如果是第一次燒錄程序的話,單板在啟動的時候需要設置bootargs,否則不能正常啟動。單板第一次啟動會停在hisilicon界面:

![set bootargs](//file1.elecfans.com/web2/M00/C8/79/wKgaomYU6-yAM_3DAABg67BvIUo659.jpg)

我們需要輸入以下指令:

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

##### 打包應用

本demo是以安裝包的形式安裝到系統(tǒng)中啟動運行的。因此,在安裝應用前,需要將應用打包成安裝包。 將編譯好的libsmart_camera.so文件與工程目錄下的res以及config.json文件通過壓縮打包成zip格式(三個文件直接壓縮,不能壓縮文件夾),并將后綴名改為hap(smart_camera.hap)。

![hap file](//file1.elecfans.com/web2/M00/CD/E0/wKgZomYhKgqAG4UIAABdl0LyZCY199.jpg)

##### 掛載NFS

應用打包后,我們是通過NFS方式將單板掛載到本地,通過相關的指令來安裝的

![mount nfs](//file1.elecfans.com/web2/M00/C7/93/wKgZomYU6-yAcFyGAAAW4QLRaLQ315.jpg)

##### 安裝

通過nfs是單板連接到本地電腦后,我們可以通過bm安裝指令進行安裝。bm 安裝工具在系統(tǒng)編譯完后會自動生成,路徑在:

out/hispark_taurus/smart_camera/dev_tools/bin/

![bm](//file1.elecfans.com/web2/M00/CE/C0/wKgaomYhKgqATyYiAABvnoo-EY0618.jpg)

由于bm默認安裝的應用為已經(jīng)簽名的應用,所以我們在安裝前需要先將簽名去掉。

bm set -s disable // 去簽名
bm install -p filename // 安裝應用filename, filename需要指定路徑

![bm install](//file1.elecfans.com/web2/M00/CE/C0/wKgaomYhKgqAZa3qAADfquLAiuA661.jpg)

安裝完后桌面會顯示對應應用的ICON,直接點擊ICON即可以啟動相機的應用。

#### 操作體驗

![大屏6](//file1.elecfans.com/web2/M00/CD/E0/wKgZomYhKgqAJdA6AAUrvAwFRxo750.jpg)

* 由于本demo涉及到攝像頭的讀寫,故需要申請了相關的權限。在使用本demo前需要在setting中打開對應的權限。具體操作:

? 點擊 setting-->應用-->smart_camera,然后將所有權限打開。

* 本demo帶有相機的所有功能,包含預覽,拍照,錄像以及跳轉到圖庫查看對應拍的圖片和錄制的視頻。
* 本demo最主要的功能是語音控制相機,需要對準板子上的mic風說喚醒詞,目前支持2個喚醒詞(Hi,xiaowen以及Nihao,wenwen),分別對應控制相機的拍照以及錄像功能。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 照相機
    +關注

    關注

    0

    文章

    68

    瀏覽量

    26923
  • 鴻蒙
    +關注

    關注

    57

    文章

    2302

    瀏覽量

    42689
  • OpenHarmony
    +關注

    關注

    25

    文章

    3635

    瀏覽量

    16061
收藏 人收藏

    評論

    相關推薦

    鴻蒙OpenHarmony南向/北向快速開發(fā)教程-迅為RK3568開發(fā)

    P2_OpenHarmony功能框架 P3_OpenHarmony技術特性 P4_OpenHarmony支持設備類型 p5_南向開發(fā)和北向
    發(fā)表于 07-23 10:44

    HarmonyOS開發(fā)案例:【相機開發(fā)

    相機OpenHarmony多媒體進程提供的服務之一,提供了相機的錄像、預覽、拍照功能,支持多用戶并發(fā)取流。
    的頭像 發(fā)表于 04-23 21:20 ?339次閱讀
    HarmonyOS<b class='flag-5'>開發(fā)案</b>例:【<b class='flag-5'>相機</b><b class='flag-5'>開發(fā)</b>】

    OpenHarmony鴻蒙南向開發(fā)案例:【智能窗戶通風設備】

    本文檔介紹了安全廚房案例中的相關智能窗戶通風設備,本安全廚房案例利用輕量級軟總線能力,將兩塊歐智通V200Z-R/BES2600開發(fā)板模擬的智能窗戶通風設備和燃氣告警設備組合成。當燃氣數(shù)值告警時,無需其它操作,直接通知軟總線網(wǎng)絡
    的頭像 發(fā)表于 04-22 17:20 ?403次閱讀
    <b class='flag-5'>OpenHarmony</b>鴻蒙<b class='flag-5'>南向</b><b class='flag-5'>開發(fā)案</b>例:【<b class='flag-5'>智能</b>窗戶通風設備】

    OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于Hi3518開發(fā)板)】

    基于Hi3518開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應用。達到將Hi3518開發(fā)板中攝像頭獲取的數(shù)據(jù)通過RTSP協(xié)議傳輸?shù)绞謾C并顯示 。
    的頭像 發(fā)表于 04-22 15:46 ?1874次閱讀
    <b class='flag-5'>OpenHarmony</b>鴻蒙<b class='flag-5'>南向</b><b class='flag-5'>開發(fā)案</b>例:【<b class='flag-5'>智能</b>貓眼(基于Hi3518<b class='flag-5'>開發(fā)</b>板)】

    OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于3516開發(fā)板)】

    基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應用。達到將Hi3516開發(fā)板中攝像頭獲取的數(shù)據(jù)通過RTSP協(xié)議傳輸?shù)绞謾C并顯示 。
    的頭像 發(fā)表于 04-19 22:01 ?530次閱讀
    <b class='flag-5'>OpenHarmony</b>鴻蒙<b class='flag-5'>南向</b><b class='flag-5'>開發(fā)案</b>例:【<b class='flag-5'>智能</b>貓眼(基于3516<b class='flag-5'>開發(fā)</b>板)】

    OpenHarmony鴻蒙南向開發(fā)案例:【智能燃氣檢測設備】

    安全廚房案例中的相關智能燃氣檢測設備,本安全廚房案例利用輕量級軟總線能力,將兩塊歐智通V200Z-R/BES2600開發(fā)板模擬的智能燃氣檢測設備和燃氣告警設備組合成。當燃氣數(shù)值告警時,無需其它操作,直接通知軟總線網(wǎng)絡中的通風設備
    的頭像 發(fā)表于 04-19 17:17 ?574次閱讀
    <b class='flag-5'>OpenHarmony</b>鴻蒙<b class='flag-5'>南向</b><b class='flag-5'>開發(fā)案</b>例:【<b class='flag-5'>智能</b>燃氣檢測設備】

    OpenHarmony鴻蒙南向開發(fā)案例:【智能加濕器】

    智能加濕器具有實時監(jiān)控其所處環(huán)境溫度、濕度,并通過數(shù)字管家設置日程,自動打開加濕器控制濕度功能。
    的頭像 發(fā)表于 04-19 15:50 ?1322次閱讀
    <b class='flag-5'>OpenHarmony</b>鴻蒙<b class='flag-5'>南向</b><b class='flag-5'>開發(fā)案</b>例:【<b class='flag-5'>智能</b>加濕器】

    OpenHarmony鴻蒙南向開發(fā)案例:【智能門鈴】

    智能門鈴通過監(jiān)控來訪者信息,告訴主人門外是否有人按鈴、有陌生人靠近或者無人狀態(tài)。
    的頭像 發(fā)表于 04-19 15:35 ?488次閱讀
    <b class='flag-5'>OpenHarmony</b>鴻蒙<b class='flag-5'>南向</b><b class='flag-5'>開發(fā)案</b>例:【<b class='flag-5'>智能</b>門鈴】

    OpenHarmony南向開發(fā)案例:【智能油煙機】

    基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的應用。
    的頭像 發(fā)表于 04-18 15:54 ?977次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>開發(fā)案</b>例:【<b class='flag-5'>智能</b>油煙機】

    OpenHarmony南向開發(fā)案例:【智能中控屏】

    基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的應用。通過控制面板可以控制同一局域網(wǎng)內的空調,窗簾,燈等智能家居設備。
    的頭像 發(fā)表于 04-17 16:12 ?343次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>開發(fā)案</b>例:【<b class='flag-5'>智能</b>中控屏】

    OpenHarmony南向開發(fā)案例:【智能門鎖】

    不僅可以接收數(shù)字管家應用下發(fā)的指令來控制門鎖開啟,而且還可以通過數(shù)字管家設置不同的開鎖密碼以及一次性密碼,實現(xiàn)給臨時用戶一個臨時密碼,保證門戶安全。當然除了開鎖的功能,智能門鎖還可以通過檢測門與門鎖距離自動上鎖以及如果長時間未上鎖,上報告警消息到數(shù)字管家,及時提醒用戶關門關鎖等功能。
    的頭像 發(fā)表于 04-13 22:38 ?902次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>開發(fā)案</b>例:【<b class='flag-5'>智能</b>門鎖】

    OpenHarmony南向開發(fā)案例:【分布式畫板】

    使用OpenHarmony3.1-Release開發(fā)的應用。通過OpenHarmony的分布式技術,使多人能夠一起畫畫。
    的頭像 發(fā)表于 04-12 14:40 ?966次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>開發(fā)案</b>例:【分布式畫板】

    OpenHarmony南向開發(fā)案例:【智能風扇】

    智能風扇設備不僅可以接收數(shù)字管家應用下發(fā)的指令來控制風扇開啟的時間,調節(jié)風扇擋位,更改風扇定時時間,而且還可以加入到數(shù)字管家的日程管理中。通過日程可以設定風扇相關的任務,使其在特定的時間段內,風扇自動打開或者關閉,調節(jié)擋位大小和定時時間;通過日程管家還可以實現(xiàn)風扇和其他的智能
    的頭像 發(fā)表于 04-09 17:35 ?830次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>開發(fā)案</b>例:【<b class='flag-5'>智能</b>風扇】

    OpenHarmony南向能力征集令

    1、適配過程中缺少哪些接口能力或者南向能力,需要OpenHarmony去補齊的?例如內核、編譯、器件適配、單板適配等; 2、對標linux,需要OpenHarmony提供哪些能力?比如V4L2
    發(fā)表于 04-09 15:32

    鴻蒙NEXT南向開發(fā)案例:【智能臺燈】

    鴻蒙南向開發(fā)智能臺燈案例
    的頭像 發(fā)表于 04-03 18:00 ?913次閱讀
    鴻蒙NEXT<b class='flag-5'>南向</b><b class='flag-5'>開發(fā)案</b>例:【<b class='flag-5'>智能</b>臺燈】