Arduino Mega Server

Модератор: Alex

Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

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

Существует бесконечное количество компонентов, периферии и бесконечное количество логических комбинаций для их взаимодействия. Всё это можно обслужить в коде скетча или в скриптовом интерпретируемом языке программирования микроконтроллера.

Но тут-то? D1 — вход, D5 — выход. И что? А мне надо чтобы то, что приходит на D1 учитывало состояние D7, D8, А5 и день недели, время и состояние датчика температуры nooLite. Где будет реализована вся эта логика и чем тут поможет конфигурация пинов с веб-страницы?
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am

Re: Arduino Mega Server

Сообщение ser009 »

На данный момент для того чтобы изменить 1 пин нужно ардуину перепахать вдоль и поперек да ещё и кучу кода веб морде.
А так скопировал универсальный пин. зашел на веб морду и настроил его.
Универсальность жутко экономит время.
И ещё не хочу перепахивать код допустим для того чтобы писать/не писать лог или хранить данные в EEPROM по какому-то пину. Поставил галочку на веб морде и готово
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

Наверное это и называется Программируемый Логический Контроллер. Что реализовал Olehs в МегаКонтроллере и делает Uni в ПЛК. Помимо привязки пинов есть еще и логика работы . Даже чтобы дополнительно передать одну цифру с сенсора на АМС надо добавить код в 12 вкладок.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

И ещё не хочу перепахивать код допустим для того чтобы писать/не писать лог или хранить данные в EEPROM по какому-то пину. Поставил галочку на веб морде и готово
С этим вопросов нет, тут всё понятно и логично и уже есть в АМС, например галочка входа по паролю.
На данный момент для того чтобы изменить 1 пин нужно ардуину перепахать вдоль и поперек да ещё и кучу кода веб морде.
А так скопировал универсальный пин. зашел на веб морду и настроил его.
А вот это непонятно. Что значит «настроил»? У этого пина может быть бесконечное количество вариантов логического взаимодействия внутри системы. И «сущностью» здесь является не состояние пина «вход/выход», а его логическое участие в работе системы. И все варианты этого взаимодействия невозможно формализовать в веб-интерфейсе.

Или речь идёт (тупо) об 1-2 заранее определённых ролях этого пина?

Наверное это и называется Программируемый Логический Контроллер. Что реализовал Olehs в МегаКонтроллере и делает Uni в ПЛК. Помимо привязки пинов есть еще и логика работы . Даже чтобы дополнительно передать одну цифру с сенсора на АМС надо добавить код в 12 вкладок.
С ПЛК как раз всё понятно и логично, непонятно с конфигурацией пинов с веб-страницы.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Arduino Mega Server

Сообщение nick7zmail »

Alex писал(а):А вот это непонятно. Что значит «настроил»? У этого пина может быть бесконечное количество вариантов логического взаимодействия внутри системы. И «сущностью» здесь является не состояние пина «вход/выход», а его логическое участие в работе системы. И все варианты этого взаимодействия невозможно формализовать в веб-интерфейсе.

Или речь идёт (тупо) об 1-2 заранее определённых ролях этого пина?
Основных роли 2. Вход и выход...ну и NC (не настроенное состояние)...это что касается ПИР-ов, датчиков дверей и тп...все что на вход работает на размыкание/замыкание. С выходом - тоже все понятно...Выставил +, включилась релюшка, серво, или ещё что нить...

С библиотеками, как я и писал, всё гораздо сложнее...их по идее впихивать надо модулями....
Т.е. 1 модуль - это написанный скетч к ардуине - 1 файл, необходимые для него библиотеки - 1 папка, и небольшая инструкция, по которой надо вписать к примеру DEFINE <что-то> и IF DEFINE в setup и loop функции...
И если это вписано, ардуина при старте подхватывает библиотеку, и встраивает в ту же выпадающую менюшку для IN/OUT - дополнительные опции, к примеру DHT, или те же далласы. Лично я это так вижу...в конечном итоге бы конфигуратор забабахать как для wifi-iot (чтобы с этими DEFINE-ами самому не копаться), но для этого нужен как минимум веб ресурс, и много времени работы с генерацией готового скетча...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

Основных роли 2. Вход и выход...ну и NC (не настроенное состояние)...это что касается ПИР-ов, датчиков дверей и тп...все что на вход работает на размыкание/замыкание. С выходом - тоже все понятно...Выставил +, включилась релюшка, серво, или ещё что нить...
Видимо я никак не могу ухватить очевидные для всех моменты.

- Мы сконфигурировали на вход
- Выбрали ПИР из выпадающего списка (так?)

А логика, которая стоит за этим пиром где? Где основной логический код, который только и является сущностью и ценностью системы управления (ведь он логически завязан на множество логических сущностей внутри системы).

Я не могу понять, что нам даёт (тупое) подключение ПИРа например на D5? Дальше то что? ПИР висящий на D5 кому нужен сам по себе?
Аватара пользователя
ser009
Сообщения: 595
Зарегистрирован: Сб окт 13, 2012 9:55 am

Re: Arduino Mega Server

Сообщение ser009 »

Ты пишешь конкретные проекты. Там все ясно. Есть ТЗ. Тут выход тут вход и точка. Все что не описано в ТЗ или не заложено - лишнее.
У некоторых нет ТЗ и сегодня вот это хочу "попробовать". Завтра вот то пощупать. Именно поэтому людям интересны вопросы гибкости системы.
Плюс при наладке системы очень удобно
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Arduino Mega Server

Сообщение nick7zmail »

Alex писал(а): - Мы сконфигурировали на вход
- Выбрали ПИР из выпадающего списка (так?)

А логика, которая стоит за этим пиром где? Где основной логический код, который только и является сущностью и ценностью системы управления (ведь он логически завязан на множество логических сущностей внутри системы).

Я не могу понять, что нам даёт (тупое) подключение ПИРа например на D5? Дальше то что? ПИР висящий на D5 кому нужен сам по себе?
Логика то понятное дело в скетче забита...просто она должна быть универсальной...
Проще наверное на примере объяснить...
Скачали дистрибутив (с поддержкой MQTT к примеру...MQTT - отдельный архив, и отдельная страничка скетча), залили дистрибутив в нашу мегу....зашли в вебинтерфейс, выбрали тот же D5 - вход, обозвали его PIR, воткнули, к примеру галочку реагировать немедленно (хотя для ПИР-а это по идее по умолчанию должно идти).

Логика работы в скетче...прописано если D5-вход, возвращаем в вэб интерфейс его статус, в модуле MQTT если D5=вход, и галочка реагировать немедленно - отправляем его статус по MQTT...всё по идее, вот и вся логика...берем статусы, отправляем...это входы...выходы - опять же логика - если D6=выход, подписан, к примеру на топик MQTT /ардуинаХ/inputs/D5 (например...адрес подписки можно опять же где нить в настройки зарыть) если D5 переключился, переключаем D6...

Да, с такой логикой сильно утяжеляются модули...нужно учитывать, что любой порт могут подключить для их использования...либо самим ограничить набор этих портов (к примеру модуль DHT - порты с 22 по 30)...и только там добавляется пункт для подключения DHT.

Как то так что ли...понятное дело, что нужен внешний сервер для контроля этого дела, и сбора данных...и сложная логика переключений со всеми условиями (время, дата, наличие напряжений на входах), должна быть прописана на стороне сервера...либо сделать отдельную страничку с логикой...там конечно будет все предопределено...но если брать таки ардуину, её редко используют как самостоятельный сервер...скорее как исполнительно-информационный контроллер...и для этого применения - гибкая настройка портов - то что надо.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

Не очень понял, но походу подход «настраиваем пин и отправляем данные MQTT серверу (а там он с ними разберётся и направит дальше куда надо, а уж там логика высшего уровня разрулит, что к чему)» хорош для «тупых» контроллеров типа MegaD, а АМС сам является конечной точкой принятия сложных логических решений с десятками входных данных и управляющих векторов и «отправлять» данные с пинов «более умным старшим братьям» ему не нужно (хотя он и может это делать в распределённых системах).
geor
Сообщения: 83
Зарегистрирован: Сб май 17, 2014 2:52 am
Откуда: Новосибирск

Re: Arduino Mega Server

Сообщение geor »

nick7zmail писал(а):
Alex писал(а): - Мы сконфигурировали на вход
- Выбрали ПИР из выпадающего списка (так?)


Как то так что ли...понятное дело, что нужен внешний сервер для контроля этого дела, и сбора данных...и сложная логика переключений со всеми условиями (время, дата, наличие напряжений на входах), должна быть прописана на стороне сервера...либо сделать отдельную страничку с логикой...там конечно будет все предопределено...но если брать таки ардуину, её редко используют как самостоятельный сервер...скорее как исполнительно-информационный контроллер...и для этого применения - гибкая настройка портов - то что надо.
Если я правильно понял, то получится онлайн конструктор для сборки прошивки!!!!!!!!!!!!!!!!
Ответить