Arduino Esp8266开发 (二)DHT11数据上传至网络调试助手

一、前言

这次使用库文件uartWiFi进行开发,这个库文件比较简单,熟悉AT指令之后一般就可以看懂。这个库文件我修改了一些我感觉有问题的地方。使用时如果是使用Arduino UNO可以保持不动,使用Arduino MEGA的话,将uartWIFI.h里面的UNO相关的注释掉就行。

uartWIFI下载地址,里面有原版

链接:https://pan.baidu.com/s/1Ao8jbLEzUVXLyArBO92gFA 
提取码:ne25

如果需要DHT11库文件的,请移步DHT11解析

二、代码

实物连线图
在这里插入图片描述

#include "uartWIFI.h"

#define SSID "****"      //wifi名
#define PASS "****" //wifi密码
#define IP "****" // 网络调试助手(服务器)IP
#define Port 8080	//端口

WIFI wifi;

#include "DHT.h"
#define DHTPIN 10  
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  dht.begin();
  wifi.begin(115200,9600);
  bool b = wifi.Initialize(STA, SSID, PASS);	//连接Wifi(ESP8266作为客户端)
  if(b==false)
  {
    Serial.println("Init error!");
  }
  else
  {
    Serial.println("Init OK!");
    bool x=wifi.newMux(1,IP,Port);	//连接服务器,1表示使用TCP协议,0表示UDP协议(这个函数我修改过)
    if(x=true)
    {
      bool y=wifi.Send("HelloWorld!");
      if(y==true) Serial.println("Send OK!");//测试一下发送数据
      else Serial.println("ERROR!");	
    }
  }
  delay(8000);
}
void loop() {
   Temp();
}

void Temp()		//获取温湿度并且发送至服务器
{
  float h = dht.readHumidity();
  // Read temperature as Celsius (the default)
  float t = dht.readTemperature();
  // Read temperature as Fahrenheit (isFahrenheit = true)
  float f = dht.readTemperature(true);  
  if (isnan(h) || isnan(t) || isnan(f)) {
    delay(2000);
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  String data="温度";
  data+=String(t);
  data+="湿度";
  data+=String(h);
  Serial.println(data);
  wifi.Send("温度:");
  wifi.Send(String(t));
  wifi.Send("湿度:");
  wifi.Send(String(h));
  wifi.Send("\n");
  delay(3000);
}

三、效果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42852559/article/details/107780191