【Esp32】用esp32和max30102制作一个血氧仪

文章介绍了如何使用ESP32-WROOM模块通过I2C与MAX30102血氧传感器通信,将数据上传至阿里云物联网平台进行实时显示,同时利用点灯科技的SDK创建APP接收并展示数据。过程中涉及MQTT协议的使用和阿里云物联网平台的配置。

【物资准备】

esp32-wroom

max30102

点灯科技账号or阿里云物联网平台账号

(本来是想用屏幕去显示的,但是我发现我的esp32只有一个iic引出来,而max30102模块正好是iic通讯,我又懒得弄spi的屏幕,所以用手机app或者网页去起到显示数据的一个作用了)

1、阿里云物联网平台

先上代码

#include <WiFi.h>
#include <PubSubClient.h>
#include <ArduinoJson.h>



// 这里添加要连的wifi名称和密码
const char* ssid     = "";
const char* password = "";


/* 设备证书信息,根据情况修改*/
#define PRODUCT_KEY       ""
#define DEVICE_NAME       ""
#define DEVICE_SECRET     ""
#define REGION_ID         "cn-shanghai"

#define CLIENT_ID         ""
#define MQTT_PASSWD       ""

#define ALINK_BODY_FORMAT         "{\"params\":%s}"
#define ALINK_TOPIC_PROP_POST     "/sys/" PRODUCT_KEY "/" DEVICE_NAME "/thing/event/property/post"

/* 线上环境域名和端口号,不需要改 */
#define MQTT_SERVER       PRODUCT_KEY ".iot-as-mqtt." REGION_ID ".aliyuncs.com"
#define MQTT_PORT         1883
#define MQTT_USRNAME      DEVICE_NAME "&" PRODUCT_KEY

WiFiClient espClient;
PubSubClient  client(espClient);

void WiFiInit()
{
  WiFi.begin(ssid, password);
  while(WiFi.status() != WL_CONNECTED){
    delay(500);
    Serial.print(".");
  }
  Serial.println("WIFI CONNECTED!");
}

// 连接MQTT,每隔5s自动重连
void mqttCheckConnect()
{
  while(!client.connected())
  {
    Serial.println("Connecting to MQTT Server ...");
    if(client.connect(CLIENT_ID, MQTT_USRNAME, MQTT_PASSWD))
    {
      Serial.println("MQTT Connected!");
    }
    else
    {
      Serial.print("MQTT 
评论 15
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值