首页 > 其他分享 >esp32 mqtt 局域网 通信 测试通过

esp32 mqtt 局域网 通信 测试通过

时间:2023-08-09 10:22:06浏览次数:49  
标签:laser esp32 mqtt 测试通过 MQTT println Serial define

#include <WiFi.h>
#include <stdlib.h>

#include "WiFiClientSecure.h"
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"

#include <ArduinoJson.h>


#define WLAN_SSID "xxx"
#define WLAN_PASS "xxx"
//#define WLAN_SSID "xxx"
//#define WLAN_PASS "xxx"


#define MQTT_SERVER      "192.168.2.44"
#define MQTT_PORT  1883
#define MQTT_USERNAME ""
#define MQTT_PASSWORD ""

WiFiClient esp32Client;
Adafruit_MQTT_Client mqtt_client(&esp32Client, MQTT_SERVER, MQTT_PORT, MQTT_USERNAME, MQTT_PASSWORD);
Adafruit_MQTT_Publish Publish_laser_state = Adafruit_MQTT_Publish(&mqtt_client, "AM/laser_0/state");
Adafruit_MQTT_Subscribe Subscribe_laser_ctl(&mqtt_client, "AM/laser_0/ctl");


void setup() {
  Serial.begin(115200);
  delay(10);
  Serial.println(F("This esp gonna "));
  Serial.print("Connecting to ");
  Serial.println(WLAN_SSID);
  delay(500);
  WiFi.begin(WLAN_SSID, WLAN_PASS);
  delay(500);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println();
  Serial.println("WiFi connected !");
  Serial.println("IP address: "); Serial.println(WiFi.localIP());
}

void loop() {
  
  char laser_state_sw[10]="laser_on";
  
  MQTT_connect();
  
  if (! Publish_laser_state.publish(laser_state_sw)) {
    Serial.println(F("Failed"));
  } else {
    Serial.println(F("mqtt work OK!"));
  }
  delay(1000);

}

void MQTT_connect() {
  int8_t ret;
  if (mqtt_client.connected()) {
    return;
  }
  Serial.print("Connecting to MQTT... ");
  uint8_t retries = 3;
  while ((ret = mqtt_client.connect()) != 0) {
    Serial.println(mqtt_client.connectErrorString(ret));
    Serial.println("Retrying MQTT connection in 5 seconds...");
    mqtt_client.disconnect();
    delay(5000);
    retries--;
    if (retries == 0) {

      ESP.restart();
    }
  }

  Serial.println("MQTT Connected!");
}

注意打开专用网络

在线测试界面:链接  MQTT X Web

 

标签:laser,esp32,mqtt,测试通过,MQTT,println,Serial,define
From: https://www.cnblogs.com/aker-whale/p/17616179.html

相关文章

  • vc++2008通过paho c语言客户端接入MQTT
    因项目需要,IoT平台需要支持vc++2008接入。因为Paho的c++客户端不支持低版本vc++,所以不得不尝试通过c语言的库实现。类库下载从github下载c语言包。例如:eclipse-paho-mqtt-c-win32-1.3.12.ziphttps://github.com/eclipse/paho.mqtt.c/releases类库整合和配置解压出来的c语言......
  • python esp32 json pyserial
    esp32:#include<ArduinoJson.h>voidsetup(){Serial.begin(9600);}voidloop(){if(Serial.available()){//读取串口输入的数据StringjsonString=Serial.readStringUntil('\n');//创建JSON文档StaticJsonDocument<300>......
  • esp32cam(6贴片位)烧录MicroPython的方法(ch340)
    起因:购买的esp32cam烧录底座(ch340)无法刷入MicroPython,将ch340的驱动重装后,即使刷入也不能正常连接thonny。看了好几个csdn的帖子也无济于事,后看到B站up邪恶的胖次菌的视频esp32cam烧录笔记openmv/micropython找到解决办法。按照视频中6贴片位的esp32cam连好杜邦线后,即可在thonn......
  • MQTT介绍
    一、MQTT简介《MQTT协议规范中文版》一书中对MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)进行了描述:MQTT是一种基于客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景来说都是很好......
  • 【史上最全面esp32教程】RGB彩灯篇
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档@TOC提示:以下是本篇文章正文内容,下面案例可供参考rgb彩灯的介绍ESP32RGB彩灯是一种可以通过ESP32开发板控制的灯具,它可以实现多种灯光效果,如闪烁、跳变、渐变等。使用ESP32RGB彩灯可以实现远程控制,可以通过Wi-Fi或蓝......
  • 【史上最全面esp32教程】oled显示篇
    @TOC前言本节课主要讲的是OLED的基础使用。使用的oled为0.96寸,128*64。大家的其他型号也是可以用的。提示:以下是本篇文章正文内容,下面案例可供参考介绍及库下载oled的简介:OLED英文全名OrganicLight-EmittingDiode,又可称为「有机发光二极体」或是「有机电雷射显示」。OLED有着色......
  • 十五、基于MQTT协议上传属性至ONENET Studio
    1.准备工作(1)下载MQTT透传固件(安心可官网下载即可)(2)下载MQTT固件到ESP82662.AT指令连接设备上传属性值(1)AT\r\n(2)AT+RST\r\n(3)AT+CWMODE=1\r\n(4)AT+CWDHCP=1,1\r\n(5)AT+CWJAP="WIFISSID","密码"\r\n//连接路由器(6)AT+MQTTUSERCFG=0,1,"设备名/设备id","产品I......
  • MQTT:轻量级消息传输协议在物联网中的应用
    随着物联网技术的发展,越来越多的设备需要进行实时通信和数据交换。在这样的背景下,MQTT(MessageQueuingTelemetryTransport)作为一种轻量级的消息传输协议,逐渐成为物联网领域的热门选择。本文将介绍MQTT协议的基本概念、特点以及在物联网中的应用,同时通过代码实例演示如何使用MQTT......
  • python使用mqtt
    一、安装mqtt服务器安装对应的软件:https://www.emqx.io/zh/downloads推荐使用docker安装默认账号和密码:admin、public 二、编写代码消息发布程序importtimeimportjsonimportpsutilimportrandomfrompaho.mqttimportclientasmqtt_clientbroker='127.0.0.1......
  • linux mqtt 安装配置
    安装sudoaptinstallmosquitto配置密码用户sudomkdir-p/etc/mosquitto/configsudotouch/etc/mosquitto/config/pwfile.confsudomosquitto_passwd-b/etc/mosquitto/config/pwfile.confqq123456配置文件qtimes@AIBox-01-01-m:~$cat/etc/mosquitto/mosquitto.......