Страница 1 из 3

MQTT управление

Добавлено: 28.01.2017{, 01:50}
yopopol
Всем привет.
Необходима помощь: настроил mqtt на управление ардуинкой из сервера (mojordomo), но не могу прикрутить кнопку к ардуино,чтобы управлять выходом этой кнопкой .прошу помочь ,уважаемые форумчане.
точнее кнопку прикрутил,но как настроить? (кнопка без фиксации: нажал,отпустил-лампа загорелась,еще нажал ,отпустил-погасла)

также хотелось бы ,что бы при нажатии на кнопку еще менялся статус на сервере.

MQTT управление

Добавлено: 28.01.2017{, 06:48}
Слимпер
yopopol,  в другой теме выкладывал другую версию блоков для MQTT  протокола, может чем поможет.

MQTT управление

Добавлено: 28.01.2017{, 08:22}
Sancho
Я правильно понимаю - ты хочешь управлять одним выходом и из mqtt и локально кнопкой?
При этом на сервере должно отображаться реальное состояние выхода?

MQTT управление

Добавлено: 28.01.2017{, 13:23}
yopopol
Sancho писал(а):Я правильно понимаю - ты хочешь управлять одним выходом и из mqtt и локально кнопкой?При этом на сервере должно отображаться реальное состояние выхода?
 Да,именно так. Я наверно немного скомкано описал проблему, 2 часа ночи всё таки было ))

---------------------------------------------

Добавлено (28.01.2017, 13:23)
---------------------------------------------
Слимпер писал(а):yopopol,  в другой теме выкладывал другую версию блоков для MQTT  протокола, может чем поможет.
работает. но у меня трудность описать в Flprog логику одновременной работы кнопки и mqtt. 

MQTT управление

Добавлено: 28.01.2017{, 13:43}
yopopol


так работает с кнопкой,но после изменения из сервера,кнопку приходится нажать два раза,что бы изменить состояние выхода

MQTT управление

Добавлено: 28.01.2017{, 14:09}
Слимпер
Цитата yopopol () 200?'200px':''+(this.scrollHeight+5)+'px');">так работает с кнопкой,но после изменения из сервера,кнопку приходится нажать два раза,что бы изменить состояние выходаНу я бы сделал примерно так.

MQTT управление

Добавлено: 28.01.2017{, 14:43}
yopopol
Слимпер писал(а):Ну я бы сделал примерно так.
  спасибо огромное!!! заработало!!!!

MQTT управление

Добавлено: 28.01.2017{, 19:36}
WZV
yopopol писал(а):настроил mqtt на управление ардуинкой из сервера (mojordomo)
Подскажите, через какой интернет шилд Вы подключились? И если можно схему подключения.

MQTT управление

Добавлено: 28.01.2017{, 22:05}
yopopol
ардуина 2560  и шилд w5100/
схемы нет,одно в другое вставляется

сервер mojordomo стоит на orange pi pc

MQTT управление

Добавлено: 28.01.2017{, 22:52}
WZV
Благодарю за информацию все железки есть попробую.

Добавлено (28.01.2017, 22:52)
---------------------------------------------
Интересно , сколько можно таких блоков использовать в одном проекте?

MQTT управление

Добавлено: 28.01.2017{, 23:36}
yopopol
я сделал 16 выходов для реле и 16 кнопок с управлением по MQTT, заняло всего 8% памяти.

MQTT управление

Добавлено: 29.01.2017{, 06:43}
Слимпер
yopopol писал(а):я сделал 16 выходов для реле и 16 кнопок с управлением по MQTT, заняло всего 8% памяти.
Прошу оценку работы блоков, и замечания. А то я их в блоки пользователя не  выкладывал так как не было отзывов и результатах тестирования.

MQTT управление

Добавлено: 29.01.2017{, 12:01}
yopopol
пока второй день работы. Без сбоев!
Тестим дольше ))

MQTT управление

Добавлено: 29.01.2017{, 14:13}
yopopol
Добавил еще 10 топиков-переменных.Пока числа рандомятся, но потом на их место встанут какие нибудь данные (температура,влажность)
И заметил такую особенность: (на рисунке) при первом варианте данные отсылаются только один раз при старте ардуины, при втором варианте -переодически,согласно такту генератора.
Я новичек в этом деле,можт так и должно быть....

.

занимает всё это дело 10% памяти. данные принимаются влёт,без тормозов.

MQTT управление

Добавлено: 29.01.2017{, 14:25}
Слимпер
yopopol писал(а):Добавил еще 10 топиков-переменных.Пока числа рандомятся, но потом на их место встанут какие нибудь данные (температура,влажность)И заметил такую особенность: (на рисунке) при первом варианте данные отсылаются только один раз при старте ардуины, при втором варианте -переодически,согласно такту генератора.
Я новичек в этом деле,можт так и должно быть....
Так и должно быть:
Вход Send - по переднему фронту  на входе, публикует сообщение
Т.е. когда происходит переход из 0 (false) в 1 (true)

MQTT управление

Добавлено: 29.01.2017{, 14:34}
yopopol
Т.е. отсыл сообщения происходит только при переходе от 0 к 1 ?
Если  1 на входе Send постоянно,то отсыл происходит только один раз?

MQTT управление

Добавлено: 29.01.2017{, 14:40}
Слимпер
yopopol писал(а):Т.е. отсыл сообщения происходит только при переходе от 0 к 1 ?Если  1 на входе Send постоянно,то отсыл происходит только один раз?
Да именно так.

MQTT управление

Добавлено: 07.02.2017{, 20:03}
yopopol
Тогда всё норм,тестим дальше ))

Добавлено (04.02.2017, 13:27)
---------------------------------------------
прошла неделя,всё норм,работает стабильно.

Добавлено (07.02.2017, 20:03)
---------------------------------------------
обновил Flprog до 2/3/1, перезалил скетч и всё перестало работать (((
ардуинка даже на кнопки не реагирует ((

и при заливке ругается ,что pubsubclient.h отсутствует

MQTT управление

Добавлено: 10.02.2017{, 12:51}
WZV
yopopol писал(а):обновил Flprog до 2/3/1, перезалил скетч и всё перестало работать (((ардуинка даже на кнопки не реагирует ((
Очень интересуюсь этой темой, какова ситуация? Нашли причину?

Добавлено (10.02.2017, 12:51)
---------------------------------------------
Не могу залить скетч :
СпойлерПоказать
Arduino: 1.6.3 (Windows 7), Плата"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

pr6.ino:13:38: error: call of overloaded 'IPAddress(const char [14])' is ambiguous

pr6.ino:13:38: note: candidates are:

In file included from C:\Users\Vitia\Documents\Arduino\libraries\PubSubClient\src/PubSubClient.h:11:0,

from pr6.ino:1:

c:\Program Files\Flprog\ide\hardware\arduino\avr\cores\arduino/IPAddress.h:46:5: note: IPAddress::IPAddress(const uint8_t*) <near match>

IPAddress(const uint8_t *address);

^

c:\Program Files\Flprog\ide\hardware\arduino\avr\cores\arduino/IPAddress.h:46:5: note:   no known conversion for argument 1 from 'const char [14]' to 'const uint8_t* {aka const unsigned char*}'

c:\Program Files\Flprog\ide\hardware\arduino\avr\cores\arduino/IPAddress.h:45:5: note: IPAddress::IPAddress(uint32_t) <near match>

IPAddress(uint32_t address);

^

c:\Program Files\Flprog\ide\hardware\arduino\avr\cores\arduino/IPAddress.h:45:5: note:   no known conversion for argument 1 from 'const char [14]' to 'uint32_t {aka long unsigned int}'

c:\Program Files\Flprog\ide\hardware\arduino\avr\cores\arduino/IPAddress.h:28:7: note: IPAddress::IPAddress(const IPAddress&) <near match>

class IPAddress : public Printable {

^

c:\Program Files\Flprog\ide\hardware\arduino\avr\cores\arduino/IPAddress.h:28:7: note:   no known conversion for argument 1 from 'const char [14]' to 'const IPAddress&'

pr6.ino:18:28: error: expected ')' before 'm25'

Ошибка компиляции.

Это сообщение будет содержать больше информации чем
"Отображать вывод во время компиляции"
включено в Файл > Настройки
Нашёл причину: убрал кавычки с IP адреса      IPAddress ethernet_ip("192,168,1,113");
                        убрал кавычки с PubSubClient MQTTclient( ""m25.cloudmqtt.com"" , 1883 , callback,   ethClient);
их почему то по две.

MQTT управление

Добавлено: 10.02.2017{, 15:08}
yopopol
пока пользуюсь версией 2.2.  проблем еще не было (с уже составленным скетчем)

на версии 2.3 ругается на библиотеку
а на 2.1 постоянные притензии к коду. причем заливает,но работает плата не корректно(помогла перезапиь загрузчика в плату.IDE ругается,но в итоге всё работает)