簡介
一個基于ESP32的MAX3010X Web血氧儀 啟用Fat文件系統,允許用戶使用FTP管理文件系統上傳網頁前端 前端使用Bootstrap + ChartJS
本項目的心率和血氧計算和驅動代碼來之以下項目:
https://github.com/coniferconife ... simple-SpO2_plotter
本項目在上面項目的基礎上進行重構,增加了Fat文件系統,允許用戶使用FTP管理文件系統上傳網頁前端;并使用Bootstrap + ChartJS重新對前端程序進行設計,增加歷史圖表曲線功能,并對手機移動端進行了適配
1.png (53.55 KB, 下載次數: 52)
下載附件
2023-1-6 22:43 上傳
Snipaste_2023-01-06_23-00-21.png (562.65 KB, 下載次數: 59)
下載附件
2023-1-6 23:01 上傳
Snipaste_2023-01-06_23-00-38.png (679.42 KB, 下載次數: 49)
下載附件
2023-1-6 23:01 上傳
2023/1/7 版本的源代碼:
esp32-web-oximeter.zip
(791.49 KB, 下載次數: 20)
2023-1-7 15:17 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
Snipaste_2023-01-06_23-19-49.png (64.24 KB, 下載次數: 58)
下載附件
2023-1-6 23:20 上傳
新版本的程序在Github和Gitee同步更新,有問題可以在本貼下方留言,或者到Github、Gitee發布Issues
https://github.com/createskyblue/esp32-web-oximeter
https://gitee.com/createskyblue/esp32-web-oximeter
注意 Attention
不對本項目的心率和血氧讀數精度作出任何保障,不對本項目的穩定性和可靠性負責,不對本項目引發的健康問題負責,不能直接將本項目作為產品使用,絕不對本項目提供任何擔保。本項目的說明文檔如果出現歧義以中文版本為準。
背景 Background
在有些時候,您需要時刻監視您和您的家人的身體狀況,以最大程度預防緊急情況發生,您需要一個血氧儀來監視血氧和心率的情況,但……,,,,為了家人的健康,現在您不得不尋求萬能的Internet幫助并馬上動手現場手搓一個血氧儀。
開源代碼使用情況 和 許可證 License
注意:本項目的不同部分使用不同開源協議!若沒有明確說明,則使用Apache-2.0協議。
名稱 Name | 開源協議 License | 備注 Note | 鏈接 Link | ESP32_MAX30102_simple-SpO2_plotter | Apache-2.0 | 使用在cal_BPM_SpO2.c血氧核心計算部分 | https://github.com/coniferconifer/ESP32_MAX30102_simple-SpO2_plotter | SparkFun_MAX3010x_Pulse_and_Proximity_Sensor_Library | CC BY-SA 4.0 和 MIT | MAX3010X驅動程序 | https://github.com/sparkfun/SparkFun_MAX3010x_Sensor_Library | ArduinoJson | MIT | 用于處理JSON | arduinojson | SimpleFTPServer | MIT | 提供FTP文件管理服務 | https://github.com/xreef/SimpleFTPServer | Bootstrap | Apache-2.0 | 前端CSS框架 | https://github.com/twbs/bootstrap | ChartJS | MIT | 提供前端圖表繪制 | chartjs | IconPark | Apache-2.0 | 提供兩個前端圖標 | https://github.com/bytedance/IconPark |
您如果發現本項目存在開源許可證使用不正確問題或者開源代碼使用情況公示存在遺漏問題,還請您聯系本項目開發者或者在本貼下方留言,我將及時處理開源代碼混合許可證可能存在的使用問題。
硬件連接
默認引腳連接可以在main.h進行修改
MAX30102 | ESP32 | 3V3 | 3V3 | GND | GND | SCK | 22 | SDL | 21 |
編譯安裝(略)
Vscode使用PlatformIO編譯并下載程序
分區表請選擇: default_ffat.csv
將程序下載到ESP32并重啟后,ESP32默認將啟用一個名為"ESP32血氧儀"的Wifi熱點,并在21端口啟動FTP服務器(匿名登陸)
ESP32的默認地址為192.168.4.1
config.json 配置文件
在本項目的web文件夾下面,存放一個config.json文件,為ESP32的配置文件,文件內容如下內容
- {
- "STA_ssid": "你的Wifi名稱",
- "STA_passwd": "你的Wifi密碼",
- "AP_ssid": "ESP32血氧儀",
- "AP_passwd": ""
- }
復制代碼
你可以通過修改該文件,并通過FTP上傳到ESP32 文件系統根目錄,重啟ESP32達到配網的目的
使用FTP工具部署網頁
請將本項目下面的Web文件夾內所有內容復制到
ftp://192.168.4.1/
的根目錄,完成后你的ESP32 FTP根目錄結構應該如下圖所示
Snipaste_2023-01-06_20-37-55.png (4.92 KB, 下載次數: 50)
下載附件
2023-1-6 22:47 上傳
FTP默認匿名登陸
打開前端頁面
如果你使用ESP32開啟的Wifi AP熱點,可以通過以下鏈接打開前端頁面
http://192.168.4.1
如果你完成配網,并且ESP32成功連接到你的Wifi,則需要到你的路由器后臺查看ESP32的IP地址
前端界面如下圖所示:
2.png (26.74 KB, 下載次數: 59)
下載附件
2023-1-6 22:47 上傳
3.png (31.77 KB, 下載次數: 51)
下載附件
2023-1-6 22:47 上傳
Q&A 問題與回答
Q: FTP無法打開
A: 請檢查訪問的FTP地址是否正確
Q: FTP復制文件中途發生錯誤
A: 如果使用Windows自帶的文件管理器,可以嘗試逐個文件手動復制。推薦使用WinSCP等FTP工具進行文件復制
Q: FTP中真實存在文件,但是看不到目錄結構
A: ESP32的 Ffat 文件系統可能損壞,可以編程ESP32格式化文件系統,或者使用flash_download_tools完整擦除ESP32,再重新安裝本程序來解決問題
Q: MAX30105 無法正常使用
A: 您需要在cal_BPM_SpO2.h中修改代碼
//CUSTOM DEFINITION
//#define MAX30105 //if you have Sparkfun's MAX30105 breakout board , try #define MAX30105
修改為
//CUSTOM DEFINITION
#define MAX30105 //if you have Sparkfun's MAX30105 breakout board , try #define MAX30105
然后重新編譯代碼并下載到ESP32中,關于該部分的解釋請查看
https://github.com/coniferconife ... simple-SpO2_plotter
代碼片段截圖
1.png (97.5 KB, 下載次數: 45)
下載附件
2023-1-7 00:08 上傳
2.png (96.64 KB, 下載次數: 56)
下載附件
2023-1-7 00:08 上傳
3.png (97.4 KB, 下載次數: 41)
下載附件
2023-1-7 00:08 上傳
4.png (111.48 KB, 下載次數: 57)
下載附件
2023-1-7 00:08 上傳
5.png (79.63 KB, 下載次數: 49)
下載附件
2023-1-7 00:08 上傳
6.png (106.19 KB, 下載次數: 44)
下載附件
2023-1-7 00:08 上傳
7.png (239.36 KB, 下載次數: 48)
下載附件
2023-1-7 00:08 上傳
遇到問題的聯系方式
1. 本貼下方回復
2.Github 或 Gitee 發布Issues
3.電子郵箱: createskyblue@outlook.com
非技術問題請不要隨意回帖、發布Issues 或發郵件
|