找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3602|回復(fù): 3
收起左側(cè)

ESP32 MAX30102 Web血氧儀制作 附開(kāi)源代碼資料

  [復(fù)制鏈接]
ID:277903 發(fā)表于 2023-1-6 22:54 | 顯示全部樓層 |閱讀模式
簡(jiǎn)介
一個(gè)基于ESP32的MAX3010X Web血氧儀 啟用Fat文件系統(tǒng),允許用戶使用FTP管理文件系統(tǒng)上傳網(wǎng)頁(yè)前端 前端使用Bootstrap + ChartJS

本項(xiàng)目的心率和血氧計(jì)算和驅(qū)動(dòng)代碼來(lái)之以下項(xiàng)目:
https://github.com/coniferconife ... simple-SpO2_plotter
本項(xiàng)目在上面項(xiàng)目的基礎(chǔ)上進(jìn)行重構(gòu),增加了Fat文件系統(tǒng),允許用戶使用FTP管理文件系統(tǒng)上傳網(wǎng)頁(yè)前端;并使用Bootstrap + ChartJS重新對(duì)前端程序進(jìn)行設(shè)計(jì),增加歷史圖表曲線功能,并對(duì)手機(jī)移動(dòng)端進(jìn)行了適配
1.png Snipaste_2023-01-06_23-00-21.png
Snipaste_2023-01-06_23-00-38.png


2023/1/7 版本的源代碼: esp32-web-oximeter.zip (791.49 KB, 下載次數(shù): 20)

Snipaste_2023-01-06_23-19-49.png
新版本的程序在Github和Gitee同步更新,有問(wèn)題可以在本貼下方留言,或者到Github、Gitee發(fā)布Issues
https://github.com/createskyblue/esp32-web-oximeter
https://gitee.com/createskyblue/esp32-web-oximeter

注意 Attention
不對(duì)本項(xiàng)目的心率和血氧讀數(shù)精度作出任何保障,不對(duì)本項(xiàng)目的穩(wěn)定性和可靠性負(fù)責(zé),不對(duì)本項(xiàng)目引發(fā)的健康問(wèn)題負(fù)責(zé),不能直接將本項(xiàng)目作為產(chǎn)品使用,絕不對(duì)本項(xiàng)目提供任何擔(dān)保。本項(xiàng)目的說(shuō)明文檔如果出現(xiàn)歧義以中文版本為準(zhǔn)。


背景 Background
在有些時(shí)候,您需要時(shí)刻監(jiān)視您和您的家人的身體狀況,以最大程度預(yù)防緊急情況發(fā)生,您需要一個(gè)血氧儀來(lái)監(jiān)視血氧和心率的情況,但……,,,,為了家人的健康,現(xiàn)在您不得不尋求萬(wàn)能的Internet幫助并馬上動(dòng)手現(xiàn)場(chǎng)手搓一個(gè)血氧儀。

開(kāi)源代碼使用情況 和 許可證 License
注意:本項(xiàng)目的不同部分使用不同開(kāi)源協(xié)議!若沒(méi)有明確說(shuō)明,則使用Apache-2.0協(xié)議。
名稱(chēng) Name
開(kāi)源協(xié)議 License
備注 Note
鏈接 Link
ESP32_MAX30102_simple-SpO2_plotter
Apache-2.0
使用在cal_BPM_SpO2.c血氧核心計(jì)算部分
https://github.com/coniferconifer/ESP32_MAX30102_simple-SpO2_plotter
SparkFun_MAX3010x_Pulse_and_Proximity_Sensor_Library
CC BY-SA 4.0 和 MIT
MAX3010X驅(qū)動(dòng)程序
https://github.com/sparkfun/SparkFun_MAX3010x_Sensor_Library
ArduinoJson
MIT
用于處理JSON
arduinojson
SimpleFTPServer
MIT
提供FTP文件管理服務(wù)
https://github.com/xreef/SimpleFTPServer
Bootstrap
Apache-2.0
前端CSS框架
https://github.com/twbs/bootstrap
ChartJS
MIT
提供前端圖表繪制
chartjs
IconPark
Apache-2.0
提供兩個(gè)前端圖標(biāo)
https://github.com/bytedance/IconPark

您如果發(fā)現(xiàn)本項(xiàng)目存在開(kāi)源許可證使用不正確問(wèn)題或者開(kāi)源代碼使用情況公示存在遺漏問(wèn)題,還請(qǐng)您聯(lián)系本項(xiàng)目開(kāi)發(fā)者或者在本貼下方留言,我將及時(shí)處理開(kāi)源代碼混合許可證可能存在的使用問(wèn)題。

硬件連接
默認(rèn)引腳連接可以在main.h進(jìn)行修改
MAX30102 ESP32
3V3 3V3
GND GND
SCK 22
SDL 21



編譯安裝(略)
Vscode使用PlatformIO編譯并下載程序
分區(qū)表請(qǐng)選擇: default_ffat.csv
將程序下載到ESP32并重啟后,ESP32默認(rèn)將啟用一個(gè)名為"ESP32血氧儀"的Wifi熱點(diǎn),并在21端口啟動(dòng)FTP服務(wù)器(匿名登陸)
ESP32的默認(rèn)地址為192.168.4.1

config.json 配置文件
在本項(xiàng)目的web文件夾下面,存放一個(gè)config.json文件,為ESP32的配置文件,文件內(nèi)容如下內(nèi)容
  1. {
  2.     "STA_ssid": "你的Wifi名稱(chēng)",
  3.     "STA_passwd": "你的Wifi密碼",
  4.     "AP_ssid": "ESP32血氧儀",
  5.     "AP_passwd": ""
  6. }
復(fù)制代碼

你可以通過(guò)修改該文件,并通過(guò)FTP上傳到ESP32 文件系統(tǒng)根目錄,重啟ESP32達(dá)到配網(wǎng)的目的

使用FTP工具部署網(wǎng)頁(yè)
請(qǐng)將本項(xiàng)目下面的Web文件夾內(nèi)所有內(nèi)容復(fù)制到
ftp://192.168.4.1/
的根目錄,完成后你的ESP32 FTP根目錄結(jié)構(gòu)應(yīng)該如下圖所示
Snipaste_2023-01-06_20-37-55.png

FTP默認(rèn)匿名登陸

打開(kāi)前端頁(yè)面
如果你使用ESP32開(kāi)啟的Wifi AP熱點(diǎn),可以通過(guò)以下鏈接打開(kāi)前端頁(yè)面
http://192.168.4.1
如果你完成配網(wǎng),并且ESP32成功連接到你的Wifi,則需要到你的路由器后臺(tái)查看ESP32的IP地址

前端界面如下圖所示:
2.png 3.png


Q&A 問(wèn)題與回答
Q: FTP無(wú)法打開(kāi)
A: 請(qǐng)檢查訪問(wèn)的FTP地址是否正確

Q: FTP復(fù)制文件中途發(fā)生錯(cuò)誤
A: 如果使用Windows自帶的文件管理器,可以嘗試逐個(gè)文件手動(dòng)復(fù)制。推薦使用WinSCP等FTP工具進(jìn)行文件復(fù)制

Q: FTP中真實(shí)存在文件,但是看不到目錄結(jié)構(gòu)
A: ESP32的 Ffat 文件系統(tǒng)可能損壞,可以編程ESP32格式化文件系統(tǒng),或者使用flash_download_tools完整擦除ESP32,再重新安裝本程序來(lái)解決問(wèn)題

Q: MAX30105 無(wú)法正常使用
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中,關(guān)于該部分的解釋請(qǐng)查看
https://github.com/coniferconife ... simple-SpO2_plotter
代碼片段截圖
1.png

2.png

3.png
4.png
5.png
6.png
7.png
遇到問(wèn)題的聯(lián)系方式

1. 本貼下方回復(fù)
2.Github 或 Gitee 發(fā)布Issues
3.電子郵箱: createskyblue@outlook.com
非技術(shù)問(wèn)題請(qǐng)不要隨意回帖、發(fā)布Issues 或發(fā)郵件

評(píng)分

參與人數(shù) 2黑幣 +120 收起 理由
wpppmlah + 30 共享資料的黑幣獎(jiǎng)勵(lì)!
admin + 90 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:914666 發(fā)表于 2023-1-15 12:43 | 顯示全部樓層
這真是高手!
回復(fù)

使用道具 舉報(bào)

ID:1061252 發(fā)表于 2023-1-17 22:31 | 顯示全部樓層
自己離大神太遙遠(yuǎn)了,此生無(wú)望
回復(fù)

使用道具 舉報(bào)

ID:268890 發(fā)表于 2023-6-25 16:23 | 顯示全部樓層
這個(gè)論壇,大佬太多了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表