欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

基于OpenHarmony的智能金屬探測器

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-06-23 14:29 ? 次閱讀

一、簡介

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

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

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

二、運行效果

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

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

三、功能實現(xiàn)

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

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

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

磁場數(shù)據(jù)獲取

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

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 的磁場原始數(shù)據(jù)。
Mpu_Data.mag_x = (MPU_BUFF[16] << 8) | MPU_BUFF[15]; // x軸磁場數(shù)據(jù)Mpu_Data.mag_y = (MPU_BUFF[18] << 8) | MPU_BUFF[17]; // y軸磁場數(shù)據(jù)Mpu_Data.mag_z=(MPU_BUFF[20]<8)|MPU_BUFF[19];//z軸磁場數(shù)據(jù)
● 對 AK8963 原始磁場數(shù)據(jù)進行轉(zhuǎn)化,得到磁場強度,單位高斯。
Gauss_Mag_z = Mpu_Calc.mag_z * 0.15f * 0.01f;

檢測金屬信息

首先采集 100 組 z 軸磁場強度基準數(shù)據(jù),然后對這些數(shù)據(jù)做平均處理,由此得到 z 軸磁場強度的零點數(shù)據(jù)。
const uint16_t calibrateCount = 1000; // 測量最大次數(shù)為1000const uint16_t calibrateFrequency = 5; // 每測量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;            // 校準完成,藍燈亮,發(fā)送給應用端 "CalibrateOK"            BLUE_LED_ON();            memset(buff,0x00,sizeof(buff));            sprintf(buff,"angle:%s","CalibrateOK");            ESP8266_send_data(buff,strlen(buff));        }    }}
以 origin_mag_z 作為零點,把獲取到的磁場數(shù)據(jù)與它進行對比,以此來判斷是否檢測到金屬。

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

NAPI(Native API)是 OpenHarmony 標準系統(tǒng)的一種 JS API 實現(xiàn)機制,適合封裝 IO、CPU 密集型、OS 底層等能力并對外暴露 JS 接口,通過 NAPI 可以實現(xiàn) JS 與 C/C++ 代碼互相訪問。潤和 RK3568 應用端通過 NAPI 來接受設(shè)備端發(fā)出的檢測信息。 底層 NAPI 模塊封裝封裝模塊名為 tcpserverapi,下載至 tcpservermodule 文件夾。下載完成后放到 3.1Release 源碼根目錄,并配置編譯腳本;第一次編譯完成需要燒寫整個鏡像,后面修改模塊源碼,只需將庫 send 到板子里面。命令如下:
// 先掛載,再sendhdc_std shell mount -oremount,rw /   hdc_stdfilesendlibtcpserverapi.z.sosystem/lib/module/libtcpserverapi.z.so
應用端導入 NAPI 模塊
import tcpserverapi from '@ohos.tcpserverapi'
應用端 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)顯示與管理

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

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

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

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

語音播報檢測狀態(tài)

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

導入media模塊


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

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

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


play():void

四、總結(jié)

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

五、參考鏈接

RK3568開發(fā)板上絲滑體驗OpenHarmony標準系統(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 學習文檔

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

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

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

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

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

從零開發(fā)金屬探測器應用

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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 探測器
    +關(guān)注

    關(guān)注

    14

    文章

    2657

    瀏覽量

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

    關(guān)注

    12

    文章

    893

    瀏覽量

    46115
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3753

    瀏覽量

    16671

原文標題:基于OpenHarmony的智能金屬探測器

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

收藏 人收藏

    評論

    相關(guān)推薦

    手持金屬信號探測器:安全檢測領(lǐng)域的得力助手

    在現(xiàn)代社會的眾多安全檢查場景中,手持金屬信號探測器以其便攜性、高效性和準確性,成為了不可或缺的安全檢測工具。無論是在機場、火車站、地鐵站等交通樞紐,還是在大型活動、體育賽事、學校、政府機構(gòu)等場所
    的頭像 發(fā)表于 02-10 11:48 ?75次閱讀

    手持金屬信號探測器:現(xiàn)代安檢領(lǐng)域的得力助手

    深圳探測器|手持金屬信號探測器:現(xiàn)代安檢領(lǐng)域的得力助手
    的頭像 發(fā)表于 12-24 09:04 ?272次閱讀

    用于光波導系統(tǒng)的均勻性探測器

    提供了均勻性探測器,可以進行所需的研究。在本文件中,我們將演示可用的選項以及如何操作均勻性探測器。 **案例演示 ** **均勻性探測器 ** **探測器功能:相干參數(shù) ** ?如
    發(fā)表于 12-20 10:30

    不同類型金屬探測器比較

    金屬探測器技術(shù)的發(fā)展為人類提供了一種有效的工具,用于探測地下或隱藏的金屬物體。隨著技術(shù)的進步,市場上出現(xiàn)了多種類型的金屬
    的頭像 發(fā)表于 11-29 11:16 ?1269次閱讀

    如何提高金屬探測器探測

    。 智能識別功能 :一些高端的金屬探測器具備智能識別功能,可以區(qū)分不同類型的金屬,進一步提高檢測精度。 二、優(yōu)化操作方式 調(diào)整頻率 :根據(jù)被
    的頭像 發(fā)表于 11-29 11:14 ?560次閱讀

    金屬探測器配件及其效果

    金屬探測器作為一種高效的地下金屬探測工具,其配件的質(zhì)量和性能直接影響到探測的效果和準確性。 1. 探測
    的頭像 發(fā)表于 11-29 10:29 ?507次閱讀

    金屬探測器使用技巧 水下金屬探測器使用方法

    金屬探測器的使用技巧和水下金屬探測器的使用方法分別如下: 金屬探測器的使用技巧 預熱 :大多數(shù)儀
    的頭像 發(fā)表于 11-29 10:27 ?760次閱讀

    深圳特信探測器 手持金屬信號探測器:現(xiàn)代安檢領(lǐng)域的得力助手

    深圳特信探測器|手持金屬信號探測器:現(xiàn)代安檢領(lǐng)域的得力助手
    的頭像 發(fā)表于 11-22 09:05 ?203次閱讀

    GPS信號手持金屬探測器:如何重塑安全檢查流程

    深圳特信放大器|GPS信號手持金屬探測器:如何重塑安全檢查流程
    的頭像 發(fā)表于 11-07 09:07 ?294次閱讀

    GPS信號手持金屬探測器:設(shè)備開啟智能安防新時代

    深圳特信電子|GPS信號手持金屬探測器:設(shè)備開啟智能安防新時代
    的頭像 發(fā)表于 10-23 09:05 ?409次閱讀

    GPS信號手持金屬探測器:打造全方位探測的體驗

    深圳特信探測器|GPS信號手持金屬探測器:打造全方位探測的體驗
    的頭像 發(fā)表于 10-09 09:05 ?503次閱讀

    深圳特信放大器|GPS信號手持金屬探測器:開啟智能尋寶的新時代

    深圳特信放大器|GPS信號手持金屬探測器:開啟智能尋寶的新時代
    的頭像 發(fā)表于 09-12 09:15 ?482次閱讀

    VirtualLab:通用探測器

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

    金屬探測器電路圖 帶Arduino的金屬探測器設(shè)計

    金屬探測器,作為一種應用廣泛的電子儀器,憑借其獨特的探測能力,在多個領(lǐng)域發(fā)揮著不可或缺的作用。從軍事、安全、考古到工業(yè)、環(huán)保等,金屬探測器
    的頭像 發(fā)表于 07-04 17:53 ?2770次閱讀
    <b class='flag-5'>金屬</b><b class='flag-5'>探測器</b>電路圖 帶Arduino的<b class='flag-5'>金屬</b><b class='flag-5'>探測器</b>設(shè)計

    淺談ATM智能震動探測器YT-JB3振動入侵探測器

    振動傳感,ATM振動探測器,自助設(shè)備安防震動傳感,振動報警,震動探測器
    的頭像 發(fā)表于 05-21 15:13 ?793次閱讀
    淺談ATM<b class='flag-5'>智能</b>震動<b class='flag-5'>探測器</b>YT-JB3振動入侵<b class='flag-5'>探測器</b>