MQTT на nano с Ethernet Shield не работает
Я использую Arduino Nano с экраном Ethernet (ENC28J60), и Ethernet работает (я могу создать веб-сервер с библиотекой Ethercard). Однако я зависаю, когда пытаюсь подключиться к серверу MQTT.
Я попробовал NanodeMQTT (застрял на ждущей ссылке), Библиотека Adafruit MQTT + Ethernet.h ( MQTT_connect() : соединение не удалось, бесконечные повторные попытки), PubSubClient + Ethernet.h (client.connect возвращает 0) и некоторые другие.
Сейчас мне интересно, правильно ли я каждый раз делаю настройку:
когда меня спросили об IP-адресе, я установил статический, который я хочу для своего Arduino: 192.168.1.50
когда меня спросили gwip, я установил один из интернет-маршрутизаторов: 192.168.1.254
когда меня спросили о сервере, я установил его на свой сервер mqtt ipv4: 192.168.1.185 (и порт 1883)
когда меня спрашивают о mac-адресе, я оставляю тот, что в примере, или просто пишу случайный
Знаете ли вы, что может привести к сбою библиотеки ethernet.h или mqtt, но при этом ethercard работает нормально?
@Neil, 👍0
Обсуждение1 ответ
Лучший ответ:
Благодаря тому, что Юрадж указал мне, что UIPEthernet — это просто замена библиотеки Ethernet, я, наконец, нашел эта статья, которая прекрасно работает.
- Modbus TCP вместе с MQTT по тому же ethernet
- Как заставить библиотеки MQTT и ArduinoModbus работать на одном порту Ethernet?
- Разбор HTTP с аутентификацией в Arduino + Ethernet Shield
- связь между двумя arduino с помощью ENC28J60?
- Arduino не подключается к локальному брокеру MQTT
- Ethernet Shield не работает с TFT-экраном
- Ограничения подключения ко многим ардуино через Ethernet?
- Ошибка HTTP-запроса Arduino, медленное сотовое соединение
Попробуйте просто, а затем добавьте функции. Например, попробуйте сначала запустить Ethernet. Затем добавьте MQTT. Кто спрашивает IP-адреса? Вы говорите, что это IP-адреса, которые вы добавили в свою программу/скетч? Если ваша программа/скетч недлинная, возможно, вы можете включить ее в свой вопрос., @st2000
попробуйте библиотеку UIPEthernet вместо Ethernet, которая для другого чипа, @Juraj
Я использую базовые примеры для этих библиотек и не включал их, так как я попробовал 3, и ни один из них не работал. Но поскольку Ethercard работает на моем конце, я попытаюсь поиграть с ней и библиотекой MQTT. Также безуспешно пробовал UIPEthernet, но даже не понял, что это стандартная библиотека, разработанная для ENC28J60, спасибо, что указали на это, может быть, я могу просто адаптировать некоторый код Ethernet.h, заменив его на UIPEthernet, @Neil