Шилд w5500 и enc28j60 и MQTT.
- Войдите на сайт для отправки комментариев
Пнд, 02/09/2019 - 16:55
Привет.
Стоит задача отправить данные брокеру cloudmqtt.com (MQTT). В наличии w5500 и enc28j60.
Нужен рабочий пример скетча или совет куда копать. Может эти шилды не могут с такой задачей справиться?
Спасибо за ответы.
http://arduino.ru/forum/proekty/ethernet-vyklyuchatel-nagruzki-v-lokalnoi-seti
http://arduino.ru/forum/proekty/ethernet-vyklyuchatel-nagruzki-v-lokalnoi-seti
Спасибо. Объмный код, 400 строк. Читаю 20% понимаю. э-Э-э-x :))
Юзаю ардуину 5-6 недель. Кое как написал, что-то свое, но оно не работает. Смотрел чужой код здесь http://arduinolab.pw/index.php/2017/08/22/protokol-mqtt-kod-iz-video/ и здесь http://arduino.ru/forum/proekty/ethernet-vyklyuchatel-nagruzki-v-lokalnoi-seti. Не могу приконектится и передать данные брокеру. У брокера статистика показавает, что какие байты туда сюда идут, но в топик ничего не приходит. Код зациклился, без конекта, в строках 41 - 54.
Какие байты идут, если коннект не проходит? Адрес DNS / маршрута по умолчанию 192.168.1.1 ?
Если есть в сети DHCP, то пробуйте запускать драйвер Wiznet как: Ethernet.begin(mac), это поможет локализовать проблему. Так же может просто не совпадать версия MQTT протокола.
Какие байты идут, если коннект не проходит? Адрес DNS / маршрута по умолчанию 192.168.1.1 ?
Если есть в сети DHCP, то пробуйте запускать драйвер Wiznet как: Ethernet.begin(mac), это поможет локализовать проблему. Так же может просто не совпадать версия MQTT протокола.
В статистике пишет, что что-то пришло. Скрин сделал как выложить не знаю.
Пробовал по всякому проблема таже. Код:
Самая первая ошибка - сразу из ардуины херачить космолёт.
Доступ к логам MQTT есть? Нет. С ардуины целевой хост запинговать можете, открытые порты проверить? Тоже нет. Как собираетесь сеть проверять? Или хотите, чтобы мы тут все руками поверх исходника поводили и написали, в которой строке 8 заменить на 56?
В локальной сети отладьте свой скетч, потом будете на внешние сервера лазить. Или траффик перехватывайте и анализируйте.
Самая первая ошибка - сразу из ардуины херачить космолёт.
Доступ к логам MQTT есть? Нет. С ардуины целевой хост запинговать можете, открытые порты проверить? Тоже нет. Как собираетесь сеть проверять? Или хотите, чтобы мы тут все руками поверх исходника поводили и написали, в которой строке 8 заменить на 56?
В локальной сети отладьте свой скетч, потом будете на внешние сервера лазить. Или траффик перехватывайте и анализируйте.
Спасибо за ответ. Недавно закончил проэкт в локалке: 2-ве Ардуино НАНО и одно УНО + W5500. 16*2 (6 в тестах) датчиков АМ2320 на НАНО(СЛЭЙВЫ) подключены к МАСТЕРУ УНО по I2C. В W5500 реализовал локальный сервер с таблицей данных. А связаться с Cloudmqtt никак не могу.
Это фрагмент статистики на Cloudmqtt: https://drive.google.com/open?id=1hoFXTcxiop7-0q9gd0tQOy-Hj0-DQrwx Судя по тому что ардуино отключена, а подклчение есть в статистике, в статистику попадает тот же вход в аккаунт.
Это логи. В них тоже сохраняется вход аккаунт. Ошибку подключения ардуино видно(подчеркнул) : https://drive.google.com/open?id=1w1m2jL_m2T1p7Z8GILeN8LZVlLQjUL_8
https://drive.google.com/open?id=1xJnwdubtWNVx3REr_TckMuJyXcilItIb
Думаю не правильно логинюсь. Может проблема с ID устройства, сочинил от потолка. Еще эта строка, как я понимаю, определяет адрес IP в локальной сети
byte
ip[] = { 192, 168, 31, 161 };
// IP адрес
Еще не понятно откуда серверу "farmer.cloudmqtt.com" знать куда отвечать?,,, это нубский вопрос. Поблема остается.
Я вам о чём пишу? Ставите в локалке брокера, на ардуину - пример из PubSubClient. На брокере логи на максимум и начинаете втыкать в то, что такое Ethernet, MQTT, как выглядит правильный коннект, ошибочный и пр. Иначе проблема так и останется.
Получилось подключиться к https://thingspeak.com . Как-то без особых заморочек https://drive.google.com/open?id=10g59UM4Ilm7Jh_kyJUwNgtVR5PTHjtX2 А к тому, моему, " кривокодию" надо будет еще вернутся.
Спасибо за ответы.