资料介绍
结构概述
这里的组件:
- 一个简单的 Web 应用程序,它使用 Generic Sensor API 提供的线性加速度计检测人的运动;
- 谷歌云平台,提供:Cloud IoT core、Cloud Pub/Sub 、Firebase Cloud Functions、Firestore数据库;
- 简单的 REST Web 仪表板;
如图所示,即使 HAR 模型可以在手机上或云端(firebase 功能),两种情况下的主要结构都保持不变。
显然有更简单的结构来实现服务,但是通过这种方式,我可以在之前开发的组件之上构建,并尝试不同的技术。
注意:我的 G ithub上提供的代码用于我的个人 google 帐户上的凭据。我没有上传密钥,如果你想运行它,你需要自己设置。
移动人群感应
人群感知是一种技术,其中一大群拥有能够感知和计算的移动设备(如智能手机、平板电脑、可穿戴设备)的个人集体共享数据并提取信息以测量、映射、分析、估计或推断(预测)任何过程共同利益。简而言之,这意味着从移动设备众包传感器数据。
移动众测潜力受到能量、带宽和计算能力等约束的限制。此外,在这种情况下,隐私成为一个重要问题。这里有一些可能的(部分)解决方案:
- 匿名化,在将数据发送给第三方之前从数据中删除识别信息。但是,此方法不会阻止根据数据中保留的详细信息进行推断。
- 安全的多方计算,使用加密技术转换数据。这种方法不可扩展,需要生成和维护多个密钥,这反过来需要更多的能量。
- 数据扰动,在与社区共享之前向传感器数据添加噪声。可以在不影响数据准确性的情况下将噪声添加到数据中。
通用传感器 API
通用传感器 API是一组将传感器设备暴露给 Web 平台的接口。API 由基本的 Sensor 接口和在其上构建的一组具体的传感器类组成,例如Accelerometer、LinearAccelerationSensor、Gyroscope、AbsoluteOrientationSensor和RelativeOrientationSensor。
通用传感器 API 的目标是促进传感器 API 之间的一致性,通过高性能的低级 API 实现高级用例,并通过简化规范和实施过程来加快新传感器向网络公开的速度。
该项目实现了 LinearAccelerationSensor 接口,在每次读数时提供沿所有三个轴应用于设备的加速度,但没有重力的影响(如加速度计)。
哈尔模型
人类活动识别 (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。不幸的是,由于我在谷歌云平台上可以免费交换的消息数量有限制,所以我不会提供链接,但这里有一张图片。
第一个和第二个作业中解释了将设备连接到 Google 云平台的过程。
Firebase 云功能
据我了解,Firebase 服务主要用于移动应用程序。但是,考虑到任务的性质,以及我以前从未使用过它们的事实,我想试一试。
Cloud Functions for Firebase 是一个无服务器框架,可让您自动运行后端代码以响应由 Firebase 功能和 HTTPS 请求触发的事件。此外,鉴于 GCP 和 Firebase 之间的出色互操作性,它使 Pub/Sub 和 Firestore 之间的消息交换变得超级容易。
该片段显示了负责交互的函数。基于边缘或基于云的版本都是相同的。实际上,它会自动检测状态编号使用的 Web 应用程序。
如果消息来自基于边缘的应用程序版本,它只会将所有内容转发到 Firestore 数据库,在另一种情况下,它会执行模型,然后才完成交换。
部署后,它也可以在项目页面上看到。
在 Github 上只有我写的用于交流的 Typescript 函数。但是,您还需要创建一个连接到 Google 的 Firebase 项目。这里怎么做:https ://firebase.google.com/docs/functions/get-started
Cloud Firestore 和仪表板
Cloud Firestore 是一个灵活、可扩展的数据库,用于 Firebase 和 Google Cloud Platform 的移动、Web 和服务器开发。
Cloud Firestore 的 NoSQL 数据模型将数据存储在包含映射到值的字段的文档中。这些文档存储在容器、集合中,可用于组织数据和构建查询。它们支持许多不同的数据类型,从简单的字符串和数字到复杂的嵌套对象。此外,它还允许在文档中创建子集合并构建随着数据库增长而扩展的分层数据结构。
对于仪表板,我选择了无服务器方法,正如 Firebase 所教导的那样。事实上,这一次我有一个简单的 HTML,带有一些 Javascript。
db.collection('telemetries').onSnapshot((snapshot) => {
snapshot.docChanges().forEach(element => {
renderValue(element.doc);
})
});
由于这个简单的脚本,每次出现新值时,页面刷新和表格都会更新。
结论
最后,我们可以轻松地决定是否要使用基于云或基于边缘的应用程序版本,两者各有利弊。事实上,使用 Google 和 Firebase 生态系统,我们可以轻松地在服务的两个版本之间切换,拥有一个奇妙的模块化系统。
- 使用通用传感器API和Google进行用户活动识别
- 物联网人类活动识别网络应用
- 使用GY 91多传感器模块创建API
- 人体行为识别API接口aip-php-sdk-4.15.4 3次下载
- 基于Kinect传感器的动态手势识别方法 20次下载
- 光电传感器的连续路径识别算法及实现 6次下载
- 如何安装和运行osxMotionAR活动识别库 1次下载
- 如何使用PIC单片机进行倾角传感器的设计 8次下载
- API-Shop-OCR-营业执照识别API接口Python调用示例代码说明 6次下载
- 超高频射频识别阅读器固件和应用编程接口(API)考量 11次下载
- 基于多传感器的人体行为识别系统_周林 2次下载
- 现代传感器集成电路:通用传感器电路 52次下载
- TGS传感器通用资料
- 通用传感器电路
- 新型传感器技术及应用 0次下载
- 陀螺仪在人体活动识别系统中的应用 1961次阅读
- 如何使用移动传感器产生的原始数据来识别人类活动 1074次阅读
- 如何识别和使用NPN传感器 6746次阅读
- 颜色识别传感器的类型及原理解析 1.5w次阅读
- 角位移传感器原理_角位移传感器应用 3306次阅读
- 数字传感器和模拟传感器的区别 2.5w次阅读
- 指纹识别传感器技术的演变历程 3056次阅读
- 服务器端发票识别api接口 2625次阅读
- 传感器给人类生活带来哪些好处 1w次阅读
- 军用电量传感器有什么特点_军用电量传感器的特点介绍 2511次阅读
- 颜色识别传感器原理与应用详解 6.8w次阅读
- 色彩传感器的选型_色彩传感器工作原理介绍 1.4w次阅读
- 电容式湿度传感器_电容式湿度传感器工作原理 2.6w次阅读
- 湿度传感器的原理、分类、特点特性、参数及其应用 2w次阅读
- DNA生物传感器的原理与应用 8600次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多