当前位置: 首页 > news >正文

山东省建设监理网站wordpress 恋月

山东省建设监理网站,wordpress 恋月,百度经验悬赏任务平台,自己网站做问卷调查问卷介绍 手上有一块立创开发板#xff0c;本着不吃灰的原则把它用起来#xff0c;今天就来用它来连接上自己部署的MQTT服务器进行数据通信。 硬件#xff1a;立创开发板 开发环境#xff1a;Arduino IDE Win11 MQTT 平台#xff1a;EMQX Platform 立创开发板介绍#xff1…介绍 手上有一块立创开发板本着不吃灰的原则把它用起来今天就来用它来连接上自己部署的MQTT服务器进行数据通信。 硬件立创开发板 开发环境Arduino IDE Win11 MQTT 平台EMQX Platform 立创开发板介绍 初出茅庐的小李博客之立创开发板初体验【Arduino IDE开发环境】 地址https://blog.csdn.net/weixin_43176183/article/details/139101412?spm1001.2014.3001.5501 MQTT.fx客户端接入EMQX Platform 初出茅庐的小李博客之MQTT.fx客户端接入EMQX Platform 地址https://blog.csdn.net/weixin_43176183/article/details/139190727?spm1001.2014.3001.5501 参考文档 https://docs.emqx.com/zh/cloud/latest/connect_to_deployments/esp32.html 过程记录 安装MQTT依赖库 在 Arduino IDE 中完成以下安装。 先安装 ESP32 开发板。 点击工具 - 开发板 - 开发板管理。搜索 ESP32点击安装 我已经安装过。 安装 PubSub client 库。 点击项目 - 加载库 - 管理库…。搜索 PubSubClient安装 PubSubClient by Nick O’Leary。 通过 TCP 端口连接 写代码 引入对应的库 #include WiFi.h #include PubSubClient.h #include WiFiClientSecure.h 定义用户自定义参数 // WiFi Credentials const char *ssid AQST; // Replace with your WiFi name const char *password 12345678; // Replace with your WiFi password// MQTT Broker Settings const char *mqtt_broker xxxxxx.ala.cn-hangzhou.emqxsl.cn;//这里定义自己的连接地址 const char *mqtt_topic emqx/esp32; const char *mqtt_username AQ; const char *mqtt_password 123456; const int mqtt_port 8883; 编写连接代码【准确的来说叫改写】 /连接Wifi热点函数 void ConnectToWiFi(void) {WiFi.begin(ssid, password);Serial.print(Connecting to WiFi);while (WiFi.status() ! WL_CONNECTED){delay(500);Serial.print(.);}Serial.println(\nConnected to WiFi); } //连接MQTT代理函数 void ConnectToMQTT(void) {while (!mqtt_client.connected()){String client_id esp32-client- String(WiFi.macAddress());Serial.printf(Connecting to MQTT Broker as %s...\n, client_id.c_str());if(mqtt_client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {Serial.println(Connected to MQTT broker);mqtt_client.subscribe(mqtt_topic);mqtt_client.publish(mqtt_topic, Hi EMQX Im ESP32 by Arduino IED ^^); // Publish message upon connection}else {Serial.print(Failed to connect to MQTT broker, rc);Serial.print(mqtt_client.state());Serial.println( Retrying in 5 seconds.);delay(5000);}} } //MQTT 回调函数 void MqttCallback(char *topic, byte *payload, unsigned int length) {Serial.print(Message received on topic: );Serial.println(topic);Serial.print(Message: );for (unsigned int i 0; i length; i) {Serial.print((char) payload[i]);//打印有效载荷的信息}Serial.println(\n-----------------------); } 函数调用 void setup(void) {Serial.begin(115200); //设置串口参数ConnectToWiFi(); //连接Wifi热点// Set Root CA certificateespClient.setCACert(ca_cert); //设置CA证书mqtt_client.setServer(mqtt_broker, mqtt_port);//指定代理 指定端口mqtt_client.setKeepAlive(60); //保活时间mqtt_client.setCallback(MqttCallback); //回调函数ConnectToMQTT(); //连接MQTT 代理}void loop(void) {if (!mqtt_client.connected()) {ConnectToMQTT();}mqtt_client.loop(); } 特别提示这里的地址要写自己的地址 CA证书也要用自己的证书 否则连不上 官方原话 添加服务端证书。如果您在使用公共 MQTT Broker、Serverless 部署或基础版部署的 TLS/SSL 端口连接在此下载 CA 证书。 如您使用专业版 / BYOC 部署的 TLS/SSL 端口连接请使用自己的服务端证书。 开启MQTT服务器 编译烧录代码 用MQTT.fx连接到MQTT服务器跟ESP32开发板进行通信 发布消息 ESP32收到订阅消息 这里可以看到开发板收到了消息 但是客户端提示收到的消息不是标准json 改进一下发送的数据格式 {mag: This is Json Data } 总结 利用Arduino IED 进行MQTT通信 确实很方便很容易就能实现两个设备的交互、但是使用库的缺点也很明显 有很多api不太懂它的意思还需要进一步研究。 完整代码 #include WiFi.h #include PubSubClient.h #include WiFiClientSecure.h// WiFi Credentials const char *ssid AQST; // Replace with your WiFi name const char *password 12345678; // Replace with your WiFi password// MQTT Broker Settings const char *mqtt_broker xxxxxxx.ala.cn-hangzhou.emqxsl.cn;//这里要改成自己的地址 const char *mqtt_topic emqx/esp32; const char *mqtt_username AQ; const char *mqtt_password 123456; const int mqtt_port 8883;WiFiClientSecure espClient; PubSubClient mqtt_client(espClient);void ConnectToWiFi(void);//函数声明 void ConnectToMQTT(void);//函数声明 void MqttCallback(char *mqtt_topic, byte *payload, unsigned int length);//函数声明const char *ca_cert REOF( -----BEGIN CERTIFICATE----- MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt 43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9JozEkIYIvUX7Q6hLhqkpMfT7P T19sdl6gSzeRntwi5m3OFBqOasvzbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etXjkMOvJwIDAQABo2MwYTAO BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIKt1EnE9SsPTfrgT1eXkIoyQY/Esr hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg 06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3SpdWOIrWcBAI0tKIJF PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UUKrk2U886UAb3LujEV0ls YSEY1QSteDwsOoBrpuvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4 -----END CERTIFICATE----- )EOF;void setup(void) {Serial.begin(115200); //设置串口参数ConnectToWiFi(); //连接Wifi热点// Set Root CA certificateespClient.setCACert(ca_cert); //设置CA证书mqtt_client.setServer(mqtt_broker, mqtt_port);//指定代理 指定端口mqtt_client.setKeepAlive(60); //保活时间mqtt_client.setCallback(MqttCallback); //回调函数ConnectToMQTT(); //连接MQTT 代理}//连接Wifi热点函数 void ConnectToWiFi(void) {WiFi.begin(ssid, password);Serial.print(Connecting to WiFi);while (WiFi.status() ! WL_CONNECTED){delay(500);Serial.print(.);}Serial.println(\nConnected to WiFi); } //连接MQTT代理函数 void ConnectToMQTT(void) {while (!mqtt_client.connected()){String client_id esp32-client- String(WiFi.macAddress());Serial.printf(Connecting to MQTT Broker as %s...\n, client_id.c_str());if(mqtt_client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {Serial.println(Connected to MQTT broker);mqtt_client.subscribe(mqtt_topic);mqtt_client.publish(mqtt_topic, Hi EMQX Im ESP32 by Arduino IED ^^); // Publish message upon connection}else {Serial.print(Failed to connect to MQTT broker, rc);Serial.print(mqtt_client.state());Serial.println( Retrying in 5 seconds.);delay(5000);}} } //MQTT 回调函数 void MqttCallback(char *topic, byte *payload, unsigned int length) {Serial.print(Message received on topic: );Serial.println(topic);Serial.print(Message: );for (unsigned int i 0; i length; i) {Serial.print((char) payload[i]);//打印有效载荷的信息}Serial.println(\n-----------------------); }void loop(void) {if (!mqtt_client.connected()) {ConnectToMQTT();}mqtt_client.loop(); }// WiFiClient espClient; // PubSubClient mqtt_client(espClient);// void setup(void) // { // Serial.begin(115200); // ConnectToWiFi(); //连接指定热点 // //mqtt_client.setServer(mqtt_broker, mqtt_port); // espClient.setCACert(ca_cert); // mqtt_client.setKeepAlive(60); // mqtt_client.setCallback(MqttCallback); // Corrected callback function name // ConnectToMQTT(); // }// void loop(void) // { // if (!mqtt_client.connected()) // { // ConnectToMQTT(); // } // mqtt_client.loop(); // }//用户自定义函数 // void ConnectToWiFi(void) // { // WiFi.begin(ssid, password); // Serial.print(Connecting to WiFi); // while (WiFi.status() ! WL_CONNECTED) // { // delay(500); // Serial.print(.); // } // Serial.println(\nConnected to WiFi); // } // //用户自定义函数 // void ConnectToMQTT(void) // { // while (!mqtt_client.connected()) // { // String client_id esp32-client- String(WiFi.macAddress());// Serial.printf(Connecting to MQTT Broker as %s.....\n, client_id.c_str());// if (mqtt_client.connect(client_id.c_str(), mqtt_username, mqtt_password)) // { // Serial.println(Connected to MQTT broker); // mqtt_client.subscribe(mqtt_topic); // mqtt_client.publish(mqtt_topic, Hi EMQX Im ESP32 ^^); // Publish message upon successful connection // } // else // { // Serial.print(Failed, rc); // Serial.print(mqtt_client.state()); // Serial.println( try again in 5 seconds); // delay(5000); // } // } // }//用户自定义回调函数 // void MqttCallback(char *mqtt_topic, byte *payload, unsigned int length) // { // Serial.print(Message received on mqtt_topic: ); // Serial.println(mqtt_topic); // Serial.print(Message: ); // for (unsigned int i 0; i length; i) // { // Serial.print((char) payload[i]); // } // Serial.println(\n-----------------------); // } 视频 https://www.bilibili.com/video/BV1gJ4m1A7bg/?pop_share1
http://www.w-s-a.com/news/242601/

相关文章:

  • 怎么做外贸网站推广劳务公司网站怎么做
  • 滴答手表网站中铁建设集团有限公司招聘信息2021
  • 重庆富通科技有限公司网站新闻头条最新消息国家大事
  • 四字母net做网站怎么样企业代运营公司
  • 纪检网站建设方案wordpress首页静态页面
  • 网站右下角浮动效果如何做网站logo设计在线生成
  • 西宁哪里做网站婚纱摄影网站设计思路
  • 凡科用模板做网站网站导入页欣赏
  • 北京响应式网站建设公司十大小程序开发公司
  • dw网站开发删除wordpress主题底部
  • 织梦网站怎样做子域名高德导航怎么看街景地图
  • 宿州专业网站建设株洲网站建设优化
  • 自动生成海报的网站常州建网站公司
  • 网站刷流量对网站有影响吗站长工具欧美高清
  • 百度做网站优化多少钱一年罗庄网站建设
  • 手机网站 自适应屏幕h5网站有哪些
  • 北京企业建站技术临沂网站公众号建设
  • 域名和网站备案一样吗wordpress 封装 app
  • 婚纱摄影网站开题报告c2c模式是什么意思
  • 网站几种颜色wordpress水平菜单
  • php做网站的分站wordpress边下边看
  • 杭州建设实名制报备网站Wordpress外贸网站搭建公司
  • 山西云起时网站建设计算机网站开发实现总结
  • 一个网站做两个优化可以做吗永清网站建设
  • wordpress英文采集wordpress seo 链接
  • 进入建设银行的网站就打不了字工程建设标准化网站
  • 杭州网站推广大全网站建设演讲稿
  • 厦门网站的制作太仓专业网站建设
  • 天津公司网站建设公司哪家好在阿里巴巴国际网站上需要怎么做
  • 网站关键词seo推广公司哪家好无锡市无锡市住房和城乡建设局网站