国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

基于OpenHarmony的智能金屬探測器

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

掃碼添加小助手

加入工程師交流群

一、簡介

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

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

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

二、運行效果

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

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

三、功能實現

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

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

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

磁場數據獲取

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

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

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

檢測金屬信息

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

NAPI獲取數據

NAPI(Native API)是 OpenHarmony 標準系統的一種 JS API 實現機制,適合封裝 IO、CPU 密集型、OS 底層等能力并對外暴露 JS 接口,通過 NAPI 可以實現 JS 與 C/C++ 代碼互相訪問。潤和 RK3568 應用端通過 NAPI 來接受設備端發出的檢測信息。 底層 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 接口調用
// 調用initServer接口 初始化 TCP 服務器tcpserverapi.initServer() // 調用recvMsg 獲取并解析Geek_Lite_Board開發板發送過來的角度tcpserverapi.recvMsg().then((result) => {      var resultAngle = result.angle;})

UI狀態顯示與管理

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

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

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

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

語音播報檢測狀態

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

導入media模塊


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

實現音頻播放接口

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


play():void

四、總結

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

五、參考鏈接

RK3568開發板上絲滑體驗OpenHarmony標準系統

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擴展的聲明式開發范式

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

音頻播放開發指導

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

從零開發金屬探測器應用

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

GEEKROS官網

https://www.geekros.com/


審核編輯 :李倩


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

    關注

    15

    文章

    2763

    瀏覽量

    75902
  • 蜂鳴器
    +關注

    關注

    12

    文章

    900

    瀏覽量

    47766
  • OpenHarmony
    +關注

    關注

    33

    文章

    3952

    瀏覽量

    21106

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    電氣火災監控探測器的防護方

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

    紅外焦平面探測器核心指標NETD介紹

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

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

    ——諾安智能氣體探測器冬季防護指南全國各地已開啟“速凍模式”,強寒潮持續侵襲,氣溫再創新低,各類場所用氣需求增加,氣體安全監測仍然是重中之重。而在工業生產、管道運輸等已安裝氣體探測器的場景中,一個
    的頭像 發表于 01-13 14:28 ?383次閱讀
    寒潮來襲,氣體<b class='flag-5'>探測器</b>能否“扛住”?

    Amphenol數字紅外探測器評估套件使用指南

    Amphenol數字紅外探測器評估套件使用指南 在電子設計領域,紅外探測器的應用越來越廣泛。Amphenol的數字紅外探測器評估套件(Digital IR EVM KIT,Part No.
    的頭像 發表于 12-11 09:20 ?516次閱讀

    基于新興光響應材料的光電探測器

    來自全球學術界與工業界的專家團隊,在新一期《自然·光子學》雜志上發表一項具有里程碑意義的共識聲明,倡議加速研發基于新興光響應材料的新一代光電探測器,以推動醫療健康、智能家居、農業和制造業等領域的創新
    的頭像 發表于 11-26 07:38 ?214次閱讀

    關于探測器的操作、運輸、焊接和靜電防護注意事項

    探測器在在工業測量測繪,生物醫藥檢測,消費電子等行業都有廣泛的應用。探測器的封裝包括金屬,陶瓷和塑料等形式。本文主要是針對不同封裝形式的探測器,講解從開箱、安裝、日常操作到長期存儲的全
    的頭像 發表于 11-17 07:40 ?331次閱讀
    關于<b class='flag-5'>探測器</b>的操作、運輸、焊接和靜電防護注意事項

    相機分辨率:融合探測器與光學性能

    圖1、該系統的調制傳遞函數為 MTFSYS = MTFOPTICS*MTFDETECTOR。由于探測器的調制傳遞函數起著主導作用,所以這是一個受探測器限制的系統(Fλ/d = 0.1) 相機的分辨率
    的頭像 發表于 11-11 07:58 ?444次閱讀
    相機分辨率:融合<b class='flag-5'>探測器</b>與光學性能

    混合探測器與光電倍增管的區別以及參數解析

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

    光電探測器PMT、APD、CCD、CMos、ICCD、EMCCD

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

    VirtualLab:通用探測器

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

    3秒響應無誤報丨諾安智能激光氣體探測器,“超級衛士”守護安全

    激光氣體探測器
    的頭像 發表于 05-13 14:42 ?1061次閱讀
    3秒響應無誤報丨諾安<b class='flag-5'>智能</b>激光氣體<b class='flag-5'>探測器</b>,“超級衛士”守護安全

    DZR185AC零偏壓肖特基二極管探測器

    DZR185AC是一款由HEROTEK公司生產的零偏壓肖特基二極管探測器,專為高頻信號檢測設計。其核心優勢在于無需外部偏置電壓即可工作,通過金屬-半導體接觸形成的肖特基勢壘實現信號檢波。相比傳統對數
    發表于 05-12 09:18

    VirtualLab Fusion應用:光波導系統的均勻性探測器

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

    激光焊接技術在焊接探測器元器件的工藝流程

    準備, 1.材料準備, 對探測器元器件和焊接材料進行清潔和處理,去除表面的油污、鐵銹等雜質,確保焊接表面的潔凈度。 根據焊接要求,選擇合適的焊接材料,如金屬絲、金屬片等。 2.設備檢查與預熱, 檢查激光焊接機的各項功能是
    的頭像 發表于 04-28 10:47 ?680次閱讀

    紅外探測器像元尺寸詳解

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