esp32 C6基于Blynk的物联网气象站

2024-04-223686
AI 快速预览详细 收起
本文介绍了如何使用ESP32 C6和Blynk构建一个物联网气象站。通过连接五合一环境传感器,可以实时监测温度、湿度、气压和光照强度,并通过Blynk应用进行数据可视化。此外,还添加了太阳能板和锂电池,实现了持续供电功能。该项目适合初学者和物联网爱好者,可用于STEM教育和儿童科学实验。
前两天做一个Blynk的点灯小程序,在这个基础上拓展一下。连接了五合一环境传感器, 焊接上太阳板和3.7V锂电池电池可以实现一个具有持续供电功能的物联网气象站。至在Blynk里面添加4个Label组件和2个Gauge组件最后放一个Slider来显示电池电量。
下面看效果。
esp32 C6基于Blynk的物联网气象站图1
下面是程序代码
/*************************************************************
  ESP32-C6基于Blynk的物联网气象站
  2024年4月22日
  源启
*************************************************************/
#define BLYNK_TEMPLATE_ID           "TMP"         //修改为你的TEMPLATE_ID
#define BLYNK_TEMPLATE_NAME         "Quick"   //修改为你的TEMPLATE_NAME
#define BLYNK_AUTH_TOKEN            "hEqqn"  ////修改为你的BLYNK_AUTH_TOKEN
#define BLYNK_PRINT Serial
#include "DFRobot_EnvironmentalSensor.h"
#define MODESWITCH  0
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char ssid[] = ""; //设置wifi名称
char pass[] = ""; //设置wifi密码



DFRobot_EnvironmentalSensor environment(/*addr = */SEN050X_DEFAULT_DEVICE_ADDRESS, /*pWire = */&Wire);



int temperature;
int humidity;
int atmospheric;
int light;
int power;




BlynkTimer timer;

void myTimer()
{
  Blynk.virtualWrite(V0, temperature);
  Blynk.virtualWrite(V1, humidity);
  Blynk.virtualWrite(V2, atmospheric);
  Blynk.virtualWrite(V3, light);
  Blynk.virtualWrite(V4, power);
}

void setup()
{
  #if MODESWITCH
  #if defined(Arduino_AVR_UNO)||defined(ESP8266)
     mySerial.begin(9600);
  #elif defined(ESP32)
     Serial1.begin(9600, SERIAL_8N1, /*rx =*/D3, /*tx =*/D2);
  #else
     Serial1.begin(9600);
  #endif
  #endif
  Serial.begin(115200);

  while(environment.begin() != 0){
    Serial.println(" Sensor initialize failed!!");
    delay(1000);
  }
  Serial.println(" Sensor  initialize success!!");



  Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
  
  timer.setInterval(1000L, myTimer);
}

void loop()
{

  int analogValue = analogRead(0);
  int analogVolts = analogReadMilliVolts(0);
   Serial.println(temperature);

  // Reading sensor from hardware analog pin A0
  temperature = environment.getTemperature(TEMP_C);
  humidity = environment.getHumidity();
  atmospheric = environment.getAtmospherePressure(HPA);
  light = environment.getLuminousIntensity();
  power = ((analogVolts* 2.1218 + 1000)/1000);


  Blynk.run();
  
  timer.run();
}

MonApril-202404229568..jpg (252.84 KB, 下载次数: 6044)

ESP32 C6 · Blynk物联网气象站_image_3.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
蜗牛的喜旺
蜗牛的喜旺
这个平台现在能用的组件不多了,但是挺稳定的,不错。
cY4k0QuD
cY4k0QuD
界面很漂亮,功能很实用
- 没有更多了 -