資料介紹
描述
概述
該項目是羅馬第一大學物聯(lián)網(wǎng)課程作業(yè)的一部分。目的是構建一個基于亞馬遜網(wǎng)絡服務 (AWS) 的人群感知應用程序,該應用程序通過智能手機的加速度計確定用戶活動。加速度計提供的數(shù)據(jù)分析將以兩種方式進行:
在開始之前...
知道我基于 AWS 構建了另一個項目很有用。在之前的項目中,由三個部分組成,我解釋了一些 AWS 基礎知識,例如如何在 IoT Core 中創(chuàng)建事物以及如何創(chuàng)建 DynamoDb 表,我假設您已經(jīng)了解了這個項目。你可以在這里找到第一部分。
此應用程序設計用于使用 Google Chrome 在 Android 設備上工作。
另一件有用的事情是,如果您在虛擬機中運行此項目所需的服務器,則必須檢查 VM 的網(wǎng)絡配置!必須將其設置在“橋接網(wǎng)絡”上,以便您可以輕松訪問本地托管服務器。
最后,請記住,我用于這個項目的所有代碼都可以在我的Github 存儲庫中找到。
服務器
![poYBAGOYMY6Ad4MdAAB8277vvsQ471.png](https://file.elecfans.com/web2/M00/83/34/poYBAGOYMY6Ad4MdAAB8277vvsQ471.png)
您需要創(chuàng)建一些 SSL 自簽名證書。在您選擇的文件夾中輸入終端:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
當然,您可以更改代表證書持續(xù)時間的-days的值。系統(tǒng)可能會要求您提供其他信息:提供或發(fā)明它們,這對我們的目的并不重要。然后,您可以在您選擇的文件夾中找到您的證書和密鑰:在代碼中必要的地方復制它們的路徑。
關于 AWS IoT Core Thing 的 AWS 密鑰和證書的問題,如果您不知道如何獲取,建議查看我之前的項目。當您配置了所有需要的參數(shù)后,只需使用您的終端運行您的服務器,顯然進入正確的文件夾:
node server.js
![pYYBAGOYMZSAXF37AABDrJf7NPE726.png](https://file.elecfans.com/web2/M00/83/BD/pYYBAGOYMZSAXF37AABDrJf7NPE726.png)
基于邊緣的部署
在基于邊緣的部署中,加速度計提供的數(shù)據(jù)將在智能手機本身上進行分析(以非常簡單的方式),然后將它們發(fā)送到 AWS 并最終顯示在網(wǎng)頁上。
![poYBAGOYMZeAEdEsAAB89aRklDc777.png](https://file.elecfans.com/web2/M00/83/34/poYBAGOYMZeAEdEsAAB89aRklDc777.png)
通過 HTML5 應用程序,使用通用傳感器 API ,我們能夠獲取加速度計的 xyz 數(shù)據(jù)。
![pYYBAGOYMZqAOf39AACdAloHbQ0636.jpg](https://file.elecfans.com/web2/M00/83/BD/pYYBAGOYMZqAOf39AACdAloHbQ0636.jpg)
然后,使用極其簡單的模型(您顯然可以改進它)在設備上分析數(shù)據(jù),該模型確定用戶的活動,并將其傳遞到將它們轉(zhuǎn)發(fā)到 AWS IoT Core 的服務器。如果一切正常,您應該在運行服務器的終端和 AWS IoT Core 上看到數(shù)據(jù),并在“測試”選項卡中訂閱服務器正在發(fā)布的同一主題。
當數(shù)據(jù)到達 AWS IoT Core 時,它??們會觸發(fā)將它們存儲在 AWS DynamoDB 中的規(guī)則。
![pYYBAGOYzOmARCjiAACDZhhITNI664.png](https://file.elecfans.com/web2/M00/83/E3/pYYBAGOYzOmARCjiAACDZhhITNI664.png)
創(chuàng)建規(guī)則非常簡單,您必須進入 AWS IoT Core 的Act選項卡,然后選擇Rules子選項卡;然后點擊創(chuàng)建。本質(zhì)上,您必須填寫必填字段,選擇從中讀取數(shù)據(jù)的主題,并選擇在調(diào)用規(guī)則時要執(zhí)行的操作。在這種情況下,您必須選擇“在 DynamoDB 表中插入”。當然,您必須首先創(chuàng)建一個結構合理的 DynamoDB 表。
最后,這個項目在 localhost 中運行的網(wǎng)頁(您可能還記得我以前的項目中的...)從數(shù)據(jù)庫中檢索數(shù)據(jù)。該網(wǎng)頁將顯示最后一小時的檢測和存儲的數(shù)據(jù)。
![poYBAGOYzOuAGpynAABalomFzpA405.png](https://file.elecfans.com/web2/M00/83/5A/poYBAGOYzOuAGpynAABalomFzpA405.png)
基于云的部署
在基于云的部署中,加速度計提供的數(shù)據(jù)將被發(fā)送到 AWS,通過AWS Lambda函數(shù)(以非常簡單的方式)進行分析,最后顯示在網(wǎng)頁上。
![pYYBAGOYzO6ASJZuAACuRx-d6_g407.png](https://file.elecfans.com/web2/M00/83/E3/pYYBAGOYzO6ASJZuAACuRx-d6_g407.png)
通過 HTML5 應用程序,使用通用傳感器 API ,我們能夠獲取加速度計的 xyz 數(shù)據(jù)。
![poYBAGOYzPCAeIFIAACYKO8I_TM995.jpg](https://file.elecfans.com/web2/M00/83/5A/poYBAGOYzPCAeIFIAACYKO8I_TM995.jpg)
界面非常相似,但是這次我們有一個Expected狀態(tài),只是作為一個測試,因為真正的數(shù)據(jù)分析將發(fā)生在云服務上。然后,數(shù)據(jù)被傳遞到將它們轉(zhuǎn)發(fā)到 AWS IoT Core 的服務器。如果一切正常,您應該在運行服務器的終端和 AWS IoT Core 上看到數(shù)據(jù),并在“測試”選項卡中訂閱服務器正在發(fā)布的同一主題。
當數(shù)據(jù)到達 AWS IoT Core 時,它??們會觸發(fā)兩條規(guī)則。觸發(fā)的第一個規(guī)則將原始數(shù)據(jù)存儲在 AWS DynamoDB 中,與您看到的基于邊緣模式的表相同;觸發(fā)的第二個規(guī)則從 DynamoDB 表中檢索它們,分析它們以提供結果活動,并將它們存儲在第二個 DynamoDB 表中。也許使用兩個不同表的決定有點棘手,但我這樣做是為了有兩個單獨的表:一個用于基于邊緣模式和基于云模式的原始數(shù)據(jù),另一個用于基于云模式處理的數(shù)據(jù)。您可以根據(jù)需要修改 Lambda 函數(shù)。
![pYYBAGOYzPKAW5gJAAClTGwrBsw377.png](https://file.elecfans.com/web2/M00/83/E3/pYYBAGOYzPKAW5gJAAClTGwrBsw377.png)
使用 AWS Lambda 非常簡單。當您要創(chuàng)建新函數(shù)時,請轉(zhuǎn)到 AWS Lambda 控制臺,然后單擊創(chuàng)建函數(shù):
![pYYBAGOYzPWAWFsnAAEW0Qh2nfE219.png](https://file.elecfans.com/web2/M00/83/E3/pYYBAGOYzPWAWFsnAAEW0Qh2nfE219.png)
為您的函數(shù)命名,然后選擇您喜歡的語言。在Permission部分,您必須為您的函數(shù)選擇一個執(zhí)行角色,并為其提供必要的策略。請注意,您可以在AWS Identiy & Access Management (IAM)中創(chuàng)建個性化角色,為每個角色創(chuàng)建個性化策略。在這種情況下,我創(chuàng)建了一個具有完整 DynamoDB 權限的角色。
和以前一樣,同一個網(wǎng)頁從數(shù)據(jù)庫中檢索數(shù)據(jù)。該網(wǎng)頁將顯示最后一小時的檢測和存儲的數(shù)據(jù)。
當然,如果您不想使用兩個不同的 DynamoDB 表但想直接獲取 Lambda 處理的數(shù)據(jù),還有其他可能的解決方案,例如AWS API Gateway 。
系統(tǒng)如何運作
該代碼在我的 Github 存儲庫中可用,顯然如果您想使用它,您必須更改一些參數(shù),正如我在前面幾節(jié)中解釋的那樣。如果一切都已正確完成,您可以按以下方式運行系統(tǒng)(我希望不必說您必須在每個步驟中都位于正確的文件夾中:-)):
-
(可選)在一個終端中運行 localhost 頁面:該文件位于crowd_sensing/django_web文件夾中
>
python3 manage.py runserver
-
在不同的終端中運行您的服務器:該文件位于crowd_sensing文件夾中
>
node
server.js
- 使用您的智能手機,使用 Google Chrome 和運行服務器的機器上使用的相同 Wi-Fi,轉(zhuǎn)到您的 localhost:3000 Web 應用程序。選擇您的模式:基于邊緣或基于云。
- (可選)您可以看到您的數(shù)據(jù)通過服務器和您的 AWS IoT Core
- (可選)您可以在 localhost:8000 網(wǎng)頁中查看最后一次檢測和最后一小時的數(shù)據(jù)
?
- 連接到AWS IoT的RIOT-OS應用程序
- 用于PIC IoT和AVR IoT的AWS應用程序
- 基于單片機的電阻電容測量應用程序 121次下載
- 如何使用DTK開發(fā)應用程序? 3次下載
- 基于多列卷積神經(jīng)網(wǎng)絡的人群計數(shù)算法 6次下載
- 基于群體行為分析的人群異常聚集事件預測 10次下載
- 基于YOLO_v3與稀疏光流的人群異常行為識別 12次下載
- 顫振試驗應用程序資源下載 7次下載
- 繼電器M掉電測試應用程序下載 13次下載
- 電機正反轉(zhuǎn)互鎖控制應用程序源碼下載 42次下載
- matlab應用程序及源代碼下載 36次下載
- Visual C++和MFC創(chuàng)建的應用程序基礎知識 0次下載
- 無線遙控應用程序與仿真 15次下載
- altium designer 17.1.6應用程序免費下載下載 805次下載
- 基于多尺度時間遞歸神經(jīng)網(wǎng)絡的人群異常事件檢測和定位方法 0次下載
- AWTK-WEB 快速入門(2) - JS 應用程序 137次閱讀
- AWTK-WEB 快速入門(1) - C 語言應用程序 257次閱讀
- 基于RZ/V2L AI MPU的人頭計數(shù)應用 714次閱讀
- 【從0開始創(chuàng)建AWTK應用程序】創(chuàng)建應用程序并在模擬器運行 541次閱讀
- SEW-MOVIPRO啟動應用程序配置程序 848次閱讀
- 基于RTOS的應用程序的五個最佳實踐技巧 1036次閱讀
- PreEmptiveProtection:全面的移動應用程序保護 683次閱讀
- 如何使您更好地進行應用程序安全測試 703次閱讀
- 怎么使用uboot引導應用程序? 1545次閱讀
- 聊聊PHP的web應用程序開發(fā)框架存在的漏洞有哪些 1834次閱讀
- 基于AWTK開發(fā)應用程序需要遵循的規(guī)范和方法 1392次閱讀
- DPU編譯應用程序的不同方法 1769次閱讀
- 淺談RAM 執(zhí)行應用程序 3264次閱讀
- HarmonyOS應用程序Ability的作用 2573次閱讀
- 應用程序安全怎樣來提供保障 1230次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 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開發(fā)指南
- 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數(shù)字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 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次下載 | 免費
評論