Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
ScoobyDoo
Сообщения: 5
Зарегистрирован: 23 июл 2014, 12:15

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение ScoobyDoo » 29 ноя 2018, 14:11

Вопрос по MegaD-328: необходимо сделать так, чтобы контроллер не отправлял запрос на сервер при изменении состояния одного из 7 портов. Но остальные 6 должны работать штатно. Такое возможно?

Andrey_B
Администратор
Сообщения: 4061
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 29 ноя 2018, 15:55

Можно убрать из настроек адрес сервера, а для портов, для которых нужно отправлять запросы на сервер, прописать URL в поле Net. Если хватит размера поля.
Но на мой взгляд все это лишнее. Сервер с легкостью может игнорировать неинтересные ему запросы.

ScoobyDoo
Сообщения: 5
Зарегистрирован: 23 июл 2014, 12:15

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение ScoobyDoo » 29 ноя 2018, 16:38

Андрей, спасибо за идею. Сервер справляется, но у меня к порту подключен датчик с импульсным выходом и при его работе сильно наполняется журнал логов, что затрудняет работу с ним. Не критично конечно, но было бы удобней отключить отправку с контроллера. Попробую использовать ваш вариант.

smorigo
Сообщения: 40
Зарегистрирован: 28 май 2014, 23:30

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение smorigo » 30 ноя 2018, 19:50

Andrey_B, увеличьте ,пожалуйста, размер поля PHONE на одну позицию - не хватает для белорусов +375 xx xxx-xx-xx

alex946
Сообщения: 159
Зарегистрирован: 05 дек 2015, 22:48
Контактная информация:

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение alex946 » 30 ноя 2018, 22:34

ScoobyDoo писал(а):
29 ноя 2018, 16:38
Андрей, спасибо за идею. Сервер справляется, но у меня к порту подключен датчик с импульсным выходом и при его работе сильно наполняется журнал логов, что затрудняет работу с ним. Не критично конечно, но было бы удобней отключить отправку с контроллера. Попробую использовать ваш вариант.
Возможно, будет эффективнее отключить логирование для определённого URL на самом сервере.

dimaxus
Сообщения: 57
Зарегистрирован: 12 окт 2012, 21:31

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение dimaxus » 01 дек 2018, 11:56

Доброго дня всем. Пытаюсь самостоятельно собрать новый контроллер , есть вопрос Андрею :
1. Кнопка reset вешается на порт reset без всякого согласования напрямую, или нужны какие-то согласующие компоненты, если да то какие?
2. Пытаюсь прикрутить системный монитор , а кнопку включения-выключения нужно вешать на реальный порт-жаль порта, Андрей нет у вас планов подключить такую кнопку на внутренний служебный порт XP4, если да ,то когда можно ждать реализации?

Andrey_B
Администратор
Сообщения: 4061
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 02 дек 2018, 13:06

smorigo писал(а):
30 ноя 2018, 19:50
Andrey_B, увеличьте ,пожалуйста, размер поля PHONE на одну позицию - не хватает для белорусов +375 xx xxx-xx-xx
Да, с белорусами как-то нехорошо получилось.
Очистка EEPROM обязательна!
https://ab-log.ru/files/File/megad-2561 ... a1-hex.zip

Andrey_B
Администратор
Сообщения: 4061
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 02 дек 2018, 13:11

dimaxus писал(а):
01 дек 2018, 11:56
Пытаюсь самостоятельно собрать новый контроллер , есть вопрос Андрею :
1. Кнопка reset вешается на порт reset без всякого согласования напрямую, или нужны какие-то согласующие компоненты, если да то какие?
В даташите утверждается, что подтягивающий резистор находится внутри микроконтроллера. Теоретически ничего не нужно.
Но в модуле MegaD-2561 пин Reset все-таки соединен с +3.3В через резистор 10кОм.
dimaxus писал(а):
01 дек 2018, 11:56
2. Пытаюсь прикрутить системный монитор , а кнопку включения-выключения нужно вешать на реальный порт-жаль порта, Андрей нет у вас планов подключить такую кнопку на внутренний служебный порт XP4, если да ,то когда можно ждать реализации?
Пока такая кнопка не планируется. И хотя наработки по системному монитору есть, существуют даже готовые экземпляры, наличие такого дисплея увеличивает как стоимость компонентов, так и стоимость работ, а реальной необходимости в таком мониторе в большинстве случаев нет.

dimaxus
Сообщения: 57
Зарегистрирован: 12 окт 2012, 21:31

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение dimaxus » 02 дек 2018, 16:10

Понял, спасибо за ответ, жаль рабочего порта , но что поделать:(

Alex_Jet
Сообщения: 882
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Alex_Jet » 03 дек 2018, 15:02

Андрей, на форуме ih поднялся вопрос обработки значений с датчиков, подключенных к шине 1-wire. Вопрос в частности в том, зачем нужен статус busy? Можно ли от него избавиться, чтобы со стороны сервера не делать новый опрос если контроллер ответил busy?

Andrey_B
Администратор
Сообщения: 4061
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 03 дек 2018, 15:57

Датчик DS18B20 отдает актуальную температуру не сразу. Ему требуется время. В 12-битном разрешении подготовка значения температуры занимает 850 мс. Почти секунда.
Прошивка контроллера устроена таким образом, чтобы избегать подобных задержек.
В режиме 1WBUS команда на конвертацию отправляется каждые 30 секунд.
Если сервер со своим запросом попал в этот промежуток времени (между командой на конвертацию и 850 мс), контроллер вернет "busy". Это значит, что у датчиков еще нет актуальной температуры. Они ее считают.
Контроллер не станет ждать датчики. У него могут быть другие важные задачи. Сервер же, получив такой статус, должен подождать как минимум секунду и сделать запрос заново.
Можно делать иначе.
Сервер может отправлять команды "cmd=conv" (конвертация) + 1 секунда + "cmd=list" дуплетом. Тогда а) температура всегда будет актуальная на текущий момент времени, б) никогда не будет "busy".
И это все обсуждалось не раз. Да и здесь описано.

Erik
Сообщения: 284
Зарегистрирован: 08 ноя 2017, 08:55

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Erik » 03 дек 2018, 16:01

А может контролер отправить "не актуальную" (предыдущую) температуру, если запрос попал в эти 850 мс?

Andrey_B
Администратор
Сообщения: 4061
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 03 дек 2018, 16:13

Для режима 1W так и делается. Потому что есть функция термостата и Program.
Для режима 1WBUS так контроллер делать не будет, потому что для этого потребуется хранить в памяти адреса и значения. Портов 38 и к каждому теоретически можно подключить пару десятков датчиков.
Кроме того, контроллер в этом режиме должен сам периодически опрашивать шину, считывать значение каждого датчика на шине, тратить на это время. А это нецелесообразно, так как ему эти значения не нужны, а сервер опрашивает порт с той периодичностью, с которой считает нужным. Раз в 2-5 минут, например, для большинства задач более, чем достаточно.

Erik
Сообщения: 284
Зарегистрирован: 08 ноя 2017, 08:55

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Erik » 03 дек 2018, 17:15

Да, пока не начинают безудержно писать скрипты, обращающиеся к одним и тем же датчикам. Не вводя переменной, которая хранит и монопольно обновляется.
И контроллер получает задачу умереть на одновременных запросах шины.

Я правильно понял, что в случае с шиной сервер каждый раз обращается к датчикам напрямую.
Но при этом существуют еще и опросы шины со стороны самого контроллера.
А нельзя ли эти запросы (самого контроллера) сделать отключаемыми?
Если всю логику отдали серверу, и контроллер этими запросами только создает никому не нужное "занято"?

Andrey_B
Администратор
Сообщения: 4061
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 03 дек 2018, 17:39

В случае 1WBUS контроллер каждые 30 секунд отправляет общую команду на конвертацию для всех датчиков. Не для каждого индивидуально. Это не отнимает много времени.
Что касается отключения запросов самого контроллера. В принципе есть "хак". Можно установить тип порта "OUT/DS2413". Для этой конфигурации доступна команда "cmd=list", но автоматически команды на конвертацию средствами контроллера не отправляются.

zidky
Сообщения: 91
Зарегистрирован: 19 авг 2018, 03:42

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение zidky » 03 дек 2018, 22:13

А по какой причине термостат порта 1Wire может не отработать? Все порты на одной меге отработали, а один 10 порт упустил температуру ниже заданного и не выполнил команду нагрева. Пока было 2 раза за неделю. Это может быть из-за перезагрузки меги в момент термостатирования или если датчик уходил в обрыв, например? fw: 4.29b3
Пересохранение порта сразу включает нагрев как и нужно.
Вложения
TeamViewer_2018-12-03_20-12-47.png
TeamViewer_2018-12-03_20-12-47.png (28.68 КБ) 589 просмотров

Andrey_B
Администратор
Сообщения: 4061
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 04 дек 2018, 11:28

А портом P20 никто кроме термостата не управляет? Другой порт, сервер?
Перезагрузка - вряд ли (пересохранение - та же перезагрузка).
Обрыв линии - теоретически возможно. Это нужно как-то воспроизвести.

rial2001
Сообщения: 9
Зарегистрирован: 17 ноя 2011, 19:08

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение rial2001 » 04 дек 2018, 17:25

Andrey_B писал(а):
03 ноя 2018, 14:59
Немного расширил функцию приложения под Windows для еще большего удобства.
Теперь если его просто открыть, не указывая никаких параметров, то запустится что-то вроде визарда.


megad-cfg-2561-wiz.png


Программа автоматически просканирует сеть на предмет доступных устройств и предложит указать IP-адрес контроллера, который нужно перепрошить.
Если нажать Enter, то будет прошит первый из списка. Пароль по умолчанию "sec".

В текущий момент программа тестовая, так как у нее есть некоторые проблемы, которые требуют решения.
http://ab-log.ru/files/File/megad-cfg/m ... 61-wiz.zip
Добрый день!
При запуске в win10 (пробовал просто запуск и от имени админ.) после scan не показывает список найденных, предлагает указать IP/ Ввожу IP - далее пишет connect
и всё....
может где то не так делаю, подскажите...

Andrey_B
Администратор
Сообщения: 4061
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 04 дек 2018, 17:38

В данном случае это означает, что в ОС несколько сетевых интерфейсов, и пакеты уходят не в тот.
В этом случае визард работать не будет. Нужно указать все ключи вручную и дополнительно указать локальный IP-адрес нужного интерфейса через опцию --local-ip

rial2001
Сообщения: 9
Зарегистрирован: 17 ноя 2011, 19:08

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение rial2001 » 04 дек 2018, 17:48

Andrey_B писал(а):
04 дек 2018, 17:38
В данном случае это означает, что в ОС несколько сетевых интерфейсов, и пакеты уходят не в тот.
В этом случае визард работать не будет. Нужно указать все ключи вручную и дополнительно указать локальный IP-адрес нужного интерфейса через опцию --local-ip
Спасибо! отключил виртуалку - всё по картинке. ТОлько зависла на последней "writing confoguration..." вот сижу жду...
Последний раз редактировалось rial2001 04 дек 2018, 17:49, всего редактировалось 1 раз.

Ответить