首页
最新活动
服务器租用
香港服务器租用
台湾服务器租用
美国服务器租用
日本服务器租用
新加坡服务器租用
高防服务器
香港高防服务器
台湾高防服务器
美国高防服务器
裸金属
香港裸金属服务器
台湾裸金属服务器
美国裸金属服务器
日本裸金属服务器
新加坡裸金属服务器
云服务器
香港云服务器
台湾云服务器
美国云服务器
日本云服务器
CDN
CDN节点
CDN带宽
CDN防御
CDN定制
行业新闻
官方公告
香港服务器资讯
帮助文档
wp博客
zb博客
服务器资讯
联系我们
关于我们
机房介绍
机房托管
登入
注册
帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
联系客服
服务器资讯
/
香港服务器租用
/
香港VPS租用
/
香港云服务器
/
美国服务器租用
/
台湾服务器租用
/
日本服务器租用
/
官方公告
/
帮助文档
ESP8266入门教程11:连接MQTT服务器
发布时间:2024-02-29 15:32:43 分类:帮助文档
ESP8266入门教程11:连接MQTT服务器 将第三方库PubSubClient下载到lib文件夹 git clone https://github.com/knolleary/pubsubclient.git 一、阿里云IOT使用 1、打开阿里云IOT官网,登录阿里云账号 https://iot.console.aliyun.com 2、创建实例 3、新建产品 4、自定义主题 5、添加设备 6、查看设备配置 二、连接阿里云MQTT服务器 1、修改PubSubClient.h头文件,否则无法连接阿里云MQTT服务器 将MQTT_MAX_PACKET_SIZE的值改为1024 将MQTT_KEEPALIVE的值改为65 2、代码解析 第27行:创建WIFI客户端 第28行:创建MQTT客户端 第29行:创建任务对象 第30行:定义MQTT消息发送函数 第32行:发送消息前先判断MQTT服务器是否连接成功 第37行:发送MQTT消息 第47行:定义MQTT消息接收函数 第53行:定义MQTT服务器连接函数 第54行:请求连接MQTT服务器 第59行:订阅MQTT主题 第64行:开始定时任务,每隔三秒发送一条MQTT消息 第67行:结束定时任务 第82行:设置MQTT服务器主机地址和端口号 第84行:设置MQTT消息接收回调函数 第94行:保持MQTT客户端心跳,否则会连接中断 三、测试效果 四、完整代码 #include
#include
#include
#include "../lib/pubsubclient/src/PubSubClient.h" #define WIFI_SSID "WWW" #define WIFI_PASS "00000000" #define MQTT_HOST "MQTT服务器地址" #define MQTT_PORT 1883 #define MQTT_CLIENT_ID "MQTT客户端名称" #define MQTT_USER "MQTT用户名" #define MQTT_PASS "MQTT登录密码" void connectWIFI() { // 连接WIFI热点 WiFi.begin(WIFI_SSID, WIFI_PASS); int retryCount = 1; while (WiFi.status() != WL_CONNECTED) { Serial.println("重试次数: " + String(retryCount)); retryCount++; delay(1000); } Serial.println("WIFI连接成功"); Serial.println("IP地址: " + WiFi.localIP().toString()); } WiFiClient wifiClient; PubSubClient mqttClient(wifiClient); Ticker ticker; void sendMsg() { if (mqttClient.connected()) { String topic = "/a1aeNGS45Gg/"; topic += "ESP8266"; topic += "/user/info"; String payload = "Hello World !"; if (mqttClient.publish(topic.c_str(), payload.c_str())) { Serial.println("MQTT消息发送成功"); } else { Serial.println("MQTT消息发送失败"); } } else { Serial.println("MQTT服务器未连接"); } } void recvMsg(char *topic, uint8_t *payload, size_t length) { Serial.println("topic: " + String(topic)); Serial.println("payload: " + String((char *)payload).substring(0, length)); Serial.println("length: " + String(length)); } void connectMQTT() { if (mqttClient.connect(MQTT_CLIENT_ID, MQTT_USER, MQTT_PASS)) { Serial.println("MQTT服务器连接成功"); String topic = "/a1aeNGS45Gg/"; topic += "ESP8266"; topic += "/user/info"; if (mqttClient.subscribe(topic.c_str())) { Serial.println("MQTT主题订阅成功"); } else { Serial.println("MQTT主题订阅失败"); } ticker.attach(3, sendMsg); } else { Serial.println("MQTT服务器连接失败"); ticker.detach(); delay(3000); } } void setup() { // put your setup code here, to run once: // 设置波特率 Serial.begin(9600); Serial.println(); // 连接WIFI热点 connectWIFI(); // 配置MQTT服务器 mqttClient.setServer(MQTT_HOST, MQTT_PORT); // 设置回调函数 mqttClient.setCallback(recvMsg); // 连接MQTT服务器 connectMQTT(); } void loop() { // put your main code here, to run repeatedly: // 判断MQTT服务器是否连接成功 if (mqttClient.connected()) { mqttClient.loop(); } else { connectMQTT(); } }
上一篇
日本lol服务器崩溃
下一篇
中国香港服务器和腾讯云比较
相关文章
若依(Ruoyi)前后端分离版项目部署到服务器(Linux环境)后,刷新页面报错:404 Not Found
如何在 Ubuntu 22.04 上安装 Apache Web 服务器
二级网页被劫持怎么办
Host key verification failed 问题解决
教你一键搭建幻兽帕鲁服务器,轻松联机畅玩幻兽帕鲁
互动直播之WebRTC服务器Kurento实战
你的服务器扛得住吗?双活数据中心初体验
cdn服务器发生故障怎么办
e站被墙了怎么办
香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价
7*24H在线售后
高可用资源,安全稳定
1v1专属客服对接
无忧退款试用保障
德讯电讯股份有限公司
电话:00886-982-263-666
台湾总部:台北市中山区建国北路一段29号3楼
香港分公司:九龙弥敦道625号雅兰商业二期906室
服务器租用
香港服务器
日本服务器
台湾服务器
美国服务器
高防服务器购买
香港高防服务器出租
台湾高防服务器租赁
美国高防服务器DDos
云服务器
香港云服务器
台湾云服务器
美国云服务器
日本云服务器
行业新闻
香港服务器租用
服务器资讯
香港云服务器
台湾服务器租用
zblog博客
香港VPS
关于我们
机房介绍
联系我们
Copyright © 1997-2024 www.hkstack.com All rights reserved.