#include <ESP8266WiFi.h>
#include <PubSubClient.h>
//int inputValue = 0;
//WiFiClient client;
const char* ssid = "你家WIFI";
const char* password = "你家WIFI密码";
const char* mqtt_server = "自己的MQTT服务器";
WiFiClient espClient;
PubSubClient client(espClient);
void setup_wifi() {
delay(10);
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void callback(char* topic, uint8_t* payload, unsigned int length) {
Serial.print("Message arrived [");
Serial.print(topic);
Serial.print("] ");
Serial.println();
for (int i = 0; i < length; i++) {
Serial.print((char)payload[i]);
}
Serial.println();
Serial.print("设备编号:");
Serial.print((char)payload[126]);
Serial.println();
Serial.print("控制指令:");
Serial.print((char)payload[173]);
Serial.println();
if((char)payload[126] == '1')//设备编号
{
if((char)payload[173] == '1')//控制指令
{
digitalWrite(0, LOW);
Serial.print("灯开了");
Serial.println();
Serial.print("当前控制设备:卧室灯");
}
else { digitalWrite(0, HIGH);
Serial.print("灯关了");
Serial.println();
Serial.print("当前控制设备:卧室灯");
}
}
}
void reconnect() {
while (!client.connected()) {
Serial.print(" MQTT服务器连接中...");
//主题对应的设备名称,必须改,不然设备冲突
if (client.connect("卧室灯")) {
Serial.println("已连接");
client.publish("domoticz/out", "Reconnected");
client.subscribe("domoticz/out");
} else {
Serial.print("MQTT连接失败");
Serial.print(client.state());
Serial.println(" 5秒后重试...");
delay(5000);
}
}
}
void setup() {
pinMode(0, OUTPUT);
pinMode(2, OUTPUT);
Serial.begin(9600);
setup_wifi();
client.setServer(mqtt_server, 5970);
client.setCallback(callback);
}
void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
ESP8266通过MQTT连接Domoticz.zip (1个子文件)
ESP8266通过MQTT连接Domoticz.txt 2KB
共 1 条
- 1
资源评论
- shyef2022-11-09实在是宝藏资源、宝藏分享者!感谢大佬~
我就是爱折腾
- 粉丝: 73
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于STM32使用HAL库实现USB组合设备之多路CDC源码+说明文档.zip
- 金融贸易项目springboot
- mybatis动态sqlSQL 映射 XML 文件是所有 sql 语句
- 基于基于STM32的智能家居系统源码+qt上位机源码.zip
- 深圳房地产资源数据报告
- 基于stm32的智能门禁系统源码+设计文档+演示视频.zip
- cef + chromium 完整源码支持h265和h264
- 基于SpringBoot的API管理平台源代码+数据库,以项目的形式管理API文档,可以进行API的编辑、测试、Mock等操作
- protobuf 3.11版本,静态编译
- 2023NOC创客智慧编程赛项真题图形化-选拔赛(有解析)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功