上传传感器数据到远端与远端反向控制终端
功能
- 功能
- 硬件连接
- 程序
- 后续
集上传传感器数据到远端与远端反向控制终端 本例采用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
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?