передача данных от majordomo к arduino mega server
Модератор: Alex
-
- Сообщения: 27
- Зарегистрирован: Пт янв 06, 2017 12:48 am
- Благодарил (а): 4 раза
- Поблагодарили: 2 раза
передача данных от majordomo к arduino mega server
Здравствуйте..
Недавно заинтересовался проектом
Установил 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 ?????
не так давно изучаю систему..переварил все что нашел на форуме...информации недостаточно, особенно для новичков..
Если сам разберусь напишу подробную инструкцию
Прошу помощи....
за ранее спасибо...
Недавно заинтересовался проектом
Установил 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 раз.
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: передача данных от majordomo к arduino mega server
В АМС присутствует модуль server_commands, который предназначен для приёма команд по сети. Он же содержит пару примеров, по аналогии с которыми вы можете реализовать управление чем угодно, не только реле. Там же есть парсинг значений параметров.Как на arduino mega server задать включение со стороны majordomo каких либо реле ?????
- Рейтинг: 1.16%
-
- Сообщения: 27
- Зарегистрирован: Пт янв 06, 2017 12:48 am
- Благодарил (а): 4 раза
- Поблагодарили: 2 раза
Re: передача данных от majordomo к arduino mega server
хм ...судя по всему что бы отдать команду из 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
уже работает и данные в мд идут..
Вроде же изначально 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
уже работает и данные в мд идут..
-
- Сообщения: 130
- Зарегистрирован: Пн окт 28, 2013 5:06 pm
- Откуда: Молдова
- Благодарил (а): 11 раз
- Поблагодарили: 10 раз
Re: передача данных от majordomo к arduino mega server
У меня есть реализация чтение данных с датчиков DHT в АМС, но для версии АМС 0.12 я по моему где-то выкладывал, если не найдёшь вечером выложу.
- Рейтинг: 1.16%
Server: Raspberry Pi 3 B+
OS: Rasbian
OS: Rasbian
-
- Сообщения: 7
- Зарегистрирован: Пн ноя 16, 2015 9:45 am
- Благодарил (а): 3 раза
- Поблагодарили: 0
Re: передача данных от majordomo к arduino mega server
Будьте так любезны, выложить реализацию чтения, а то с управлением реле разобрался, а с чтением нетannakin писал(а):У меня есть реализация чтение данных с датчиков DHT в АМС, но для версии АМС 0.12 я по моему где-то выкладывал, если не найдёшь вечером выложу.
-
- Сообщения: 27
- Зарегистрирован: Пт янв 06, 2017 12:48 am
- Благодарил (а): 4 раза
- Поблагодарили: 2 раза
Re: передача данных от majordomo к arduino mega server
Я чей то код находил тут на сервере...по моему твой, но он с 0.16 не пошел...я по аналогии и запилил..У меня есть реализация чтение данных с датчиков DHT в АМС, но для версии АМС 0.12 я по моему где-то выкладывал, если не найдёшь вечером выложу.
Выкладываю 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 МБ) 321 скачивание
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: передача данных от majordomo к arduino mega server
Отличное начало ! Вот только с разбегу пару вопросов. Выложите библиотеку DHT, а то с Гитхаба компилятор ругается. В МД влажность тоже передается вместе с температурой? С выводом на страницы со стороны АМС попробую сам разобраться. Реализация включения реле тут была описана и работала ( для одного пина ).
Вот только не понятно не желание пользоваться Веб страницами со стороны АМС. Зачем тогда его использовать? Управление нагрузкой с МД это замечательно , но нужно побеспокоиться и об автономности.
В последних версиях АМС есть возможность получать влажность с сенсоров. Их данные будут сливаться в МД вместе с сервером , или надо прописать отдельную процедуру ? И что надо прописать на стороне МД , чтобы хотя бы увидеть графики температуры и влажности ?
PS Так как в Меге мало памяти , надо подумать как этот код перенести на Дую.
Вот только не понятно не желание пользоваться Веб страницами со стороны АМС. Зачем тогда его использовать? Управление нагрузкой с МД это замечательно , но нужно побеспокоиться и об автономности.
В последних версиях АМС есть возможность получать влажность с сенсоров. Их данные будут сливаться в МД вместе с сервером , или надо прописать отдельную процедуру ? И что надо прописать на стороне МД , чтобы хотя бы увидеть графики температуры и влажности ?
PS Так как в Меге мало памяти , надо подумать как этот код перенести на Дую.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 27
- Зарегистрирован: Пт янв 06, 2017 12:48 am
- Благодарил (а): 4 раза
- Поблагодарили: 2 раза
Re: передача данных от majordomo к arduino mega server
Выкладываю библиотеку...это dht 1.2.3 так как последняя глючила...ее нужно положить в папку arduino-1.6.5-r5\libraries
Влажность с температурой не объеденял и так вполне нормально...
вот так выводятся данные
dht2, dht3, dht4 это 3 датчика и соответственно
dht2 выводит темп и влажн dht2_temp и dht2_hum и так далее..
ну а мд все собирает в кучу мне так удобнее...показалось...
на мд класс у меня датчики температуры,
объекты dht2_temp и dht2_hum
метод
update с кодом
ну и свойства
updtime и v
брал вот отсюда инфу viewtopic.php?f=19&t=3111
по автономности с годик назад я поставил мд...особо не разбирался ..взял старый скетч и поставил в мегу....и у меня эта связка с датчиками и реле работала без особых сбоев но никакой код...совсем......в основном информативные датчики..потому и особенно не забочусь об автономности...по амс код более оптимизирован пройти мимо просто невозможно...Я некоторое время общался с человеком который пытался перенести прошивку с megad 2561 на мега 2560...но там есть сложности которые неизвестно когда разрешаться а AMS alex-a достаточно допилена и хорошо структурирована...Достаточно сделать пустой шаблон и програмируй модули.....
АМС у меня стоит несколько месяцев...разбираться некогда было ...ап тайм последний 21 день...и в веб морде не был ни разу... ..не понимаю зачем..?? скорости не очень все равно.. загрузки 3-4 секунды...когда МД и голосом отрабатывает и данные показывает....
Конечно страховку охото сделать ...но я сторонник одного хорошо отлаженного центрального компа...а в случае сбоев можно прикрутить еще одну мегу...которая будет перехватывать временно управление (переходя в аварийный режими отключая ответственные участки) в случае отклонения в показаниях как мд так и амс
Я подумываю как вариант поставить одну ардуино контролировать и АМС главную и МД и в случае сбоев перезапускать..
Пока все в планах...
Влажность с температурой не объеденял и так вполне нормально...
СпойлерПоказать
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%)
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());
}
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 КБ) 298 скачиваний
Последний раз редактировалось vladragor Вт янв 10, 2017 3:34 pm, всего редактировалось 2 раза.
- Рейтинг: 1.16%
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: передача данных от majordomo к arduino mega server
А как это у Вас такая большая разница между влажностью 2 и 4 датчиками? Или они в разных комнатах? Впрочем у меня так же между DHT11 и 21. А можно прописать в МД через экспорт класса ? На втором сервере получилось очень быстро и просто ( в начала 2 дня просто копировал настройки)...
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 27
- Зарегистрирован: Пт янв 06, 2017 12:48 am
- Благодарил (а): 4 раза
- Поблагодарили: 2 раза
Re: передача данных от majordomo к arduino mega server
да можно конечно....А как это у Вас такая большая разница между влажностью 2 и 4 датчиками? Или они в разных комнатах? Впрочем у меня так же между DHT11 и 21. А можно прописать в МД через экспорт класса ? На втором сервере получилось очень быстро и просто ( в начала 2 дня просто копировал настройки)...
там где влажность большая это подвал....там и темп 5 градусов...
сейчас пожарные датчики mq-2 и mq-7 на очереди....но прожорливые собаки...сначала с питанием хочу порешать...
если висят с температурными и реле бывает рубят их...ну и датчики движения во всех комнатах уже почти
а так у меня небольшое хобби как у нас всех наверное ввиде небольшого и неглупого домика
хм недолжно так быть по моему...у меня на стенде 11 и 21 стояли рядом показания тик в тик....мб на 21 резистор не 10 ..??Впрочем у меня так же между DHT11 и 21
ну и обратите внимание..если в настройках стоит 21 а там 11 данные тож если и пойдут но глючные(не помню что то такое было у меня)
резистор тож по запарке 4.7 ком воткнул...не мог понять расхождение с градусником было в 10 градусов аж)) пока недоперло хотел датчик выкидывать уже