电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>使用通用传感器API和Google进行用户活动识别

使用通用传感器API和Google进行用户活动识别

2023-06-19 | zip | 0.00 MB | 次下载 | 免费

资料介绍

描述

这是为罗马第一大学物联网课程的Assignment4制作的项目。

介绍

在本作业中,我创建了一个 HTML5 人群感应应用程序,它使用通用传感器 API手机的加速度计传感器收集数据。收集到的值会像之前的教程一样传输到 Google Cloud 基础架构。

使用在云端收集的数据,我开发了一个简单的活动识别模型,可以检测用户是静止不动还是移动。

该应用程序以两种模式开发:基于云的部署和基于边缘的部署。请注意,为了简化测试,我的应用程序将两种方法一起使用,但将它们分开非常简单。

以下部分是有关如何设置和运行系统的动手教程。

使用的技术:NodeJS、HTML5、通用传感器 API、MQTT、谷歌云物联网核心。

poYBAGOYGuOASxcqAAD1dEQKRsQ853.png
 

UAR - 移动应用程序

移动应用程序是一个使用 NodeJS、HTML5 和通用传感器 API 创建的简单系统。目标是开发一个简单的用户活动识别 (UAR) 模型。

用户活动识别

该应用程序从手机的加速度计传感器读取值,提供应用于设备 X、Y 和 Z 轴的加速度。作为第一次尝试,我尝试以 1Hz 的频率对值进行采样,但生成的模型并不可靠,因此,经过一些尝试,我将频率设置为 4Hz。

poYBAGOYGueAFmGAAADq8fgz3as632.png
三轴加速度
 

设置传感器非常简单,借助通用传感器 API,可以在应用程序前端使用简单的 JS 脚本来完成。首先,我们必须确保手机配备了传感器,在这种情况下,我们必须能够访问它。在这方面,需要注意的是 Generic Sensor API 需要 Google Chrome 浏览器和 HTTPS 协议作为先决条件。

pYYBAGOabmaAVeQKAADYUev0XIE391.png
 

如果所有检查都成功,我们就可以让我们的传感器与startApp()函数一起工作。但在看到这部分之前,我们必须先谈谈基于云的部署和基于边缘的部署之间的区别。

-基于云的部署:

在此模式下,应用程序通过 MQTT 连接将值发送到 Google Cloud IoT Core。鉴于到达云的数据,我们执行模型并在新值到达时提供用户状态的状态,并将它们显示在提供以下功能的 Web 仪表板中:

  • 显示从所有传感器接收到的最新值和结果活动。
  • 显示在过去一小时内从所有传感器接收到的值以及结果活动。

-基于边缘的部署:

给定手机收集的数据,模型在本地执行,为用户的状态提供状态。只有活动识别模型的结果应该传输到云端。此外,在这种情况下,我们创建了一个提供以下功能的 Web 仪表板:

  • 显示用户的最新活动。
  • 显示过去一小时内收到的活动。
 
 
 
poYBAGOabmiAYhUvAADWvZjM5_w960.png
 
1 / 2
 

现在我们准备好更好地理解startApp()函数在工作之前是如何看到的

poYBAGOabmuAfAziAAH-7GX2m4M056.png
 

首先,我们创建一个频率为 4Hz 的 Accelerometer 类的新实例(第 66 行)。我们定义了一个事件监听器(第 68 行)来处理来自传感器的值。我们每秒发送一次值,并且如前所述,我们区分了两种部署模式。之后,我们还在应用程序的前端显示用户的活动(第 100-101 行),最后,我们启动传感器(第 103 行)。

注意:通常只使用两种模式中的一种,但为了简单起见,在这种情况下,它们被放在了一起。如果您只想以一种方式运行应用程序,只需将与另一种模式相关的代码部分注释掉即可。

在 Google 代理上发布的有效负载还包含一个用于识别用户的字段。标识是使用用户第一次打开应用程序时生成的cookie进行的。这种方法只有重复用户的问题,确实为了更好的识别,需要一个身份验证过程,但这不是这个项目的目标。

在本节的最后一部分,我们将讨论用于识别人类活动的预测模型。

预测模型

pYYBAGOabm2AMUP2AAA3K8baO14829.png
模型
 

我们想要估计运动检查加速度是否保持在给定的阈值内,在我们的例子中是 9.05 - 9.95 的范围。这种选择的动机是当移动设备静止时,无论位置如何,只有重力加速度会作用于它。该范围略大于重力加速度,以保证良好的可靠性水平。由于我们有加速度的三个分量(x,y,z),我们可以计算斜边的大小来检索单个值。

pYYBAGOabnCAVJzPAAAHXcR_ygU613.png
 

这种方法的主要问题是误报和误报,因为它是一个简单的计算,而不是机器学习训练的模型。

UCI HAR 数据集的实验

还使用数据集UCI HAR进行了一些实验-具有 6 个类别的数据集:WALKING、WALKING_UPSTAIRS、WALKING_DOWNSTAIRS、SITTING、STANDING、LAYING。由于我们只需要识别运动,因此我将六个类别合并为两个类别:站立,移动。对于实验,我使用了一个随机森林分类器,结果准确率为 97%。不幸的是,我无法很好地实现系统,在从新输入值中提取特征时遇到了几个问题。本实验在本项目的 git 仓库中。我使用了 Python 库 Scikit Learn(请参阅文件夹 uar_model)。

谷歌云后端

首先要做的是建立我们的谷歌平台。打开“IoT Core”部分后,请按照以下简单步骤操作:

1) 创建注册表

2)创建设备并将它们添加到注册表(我们的目的是4个设备)

3) 创建订阅并将其连接到设备

请注意,要执行第二步,您必须创建一个证书。本指南由 Google 提供,包含所有详细步骤:快速入门 - 指南。

完成这部分我们就可以开发我们的后端了。

poYBAGOabnKAaNuzAAKj-F1daK4737.png
处理到达云端的消息
 

和以前一样,我们注意到云部署和边缘部署之间的区别。事实上,在云端,到达的数据使用我们的模型处理(第 95 行),保存在数据库中(第 97-106 行)并发送到仪表板(第 108 行),而不是在基于边缘的数据中直接保存在数据库中(第 112-118 行)并发送到仪表板(第 120 行)。

仪表板

仪表板与上一个教程相同。我只添加了一个新主页和另一个页面来显示这个新分配的值。

仪表板
 

它仅根据方法的类型(云或边缘)在网页中显示到达的值

poYBAGOabnWAB_pgAALCWSkJHPU678.png
 

系统在行动

移动应用

在此处打开应用程序:https ://uar-mobile-app.herokuapp.com

 
 
 
pYYBAGOabniAX9RtAACkdrSUnGA06.jpeg
 
1 / 2
 

仪表板

在此处打开仪表板:https ://iot-assignment1.herokuapp.com/useractivityrecognition

  • 基于云的部署:
poYBAGOabnqAF8jFAAFlRw8dXzQ887.png
基于云的显示
 
  • 基于边缘的部署:
pYYBAGOabn2AFHOpAAFw32pgifs179.png
基于边缘的显示
 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  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次下载  |  免费