簡單物聯網應用設計與實作——基于老人居家聲音監測系統
概述
設計內容:
采用標準的物聯網三層架構, 感知層為可以檢測聲音資料并且實作無線發送的傳感器節點; 網路層主要使用無線 WiFi; 應用層中, 搭建服務器, 實時存盤資料, 實作基于 IP 的可視化頁面訪問, 顯示例外資料的報警, 查詢報警歷史記錄接收用戶在頁面上設定的時間閾值和音量閾值,以便于針對不同用戶的兼容性,
要求:
1. 基于已有模塊,完成聲音傳感器與開發的硬體連接;
2. 撰寫 MCU 代碼,完成傳感器資料的讀取、分析與顯示、 完成基于WiFi 的資料通信,能夠實作資料的無線發送和資料庫存盤;
3. 撰寫用戶頁面代碼,完成移動端和 PC 端的相應資料的顯示、定位、 報警、查詢,
本文內容包括:
一、 架構
二、 實作效果
三、原始碼參考
四、視頻教程
五、總結
一、架構
老人居家聲音感知監測系統的設計主要是由感知節點、 云端服務器、 應用軟體組成,感
知節點主要由聲音傳感器和 ESP32 開發板組成, 實作資料的采集和處理,并通過 WiFi 建立
MQTT 通信將資料處理的資料傳輸到 MQTT 服務器, 云端服務器主要將 MQTT 服務器上的
資料存盤到 MySQL 資料庫中, 通過 Apache HTTP Server 服務器實作基于 IP 的資料可視化
頁面訪問,系統總架構圖如圖 1-1 所示,

老人居家聲音感知監測系統的設計與實作是感知節點、 云端服務器加基于 IP 的用戶頁
面組成的監測系統,該系統可以實時監測老人在家的移動聲音資料,并根據對監測的聲音數
據處理情況進行報警資訊提示, 查詢歷史報警記錄, 系統框架圖如圖 3-1 所示
老人居家聲音感知監測系統整體主要包括三個模塊, 分別是感知層資料采集模塊、 云端
服務器模塊和用戶界面,
(1)感知層資料采集模塊主要實作居家聲音的資料采集并且講資料發送至云端;
(2)云端服務器主要完成感知層資料的接收、 處理, MySQL 的資料存盤, 提供了基于 IP
的用戶界面訪問功能;
(3)用戶界面主要實作了用戶可以使用 IP 訪問可視化頁面, 并且可視化頁面能夠實時顯
示資料, 有特殊情況會自動報警, 查詢歷史報警記錄, 如圖 3-2 所示,
二、實作效果
(1)傳感器節點連接如下圖, 采用 5V 電壓電源供電, 傳感器接 ESP32 的 ADC1 的
CHANNL_6 介面, 接線方式如表 5-1 所示,
| 聲音傳感器 | ESP32 |
|---|---|
| VIN | 3V3 |
| GND | GND |
| OUT | D34 |
關于本次設計的測驗, 使用了兩個節點, 分別安放在廚房和衛生間, 傳感器節點如下圖 所示:

(2)ESP32 串口讀取列印資料, 觀察到節點采集到聲音資料, 并且成功發送至 MQTT,
如下圖 所示
(3)通過 MQTT.fx 訂閱到節點發送資料的埠和主題, 收到來自于節點的 json 資料,如下圖 所示,
(4)接收程式終端列印程式流程, 觀察到資料接收正常, 并且成功保存至資料庫, 如下圖所示,
(5)使用 navicat for MySQL 軟體打開上述使用到的資料庫, 觀察到表中存在剛發送的數
據, 包含廚房和衛生間所采集到的資料, 如下圖所示,
(6)PC 端打開可視化頁面, 可以修改時間閾值和音量閾值, 默認的時間閾值和音量閾值
為 200, 此時設定一個時間閾值為 30, 音量閾值為 300, 觀察到資料顯示在頁面上, 若資料
例外將會報警(相應位置名稱紅色提醒) 如下圖所示,
(7)移動端打開可視化頁面, 使用默認為 200 的時間閾值和音量閾值, 觀察到資料顯示
在頁面上, 若資料例外將會報警(相應位置名稱紅色提醒) , 如下圖 所示,
(8)設定時間閾值為 30、 音量閾值為 300, 此時會提示時間閾值修改為 30, 音量閾值修
改為 300, 當觀察到資料顯示在頁面上, 若時間閾值達到 30 或音量閾值達到 300 則成功報
警(相應位置名稱紅色提醒)
(9)輸入開始為 1 和結束時間為 15, 點擊查詢歷史報警記錄按鈕, 可以查詢到相應時間
段的報警歷史記錄, 包括報警次數和報警事件, 可以給用戶進行查詢的操作,
三、原始碼參考
本設計涉及到的內容過多,我寫了其它幾篇疊在一起,按照順序查看即可:
1.服務器搭建——虛擬機服務器、MySQL、MQTT broker(EMQX)、無線局域網、虛擬機——主機網路映射
2.ESP32(arduino)和聲音傳感器資料采集并實作連接WiFi進行MQTT通信
3.python實作 MQTT訂閱、接收以及MySQL資料庫存盤
4.前端頁面設計
5.ajax請求實作前端頁面查詢資料庫歷史記錄(AJAX(HTML+JS)、Flask_WebServer(python))
6.第4條和第5條一樣的,哈哈哈
四、視頻教程
簡單物聯網應用——基于老人居家聲音監測系統——視頻教程
五、總結
本設計使用聲音傳感器采集資料,使用 ESP32 開發板連接聲音傳感器作為一個傳感器
節點, ESP32 采集傳感器發出的模擬信號,并連接 WiFi 建立 MQTT 通信將資料上傳到 MQTT
服務器,服務器收到節點發送的 MQTT 的資料,將資料保存在 MySQL 資料庫中,使用
Apache HTTP Server 服務器實作基于 IP 的資料可視化頁面訪問, 可以通過 PC 或者移動端訪25
問頁面,頁面實時顯示居家環境中各個節點的聲音資料,當出現例外時,會有相應的報警提
示,
經過測驗,能判斷出居家老人的行為,比如在家某個位置有活動,傳感器能夠實時采集
資料,并且頁面能達到多節點資料實時顯示的效果,當出現例外行為時,相應位置能夠報警,
未來, 本設計需要提高居家行為的感知范圍,需要精準識別出老人居家行為的類別,比
如做飯、洗浴等的行為,并且通過大資料生成日常行為報表,以便于對老人的生活質量進行
分析和預測危險,為居家老人的生活提供切實有效的輔助,
可聯系博主本人:anhwql@qq.com
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289941.html
標籤:其他
