您当前的位置: 首页 >  ar

跋扈洋

暂无认证

  • 3浏览

    0关注

    221博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ESP8266上传传感器数据到远端与远端反向控制终端--Arduino

跋扈洋 发布时间:2021-01-04 22:28:03 ,浏览量:3

上传传感器数据到远端与远端反向控制终端
  • 功能
  • 硬件连接
  • 程序
  • 后续

功能

集上传传感器数据到远端与远端反向控制终端 本例采用TCP协议,通过WiFi透传模式进行远端控制与传输。采用读取DHT11温湿度采集模块采集到的数据发送到远端(平台)、远端控制LED灯和蜂鸣器演示远端控制

功能说明:上电后,DHT11温湿度传感器不断获取周围的温湿度等状态值并把数据发送到物联网数据平台,在平台上通过反向控制的方式控制LED灯的亮灭和蜂鸣器的开闭,可在串口看到相关响应;

硬件连接

DHT11温湿度传感器–D4 LED灯–D5 有源蜂鸣器–D12

程序
#include 

#define u8 unsigned char
//IO方向设置
#define DHT11_IO_IN()  pinMode(4, INPUT)
#define DHT11_IO_OUT() pinMode(4, OUTPUT)
IO操作函数
#define DHT11_DQ_OUT 4 //数据端口 4
#define DHT11_DQ_IN  4  //数据端口 4

//LED
#define led 5
//Beep
#define beep 12

//所连接的WiFi热点账密
const char* ssid     = "Doit";
const char* password = "doit3305";

//数据接收的网络平台
const char* host = "iot.doit.am";//物联网平台
//const char* host = "diot.doit.am";
const int httpPort = 8810;
//登录平台的 用户名 与 秘钥Key (随机数)
const char* streamId   = "lin";
const char* privateKey = "dee5d879314b54dca7813364ff94b79a";

char str[512];//接收数据缓冲区
WiFiClient client;// 使用WiFi客户端类创建TCP连接
//反向控制:
unsigned long MS_TIMER = 0;
unsigned long lastMSTimer = 0;
String comdata = "";
char flag = false;

/*******************************DHT11协议****************************************/
u8 temperature;
u8 humidity;
u8 t = 0;
//复位DHT11
void DHT11_Rst(void)
{
  DHT11_IO_OUT();   //SET OUTPUT
  digitalWrite(DHT11_DQ_OUT, LOW);   //拉低DQ
  delay(20);     //拉低至少18ms
  digitalWrite(DHT11_DQ_OUT, HIGH);   //DQ=1
  delayMicroseconds(30);       //主机拉高20~40us
}
//等待DHT11的回应
//返回1:未检测到DHT11的存在
//返回0:存在
u8 DHT11_Check(void)
{
  u8 retry = 0;
  DHT11_IO_IN();//SET INPUT
  while (digitalRead(DHT11_DQ_IN) && retry = 100)return 1;
  else retry = 0;
  while (!digitalRead(DHT11_DQ_IN) && retry = 100)return 1;
  return 0;
}
//从DHT11读取一个位
//返回值:1/0
u8 DHT11_Read_Bit(void)
{
  u8 retry = 0;
  while (digitalRead(DHT11_DQ_IN) && retry             
关注
打赏
1663745539
查看更多评论
0.0401s