передача данных от majordomo к arduino mega server

Модератор: Alex

vladragor
Сообщения: 27
Зарегистрирован: Пт янв 06, 2017 12:48 am
Благодарил (а): 4 раза
Поблагодарили: 2 раза

передача данных от majordomo к arduino mega server

Сообщение vladragor » Пт янв 06, 2017 1:10 am

Здравствуйте..
Недавно заинтересовался проектом
Установил majordomo и arduino mega server v0.16
Все вполне нормально встало
На стороне arduino mega server запустил модуль обеспечивающий работу с системой MajorDoMo
Данные с arduino mega server пошли благодаря serghei viewtopic.php?f=19&t=3111
, подключил пару датчиков DS18B20 и dht11
Данные получаю и вывожу в виде информации в majordomo
Но не получается передать данные на arduino mega server
Как на arduino mega server задать включение со стороны majordomo каких либо реле ?????
А конкретно включение реле
к примеру в
arduino mega server
contacts
#define cont1pin 22 // HOM

arduino mega server выводит

2017-01-06 08:01:06 Host 192.168.1.10 GET /objects/?object=contHOM&op=m&m=update&v=0
сообщение можно использовать как статус вкл выкл
но как задать включение со стороны majordomo ?????
не так давно изучаю систему..переварил все что нашел на форуме...информации недостаточно, особенно для новичков..
Если сам разберусь напишу подробную инструкцию

Прошу помощи....
за ранее спасибо...
Последний раз редактировалось vladragor Сб янв 07, 2017 2:49 am, всего редактировалось 1 раз.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: передача данных от majordomo к arduino mega server

Сообщение Alex » Пт янв 06, 2017 8:54 am

Как на arduino mega server задать включение со стороны majordomo каких либо реле ?????
В АМС присутствует модуль server_commands, который предназначен для приёма команд по сети. Он же содержит пару примеров, по аналогии с которыми вы можете реализовать управление чем угодно, не только реле. Там же есть парсинг значений параметров.
За это сообщение автора Alex поблагодарил:
vladragor (Сб янв 07, 2017 5:01 pm)
Рейтинг: 1.16%
vladragor
Сообщения: 27
Зарегистрирован: Пт янв 06, 2017 12:48 am
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: передача данных от majordomo к arduino mega server

Сообщение vladragor » Пт янв 06, 2017 12:51 pm

хм ...судя по всему что бы отдать команду из majordomo в arduino mega server нужно переписать модуль server_commands??
Вроде же изначально AMS вообще работал в связке с majordomo, неужели не сделали готового двустороннего решения?
Данные на majordomo идут при включении модуля на AMS...обратно нет..
Или что не так понял?...
К сожалению на вскидку изменить код или грамотно дописать пока не смогу учусь только...



Вроде разобрался...Спасибо конечно хоть за такую наводку...Но в этом весь наш форум...редко когда нормально что то объяснят...как будто с рождения легко разбирались в коде...потому и новички тупо пугаются и бросают..ну кроме самых стойких...либо знакомых с php и с++

на самом деле можно же чуть подробнее объяснить что бы хоть шанс понять был..

ну хотя бы так :

В АМС присутствует модуль server_commands, который предназначен для приёма команд по сети. Он же содержит пару примеров, по аналогии с которыми вы можете реализовать управление чем угодно.


что бы примеры заработали нужно раскомментировать строки:

void setKey() {
if (command.indexOf("rele4") >= 0) {
if (parameter.indexOf("1") >= 0) {
//setGoLightON();--------------------------эту
} else {
//setGoLightOFF();-------------------------и эту
}
}
}
запустить модуль в АМС скетче keys.ino

а так же внести изменения в АМС скетче в keys.ino

int keyPin = 3; ----ваше реле


добавить строчки:

void setGoLightON() {
goLight = 1;
}

void setGoLightOFF() {
goLight = 0;
}


вот теперь если задать со стороны majordomo
getURL("http://ваш адрес АМС/?rele4=1", 0); то вкл реле
getURL("http://ваш адрес АМС/?rele4=", 0); то выкл реле

вот как то так...но все равно спасибо...


теперь ломаю голову как управлять несколькими реле ..модулем например..

если кому интересно выложу как в кучу соберу АМС 0.16 с добавленными датчиками DHT11 и DHT22
уже работает и данные в мд идут..
annakin
Сообщения: 130
Зарегистрирован: Пн окт 28, 2013 5:06 pm
Откуда: Молдова
Благодарил (а): 11 раз
Поблагодарили: 10 раз

Re: передача данных от majordomo к arduino mega server

Сообщение annakin » Пн янв 09, 2017 4:08 pm

У меня есть реализация чтение данных с датчиков DHT в АМС, но для версии АМС 0.12 я по моему где-то выкладывал, если не найдёшь вечером выложу.
За это сообщение автора annakin поблагодарил:
serega4ex (Пн янв 09, 2017 4:17 pm)
Рейтинг: 1.16%
Server: Raspberry Pi 3 B+
OS: Rasbian
serega4ex
Сообщения: 7
Зарегистрирован: Пн ноя 16, 2015 9:45 am
Благодарил (а): 3 раза
Поблагодарили: 0

Re: передача данных от majordomo к arduino mega server

Сообщение serega4ex » Пн янв 09, 2017 4:18 pm

annakin писал(а):У меня есть реализация чтение данных с датчиков DHT в АМС, но для версии АМС 0.12 я по моему где-то выкладывал, если не найдёшь вечером выложу.
Будьте так любезны, выложить реализацию чтения, а то с управлением реле разобрался, а с чтением нет :)
vladragor
Сообщения: 27
Зарегистрирован: Пт янв 06, 2017 12:48 am
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: передача данных от majordomo к arduino mega server

Сообщение vladragor » Вт янв 10, 2017 12:56 am

У меня есть реализация чтение данных с датчиков DHT в АМС, но для версии АМС 0.12 я по моему где-то выкладывал, если не найдёшь вечером выложу.
Я чей то код находил тут на сервере...по моему твой, но он с 0.16 не пошел...я по аналогии и запилил..
Выкладываю 0.16 с переделками...
ip address ams 192.168.1.13
ip address md 192.168.1.10
добавлены датчики dht11 и dht22, в работу ds18b20 датчиков не вмешивался
добавлены реле 5 штук в contacts.ino и в key.ino можно сменить пины -это для управления
в итоге идет статус на сервер мд
и можно управлять с мд ссылкой
getURL("http://192.168.1.13/?rele10=1", 0); для примера как в скетче включение kotel 1
getURL("http://192.168.1.13/?rele10=", 1); для примера как в скетче выключение kotel1

Пока ток учусь....так что если какие дополнения кто сделает ,либо исправит то просьба отписаться..
Вывод в веб страницу амс не проверял и не делал...так как не пользуюсь, интересует именно интеграция полная в мд.
Мб кто нить делал облегченную версию веб-амс что бы ресурсы экономить и быстрее грузилась--вообще есть смысл?
Хотя как по моему и она не нужна...
Не знаю если это сэкономит ресурсы мб вообще удалить страницу амс к сожалению пока знаний наверно не хватит грамотно это сделать..
Аlex проделал огромную работу по оптимизации и библиотек и кода..за это несомненно огромное спасибо..потому и решил использовать амс...но теперь охото ее 100% интегрировать в МД)))

отработать бы статистику с амс в мд,по типу как с реле
Что бы после управляющего сигнала амс подтверждала включила или нет..
У меня включение реле осуществляется включателем стандартным
и отдельно статистика картинкой на сцене -видно включилась кнопка котел1(у меня самодельный котел с несколькими тенами) или нет.
Вложения
ams_016.rar
(3.05 МБ) 312 скачиваний
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: передача данных от majordomo к arduino mega server

Сообщение serghei » Вт янв 10, 2017 9:48 am

Отличное начало ! Вот только с разбегу пару вопросов. Выложите библиотеку DHT, а то с Гитхаба компилятор ругается. В МД влажность тоже передается вместе с температурой? С выводом на страницы со стороны АМС попробую сам разобраться. Реализация включения реле тут была описана и работала ( для одного пина ).
Вот только не понятно не желание пользоваться Веб страницами со стороны АМС. Зачем тогда его использовать? Управление нагрузкой с МД это замечательно , но нужно побеспокоиться и об автономности.
В последних версиях АМС есть возможность получать влажность с сенсоров. Их данные будут сливаться в МД вместе с сервером , или надо прописать отдельную процедуру ? И что надо прописать на стороне МД , чтобы хотя бы увидеть графики температуры и влажности ?
PS Так как в Меге мало памяти , надо подумать как этот код перенести на Дую.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
vladragor
Сообщения: 27
Зарегистрирован: Пт янв 06, 2017 12:48 am
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: передача данных от majordomo к arduino mega server

Сообщение vladragor » Вт янв 10, 2017 3:02 pm

Выкладываю библиотеку...это dht 1.2.3 так как последняя глючила...ее нужно положить в папку arduino-1.6.5-r5\libraries
Влажность с температурой не объеденял и так вполне нормально...
СпойлерПоказать
2017-01-10 21:48:05 Host 192.168.1.10 GET /objects/?object=dht2_temp&op=m&m=update&v=25.0 HTTP/1.0
2017-01-10 21:48:05 dht2_hum: 20.00
2017-01-10 21:48:05 Host 192.168.1.10 GET /objects/?object=dht2_hum&op=m&m=update&v=20.0 HTTP/1.0
2017-01-10 21:48:05 dht3_temp: 19.00
2017-01-10 21:48:05 Host 192.168.1.10 GET /objects/?object=dht3_temp&op=m&m=update&v=19.0 HTTP/1.0
2017-01-10 21:48:06 dht3_hum: 25.00
2017-01-10 21:48:06 Host 192.168.1.10 GET /objects/?object=dht3_hum&op=m&m=update&v=25.0 HTTP/1.0
2017-01-10 21:48:06 dht4_temp: 5.00
2017-01-10 21:48:06 Host 192.168.1.10 GET /objects/?object=dht4_temp&op=m&m=update&v=5.0 HTTP/1.0
2017-01-10 21:48:06 dht4_hum: 61.00
2017-01-10 21:48:06 Host 192.168.1.10 GET /objects/?object=dht4_hum&op=m&m=update&v=61.0 HTTP/1.0
2017-01-10 21:48:06 Host 192.168.1.10 GET /objects/?object=ncMega01&op=m&m=update&v=1
2017-01-10 21:48:06 (duration 1 min 3 sec)
2017-01-10 21:48:06 2731 (33%)
вот так выводятся данные
dht2, dht3, dht4 это 3 датчика и соответственно
dht2 выводит темп и влажн dht2_temp и dht2_hum и так далее..
ну а мд все собирает в кучу мне так удобнее...показалось...

на мд класс у меня датчики температуры,
объекты dht2_temp и dht2_hum
метод
update с кодом
СпойлерПоказать
if (isset($_GET[v])) {
echo "!!!!";
$this->setProperty("v",$_GET[v]);
$this->setProperty("updtime",time());
}
ну и свойства
updtime и v
брал вот отсюда инфу viewtopic.php?f=19&t=3111

по автономности с годик назад я поставил мд...особо не разбирался ..взял старый скетч и поставил в мегу....и у меня эта связка с датчиками и реле работала без особых сбоев но никакой код...совсем......в основном информативные датчики..потому и особенно не забочусь об автономности...по амс код более оптимизирован пройти мимо просто невозможно...Я некоторое время общался с человеком который пытался перенести прошивку с megad 2561 на мега 2560...но там есть сложности которые неизвестно когда разрешаться а AMS alex-a достаточно допилена и хорошо структурирована...Достаточно сделать пустой шаблон и програмируй модули.....
АМС у меня стоит несколько месяцев...разбираться некогда было ...ап тайм последний 21 день...и в веб морде не был ни разу... ..не понимаю зачем..?? скорости не очень все равно.. загрузки 3-4 секунды...когда МД и голосом отрабатывает и данные показывает....
Конечно страховку охото сделать ...но я сторонник одного хорошо отлаженного центрального компа...а в случае сбоев можно прикрутить еще одну мегу...которая будет перехватывать временно управление (переходя в аварийный режими отключая ответственные участки) в случае отклонения в показаниях как мд так и амс
Я подумываю как вариант поставить одну ардуино контролировать и АМС главную и МД и в случае сбоев перезапускать..
Пока все в планах...
Вложения
DHT_sensor_library.rar
библиотека dht
(6.15 КБ) 285 скачиваний
Последний раз редактировалось vladragor Вт янв 10, 2017 3:34 pm, всего редактировалось 2 раза.
За это сообщение автора vladragor поблагодарил:
serghei (Вт янв 10, 2017 3:16 pm)
Рейтинг: 1.16%
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: передача данных от majordomo к arduino mega server

Сообщение serghei » Вт янв 10, 2017 3:22 pm

А как это у Вас такая большая разница между влажностью 2 и 4 датчиками? Или они в разных комнатах? Впрочем у меня так же между DHT11 и 21. А можно прописать в МД через экспорт класса ? На втором сервере получилось очень быстро и просто ( в начала 2 дня просто копировал настройки)...
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
vladragor
Сообщения: 27
Зарегистрирован: Пт янв 06, 2017 12:48 am
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: передача данных от majordomo к arduino mega server

Сообщение vladragor » Вт янв 10, 2017 3:32 pm

А как это у Вас такая большая разница между влажностью 2 и 4 датчиками? Или они в разных комнатах? Впрочем у меня так же между DHT11 и 21. А можно прописать в МД через экспорт класса ? На втором сервере получилось очень быстро и просто ( в начала 2 дня просто копировал настройки)...
да можно конечно....
там где влажность большая это подвал....там и темп 5 градусов...
сейчас пожарные датчики mq-2 и mq-7 на очереди....но прожорливые собаки...сначала с питанием хочу порешать...
если висят с температурными и реле бывает рубят их...ну и датчики движения во всех комнатах уже почти
а так у меня небольшое хобби как у нас всех наверное ввиде небольшого и неглупого домика

Впрочем у меня так же между DHT11 и 21
хм недолжно так быть по моему...у меня на стенде 11 и 21 стояли рядом показания тик в тик....мб на 21 резистор не 10 ..??
ну и обратите внимание..если в настройках стоит 21 а там 11 данные тож если и пойдут но глючные(не помню что то такое было у меня)
резистор тож по запарке 4.7 ком воткнул...не мог понять расхождение с градусником было в 10 градусов аж)) пока недоперло хотел датчик выкидывать уже
Ответить