电子发烧友App

硬声App

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

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

3天内不再提示
创作
电子发烧友网>电子资料下载>电子资料>基于AWS的人群感知应用程序

基于AWS的人群感知应用程序

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

资料介绍

描述

概述

该项目是罗马第一大学物联网课程作业的一部分。目的是构建一个基于亚马逊网络服务 (AWS) 的人群感知应用程序,该应用程序通过智能手机的加速度计确定用户活动。加速度计提供的数据分析将以两种方式进行:

  • 智能手机本身(基于边缘)
  • 在云端(基于云)

在开始之前...

知道我基于 AWS 构建了另一个项目很有用。在之前的项目中,由三个部分组成,我解释了一些 AWS 基础知识,例如如何在 IoT Core 中创建事物以及如何创建 DynamoDb 表,我假设您已经了解了这个项目。你可以在这里找到第一部分

此应用程序设计用于使用 Google Chrome 在 Android 设备上工作。

另一件有用的事情是,如果您在虚拟机中运行此项目所需的服务器,则必须检查 VM 的网络配置!必须将其设置在“桥接网络”上,以便您可以轻松访问本地托管服务器。

最后,请记住,我用于这个项目的所有代码都可以在我的Github 存储库中找到

服务器

服务器是通过Node.js构建的,您可以在此处找到文档

poYBAGOYMY6Ad4MdAAB8277vvsQ471.png
部分服务器代码
 

您需要创建一些 SSL 自签名证书。在您选择的文件夹中输入终端:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

当然,您可以更改代表证书持续时间的-days的值。系统可能会要求您提供其他信息:提供或发明它们,这对我们的目的并不重要。然后,您可以在您选择的文件夹中找到您的证书和密钥:在代码中必要的地方复制它们的路径。

关于 AWS IoT Core Thing 的 AWS 密钥和证书的问题,如果您不知道如何获取,建议查看我之前的项目。当您配置了所有需要的参数后,只需使用您的终端运行您的服务器,显然进入正确的文件夹:

node server.js
pYYBAGOYMZSAXF37AABDrJf7NPE726.png
服务器运行
 

基于边缘的部署

在基于边缘的部署中,加速度计提供的数据将在智能手机本身上进行分析(以非常简单的方式),然后将它们发送到 AWS 并最终显示在网页上。

poYBAGOYMZeAEdEsAAB89aRklDc777.png
基于边缘的部署
 

通过 HTML5 应用程序,使用通用传感器 API ,我们能够获取加速度计的 xyz 数据。

 
 
 
pYYBAGOYMZqAOf39AACdAloHbQ0636.jpg
 
1 / 2HTML5 页面视图
 

然后,使用极其简单的模型(您显然可以改进它)在设备上分析数据,该模型确定用户的活动,并将其传递到将它们转发到 AWS IoT Core 的服务器。如果一切正常,您应该在运行服务器的终端和 AWS IoT Core 上看到数据,并在“测试”选项卡中订阅服务器正在发布的同一主题。

当数据到达 AWS IoT Core 时,它​​们会触发将它们存储在 AWS DynamoDB 中的规则。

 
 
 
pYYBAGOYzOmARCjiAACDZhhITNI664.png
 
1 / 2规则概述
 

创建规则非常简单,您必须进入 AWS IoT Core 的Act选项卡,然后选择Rules子选项卡;然后点击创建。本质上,您必须填写必填字段,选择从中读取数据的主题,并选择在调用规则时要执行的操作。在这种情况下,您必须选择“在 DynamoDB 表中插入”。当然,您必须首先创建一个结构合理的 DynamoDB 表。

最后,这个项目在 localhost 中运行的网页(您可能还记得我以前的项目中的...)从数据库中检索数据。该网页将显示最后一小时的检测和存储的数据。

 
 
 
poYBAGOYzOuAGpynAABalomFzpA405.png
 
1 / 2最后检测
 

基于云的部署

在基于云的部署中,加速度计提供的数据将被发送到 AWS,通过AWS Lambda函数(以非常简单的方式)进行分析,最后显示在网页上。

pYYBAGOYzO6ASJZuAACuRx-d6_g407.png
基于云的部署
 

通过 HTML5 应用程序,使用通用传感器 API ,我们能够获取加速度计的 xyz 数据。

poYBAGOYzPCAeIFIAACYKO8I_TM995.jpg
HTML5 页面视图
 

界面非常相似,但是这次我们有一个Expected状态,只是作为一个测试,因为真正的数据分析将发生在云服务上。然后,数据被传递到将它们转发到 AWS IoT Core 的服务器。如果一切正常,您应该在运行服务器的终端和 AWS IoT Core 上看到数据,并在“测试”选项卡中订阅服务器正在发布的同一主题。

当数据到达 AWS IoT Core 时,它​​们会触发两条规则。触发的第一个规则将原始数据存储在 AWS DynamoDB 中,与您看到的基于边缘模式的表相同;触发的第二个规则从 DynamoDB 表中检索它们,分析它们以提供结果活动,并将它们存储在第二个 DynamoDB 表中。也许使用两个不同表的决定有点棘手,但我这样做是为了有两个单独的表:一个用于基于边缘模式和基于云模式的原始数据,另一个用于基于云模式处理的数据。您可以根据需要修改 Lambda 函数。

pYYBAGOYzPKAW5gJAAClTGwrBsw377.png
我的 Lambda 函数
 

使用 AWS Lambda 非常简单。当您要创建新函数时,请转到 AWS Lambda 控制台,然后单击创建函数:

pYYBAGOYzPWAWFsnAAEW0Qh2nfE219.png
创建函数
 

为您的函数命名,然后选择您喜欢的语言。Permission部分,您必须为您的函数选择一个执行角色,并为其提供必要的策略。请注意,您可以在AWS Identiy & Access Management (IAM)中创建个性化角色,为每个角色创建个性化策略。在这种情况下,我创建了一个具有完整 DynamoDB 权限的角色。

和以前一样,同一个网页从数据库中检索数据。该网页将显示最后一小时的检测和存储的数据。

当然,如果您不想使用两个不同的 DynamoDB 表但想直接获取 Lambda 处理的数据,还有其他可能的解决方案,例如AWS API Gateway 。

系统如何运作

该代码在我的 Github 存储库中可用,显然如果您想使用它,您必须更改一些参数,正如我在前面几节中解释的那样。如果一切都已正确完成,您可以按以下方式运行系统(我希望不必说您必须在每个步骤中都位于正确的文件夹中:-)):

  • (可选)在一个终端中运行 localhost 页面:该文件位于crowd_sensing/django_web文件夹中> python3 manage.py runserver
  • 在不同的终端中运行您的服务器:该文件位于crowd_sensing文件夹中> node server.js
  • 使用您的智能手机,使用 Google Chrome 和运行服务器的机器上使用的相同 Wi-Fi,转到您的 localhost:3000 Web 应用程序。选择您的模式:基于边缘或基于云。
  • (可选)您可以看到您的数据通过服务器和您的 AWS IoT Core
  • (可选)您可以在 localhost:8000 网页中查看最后一次检测和最后一小时的数据

 


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

评论

查看更多

下载排行

本周

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