Arduino Mega Server

Модератор: Alex

Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am
Благодарил (а): 4 раза
Поблагодарили: 43 раза

Re: Arduino Mega Server

Сообщение ser009 » Пн апр 03, 2017 6:11 pm

Не уловлю мысль. Предлогаешь возможные варианты развития проекта, а в ответ камни.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Пн апр 03, 2017 7:41 pm

Да, всё верно....примерно это я и пытался написать...тупой контроллер (МегаД) с красивым интерфейсом от АМС - будет пользоваться спросом, по крайней мере я именно такой и хотел себе сделать. Да, вы не ослышались...хотел сделать мегаД с интерфейсом от АМС...

Согласен что сам АМС - более сложная и самостоятельная система, но при этом под каждую задачу подстроить его - очень трудоёмко, и под силу не каждому. Тупой контроллер гораздо легче конфигурируется, и будет пользоваться спросом у новичков в связке с МД. При этом, с такой логикой, как самостоятельное устройство использовать его гораздо сложнее.
Всё правильно: на основе АМС можно сделать буквально тысячи специализированных решений. И условный «АМС — MegaD» это всего лишь одино из них.
Не уловлю мысль. Предлогаешь возможные варианты развития проекта, а в ответ камни.
Вы неправильно меня поняли — я приветствую любую активность когда люди что-то делают своей головой и своими руками. В том числе я приветствую и ваши усилия. АМС неисчерпаем как атом :) каждому хватит для самовыражения и ещё останется.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Пн апр 03, 2017 9:58 pm

Похоже вылечил я свою Дую и опять столкнулся с не понятной ситуацией - нет синхронизации времени по сети. Причем на всех версиях АМС от 014 до 016 на Меге и Дуе. Настройка сети правильная. На всех версиях для ЕСП проблем НЕТ !!!!! Причем проверял на всех провайдерах в стране. Простая замена IP адреса серверов времени не спасает ( даже от рабочей ЕСП).
Сейчас соединяю в один Мега-монстр Дую и Мегу по сериалу по образу RobotDyn. Мега и WeMos уже работают неделю в тандеме. Причем сериал идет в обе стороны! Дух захватывает от раскрывающихся возможностей!!
И главная проблема - понять как передавать числа с того же сенсора с ЕСП в Веб Меги. Общие принципы я понимаю , а вот реализация на уровне кода - катастрофа....
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вт апр 04, 2017 6:50 am

Дух захватывает от раскрывающихся возможностей!!
Во-во — у меня такое же чувство. Два контроллера это нечто, а возможности не складываются а возрастают в геометрической прогрессии. И что это никто не догадался о таком их использовании?
И главная проблема - понять как передавать числа с того же сенсора с ЕСП в Веб Меги. Общие принципы я понимаю , а вот реализация на уровне кода — катастрофа....
Да вы чего?

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

========================== 1
byte value=42;

?value=42

========================== 2
byte value;

if (command == “value”) {
  value = parameter.toInt()
}
и всё
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Вт апр 04, 2017 9:40 am

Спасибо, буду попробовать ). Соединил Дую и WeMos - полная сказка, никаких конверторов уровней, просто три провода и вперед!
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вт апр 04, 2017 9:51 am

Спасибо, буду попробовать ). Соединил Дую и WeMos - полная сказка, никаких конверторов уровней, просто три провода и вперед!
Это всё классно, но мне нравятся интегрированные решения типа RobotDyn, просто удобнее.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Вт апр 04, 2017 10:47 am

Удобнее, не обсуждается. Но беда даже не в 20 баксах за плату, а в том что Вы придумали протокол связи двух АМС по сериалу и не важно что мы связываем. Ваши же слова, что надо использовать Ардуину с её Аналоговыми портами для расширения ЕСП. Вот я и прикрутил Дую со своим сервером и теперь разбираюсь, как передавать те же мощности и все, что померил сенсор ( 7 параметров) на ЕСП.
Для передачи кучи цифр наверное надо сформировать пакет и сливать одним махом. Хотя в 32 бита все не влезет. Ну тогда по одному значению. У меня получается два расхода воды - мах 32 000 литров (или киловатт-часов) , две температуры ( целое число до 100 ), влажность, уровень батарейки ...
Выкладывали пример передачи и распарсивания такого пакета по I2C шине. Попробую аналогично по сериалу.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вт апр 04, 2017 10:56 am

Вы придумали протокол связи двух АМС по сериалу
Да нет же, это не протокол, а просто пример взаимодействия, который я набросал за 5 минут для примера. Хотя этот пример позволяет покрыть 80% простых потребностей для обмена. Ну и конечно улучшать и развивать его можно до бесконечности.
Хотя в 32 бита все не влезет.
32 взято с потолка, это значение можно просто увеличить (только осторожно)
Nusmax
Сообщения: 3
Зарегистрирован: Вт апр 04, 2017 10:52 am
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение Nusmax » Вт апр 04, 2017 11:01 am

Добрый день. Вливаюсь в вашу тусовку :D
3 дня просидел с сервером. Итог: работают датчики PIR и температуры, причем разнесены на 2 контроллера, связь по nrf24.
С nrf24 я помучился конечно. Выяснилось, что генерировался ID, который ломал структуру XML, видимо запрещенные символы.
Решил обрезав диапазон "MIN_ID_CHAR", "MAX_ID_CHAR" до значений 97, 122 соответственно. Это на вкладке "aid" контроллера (мало ли кому пригодится).

В общем я в восторге :lol: , останавливаться на достигнутом не собираюсь)
Для того чтобы ускорить свои изыскания, хочу задать глупый вопрос.
На какой вкладке основной программы сервера формируется итоговые xml для вывода в веб по GET запросу (dash и nrf24)?
Заранее извиняюсь если вопрос глупый.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Вт апр 04, 2017 11:34 am

И Вас приветствуем. Глупых вопросов не бывает, если что то не понятно. По моему глубокому убеждению XML таблица формируется в функции
СпойлерПоказать

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

// Dash

void responseDash(EthernetClient cl) {
  String s = tagXmlVersion();
  s += openInputs();
    s += makeModules();
    s += makeTag("uptime",   "", uptimeString());
    s += makeTag("freeRAM",  "", String(freeMem()));
    s += makeCpuLoad();
    s += makeTag("lifer",    "", String(lifer));
    s += makeTime();
    s += makeTag("day",      "", String(day()));
    s += makeTag("month",    "", String(month()));
    s += makeTag("weekday",  "", String(weekday())); 
во вкладке ServerAjax. Причем если хотите добавить в вывод Даш панели свои дополнительные данные, их надо продублировать. Например с SD картой есть вывод на страницу её емкости. Чтобы это отобразить на начальной странице , надо добавить к выше приведенному коду строчку

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

  s += makeTag("sdSize",   "", String(sdVolumeSize()));
Ну и обязательно перелопатить Scripts.js . Очень подробно про этот механизм расписано ТУТ

Чтобы цифры с сенсора вывести в даш-панель добавьте
СпойлерПоказать

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

       #ifdef NRF24_FEATURE
    s += makeTag("c1","Temp1", String(nrf1Temp1));
  #endif     
внутрь void responseDash(EthernetClient cl).

А что значит разнесены на 2 контроллера??
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить