Webserver (Arduino+W5100). Примеры интеграции с MajorDoMo.

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

PAV
Сообщения: 970
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Сообщение PAV »

я пошел таким же путем, но МЖД у меня все само делает Ардуино и отправляет на МЖД, а МЖД все отображает и с его помощью можно отправлять команды ардуино. От скетча вебсервера я отказался ввиду избыточности, пишу свой - маленький.
electric
Сообщения: 309
Зарегистрирован: Вт сен 17, 2013 10:11 pm

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Сообщение electric »

PAV писал(а):я пошел таким же путем, но МЖД у меня все само делает Ардуино и отправляет на МЖД, а МЖД все отображает и с его помощью можно отправлять команды ардуино. От скетча вебсервера я отказался ввиду избыточности, пишу свой - маленький.
А можно подробнее?))
Не до конца понял смысл отдельных фраз...
Было: Majordomo v.0.6.0.b на Cubietruck. OS Armbian с переносом на HDD
Стало: ioBroker на Cubietruck OS Armbian + ZigBee Xiaomi + OWFS + BLE.
PAV
Сообщения: 970
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Сообщение PAV »

Смотрите:
Есть Мега, на ней езернет шилд, она собирает инфу с датчиков, других ардуин, отправляет всю инфу на МЖД, распределяет и выполняет команды от МЖД.
Стараюсь, чтобы МЖД по минимуму участвовал в процессе управления, он больше отображает полученную информацию. Т.е. весь алгоритм работы забит в ардуино (опрос датчиков, управление светом и т.д.) Получается, что ардуино, например, получил сигнал от датчика движения, согласно программе включил свет на определенную яркость. В МЖД ушел только отчет о проделанной работе. Именно ушел, а не МЖД забрал с вебсервера шилда. У меня все данные отправляет ардуина по своему алгоритму. Например датчик движения может срабатывать 10 раз, пока ходите по коридору, при этом программа обрабатывает инфу, держит свет включенным, но на МЖД информация уйдет только если поменяется статус (кто-то есть/никого нет). Повторюсь, вся автоматизация на стороне ардуино.
С МЖД можно управлять вручную - включить свет, запросить дополнительные обновления, перезагрузить серверы и т.д. Также с МЖД для ардуино уходят настройки для внутренних программ ардуино. При этом, если МЖД отключить - вы только потеряете визуальное и звуковое отображение проистекающих процессов. Все продолжит работать в штатном режиме(почти).
Сумбурно несколько, но надеюсь понятно.
Секретов не делаю. Спрашивайте, в том числе и по коду, сейчас его как раз тестирую, скоро уже всю систему переносить с макетки в реальную жизнь - интегрировать в дом.

Да, еще по поводу вебсервера. Я читал ветку по популярному здесь скетчу вебсервера, но разобравшись решил, что это не мое. Не нужен мне такой навороченный вебсервер. Мне универсальности не надо, я пишу скетч под себя. У меня в коде конкретно за каждым пином закреплен девайс, которым он управляет.
janlam
Сообщения: 24
Зарегистрирован: Вт сен 30, 2014 3:36 am

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Сообщение janlam »

Доброго времени суток,

Загрузил скетч.B web При открытие датчиков большими буквами пишет EPIC FAIL . Свой датчик прописал. Датчик точно рабочии так как с другим скетчем работает.
electric
Сообщения: 309
Зарегистрирован: Вт сен 17, 2013 10:11 pm

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Сообщение electric »

janlam писал(а):Доброго времени суток,

Загрузил скетч.B web При открытие датчиков большими буквами пишет EPIC FAIL . Свой датчик прописал. Датчик точно рабочии так как с другим скетчем работает.
Какой скетч грузил (скопируй сюда в спойлер), какой запрос в браузере делаешь? Платформа, шилды, версия IDE?
Было: Majordomo v.0.6.0.b на Cubietruck. OS Armbian с переносом на HDD
Стало: ioBroker на Cubietruck OS Armbian + ZigBee Xiaomi + OWFS + BLE.
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Сообщение Amarok »

PAV писал(а):Да, еще по поводу вебсервера. Я читал ветку по популярному здесь скетчу вебсервера, но разобравшись решил, что это не мое. Не нужен мне такой навороченный вебсервер. Мне универсальности не надо, я пишу скетч под себя. У меня в коде конкретно за каждым пином закреплен девайс, которым он управляет.
А можно посмотреть скетч? Сюда, под спойлер, пожалуйста.
Моя Алиска живёт на Proxmox в Debian 12
janlam
Сообщения: 24
Зарегистрирован: Вт сен 30, 2014 3:36 am

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Сообщение janlam »

Скетч из шапки. Но разобрался. ввёл ИП сервака /сенсорс. Показал данные температуры. Вывел в МДМ. Теперь наконец то ки понял принцип работы. Начинаю действовать по умному дому в своей новой квартире. В начале года начинаетса капитальный ремонт. Буду всю проводку новую тянуть, с учётом под умный дом. В электронике и программирование опыт достаточно большой. В наличие 5-ти комнатная квартира, распберры би+, 3 меги 2560, 3 интернет шилда, 5 плат управление моторами Л298Н. Все датчики температуры, давления, влажности. Сенсорный экран на 10 дюймов монтируемый в стену в коридоре. Отдельными блоками скетчи уже написаны под датчики, выключятели. Задача у меня такова:
1. Моиторинг состояния освещения во всей квартире через Веб и тачскрин. Так же возможость управления.
(В каждом помещении 3 источника света. Центральная лампа, по кругу встроенные лед лампы, лед лента в нище потолка). В коридоре лед лента встроенная в половой плинтус.
2. Мониторинг температуры в каждом помещении. И автоматическая регулеровка серво моторов радиаторов в каждой комнате.
3. Управление тёплым полом в сан. узле, кухне и коридоре.
4. Закрытие/открытие жалюзи на окнах с помощью датчика освещения или по сценарию.
5. Программирование сенсорных кнопок включения света в каждом помещении.
Ну и по мелочям всякие промочки для удобства.
Всё это на МДМ. Так что думаю вопросов у меня в первое время будет предостаточно. Надеюсь на вашу помощь и терпение. Прилажу все силы реализовать данный проект. Результат должен быть впечетляющим для меня.
electric
Сообщения: 309
Зарегистрирован: Вт сен 17, 2013 10:11 pm

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Сообщение electric »

janlam писал(а):Скетч из шапки. Но разобрался. ввёл ИП сервака /сенсорс. Показал данные температуры. Вывел в МДМ. Теперь наконец то ки понял принцип работы.
Я так и думал)))
Скорее всего запрос вы давали не /sensors, а какой то другой...
Было: Majordomo v.0.6.0.b на Cubietruck. OS Armbian с переносом на HDD
Стало: ioBroker на Cubietruck OS Armbian + ZigBee Xiaomi + OWFS + BLE.
toyotik
Сообщения: 16
Зарегистрирован: Вт авг 26, 2014 6:29 am

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Сообщение toyotik »

Про настройку управление реле ни слова((( ищем дальше...
mirsum
Сообщения: 65
Зарегистрирован: Вс янв 12, 2014 12:54 pm
Откуда: Белгород

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Сообщение mirsum »

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

Код: Выделить всё

$read = file_get_contents('http://192.168.8.5/sensors');
if ($read)
{
   parse_str($read);
}

if ($T1<>"" and $T1<>0 and $T1<>127 and $T1<>-127)
{
$T1 = round($T1,1);
callMethod('sensorT1.tempChanged',array('t'=>$T1));
}
if ($T2<>"" and $T2<>0 and $T2<>127 and $T2<>-127)
{
$T2 = round($T2,1);
callMethod('sensorT2.tempChanged',array('t'=>$T2));
}
if ($T3<>"" and $T3<>0 and $T3<>127 and $T3<>-127)
{
$T3 = round($T3,1);
callMethod('sensorT3.tempChanged',array('t'=>$T3));
в свойствах sensorT1.temp вот что есть:
  • 2014-12-03 21:12:01: 23.5
    2014-12-03 20:56:01: 23
    2014-12-03 20:39:00: 22.5
    2014-12-03 20:13:00: 22
    2014-12-03 14:54:01: 21.5
    2014-12-03 14:53:01: 22
    2014-12-03 14:47:01: 21.5
    2014-12-03 14:46:01: 22
    2014-12-03 14:33:01: 21.5
    2014-12-03 14:32:00: 22
    2014-12-03 14:26:01: 21.5
    2014-12-03 14:25:01: 22
    2014-12-03 14:24:01: 21.5
    2014-12-03 14:23:01: 22
    2014-12-03 14:21:01: 21.5
    2014-12-03 14:17:01: 22
    2014-12-03 14:16:01: 21.5
    2014-12-03 14:14:00: 22
    2014-12-03 14:12:01: 21.5
    2014-12-03 14:10:01: 22
    2014-12-03 14:09:01: 21.5
    2014-12-02 23:52:01: 22
    2014-12-02 23:51:01: 22.5
    2014-12-02 23:50:01: 22
    2014-12-02 22:59:01: 22.5
    2014-12-02 22:43:01: 22
    2014-12-02 10:53:01: 21.5
    2014-12-02 10:52:01: 21
    2014-12-02 10:49:01: 21.5
    2014-12-02 10:47:01: 21
    2014-12-02 10:43:00: 21.5
    2014-12-02 09:14:01: 21
    2014-12-02 08:18:01: 20.5
    2014-12-02 08:17:01: 21
    2014-12-02 08:16:01: 20.5
    2014-12-02 03:42:00: 21
    2014-12-02 03:41:01: 21.5
    2014-12-02 03:37:01: 21
    2014-12-02 03:35:00: 21.5
    2014-12-02 03:34:01: 21
    2014-12-02 01:19:00: 21.5
    2014-12-02 00:37:01: 22
    2014-12-02 00:09:01: 22.5
    2014-12-01 23:48:01: 23
    2014-12-01 23:44:01: 23.5
    2014-11-30 11:48:10: 24

получается контроллер у меня один,
данные с него также собираю через веб переменные,
3 разных метода и не один не работает стабильно. (на графике пример) пробовал менять интервалы проверки, чтобы по времени сдвинуть, тоже не помогло.
Вложения
график.png
график.png (55.3 КБ) 15546 просмотров
Ответить