精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發燒友App

硬聲App

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

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

3天內不再提示
創作
電子發燒友網>電子資料下載>電子資料>使用通用傳感器API的人類活動識別

使用通用傳感器API的人類活動識別

2023-07-04 | zip | 0.00 MB | 次下載 | 免費

資料介紹

結構概述

pYYBAGOYDNKAS6wJAAAv1H9ax-g855.png
?

這里的組件:

  • 一個簡單的 Web 應用程序,它使用 Generic Sensor API 提供的線性加速度計檢測人的運動;
  • 歌云平臺,提供:Cloud IoT core、Cloud Pub/Sub 、Firebase Cloud Functions、Firestore數據庫;
  • 簡單的 REST Web 儀表板;

如圖所示,即使 HAR 模型可以在手機上或云端(firebase 功能),兩種情況下的主要結構都保持不變。

顯然有更簡單的結構來實現服務,但是通過這種方式,我可以在之前開發的組件之上構建,并嘗試不同的技術。

注意:我的 G ithub上提供的代碼用于我的個人 google 帳戶上的憑據。我沒有上傳密鑰,如果你想運行它,你需要自己設置。

移動人群感應

人群感知是一種技術,其中一大群擁有能夠感知和計算的移動設備(如智能手機、平板電腦、可穿戴設備)的個人集體共享數據并提取信息以測量、映射、分析、估計或推斷(預測)任何過程共同利益。簡而言之,這意味著從移動設備眾包傳感器數據。

poYBAGOabfCAb5ofAACtXtZi6EY360.png
?

移動眾測潛力受到能量、帶寬和計算能力等約束的限制。此外,在這種情況下,隱私成為一個重要問題。這里有一些可能的(部分)解決方案:

  • 匿名化,在將數據發送給第三方之前從數據中刪除識別信息。但是,此方法不會阻止根據數據中保留的詳細信息進行推斷。
  • 安全的多方計算,使用加密技術轉換數據。這種方法不可擴展,需要生成和維護多個密鑰,這反過來需要更多的能量。
  • 數據擾動,在與社區共享之前向傳感器數據添加噪聲。可以在不影響數據準確性的情況下將噪聲添加到數據中。

通用傳感器 API

通用傳感器 API是一組將傳感器設備暴露給 Web 平臺的接口API 由基本的 Sensor 接口和在其上構建的一組具體的傳感器類組成,例如Accelerometer、LinearAccelerationSensor、Gyroscope、AbsoluteOrientationSensorRelativeOrientationSensor。

pYYBAGOabfKAEXjEAAAw02r7ZSM860.jpg
?

通用傳感器 API 的目標是促進傳感器 API 之間的一致性,通過高性能的低級 API 實現高級用例,并通過簡化規范和實施過程來加快新傳感器向網絡公開的速度。

該項目實現了 LinearAccelerationSensor 接口,在每次讀數時提供沿所有三個軸應用于設備的加速度,但沒有重力的影響(如加速度計)。

pYYBAGOabfSAUto4AAA2MsKoXeE165.png
?

哈爾模型

人類活動識別 (HAR) 旨在通過對他/她自己和周圍環境的一組觀察來識別一個人所執行的動作。在網絡上,可以找到許多提到這個問題的出版物,甚至使用機器學習模型。但是,該分配所需的實現并不要求很高的準確性,而響應時間和簡單性具有更高的優先級。因此,我在這個項目中使用的模型,取向量 [x, y, z] 的長度,并將結果向量計算為 sqrt(x*x+y*y+z*z),然后決定是否根據給定的閾值,人是靜止還是行走。

model = Math.sqrt(x*x + y*y + z*z);
if (model > 0.6) {
    walking = 1
    $('#status').html('walking');
} else {
    walking = 0
    $('#status').html('Still');
}

網絡應用程序

它由一個簡單的 node.js 應用程序實現,在前端擁有所有邏輯,并使用后端作為網關(將遙測數據轉發到 Google Cloud IoT Core)。

大部分后端代碼與第一次作業中實現的虛擬設備非常相似,加上快遞作業提供的一些必要組件(使部署更容易)。但是,在這種情況下,發布原語由socket.io消息觸發,而不是由計時器觸發。

前端有兩個版本,取決于采用的部署類型:

  • 云化:HAR模型部署在云端;因此應用程序只需要收集LinearAccelerationSensor參數并將它們發送到云端進行分析;
  • 基于邊緣:HAR模型部署在手機上;因此,模型現在在本地執行,為用戶的狀態提供狀態。在這種情況下,應用程序將結果和參數都發送到云端;
accelerometer.addEventListener('reading', () => {
    var now = parseInt(Date.now());
    let x = accelerometer.x;
    let y = accelerometer.y;
    let z = accelerometer.z
    $('#accelerometerX').html(x);
    $('#accelerometerY').html(y);
    $('#accelerometerZ').html(z);

    data = {
        date: now,
        status: 2,   
        accx: x,
        accy: y,
        accz: z
    }
    socket.emit('accelerometer', data);
});

圖為基于云的版本所使用的代碼,與上一節中的 HAR 模型混合給出了基于邊緣的版本。status:2用作一個幻數,告訴 Firebase 云函數該模型尚未應用。

為了托管它并使其可以從移動設備訪問,我使用了眾所周知的Heroku.com。不幸的是,由于我在谷歌云平臺上可以免費交換的消息數量有限制,所以我不會提供鏈接,但這里有一張圖片。

pYYBAGOabfaAJlYyAABFxuB_uzQ66.jpeg
?
第一個和第二個作業中解釋了將設備連接到 Google 云平臺的過程。

Firebase 云功能

據我了解,Firebase 服務主要用于移動應用程序。但是,考慮到任務的性質,以及我以前從未使用過它們的事實,我想試一試。

Cloud Functions for Firebase 是一個無服務器框架,可讓您自動運行后端代碼以響應由 Firebase 功能和 HTTPS 請求觸發的事件。此外,鑒于 GCP 和 Firebase 之間的出色互操作性,它使 Pub/Sub 和 Firestore 之間的消息交換變得超級容易。

poYBAGOabfmAaQrhAAFyI6Q9xPE002.png
?

該片段顯示了負責交互的函數。基于邊緣或基于云的版本都是相同的。實際上,它會自動檢測狀態編號使用的 Web 應用程序。

如果消息來自基于邊緣的應用程序版本,它只會將所有內容轉發到 Firestore 數據庫,在另一種情況下,它會執行模型,然后才完成交換。

poYBAGOabfuAco2CAAB79LxCTTc812.png
?

部署后,它也可以在項目頁面上看到。

在 Github 上只有我寫的用于交流的 Typescript 函數。但是,您還需要創建一個連接到 Google 的 Firebase 項目。這里怎么做:https ://firebase.google.com/docs/functions/get-started

Cloud Firestore 和儀表板

Cloud Firestore 是一個靈活、可擴展的數據庫,用于 Firebase 和 Google Cloud Platform 的移動、Web 和服務器開發。

Cloud Firestore 的 NoSQL 數據模型將數據存儲在包含映射到值的字段的文檔中。這些文檔存儲在容器、集合中,可用于組織數據和構建查詢。它們支持許多不同的數據類型,從簡單的字符串和數字到復雜的嵌套對象。此外,它還允許在文檔中創建子集合并構建隨著數據庫增長而擴展的分層數據結構。

pYYBAGOabf6AFSNHAAGS87f_owc063.png
?

對于儀表板,我選擇了無服務器方法,正如 Firebase 所教導的那樣。事實上,這一次我有一個簡單的 HTML,帶有一些 Javascript。

db.collection('telemetries').onSnapshot((snapshot) => {
    snapshot.docChanges().forEach(element => {
        renderValue(element.doc);
    })
});

由于這個簡單的腳本,每次出現新值時,頁面刷新和表格都會更新。

poYBAGOabgGAHf-WAAMtbj_8eAI974.png
?

結論

最后,我們可以輕松地決定是否要使用基于云或基于邊緣的應用程序版本,兩者各有利弊。事實上,使用 Google 和 Firebase 生態系統,我們可以輕松地在服務的兩個版本之間切換,擁有一個奇妙的模塊化系統。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費