【物资准备】
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

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





