91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于OpenHarmony的智能金屬探測(cè)器

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-06-23 14:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、簡介

智能金屬探測(cè)器是基于 OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)操作系統(tǒng),利用電磁感應(yīng)原理來探測(cè)周圍的金屬物體。該樣例采用多設(shè)備協(xié)同的方式,兼容 OpenHarmony 設(shè)備開發(fā)與應(yīng)用開發(fā),整個(gè)樣例體現(xiàn)了 OpenHarmony 的 NAPI、eTS UI、UI 管理狀態(tài) @state 和音頻播放等技術(shù)特性。

62c46bcc-f22e-11ec-ba43-dac502259ad0.png

本項(xiàng)目由 Geek_Lite_Board 開發(fā)板和潤和 RK3568 開發(fā)板構(gòu)成,Geek_Lite_Board 開發(fā)板主控芯片為 STM32F427IIH6,作為設(shè)備端檢測(cè)磁場(chǎng)強(qiáng)度的變化,使用的是 OpenHarmony 3.0 LTS 版本。潤和 RK3568 開發(fā)板是由潤和軟件研發(fā),采用瑞芯微 RK3568 芯片,作為應(yīng)用端顯示金屬探測(cè)信息,使用的是 OpenHarmony 3.1 Release 版本。

二、運(yùn)行效果

當(dāng)周圍有金屬靠近時(shí),設(shè)備端蜂鳴器會(huì)發(fā)出警報(bào)并把檢測(cè)信息通過 Wi-Fi 模組發(fā)送給應(yīng)用端。在應(yīng)用端收到檢測(cè)信息之后,會(huì)通過屏幕顯示檢測(cè)狀態(tài)并語音播報(bào)檢測(cè)結(jié)果。

62f78f02-f22e-11ec-ba43-dac502259ad0.gif

三、功能實(shí)現(xiàn)

Geek_Lite_Board 開發(fā)板通過 AK8963 電子羅盤芯片獲取地球磁場(chǎng)強(qiáng)度。通常地球的磁場(chǎng)強(qiáng)度是 0.4-0.6 高斯,當(dāng)金屬靠近電子羅盤芯片時(shí),根據(jù)電磁感應(yīng)原理,金屬在磁場(chǎng)中的感應(yīng)會(huì)引起磁場(chǎng)信號(hào)的變化。Geek_Lite_Board 開發(fā)板通過 Wi-Fi 與潤和 RK3568 開發(fā)板實(shí)時(shí)通信,把檢測(cè)到的信息實(shí)時(shí)上傳。

潤和 RK3568 開發(fā)板作為應(yīng)用端,采用方舟開發(fā)框架(ArkUI)基于 eTS 擴(kuò)展的聲明式開發(fā)范式編寫頁面,通過 NAPI 接口接收設(shè)備端 Geek_Lite_Board 開發(fā)板的檢測(cè)信息,使用 OpenHarmony 媒體子系統(tǒng)中的音頻播放功能實(shí)現(xiàn)語音播報(bào)金屬檢測(cè)狀態(tài)。

64207df8-f22e-11ec-ba43-dac502259ad0.png

磁場(chǎng)數(shù)據(jù)獲取

AK8963 一款具有高靈敏度霍爾傳感器技術(shù)的三軸電子羅盤集成芯片,內(nèi)部包含磁力傳感器,可以在 x 軸、y 軸、z 軸檢測(cè)地球磁場(chǎng)強(qiáng)度。

643f81f8-f22e-11ec-ba43-dac502259ad0.png

● 通過Mpu_Read_Bytes()函數(shù)讀芯片數(shù)據(jù)寄存器的值。
uint8_t Mpu_Read_Bytes(uint8_t const regAddr, uint8_t *pData, uint8_t len)
● 獲取 AK8963 的磁場(chǎng)原始數(shù)據(jù)。
Mpu_Data.mag_x = (MPU_BUFF[16] << 8) | MPU_BUFF[15]; // x軸磁場(chǎng)數(shù)據(jù)Mpu_Data.mag_y = (MPU_BUFF[18] << 8) | MPU_BUFF[17]; // y軸磁場(chǎng)數(shù)據(jù)Mpu_Data.mag_z=(MPU_BUFF[20]<8)|MPU_BUFF[19];//z軸磁場(chǎng)數(shù)據(jù)
● 對(duì) AK8963 原始磁場(chǎng)數(shù)據(jù)進(jìn)行轉(zhuǎn)化,得到磁場(chǎng)強(qiáng)度,單位高斯。
Gauss_Mag_z = Mpu_Calc.mag_z * 0.15f * 0.01f;

檢測(cè)金屬信息

首先采集 100 組 z 軸磁場(chǎng)強(qiáng)度基準(zhǔn)數(shù)據(jù),然后對(duì)這些數(shù)據(jù)做平均處理,由此得到 z 軸磁場(chǎng)強(qiáng)度的零點(diǎn)數(shù)據(jù)。
const uint16_t calibrateCount = 1000; // 測(cè)量最大次數(shù)為1000const uint16_t calibrateFrequency = 5; // 每測(cè)量5次取一次有效值const uint16_t calibrateAverageCount = 100; // 取100次有效值if(i < calibrateCount){    i++;    if(i%calibrateFrequency == calibrateFrequency){       Mag_z_buff[j++] = Gauss_Mag_z;        if(j >= calibrateAverageCount){            i = calibrateCount;            Mag_z_Flag = true;            for(k=0;k                origin_mag_z += Mag_z_buff[k];            }            origin_mag_z = origin_mag_z / calibrateAverageCount;            // 校準(zhǔn)完成,藍(lán)燈亮,發(fā)送給應(yīng)用端 "CalibrateOK"            BLUE_LED_ON();            memset(buff,0x00,sizeof(buff));            sprintf(buff,"angle:%s","CalibrateOK");            ESP8266_send_data(buff,strlen(buff));        }    }}
以 origin_mag_z 作為零點(diǎn),把獲取到的磁場(chǎng)數(shù)據(jù)與它進(jìn)行對(duì)比,以此來判斷是否檢測(cè)到金屬。

NAPI獲取數(shù)據(jù)

NAPI(Native API)是 OpenHarmony 標(biāo)準(zhǔn)系統(tǒng)的一種 JS API 實(shí)現(xiàn)機(jī)制,適合封裝 IO、CPU 密集型、OS 底層等能力并對(duì)外暴露 JS 接口,通過 NAPI 可以實(shí)現(xiàn) JS 與 C/C++ 代碼互相訪問。潤和 RK3568 應(yīng)用端通過 NAPI 來接受設(shè)備端發(fā)出的檢測(cè)信息。 底層 NAPI 模塊封裝封裝模塊名為 tcpserverapi,下載至 tcpservermodule 文件夾。下載完成后放到 3.1Release 源碼根目錄,并配置編譯腳本;第一次編譯完成需要燒寫整個(gè)鏡像,后面修改模塊源碼,只需將庫 send 到板子里面。命令如下:
// 先掛載,再sendhdc_std shell mount -oremount,rw /   hdc_stdfilesendlibtcpserverapi.z.sosystem/lib/module/libtcpserverapi.z.so
應(yīng)用端導(dǎo)入 NAPI 模塊
import tcpserverapi from '@ohos.tcpserverapi'
應(yīng)用端 NAPI 接口調(diào)用
// 調(diào)用initServer接口 初始化 TCP 服務(wù)器tcpserverapi.initServer() // 調(diào)用recvMsg 獲取并解析Geek_Lite_Board開發(fā)板發(fā)送過來的角度tcpserverapi.recvMsg().then((result) => {      var resultAngle = result.angle;})

UI狀態(tài)顯示與管理

如上圖所示為檢測(cè)中頁面,整體布局分為文字標(biāo)題和檢測(cè)狀態(tài)示意圖。

文字標(biāo)題由 Flex 布局容器 text 組件實(shí)現(xiàn),用于呈現(xiàn)一段信息,如下為 text 接口相關(guān)屬性。

647feb30-f22e-11ec-ba43-dac502259ad0.png

檢測(cè)狀態(tài)示意圖包括頁面背景圖,檢測(cè)狀態(tài)圖,檢測(cè)結(jié)果說明文字,具體功能由 Flex 彈性布局組件實(shí)現(xiàn)。接口原型如下所示:
Flex(options?: { direction?: FlexDirection, wrap?: FlexWrap, justifyContent?: FlexAlign, alignItems?: ItemAlign, alignContent?: FlexAlign })
通過調(diào)用 recvMsg 接口接送金屬探測(cè)器的消息,并修改首頁展示狀態(tài),關(guān)鍵實(shí)現(xiàn)代碼描述如下:
aboutToAppear() {    var intervalID = setInterval(() => {        tcpserverapi.recvMsg().then((result) => {       }   }}
其中 “ var intervalID = setInterval(() => ” 使用了定時(shí)器,定時(shí)調(diào)用 “recvMsg” 方法,通過 NAPI 獲取金屬檢測(cè)結(jié)果。
if (resultMetal.match("metal:")) {    this.metal = resultMetal.slice(6);    console.info('=======' + this.metal)    if (this.metal === 'Detected') {          this.detectionState = '發(fā)現(xiàn)金屬';          this.detection = $r("app.media.img_detected");          this.isDisplay = false;    }    else if (this.metal === 'UnDetected' || this.metal ==='CalibrateOK') {          this.detectionState = '檢測(cè)中';          this.detection = $r("app.media.img_detecting");          this.isDisplay = true;     }}
當(dāng)通過 NAPI 方式獲取到檢測(cè)信息為 “ metal:Detected ” 時(shí),設(shè)置 detectionState 為發(fā)現(xiàn)金屬狀態(tài),屏幕顯示檢測(cè)到金屬頁面;當(dāng)通過 NAPI 方式獲取到的檢測(cè)信息為 “ metal:UnDetected ” 時(shí),此時(shí)并未檢測(cè)到任何金屬信息,設(shè)置 detectionState 為檢測(cè)中狀態(tài),屏幕顯示檢測(cè)中狀態(tài)頁面。

語音播報(bào)檢測(cè)狀態(tài)

檢測(cè)到金屬后,RK3568 會(huì)播報(bào)已探測(cè)到金屬的語音信息,達(dá)到通知用戶的目的,通過 OpenHarmony 媒體子系統(tǒng)的音頻播放功能實(shí)現(xiàn)。OpenHarmony 媒體子系統(tǒng)為開發(fā)者提供一套簡單且易于理解的接口,使得開發(fā)者能夠方便接入系統(tǒng)并使用系統(tǒng)的媒體資源。媒體子系統(tǒng)包含了音頻播放、視頻播放、音頻錄制和視頻錄制等常用功能。音頻播放的主要工作是將音頻數(shù)據(jù)轉(zhuǎn)碼為可聽見的音頻模擬信號(hào)并通過輸出設(shè)備進(jìn)行播放,同時(shí)對(duì)播放任務(wù)進(jìn)行管理。本樣例主要通過導(dǎo)入 media 模塊、創(chuàng)建音頻播放實(shí)例、實(shí)現(xiàn)音頻播放接口和實(shí)現(xiàn)暫停播放接口等流程實(shí)現(xiàn)。

導(dǎo)入media模塊


import media from '@ohos.multimedia.media';
創(chuàng)建音頻播放實(shí)例
// OH media對(duì)象privateplayer=media.createAudioPlayer();

實(shí)現(xiàn)音頻播放接口

使用 play() 調(diào)用開始播放音頻資源,需在完成音頻數(shù)據(jù)加載后,即 src 屬性設(shè)置完成后才能調(diào)用。


play():void

四、總結(jié)

本文簡述了如何使用 OpenHarmony 進(jìn)行多設(shè)備的開發(fā),演示了 NAPI、eTS UI、UI 管理狀態(tài) @state 和音頻播放等技術(shù)特性的應(yīng)用,通過這些多元化的功能,我們最終實(shí)現(xiàn)了金屬探測(cè)器樣例。豐富多樣的 OpenHarmony 開發(fā)樣例離不開廣大合作伙伴和開發(fā)者的貢獻(xiàn),如果你也想把自己開發(fā)的樣例分享出來,歡迎把樣例提交到 OpenHarmony 知識(shí)體系 SIG 倉來,一起實(shí)現(xiàn)開發(fā)樣例共建。

五、參考鏈接

RK3568開發(fā)板上絲滑體驗(yàn)OpenHarmony標(biāo)準(zhǔn)系統(tǒng)

https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master/dev/docs/rk3568_quick_start

在Windows編譯OpenHarmony工程

https://gitee.com/Cruise2019/team_x/blob/master/homework/ohos_build_win/readme.md

OpenHarmony NAPI 學(xué)習(xí)文檔

https://gitee.com/javen678/hello-ohos-napi/tree/master/doc#/javen678/hello-ohos-napi/blob/master/doc/1.HelloNAPI.md

OpenHarmony基于eTS擴(kuò)展的聲明式開發(fā)范式

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/arkui-ts/Readme-CN.md

音頻播放開發(fā)指導(dǎo)

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/media/audio-playback.md

從零開發(fā)金屬探測(cè)器應(yīng)用

https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/docs/metal_detection/quick_develop.md

GEEKROS官網(wǎng)

https://www.geekros.com/


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 探測(cè)器
    +關(guān)注

    關(guān)注

    15

    文章

    2766

    瀏覽量

    75955
  • 蜂鳴器
    +關(guān)注

    關(guān)注

    12

    文章

    900

    瀏覽量

    47786
  • OpenHarmony
    +關(guān)注

    關(guān)注

    33

    文章

    3960

    瀏覽量

    21168

原文標(biāo)題:基于OpenHarmony的智能金屬探測(cè)器

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    請(qǐng)教:這個(gè)金屬探測(cè)器電路圖可行嗎

    說明: 用555作一個(gè)自震蕩電路,圖中線圈L為探測(cè)線圈,構(gòu)成LC震蕩,用于探測(cè)金屬物品。 HC-sr501為感受到人體紅外后,啟動(dòng)繼電器接通電源。 我想問這個(gè)電路可行不,比如:線圈
    發(fā)表于 03-16 10:29

    電氣火災(zāi)監(jiān)控探測(cè)器的防護(hù)方

    1. 電氣火災(zāi)監(jiān)控探測(cè)器 電氣火災(zāi)監(jiān)控探測(cè)器是指探測(cè)被保護(hù)線路中的剩余電流、溫度等電氣火災(zāi)危險(xiǎn)參數(shù)變化的探測(cè)器,適用在電氣火災(zāi)發(fā)生機(jī)率最大的工廠、大型庫房、辦公室、商業(yè)建筑、賓館、住宅
    的頭像 發(fā)表于 01-26 16:43 ?226次閱讀
    電氣火災(zāi)監(jiān)控<b class='flag-5'>探測(cè)器</b>的防護(hù)方

    紅外焦平面探測(cè)器核心指標(biāo)NETD介紹

    紅外焦平面探測(cè)器的NETD(Noise Equivalent Temperature Difference),即等效噪聲溫差,又稱為熱靈敏度。NETD是衡量其靈敏度的核心參數(shù),表示探測(cè)器能夠分辨的最小溫度差異。
    的頭像 發(fā)表于 01-26 14:24 ?469次閱讀
    紅外焦平面<b class='flag-5'>探測(cè)器</b>核心指標(biāo)NETD介紹

    寒潮來襲,氣體探測(cè)器能否“扛住”?

    ——諾安智能氣體探測(cè)器冬季防護(hù)指南全國各地已開啟“速凍模式”,強(qiáng)寒潮持續(xù)侵襲,氣溫再創(chuàng)新低,各類場(chǎng)所用氣需求增加,氣體安全監(jiān)測(cè)仍然是重中之重。而在工業(yè)生產(chǎn)、管道運(yùn)輸?shù)纫寻惭b氣體探測(cè)器的場(chǎng)景中,一個(gè)
    的頭像 發(fā)表于 01-13 14:28 ?410次閱讀
    寒潮來襲,氣體<b class='flag-5'>探測(cè)器</b>能否“扛住”?

    Amphenol數(shù)字紅外探測(cè)器評(píng)估套件使用指南

    Amphenol數(shù)字紅外探測(cè)器評(píng)估套件使用指南 在電子設(shè)計(jì)領(lǐng)域,紅外探測(cè)器的應(yīng)用越來越廣泛。Amphenol的數(shù)字紅外探測(cè)器評(píng)估套件(Digital IR EVM KIT,Part No.
    的頭像 發(fā)表于 12-11 09:20 ?564次閱讀

    基于新興光響應(yīng)材料的光電探測(cè)器

    來自全球?qū)W術(shù)界與工業(yè)界的專家團(tuán)隊(duì),在新一期《自然·光子學(xué)》雜志上發(fā)表一項(xiàng)具有里程碑意義的共識(shí)聲明,倡議加速研發(fā)基于新興光響應(yīng)材料的新一代光電探測(cè)器,以推動(dòng)醫(yī)療健康、智能家居、農(nóng)業(yè)和制造業(yè)等領(lǐng)域的創(chuàng)新
    的頭像 發(fā)表于 11-26 07:38 ?240次閱讀

    相機(jī)分辨率:融合探測(cè)器與光學(xué)性能

    圖1、該系統(tǒng)的調(diào)制傳遞函數(shù)為 MTFSYS = MTFOPTICS*MTFDETECTOR。由于探測(cè)器的調(diào)制傳遞函數(shù)起著主導(dǎo)作用,所以這是一個(gè)受探測(cè)器限制的系統(tǒng)(Fλ/d = 0.1) 相機(jī)的分辨率
    的頭像 發(fā)表于 11-11 07:58 ?480次閱讀
    相機(jī)分辨率:融合<b class='flag-5'>探測(cè)器</b>與光學(xué)性能

    混合探測(cè)器與光電倍增管的區(qū)別以及參數(shù)解析

    混合探測(cè)器又叫混合型光電探測(cè)器,簡稱HPD(Hybrid photon detector)?;旌?b class='flag-5'>探測(cè)器也具有倍增功能,與光電倍增管(PMT)的區(qū)別主要是倍增方式不同---混合探測(cè)器的倍
    的頭像 發(fā)表于 10-11 08:14 ?682次閱讀
    混合<b class='flag-5'>探測(cè)器</b>與光電倍增管的區(qū)別以及參數(shù)解析

    光電探測(cè)器PMT、APD、CCD、CMos、ICCD、EMCCD

    PMT和APD都屬于點(diǎn)探測(cè)器,只能探測(cè)光子信息,可以通過掃描方式測(cè)光譜。CCD和CMOS屬于線陣或者面探測(cè)器,可以成像。ICCD和EMCCD屬于不同類型的CCD。 一、PMT PMT:光電倍增管
    的頭像 發(fā)表于 09-16 07:58 ?1804次閱讀
    光電<b class='flag-5'>探測(cè)器</b>PMT、APD、CCD、CMos、ICCD、EMCCD

    VirtualLab:通用探測(cè)器

    摘要 通用探測(cè)器是VirtualLab Fusion中來評(píng)估和輸出電磁場(chǎng)任何信息的最通用工具。它能夠提供不同域(空間域和空間頻域)和坐標(biāo)系(場(chǎng)與探測(cè)器位置坐標(biāo)系)的信息。此外,通過使用非常靈活的內(nèi)置
    發(fā)表于 06-12 08:59

    3秒響應(yīng)無誤報(bào)丨諾安智能激光氣體探測(cè)器,“超級(jí)衛(wèi)士”守護(hù)安全

    激光氣體探測(cè)器
    的頭像 發(fā)表于 05-13 14:42 ?1103次閱讀
    3秒響應(yīng)無誤報(bào)丨諾安<b class='flag-5'>智能</b>激光氣體<b class='flag-5'>探測(cè)器</b>,“超級(jí)衛(wèi)士”守護(hù)安全

    DZR185AC零偏壓肖特基二極管探測(cè)器

    DZR185AC是一款由HEROTEK公司生產(chǎn)的零偏壓肖特基二極管探測(cè)器,專為高頻信號(hào)檢測(cè)設(shè)計(jì)。其核心優(yōu)勢(shì)在于無需外部偏置電壓即可工作,通過金屬-半導(dǎo)體接觸形成的肖特基勢(shì)壘實(shí)現(xiàn)信號(hào)檢波。相比傳統(tǒng)對(duì)數(shù)
    發(fā)表于 05-12 09:18

    VirtualLab Fusion應(yīng)用:光波導(dǎo)系統(tǒng)的均勻性探測(cè)器

    個(gè)均勻性檢測(cè),為此類研究提供工具。在本文檔中,我們演示了均勻性檢測(cè)的配置選項(xiàng)。 這個(gè)使用用例展示了 … 均勻性檢測(cè) 均勻性檢測(cè)的編輯對(duì)話框
    發(fā)表于 04-30 08:49

    激光焊接技術(shù)在焊接探測(cè)器元器件的工藝流程

    準(zhǔn)備, 1.材料準(zhǔn)備, 對(duì)探測(cè)器元器件和焊接材料進(jìn)行清潔和處理,去除表面的油污、鐵銹等雜質(zhì),確保焊接表面的潔凈度。 根據(jù)焊接要求,選擇合適的焊接材料,如金屬絲、金屬片等。 2.設(shè)備檢查與預(yù)熱, 檢查激光焊接機(jī)的各項(xiàng)功能是
    的頭像 發(fā)表于 04-28 10:47 ?697次閱讀

    紅外探測(cè)器像元尺寸詳解

    紅外探測(cè)器像元尺寸是紅外熱成像領(lǐng)域中的一個(gè)關(guān)鍵參數(shù),它指的是在紅外探測(cè)器芯片焦平面陣列上,每個(gè)像元的實(shí)際物理尺寸,通常以微米(μm)為單位來進(jìn)行表示,常見的像元尺寸有8μm、12μm、17μm、25μm等。以下是對(duì)紅外探測(cè)器像元
    的頭像 發(fā)表于 03-31 16:33 ?2022次閱讀
    紅外<b class='flag-5'>探測(cè)器</b>像元尺寸詳解