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 работает нормально?

, 👍0

Обсуждение

Попробуйте просто, а затем добавьте функции. Например, попробуйте сначала запустить Ethernet. Затем добавьте MQTT. Кто спрашивает IP-адреса? Вы говорите, что это IP-адреса, которые вы добавили в свою программу/скетч? Если ваша программа/скетч недлинная, возможно, вы можете включить ее в свой вопрос., @st2000

попробуйте библиотеку UIPEthernet вместо Ethernet, которая для другого чипа, @Juraj

Я использую базовые примеры для этих библиотек и не включал их, так как я попробовал 3, и ни один из них не работал. Но поскольку Ethercard работает на моем конце, я попытаюсь поиграть с ней и библиотекой MQTT. Также безуспешно пробовал UIPEthernet, но даже не понял, что это стандартная библиотека, разработанная для ENC28J60, спасибо, что указали на это, может быть, я могу просто адаптировать некоторый код Ethernet.h, заменив его на UIPEthernet, @Neil


1 ответ


Лучший ответ:

2

Благодаря тому, что Юрадж указал мне, что UIPEthernet — это просто замена библиотеки Ethernet, я, наконец, нашел эта статья, которая прекрасно работает.

,