Mosquitto MQTT 设备速度变慢

彼得·皮列夫

我有 2 个 esp8266 的问题,两者都通过 onewire 与 ds18b28 连接并使用 MQTT 发送数据。但是,如果我同时打开它们,只有其中一个传输数据,我单独测试它们没有问题,这是代码.两个 esp-s 使用相同的代码

#include <ESP8266WiFi.h>

#include <PubSubClient.h>

#include <OneWire.h>

#include <DallasTemperature.h>
#define ONE_WIRE_BUS 5
OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);


const char* ssid = "PIREV-PC_NETWORK";
const char* password = "********";
const char* mqtt_server = "192.168.0.4";

WiFiClient espClient;
PubSubClient client(espClient);
long lastMsg = 0;
float temp = 0;
int inPin = 5;

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 reconnect() {
while (!client.connected()) {
Serial.print("Attempting MQTT connection...");
if (client.connect("arduinoClient_temperature_sensor")) {
   Serial.println("connected");
} else {
   Serial.print("failed, rc=");
   Serial.print(client.state());
   Serial.println(" try again in 5 seconds");
   delay(5000);
  }
 }
}

void setup()
{
Serial.begin(115200);
setup_wifi(); 
client.setServer(mqtt_server, 1883);
pinMode(inPin, INPUT);
sensors.begin();
}

void loop()
{
if (!client.connected()) {
reconnect();
}
client.loop();

long now = millis();
if (now - lastMsg > 300) {
 lastMsg = now;
 sensors.setResolution(12);
 sensors.requestTemperatures();
 temp = sensors.getTempCByIndex(0);
 Serial.println(temp);
 if((temp > -20) && (temp <60))
   {
   client.publish("dev/test/temp2", String(temp).c_str(),TRUE);
   }
  }
 }
硬盘

每个客户端的客户端 ID 都需要不同。

在这种情况下,您似乎同时使用arduinoClient_temperature_sensor了两个传感器,这将不起作用,因为当第二个传感器连接时,代理将始终断开第一个传感器的连接(反之亦然,当该传感器尝试重新连接时)

void reconnect() {
  while (!client.connected()) {
    Serial.print("Attempting MQTT connection...");
    // The value passed to client.connect needs to be unique
    if (client.connect("arduinoClient_temperature_sensor")) {
      Serial.println("connected");
    } else {
      Serial.print("failed, rc=");
      Serial.print(client.state());
      Serial.println(" try again in 5 seconds");
      delay(5000);
    }
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MQTT与Mosquitto

来自分类Dev

保护 Mosquitto 连接 - MQTT

来自分类Dev

无法在 Mosquitto MQTT Broker 插件中访问 struct mosquitto 的元素

来自分类Dev

Mqtt:如何安装mosquitto旧版本

来自分类Dev

使用websocket支持编译Mosquitto MQTT 1.4.8

来自分类Dev

使用mosquitto代理在mqtt中使用SSL

来自分类Dev

MQTT 安卓 Mosquitto 客户端

来自分类Dev

node.js mqtt从回调发布到mosquitto代理

来自分类Dev

Spring MVC + Mosquitto + MQTT集成无法收到任何消息

来自分类Dev

如何清除Mosquitto中的所有保留的mqtt消息?

来自分类Dev

如何使用Mosquitto设置自己的MQTT服务器?

来自分类Dev

本地MQTT mosquitto实例获得连接ECONNREFUSED 127.0.0.1:1883

来自分类Dev

node.js mqtt从回调发布到mosquitto代理

来自分类Dev

Spring MVC + Mosquitto + MQTT集成无法收到任何消息

来自分类Dev

将Mosquitto连接到新的Azure MQTT后端

来自分类Dev

Mosquitto MQTT连接套接字错误(通过PLC连接)

来自分类Dev

MQTT (Mosquitto) over TLS - 某些程序中的证书错误

来自分类Dev

错误:Ubuntu 18.04 上的 MQTT Mosquitto 连接被拒绝

来自分类Dev

构建 Mosquitto MQTT 身份验证插件问题

来自分类Dev

使用 NodeJS 在 mosquitto MQTT 和 EMQX 之间建立桥梁

来自分类Dev

如何正确安装mosquitto(mqtt代理)以及如何设置MQTT节点红色?

来自分类Dev

MQTT写入设备

来自分类Dev

使用Mosquitto / Paho for Python无法接收超过20条MQTT消息

来自分类Dev

使用命令行停止mosquitto(MQTT)代理侦听端口

来自分类Dev

通过Internet连接到安装在Raspberry Pi上的MQTT代理(Mosquitto)

来自分类Dev

发布者数据库与mosquitto代理数据库mqtt之间的同步

来自分类Dev

MQTT mosquitto-使用mqttws31.js在javascript中实现websocket

来自分类Dev

将AWS IoT与本地Mosquitto MQTT桥接时,“证书验证失败”

来自分类Dev

通过SSL / TLS与节点mqtt客户端连接到mosquitto代理的问题

Related 相关文章

  1. 1

    MQTT与Mosquitto

  2. 2

    保护 Mosquitto 连接 - MQTT

  3. 3

    无法在 Mosquitto MQTT Broker 插件中访问 struct mosquitto 的元素

  4. 4

    Mqtt:如何安装mosquitto旧版本

  5. 5

    使用websocket支持编译Mosquitto MQTT 1.4.8

  6. 6

    使用mosquitto代理在mqtt中使用SSL

  7. 7

    MQTT 安卓 Mosquitto 客户端

  8. 8

    node.js mqtt从回调发布到mosquitto代理

  9. 9

    Spring MVC + Mosquitto + MQTT集成无法收到任何消息

  10. 10

    如何清除Mosquitto中的所有保留的mqtt消息?

  11. 11

    如何使用Mosquitto设置自己的MQTT服务器?

  12. 12

    本地MQTT mosquitto实例获得连接ECONNREFUSED 127.0.0.1:1883

  13. 13

    node.js mqtt从回调发布到mosquitto代理

  14. 14

    Spring MVC + Mosquitto + MQTT集成无法收到任何消息

  15. 15

    将Mosquitto连接到新的Azure MQTT后端

  16. 16

    Mosquitto MQTT连接套接字错误(通过PLC连接)

  17. 17

    MQTT (Mosquitto) over TLS - 某些程序中的证书错误

  18. 18

    错误:Ubuntu 18.04 上的 MQTT Mosquitto 连接被拒绝

  19. 19

    构建 Mosquitto MQTT 身份验证插件问题

  20. 20

    使用 NodeJS 在 mosquitto MQTT 和 EMQX 之间建立桥梁

  21. 21

    如何正确安装mosquitto(mqtt代理)以及如何设置MQTT节点红色?

  22. 22

    MQTT写入设备

  23. 23

    使用Mosquitto / Paho for Python无法接收超过20条MQTT消息

  24. 24

    使用命令行停止mosquitto(MQTT)代理侦听端口

  25. 25

    通过Internet连接到安装在Raspberry Pi上的MQTT代理(Mosquitto)

  26. 26

    发布者数据库与mosquitto代理数据库mqtt之间的同步

  27. 27

    MQTT mosquitto-使用mqttws31.js在javascript中实现websocket

  28. 28

    将AWS IoT与本地Mosquitto MQTT桥接时,“证书验证失败”

  29. 29

    通过SSL / TLS与节点mqtt客户端连接到mosquitto代理的问题

热门标签

归档