资料介绍
描述
概述
该项目是罗马第一大学物联网课程作业的一部分。目的是构建一个基于亚马逊网络服务 (AWS) 的人群感知应用程序,该应用程序通过智能手机的加速度计确定用户活动。加速度计提供的数据分析将以两种方式进行:
在开始之前...
知道我基于 AWS 构建了另一个项目很有用。在之前的项目中,由三个部分组成,我解释了一些 AWS 基础知识,例如如何在 IoT Core 中创建事物以及如何创建 DynamoDb 表,我假设您已经了解了这个项目。你可以在这里找到第一部分。
此应用程序设计用于使用 Google Chrome 在 Android 设备上工作。
另一件有用的事情是,如果您在虚拟机中运行此项目所需的服务器,则必须检查 VM 的网络配置!必须将其设置在“桥接网络”上,以便您可以轻松访问本地托管服务器。
最后,请记住,我用于这个项目的所有代码都可以在我的Github 存储库中找到。
服务器
您需要创建一些 SSL 自签名证书。在您选择的文件夹中输入终端:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
当然,您可以更改代表证书持续时间的-days的值。系统可能会要求您提供其他信息:提供或发明它们,这对我们的目的并不重要。然后,您可以在您选择的文件夹中找到您的证书和密钥:在代码中必要的地方复制它们的路径。
关于 AWS IoT Core Thing 的 AWS 密钥和证书的问题,如果您不知道如何获取,建议查看我之前的项目。当您配置了所有需要的参数后,只需使用您的终端运行您的服务器,显然进入正确的文件夹:
node server.js
基于边缘的部署
在基于边缘的部署中,加速度计提供的数据将在智能手机本身上进行分析(以非常简单的方式),然后将它们发送到 AWS 并最终显示在网页上。
通过 HTML5 应用程序,使用通用传感器 API ,我们能够获取加速度计的 xyz 数据。
然后,使用极其简单的模型(您显然可以改进它)在设备上分析数据,该模型确定用户的活动,并将其传递到将它们转发到 AWS IoT Core 的服务器。如果一切正常,您应该在运行服务器的终端和 AWS IoT Core 上看到数据,并在“测试”选项卡中订阅服务器正在发布的同一主题。
当数据到达 AWS IoT Core 时,它们会触发将它们存储在 AWS DynamoDB 中的规则。
创建规则非常简单,您必须进入 AWS IoT Core 的Act选项卡,然后选择Rules子选项卡;然后点击创建。本质上,您必须填写必填字段,选择从中读取数据的主题,并选择在调用规则时要执行的操作。在这种情况下,您必须选择“在 DynamoDB 表中插入”。当然,您必须首先创建一个结构合理的 DynamoDB 表。
最后,这个项目在 localhost 中运行的网页(您可能还记得我以前的项目中的...)从数据库中检索数据。该网页将显示最后一小时的检测和存储的数据。
基于云的部署
在基于云的部署中,加速度计提供的数据将被发送到 AWS,通过AWS Lambda函数(以非常简单的方式)进行分析,最后显示在网页上。
通过 HTML5 应用程序,使用通用传感器 API ,我们能够获取加速度计的 xyz 数据。
界面非常相似,但是这次我们有一个Expected状态,只是作为一个测试,因为真正的数据分析将发生在云服务上。然后,数据被传递到将它们转发到 AWS IoT Core 的服务器。如果一切正常,您应该在运行服务器的终端和 AWS IoT Core 上看到数据,并在“测试”选项卡中订阅服务器正在发布的同一主题。
当数据到达 AWS IoT Core 时,它们会触发两条规则。触发的第一个规则将原始数据存储在 AWS DynamoDB 中,与您看到的基于边缘模式的表相同;触发的第二个规则从 DynamoDB 表中检索它们,分析它们以提供结果活动,并将它们存储在第二个 DynamoDB 表中。也许使用两个不同表的决定有点棘手,但我这样做是为了有两个单独的表:一个用于基于边缘模式和基于云模式的原始数据,另一个用于基于云模式处理的数据。您可以根据需要修改 Lambda 函数。
使用 AWS Lambda 非常简单。当您要创建新函数时,请转到 AWS Lambda 控制台,然后单击创建函数:
为您的函数命名,然后选择您喜欢的语言。在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 网页中查看最后一次检测和最后一小时的数据
- 连接到AWS IoT的RIOT-OS应用程序
- 用于PIC IoT和AVR IoT的AWS应用程序
- 基于单片机的电阻电容测量应用程序 114次下载
- 如何使用DTK开发应用程序? 3次下载
- 基于多列卷积神经网络的人群计数算法 6次下载
- 基于群体行为分析的人群异常聚集事件预测 10次下载
- 基于YOLO_v3与稀疏光流的人群异常行为识别 12次下载
- 颤振试验应用程序资源下载 7次下载
- 继电器M掉电测试应用程序下载 13次下载
- 电机正反转互锁控制应用程序源码下载 42次下载
- matlab应用程序及源代码下载 35次下载
- Visual C++和MFC创建的应用程序基础知识 0次下载
- 无线遥控应用程序与仿真 15次下载
- altium designer 17.1.6应用程序免费下载下载 789次下载
- 基于多尺度时间递归神经网络的人群异常事件检测和定位方法 0次下载
- 基于RZ/V2L AI MPU的人头计数应用 491次阅读
- 【从0开始创建AWTK应用程序】创建应用程序并在模拟器运行 357次阅读
- SEW-MOVIPRO启动应用程序配置程序 605次阅读
- 如何使用Tokio 和 Tracing模块构建异步的网络应用程序 542次阅读
- 基于RTOS的应用程序的五个最佳实践技巧 842次阅读
- PreEmptiveProtection:全面的移动应用程序保护 529次阅读
- 如何使您更好地进行应用程序安全测试 539次阅读
- 怎么使用uboot引导应用程序? 1360次阅读
- 聊聊PHP的web应用程序开发框架存在的漏洞有哪些 1562次阅读
- 基于AWTK开发应用程序需要遵循的规范和方法 1271次阅读
- DPU编译应用程序的不同方法 1579次阅读
- 浅谈RAM 执行应用程序 3061次阅读
- HarmonyOS应用程序Ability的作用 2391次阅读
- 应用程序安全怎样来提供保障 1145次阅读
- 两种开发 RFID 应用程序的方法分析 791次阅读
下载排行
本周
- 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次下载 | 免费
评论
查看更多