資料介紹
描述
概述
該項(xiàng)目是羅馬第一大學(xué)物聯(lián)網(wǎng)課程作業(yè)的一部分。目的是構(gòu)建一個(gè)基于亞馬遜網(wǎng)絡(luò)服務(wù) (AWS) 的人群感知應(yīng)用程序,該應(yīng)用程序通過智能手機(jī)的加速度計(jì)確定用戶活動(dòng)。加速度計(jì)提供的數(shù)據(jù)分析將以兩種方式進(jìn)行:
在開始之前...
知道我基于 AWS 構(gòu)建了另一個(gè)項(xiàng)目很有用。在之前的項(xiàng)目中,由三個(gè)部分組成,我解釋了一些 AWS 基礎(chǔ)知識(shí),例如如何在 IoT Core 中創(chuàng)建事物以及如何創(chuàng)建 DynamoDb 表,我假設(shè)您已經(jīng)了解了這個(gè)項(xiàng)目。你可以在這里找到第一部分。
此應(yīng)用程序設(shè)計(jì)用于使用 Google Chrome 在 Android 設(shè)備上工作。
另一件有用的事情是,如果您在虛擬機(jī)中運(yùn)行此項(xiàng)目所需的服務(wù)器,則必須檢查 VM 的網(wǎng)絡(luò)配置!必須將其設(shè)置在“橋接網(wǎng)絡(luò)”上,以便您可以輕松訪問本地托管服務(wù)器。
最后,請(qǐng)記住,我用于這個(gè)項(xiàng)目的所有代碼都可以在我的Github 存儲(chǔ)庫中找到。
服務(wù)器
服務(wù)器是通過Node.js構(gòu)建的,您可以在此處找到文檔。

您需要?jiǎng)?chuàng)建一些 SSL 自簽名證書。在您選擇的文件夾中輸入終端:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
當(dāng)然,您可以更改代表證書持續(xù)時(shí)間的-days的值。系統(tǒng)可能會(huì)要求您提供其他信息:提供或發(fā)明它們,這對(duì)我們的目的并不重要。然后,您可以在您選擇的文件夾中找到您的證書和密鑰:在代碼中必要的地方復(fù)制它們的路徑。
關(guān)于 AWS IoT Core Thing 的 AWS 密鑰和證書的問題,如果您不知道如何獲取,建議查看我之前的項(xiàng)目。當(dāng)您配置了所有需要的參數(shù)后,只需使用您的終端運(yùn)行您的服務(wù)器,顯然進(jìn)入正確的文件夾:
node server.js

基于邊緣的部署
在基于邊緣的部署中,加速度計(jì)提供的數(shù)據(jù)將在智能手機(jī)本身上進(jìn)行分析(以非常簡(jiǎn)單的方式),然后將它們發(fā)送到 AWS 并最終顯示在網(wǎng)頁上。

通過 HTML5 應(yīng)用程序,使用通用傳感器 API ,我們能夠獲取加速度計(jì)的 xyz 數(shù)據(jù)。

然后,使用極其簡(jiǎn)單的模型(您顯然可以改進(jìn)它)在設(shè)備上分析數(shù)據(jù),該模型確定用戶的活動(dòng),并將其傳遞到將它們轉(zhuǎn)發(fā)到 AWS IoT Core 的服務(wù)器。如果一切正常,您應(yīng)該在運(yùn)行服務(wù)器的終端和 AWS IoT Core 上看到數(shù)據(jù),并在“測(cè)試”選項(xiàng)卡中訂閱服務(wù)器正在發(fā)布的同一主題。
當(dāng)數(shù)據(jù)到達(dá) AWS IoT Core 時(shí),它??們會(huì)觸發(fā)將它們存儲(chǔ)在 AWS DynamoDB 中的規(guī)則。

創(chuàng)建規(guī)則非常簡(jiǎn)單,您必須進(jìn)入 AWS IoT Core 的Act選項(xiàng)卡,然后選擇Rules子選項(xiàng)卡;然后點(diǎn)擊創(chuàng)建。本質(zhì)上,您必須填寫必填字段,選擇從中讀取數(shù)據(jù)的主題,并選擇在調(diào)用規(guī)則時(shí)要執(zhí)行的操作。在這種情況下,您必須選擇“在 DynamoDB 表中插入”。當(dāng)然,您必須首先創(chuàng)建一個(gè)結(jié)構(gòu)合理的 DynamoDB 表。
最后,這個(gè)項(xiàng)目在 localhost 中運(yùn)行的網(wǎng)頁(您可能還記得我以前的項(xiàng)目中的...)從數(shù)據(jù)庫中檢索數(shù)據(jù)。該網(wǎng)頁將顯示最后一小時(shí)的檢測(cè)和存儲(chǔ)的數(shù)據(jù)。

基于云的部署
在基于云的部署中,加速度計(jì)提供的數(shù)據(jù)將被發(fā)送到 AWS,通過AWS Lambda函數(shù)(以非常簡(jiǎn)單的方式)進(jìn)行分析,最后顯示在網(wǎng)頁上。

通過 HTML5 應(yīng)用程序,使用通用傳感器 API ,我們能夠獲取加速度計(jì)的 xyz 數(shù)據(jù)。

界面非常相似,但是這次我們有一個(gè)Expected狀態(tài),只是作為一個(gè)測(cè)試,因?yàn)檎嬲臄?shù)據(jù)分析將發(fā)生在云服務(wù)上。然后,數(shù)據(jù)被傳遞到將它們轉(zhuǎn)發(fā)到 AWS IoT Core 的服務(wù)器。如果一切正常,您應(yīng)該在運(yùn)行服務(wù)器的終端和 AWS IoT Core 上看到數(shù)據(jù),并在“測(cè)試”選項(xiàng)卡中訂閱服務(wù)器正在發(fā)布的同一主題。
當(dāng)數(shù)據(jù)到達(dá) AWS IoT Core 時(shí),它??們會(huì)觸發(fā)兩條規(guī)則。觸發(fā)的第一個(gè)規(guī)則將原始數(shù)據(jù)存儲(chǔ)在 AWS DynamoDB 中,與您看到的基于邊緣模式的表相同;觸發(fā)的第二個(gè)規(guī)則從 DynamoDB 表中檢索它們,分析它們以提供結(jié)果活動(dòng),并將它們存儲(chǔ)在第二個(gè) DynamoDB 表中。也許使用兩個(gè)不同表的決定有點(diǎn)棘手,但我這樣做是為了有兩個(gè)單獨(dú)的表:一個(gè)用于基于邊緣模式和基于云模式的原始數(shù)據(jù),另一個(gè)用于基于云模式處理的數(shù)據(jù)。您可以根據(jù)需要修改 Lambda 函數(shù)。

使用 AWS Lambda 非常簡(jiǎn)單。當(dāng)您要?jiǎng)?chuàng)建新函數(shù)時(shí),請(qǐng)轉(zhuǎn)到 AWS Lambda 控制臺(tái),然后單擊創(chuàng)建函數(shù):

為您的函數(shù)命名,然后選擇您喜歡的語言。在Permission部分,您必須為您的函數(shù)選擇一個(gè)執(zhí)行角色,并為其提供必要的策略。請(qǐng)注意,您可以在AWS Identiy & Access Management (IAM)中創(chuàng)建個(gè)性化角色,為每個(gè)角色創(chuàng)建個(gè)性化策略。在這種情況下,我創(chuàng)建了一個(gè)具有完整 DynamoDB 權(quán)限的角色。
和以前一樣,同一個(gè)網(wǎng)頁從數(shù)據(jù)庫中檢索數(shù)據(jù)。該網(wǎng)頁將顯示最后一小時(shí)的檢測(cè)和存儲(chǔ)的數(shù)據(jù)。
當(dāng)然,如果您不想使用兩個(gè)不同的 DynamoDB 表但想直接獲取 Lambda 處理的數(shù)據(jù),還有其他可能的解決方案,例如AWS API Gateway 。
系統(tǒng)如何運(yùn)作
該代碼在我的 Github 存儲(chǔ)庫中可用,顯然如果您想使用它,您必須更改一些參數(shù),正如我在前面幾節(jié)中解釋的那樣。如果一切都已正確完成,您可以按以下方式運(yùn)行系統(tǒng)(我希望不必說您必須在每個(gè)步驟中都位于正確的文件夾中:-)):
-
(可選)在一個(gè)終端中運(yùn)行 localhost 頁面:該文件位于crowd_sensing/django_web文件夾中
>
python3 manage.py runserver
-
在不同的終端中運(yùn)行您的服務(wù)器:該文件位于crowd_sensing文件夾中
>
node
server.js
- 使用您的智能手機(jī),使用 Google Chrome 和運(yùn)行服務(wù)器的機(jī)器上使用的相同 Wi-Fi,轉(zhuǎn)到您的 localhost:3000 Web 應(yīng)用程序。選擇您的模式:基于邊緣或基于云。
- (可選)您可以看到您的數(shù)據(jù)通過服務(wù)器和您的 AWS IoT Core
- (可選)您可以在 localhost:8000 網(wǎng)頁中查看最后一次檢測(cè)和最后一小時(shí)的數(shù)據(jù)
?
- 連接到AWS IoT的RIOT-OS應(yīng)用程序
- 用于PIC IoT和AVR IoT的AWS應(yīng)用程序
- 基于單片機(jī)的電阻電容測(cè)量應(yīng)用程序 121次下載
- 如何使用DTK開發(fā)應(yīng)用程序? 3次下載
- 基于多列卷積神經(jīng)網(wǎng)絡(luò)的人群計(jì)數(shù)算法 6次下載
- 基于群體行為分析的人群異常聚集事件預(yù)測(cè) 10次下載
- 基于YOLO_v3與稀疏光流的人群異常行為識(shí)別 12次下載
- 顫振試驗(yàn)應(yīng)用程序資源下載 7次下載
- 繼電器M掉電測(cè)試應(yīng)用程序下載 13次下載
- 電機(jī)正反轉(zhuǎn)互鎖控制應(yīng)用程序源碼下載 42次下載
- matlab應(yīng)用程序及源代碼下載 36次下載
- Visual C++和MFC創(chuàng)建的應(yīng)用程序基礎(chǔ)知識(shí) 0次下載
- 無線遙控應(yīng)用程序與仿真 15次下載
- altium designer 17.1.6應(yīng)用程序免費(fèi)下載下載 805次下載
- 基于多尺度時(shí)間遞歸神經(jīng)網(wǎng)絡(luò)的人群異常事件檢測(cè)和定位方法 0次下載
- AWTK-WEB 快速入門(2) - JS 應(yīng)用程序 137次閱讀
- AWTK-WEB 快速入門(1) - C 語言應(yīng)用程序 257次閱讀
- 基于RZ/V2L AI MPU的人頭計(jì)數(shù)應(yīng)用 714次閱讀
- 【從0開始創(chuàng)建AWTK應(yīng)用程序】創(chuàng)建應(yīng)用程序并在模擬器運(yùn)行 541次閱讀
- SEW-MOVIPRO啟動(dòng)應(yīng)用程序配置程序 848次閱讀
- 基于RTOS的應(yīng)用程序的五個(gè)最佳實(shí)踐技巧 1036次閱讀
- PreEmptiveProtection:全面的移動(dòng)應(yīng)用程序保護(hù) 683次閱讀
- 如何使您更好地進(jìn)行應(yīng)用程序安全測(cè)試 703次閱讀
- 怎么使用uboot引導(dǎo)應(yīng)用程序? 1545次閱讀
- 聊聊PHP的web應(yīng)用程序開發(fā)框架存在的漏洞有哪些 1834次閱讀
- 基于AWTK開發(fā)應(yīng)用程序需要遵循的規(guī)范和方法 1392次閱讀
- DPU編譯應(yīng)用程序的不同方法 1769次閱讀
- 淺談RAM 執(zhí)行應(yīng)用程序 3264次閱讀
- HarmonyOS應(yīng)用程序Ability的作用 2573次閱讀
- 應(yīng)用程序安全怎樣來提供保障 1230次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費(fèi)
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費(fèi)
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費(fèi)
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費(fèi)
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費(fèi)
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費(fèi)
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護(hù)等級(jí)說明
- 0.08 MB | 次下載 | 免費(fèi)
本月
- 1貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計(jì)指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍(lán)牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費(fèi)
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評(píng)論