MQTT

В данный форуме Вы можете создавать темы посвящённые расширению функционала программы или сайта. После рассмотрения Ваше предложение будет перенесено в соответствующее место
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

MQTT

#41

Сообщение Слимпер » 20.06.2017{, 11:04}

Anydy писал(а):Я думаю что обычным способом добавить библиотеку в блок не получится. В Arduino IDE нужно в ядро добавлять....Так что нет смысла в блоке ее добавлять...
Тогда надо в описании блока указать адрес ссылки где написано, что и как надо дела.

Tehnik053
Рядовой
Сообщения: 32
Зарегистрирован: 04.01.2017{, 17:50}
Репутация: 0

MQTT

#42

Сообщение Tehnik053 » 20.06.2017{, 11:06}

А какую плату выбирать при создании проекта? И я так понимаю номера входов выходов нужно смотреть по даташиту ЕСП? Т.е. Какой вход соответствует тому или иному GPIO ? Простите за дурацкие вопросы.

Anydy

MQTT

#43

Сообщение Anydy » 20.06.2017{, 11:28}

Слимпер писал(а):правили только главный блок секции Declare и Setup
Вроде да, только там))

Добавлено (20.06.2017, 11:28)
---------------------------------------------
Слимпер писал(а):Тогда надо в описании блока указать адрес ссылки где написано, что и как надо делать
В общем не сложно, вот например статья
но ссылку может придется указать по IP адресу а не по домену - вот так : http://104.131.82.128/stable/package_es ... index.json
Tehnik053 писал(а):А какую плату выбирать при создании проекта? И я так понимаю номера входов выходов нужно смотреть по даташиту ЕСП? Т.е. Какой вход соответствует тому или иному GPIO ?
Выше ссылка как добавить плату, GPIO да, по даташиту смотреть, зависит от модели ESP, кстати в модели 07 выводы 4 и 5 перепутаны.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

MQTT

#44

Сообщение Слимпер » 20.06.2017{, 13:59}

Anydy писал(а):В общем не сложно, вот например статья
Вот еще статью нашел Arduino IDE для ESP8266

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

MQTT

#45

Сообщение starshoy81 » 20.06.2017{, 14:11}

Слимпер, в главном блоке, в описании надо лишний текст про адреса перенести в блок w5100. Еще один момент: при полном указании данных сети для эзернет шилда, мой роутер (tp-link 3420) его не подключает. Подключается только, если оставить инициализацию мак адреса, т.е. получение адресов по DHCP.

Anydy

MQTT

#46

Сообщение Anydy » 20.06.2017{, 14:15}

Да, на этом сайте много полезной информации по ESP8266, на Гике сегодня статья про ESP32 появилась, хотя я думаю будет лучше и дешевле использовать STM32 + ESP8266 мостом!
За 200 -250р имеем кучу интерфейсов, кучу GPIO, часы на борту, 12-битный АЦП, USB без всяких там дополнительных программаторов, ну про частоту ядра и обьем памяти не буду говорить....
Добавляем ESP8266 любую и радуемся!
Последний раз редактировалось Anydy 20.06.2017{, 14:35}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

MQTT

#47

Сообщение Слимпер » 20.06.2017{, 14:51}

starshoy81 писал(а):Слимпер, в главном блоке, в описании надо лишний текст про адреса перенести в блок w5100. Еще один момент: при полном указании данных сети для эзернет шилда, мой роутер (tp-link 3420) его не подключает. Подключается только, если оставить инициализацию мак адреса, т.е. получение адресов по DHCP.
Перенес описание. Спасибо за замечание
Добавил выбор получения IP Адреса по DHCP
Исправил ошибку в блоке MQTT ESP8266
Вот обновленная версия

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

MQTT

#48

Сообщение starshoy81 » 20.06.2017{, 15:46}

Слимпер, Anydy, еще вопрос - что заливать в есп? Esp-link или АТ прошивку?

Anydy

MQTT

#49

Сообщение Anydy » 20.06.2017{, 21:35}

starshoy81 писал(а):что заливать в есп? Esp-link или АТ прошивку?
я еще не смотрел что Слимпер наваял, скорее всего заливать весь код в ESP

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

MQTT

#50

Сообщение starshoy81 » 20.06.2017{, 21:48}

Anydy, код там универсальный. Сама есп как отдельный контроллер имеет смысл только если собирать данные с модбас устройств или в виде удаленного датчика. Поэтому интересно использовать есп как шлюз в сеть. Например используя библиотеку el-client в ардуине в связке с есп прошитой esp-link.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

MQTT

#51

Сообщение Слимпер » 21.06.2017{, 07:50}

Anydy писал(а):я еще не смотрел что Слимпер наваял, скорее всего заливать весь код в ESP
Да именно так, я просто перенес в блок то, сделали Anydy, Stranick.
starshoy81 писал(а):Сама есп как отдельный контроллер имеет смысл только если собирать данные с модбас устройств или в виде удаленного датчика. Поэтому интересно использовать есп как шлюз в сеть. Например используя библиотеку el-client в ардуине в связке с есп прошитой esp-link.
Ну может и так, но в эти дебри я пока не лазил. Так что комментировать не могу.

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

MQTT

#52

Сообщение starshoy81 » 21.06.2017{, 13:36}

Слимпер писал(а):Да именно так, я просто перенес в блок то, сделали Anydy, Stranick.
Ага, значит внимание всем использующим блок есп - данный код заливать в ЕСП! Пины есп смотреть в даташите.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

MQTT

#53

Сообщение Слимпер » 21.06.2017{, 19:24}

Так снова обновленная версия
Добавил в описание
starshoy81 писал(а):Ага, значит внимание всем использующим блок есп - данный код заливать в ЕСП! Пины есп смотреть в даташите.
 
Еще по просьбе Stranick, в блок публикации добавил новый параметр.
starshoy81 писал(а):Поэтому интересно использовать есп как шлюз в сеть. Например используя библиотеку el-client в ардуине в связке с есп прошитой esp-link.
Если вы в этой теме разбираетесь, можете дать ссылки что до как. Гляну на сколько это сложно в блок добавить. 
Желательно на русском, а то инглешь только с переводчиком.

Добавлено (21.06.2017, 19:24)
---------------------------------------------
Так еще одна доработка по просьбе  Stranick

Блоки

Новые параметры
В блоке Публикации RETAIN


СпойлерПоказать
Данный флаг служит для индикации сохранения последнего принятого брокером сообщения. То есть флаг RETAIN=1 в сообщении PUBLISH от издателя сообщает брокеру о том, что сообщение по этой теме нужно сохранить и, когда новый подписчик присоединится к теме, отправить ему это сообщение.
 

В блоке Подписки  QoS подписываться на сообщения QoS 0 или QoS 1 

Если у кого будет возможность проверить, отпишетесь работают блоки после доработки или нет.

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

MQTT

#54

Сообщение starshoy81 » 21.06.2017{, 23:32}

Слимпер писал(а):Если вы в этой теме разбираетесь, можете дать ссылки что до как. Гляну на сколько это сложно в блок добавить.
Я копаю по этой теме информацию, но полной картины у меня еще нет.
По
используя библиотеку el-client в ардуине в связке с есп прошитой esp-link.
я так понял, что надо в есп настроить соединение с mqtt сервером, а из ардуино гонять данные через ком порт в виде строк, причём синхронизация через компорт организована в библиотеке el-client.
Вот здесь библиотека el-client, если открыть эту страницу в браузере и перевести её, то можно разобраться, там довольно понятно и подробно описаны команды.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

MQTT

#55

Сообщение Слимпер » 22.06.2017{, 08:30}

starshoy81 писал(а):Вот здесь библиотека el-client, если открыть эту страницу в браузере и перевести её, то можно разобраться, там довольно понятно и подробно описаны команды.
Посмотрел я эту библиотеку, в ней напрямую реализвана работа с MQTT и не используется библиотека PubSubClient, на базе которой сейчас блок работает.
Так что это будет несколько сложнее, чем я думал.
Но в принципе нет нечего не возможного. Но как я писал проверить не могу сам.
Если кто будет тестировать, то попробую написать, но  не факт что быстро, у меня и свои дела есть.

starshoy81, Если вам это тема действительно интересно, попробуйте запустить пример из библиотеки. Вот если получится тогда подумаю над тем чтобы начать разбираться с этой библиотекой.

Добавлено (22.06.2017, 08:30)
---------------------------------------------
Так, еще вопрос Всем, к Текущему функционалу нареканий нет?

Просто думал выкладывать в Блоки пользователя или нет?
Последний раз редактировалось Слимпер 22.06.2017{, 08:32}, всего редактировалось 1 раз.

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

MQTT

#56

Сообщение starshoy81 » 22.06.2017{, 22:05}

Слимпер писал(а): в ней напрямую реализвана работа с MQTT и не используется библиотека PubSubClient
да я собираюсь сделать контроль своего зарядника от солнечных батарей, через подобную связку.
Слимпер писал(а):Так, еще вопрос Всем, к Текущему функционалу нареканий нет?
Если в выходные успею, перезагружу прошивку на даче с новыми блоками.

Anydy

MQTT

#57

Сообщение Anydy » 22.06.2017{, 22:59}

Слимпер писал(а):Так, еще вопрос Всем, к Текущему функционалу нареканий нет?
Я не проверял на ESP, мне более интереснее щас отстроить связку SIM800 + MQTT + Mqttwarn... настроил, проверяю надежность...

Вы используете стандартную библиотеку для Ethernet шилд ардуино.
Может правильней использовать форк этой библиотеки для ESP8266?

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

MQTT

#58

Сообщение Слимпер » 23.06.2017{, 06:54}

Anydy писал(а):Может правильней использовать форк этой библиотеки для ESP8266?
Вот если честно не знаю, чем это будет лучше, только если более поддержка MQTT.
Но зато, что то там сильно вызов функций отличается, посмотрел примеры и даже не понял некоторые формы записи :

СпойлерПоказать
client.publish(MQTT::Publish("outTopic", "hello world qos=1")
                 .set_qos(1));
или
void callback(const MQTT::Publish& pub)
Может если это мне было действительно надо, я бы и стал разбираться, но тогда для начала надо изучать сам протокол MQTT. 

А я пока им и не пользовался не разу. (кроме тестов)

Так блок по описание библиотеки сделал блоки.

Так что пока не пойму, что это ну очень сильно надо, вряд ли буду переводить блок на другую библиотеку. И сейчас вроде работает. Лень страшная сила Изображение

starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

MQTT

#59

Сообщение starshoy81 » 23.06.2017{, 13:06}

Слимпер писал(а):Если у кого будет возможность проверить, отпишетесь работают блоки после доработки или нет.
Блоки эзернет и есп обязательно надо выносить на другую плату перед платой с блоком Главный. Иначе в коде объявление имени переменной MQTTclient происходит позже её инициализации. В описании блока данное действие носит рекомендательный характер.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

MQTT

#60

Сообщение Слимпер » 23.06.2017{, 13:28}

starshoy81 писал(а):Блоки эзернет и есп обязательно надо выносить на другую плату перед платой с блоком Главный. Иначе в коде объявление имени переменной MQTTclient происходит позже её инициализации. В описании блока данное действие носит рекомендательный характер.
Не совсем так, тут почему то еще важна последовательность добавления блоков.
Если сперва вставить блок ESP (Езернет), а уже затем Главный то в коде все в порядке.
Последний раз редактировалось Слимпер 23.06.2017{, 14:04}, всего редактировалось 1 раз.

Ответить

Вернуться в «Новые»