Страница 132 из 228

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

Добавлено: 02 мар 2019, 11:51
winniepooh
Andrey_B писал(а):
02 мар 2019, 10:25
Если в процессе работы предположим GSM-модуль по какой-то причине перезапускался, то SMS уже не уйдут. Но это лишь предположение.
Наверное в этом и причина.
А проблематично делать настройку модема перед каждой отправкой смс или звонком? Понятно, что проблема в модеме, но для отказоустойчивости думаю бы это не помешало. А то получается контроллер работает долго, а GSM модуль за это время завис и перезапустился, и я уже в ответственный момент не получу оповещение, которое, как правило должно быть важным.
Andrey_B писал(а):
02 мар 2019, 10:25
Пока нет, но это нетрудно сделать.
Было бы полезно, раз появилась такая возможность в контроллере.

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

Добавлено: 02 мар 2019, 11:59
winniepooh
Что интересно у меня тоже была проблема с перезагрузкой контроллера, он мог перегружаться несколько раз в день, а мог спокойно проработать пару дней, но потом опять перегружался. Искал причину очень долго, но так ее и не нашел. Возможно была проблема с dht22 (он стоял у меня), возможно с БП (был нормальный, но давал много помех с которыми не работали датчики 1W).
В итоге много что поменял (в том числе и сетевую часть - отдельный VLAN и другой коммутатор), убрал все dht22, и все нормализовалось, контроллер самостоятельно не перегружается.

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

Добавлено: 02 мар 2019, 12:05
Andrey_B
Alex_Jet писал(а):
02 мар 2019, 07:11
Сегодня при перезагрузке контроллера котельной (п.3). Включились все 14 выходов!!!
Я проверил работу функции бэкапа состояния выходов и нашел ошибку при которой в некоторых случаях (не слишком частых, но вероятных в вашей ситуации) функция могла работать некорректно.
Кое-что исправил. Теперь в этом плане должно быть все хорошо. Кстати, это никак не связано с 4.32b3. Эта ошибка могла проявиться и ранее.

https://ab-log.ru/files/File/megad-2561 ... a6-hex.zip

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

Добавлено: 02 мар 2019, 12:15
Andrey_B
winniepooh писал(а):
02 мар 2019, 11:51
А проблематично делать настройку модема перед каждой отправкой смс или звонком?
Конечно, не проблематично. С одной стороны, так как GSM-модуль является довольно независимым внешним устройством, в плане надежности делать настройку каждый раз было бы лучше. С другой стороны, как-то это неправильно - лечить симптом, а не причину. Инициализация модема - относительно медленная процедура и занимает порядка 0,3 с. С точки зрения контроллера - это очень много. Не хотелось бы этим заниматься перед отправкой каждого SMS.
winniepooh писал(а):
02 мар 2019, 11:51
Andrey_B писал(а):
02 мар 2019, 10:25
Пока нет, но это нетрудно сделать.
Было бы полезно, раз появилась такая возможность в контроллере.
Есть одна идея. Хочу проверить. Получится, напишу.

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

Добавлено: 02 мар 2019, 15:10
Andrey_B
Andrey_B писал(а):
02 мар 2019, 12:15
Есть одна идея. Хочу проверить. Получится, напишу.
Проверил. Получилось.
В модеме SIM800L есть своя собственная память.
С помощью измененной прошивки и нехитрого скрипта загрузил в память модема по сети Ethernet аудио-файл в формате AMR (Adaptive Multi-Rate Codec). Кодек позволяет сильно сжимать речевые файлы.
Теперь контроллер может не только звонить, но и проигрывать звуковой файл, сохраненный в памяти модема. Причем файл можно загрузить свой.
Более того, чисто теоретически файлов может быть несколько на разные события.

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

Добавлено: 02 мар 2019, 19:42
Alex_Jet
Andrey_B писал(а):
02 мар 2019, 12:05
Alex_Jet писал(а):
02 мар 2019, 07:11
Сегодня при перезагрузке контроллера котельной (п.3). Включились все 14 выходов!!!
Я проверил работу функции бэкапа состояния выходов и нашел ошибку при которой в некоторых случаях (не слишком частых, но вероятных в вашей ситуации) функция могла работать некорректно.
Кое-что исправил. Теперь в этом плане должно быть все хорошо. Кстати, это никак не связано с 4.32b3. Эта ошибка могла проявиться и ранее.

https://ab-log.ru/files/File/megad-2561 ... a6-hex.zip
Я не обновлял контроллеры с 4.31b6. С тех пор что-то серьезное менялось? Нужно понять на какую прошивку откатиться.
Снова перезагрузился контроллер из п.4.

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

Добавлено: 02 мар 2019, 20:58
Alex_Jet
Andrey_B писал(а):
02 мар 2019, 10:51
Если серьезно, то из описания не очень понятно, в какой момент времени это произошло. В момент перепрошивки? Все выходы включались в рамках одного контроллера? Очистка EEPROM скриптом производилась?
Как я понимаю, в котельной включение выходов после перезагрузки не было связано с перепрошивкой.

Включение выходов в момент старта контроллера может быть следствием работы функции бэкапа состояния портов (команда 'cmd=s'). Возможно, что-то такое или похожее прилетает по сети, что провоцирует срабатывание этой функции. Попробую изучить этот момент. Но что интересно, в 4.32b3 в этом отношении точно ничего не менялось.
У меня написан скрипт, который работает через Ваш скрипт. Вначале обнаруживает все контроллеры в сети, дальше сохраняет их конфигурации и потом вот такой командой запускает процесс прошивки контроллеров:

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

php megad-cfg-2561.php --ip 192.168.11.21 -p sec --fw megad-2561.hex --ee --write-conf MegaD-2561-21_2019_02_25.cfg
После отработки скрипта (последовательно перепрошиты все 6 контроллеров) обратил внимание, что все выходы всех контроллеров перешли в состояние ON. Пришлось вручную все выключать.
Про контроллер котельной - вы все правильно поняли - перезагрузился, в котельной что-то громко щелкнуло и привлекло мое внимание, пришло оповещение по Телеграм - пошел глянуть - все 14 выходов включены! Перезагрузился первый раз с 25.02.2018.
Команду cmd=s нигде и никогда не использовал, поскольку сервер сам восстанавливает состояние включенных портов.
Andrey_B писал(а):
02 мар 2019, 10:51
Еще было бы интересно, скажем, на время изолировать тестовый контроллер "на столе" от вашей сети. То есть, просто не подключать его к сети Ethernet. Если он перезагружаться не будет, значит нужно искать, что же особенное происходит в вашей сети, что провоцирует все это.
Специально посмотрел у себя (10 контроллеров разных версий). У большинства uptime более 149 дней с момента последнего отключения электроэнергии. Один совсем недавно обновил до 4.32b3. "Uptime: 1d 20:31". Пока все нормально. Буду наблюдать. Никаких VLAN'ов и других средств специальной изоляции автоматики нет.
По сути сейчас 2 тестовых MegaD. Кстати, один из них - версия от d.v.ermakov и с ней вообще никаких проблем замечано не было (на нем 4шт. 1W, 4 шины I2C с одним SCL, считыватель iB) - только сейчас об этом подумал...надо повесить на него еще DHT22 и шину 1WBus, посмотреть как себя будет вести.

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

Добавлено: 02 мар 2019, 22:35
Andrey_B
Я попытался устроить стресс-тест контроллеру. Запустил 6 параллельных скриптов без каких-либо задержек: (1) вывод данных на экран SSD1306; (2) Опрос датчика HTU21D; (3) Опрос шины 1WBUS; (4) Сканирование шины I2C; (5) Опрос DHT22; (6) широковещательные arping с минимальными задержками. Дополнительно еще подгрузил широковещательными пакетами.
Никак... не виснет, не перезагружается...

В микроконтроллере есть регистр MCUSR (MCU Status Register).
С помощью этого регистра можно понять, что явилось причиной перезагрузки.
По умолчанию устанавливается только бит PORF (Power-on Reset Flag). Значение MCUSR: 1
Alex_Jet, я вам на почту вышлю специальную версию прошивки, в которой есть debug вывод значения этого регистра. Загрузите его в контроллер, который чаще всего перезагружается. И после перезагрузки сообщите его значение.
Подозрения два. Либо будет установлен бит WDRF и это срабатывает Watchdog, либо BORF и это срабатывает Brown-out Detection - встроенная система контроля питания, перезапускающая контроллер из-за падения напряжения ниже определенного уровня.

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

Добавлено: 03 мар 2019, 02:25
d.v.ermakov
Не могу удержаться, вставлю свои 5 копеек про причины сбоев Мег.
Питание, питание, и ещё раз питание. И только на четвёртом месте перегрев из-за внешних факторов. Когда мы свои моноблоки испытывали в импровизированной термокамере, сначала перегревался сетевой контроллер, со слётом синхронизации и последующими спецэффектами. Это, кстати, одна из причин, почему поставили ENC в корпусе QFN.
Но, блин, многие другие промышленные контроллеры начнут сбоить гораздо раньше. Мега сделана проще и надёжнее. Хотя, конечно, может быть какая-нибудь преждевременно умершая ячейка памяти микроконтроллера, наконец.

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

Добавлено: 03 мар 2019, 08:04
Alex_Jet
Andrey_B, про PORF помню. Правда там есть какие-то нюансы. Я когда пытался в своей разработке с помощью него отловить причину перезагрузки, то у меня по сути ничего не вышло.
По питанию - не на что грешить. 6 контроллеров питаются от 4-х БП MeanWell (собственно, их покупал у Андрея), которые включены в SURT1000XLI.
Кстати, по БП 15Вт 12В MeanWell - один из них пришлось заменить на резервный, поскольку в какой-то момент замерил напряжение на нем, а он отдавал что-то в районе 9В и регулировка ни к чему не приводила. В общем надо поразбираться что с ним случилось.

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

Добавлено: 03 мар 2019, 08:47
d.v.ermakov
Попробуйте 3,3 вольта на контроллере помониторить. Например, другой Мегой. Причём не факт, что проблема в блоке питания Меги. Она может оказаться, например, в подключенном к 3,3 вольта датчике.

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

Добавлено: 03 мар 2019, 13:28
Andrey_B
https://ab-log.ru/files/File/megad-2561 ... a7-hex.zip

- Добавлена поддержка "голосового" звонка

Для того, чтобы загрузить в GSM-модем звуковой файл, который будет проигрываться при соединении с абонентом, необходимо сделать следующее.
- Скачать и распаковать архив megad-gsm-amr.zip
- Отредактировать скрипт, указав нужный IP-адрес контроллера и имя AMR-файла
- Запустить из текущей папки скрипт: php megad-gsm-amr.php

В архиве уже включен файл warning.amr, который содержит фразу: "Внимание! Сработал порт контроллера"
Можно сделать свой файл.
Я с помощью SpeechKit API сгенерировал из текста звуковой файл, сохранил его в WAV, а далее воспользовался утилитой SOX для конвертирования формат AMR.
sox warning.wav output.amr-nb

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

Добавлено: 03 мар 2019, 15:56
artem521
По поводу звуковых движков. Перепробовал кучу, самый лучший вариант это программа "Балаболка" Выкладываю пример голоса.

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

Добавлено: 04 мар 2019, 12:28
Erik
А такие датчики температуры/влажности будут работать?

https://www.chipdip.ru/product0/8675462603

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

Добавлено: 04 мар 2019, 12:38
Burst
Alex_Jet писал(а):
02 мар 2019, 07:11

5. Но самое плохое - что заметил - при прошивке b3 почему-то все выходы у всех контроллеров установились в состояние ON. В доме включилось все и сработала часть датчиков (протечки).
Сегодня при перезагрузке контроллера котельной (п.3). Включились все 14 выходов!!! Конечно сервер запоминает состояние выходов и при перезагрузке контроллера восстанавливает те, которые были включены, но не все же 14шт.!!!
Знакомая тема, очень похоже было и у меня. Вот здесь писал https://www.ab-log.ru/forum/viewtopic.php?f=1&t=1544 . Как и у вас подключено: бесперебойник -> MW -> Мега. Так в общем то до причин и не докопался.

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

Добавлено: 04 мар 2019, 12:47
Andrey_B
Erik писал(а):
04 мар 2019, 12:28
А такие датчики температуры/влажности будут работать?
В текущий момент времени прошивка не поддерживает датчики SHT30.
В чем вы видите преимущество этих датчиков по сравнению с BME280 и HTU21D?

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

Добавлено: 04 мар 2019, 12:50
Andrey_B
Burst, о возможной причине я писал позавчера. Обновление 4.32b6.

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

Добавлено: 04 мар 2019, 14:15
winniepooh
Andrey_B писал(а):
03 мар 2019, 13:28
- Добавлена поддержка "голосового" звонка
Через http-запрос пока еще нельзя позвонить?

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

Добавлено: 04 мар 2019, 15:39
xsash
Andrey_B писал(а):
03 мар 2019, 13:28
Можно сделать свой файл.
а какие ограничения на длину или "вес" файла? Ваши рекомендации

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

Добавлено: 04 мар 2019, 17:59
Andrey_B
xsash писал(а):
04 мар 2019, 15:39
а какие ограничения на длину или "вес" файла? Ваши рекомендации
Мой SIM800L 2.2 на команду AT+FSMEM отвечает: 180224 bytes. Возможно, наличие и объем встроенной памяти зависит от конкретной модели и ревизии модуля.
В документе SIM800 Series_FS_Application Note указано, что размер файла не должен превышать 10240 байт. Файлов, разумеется, может быть несколько, но пока контроллер работает только с одним.
При записи файла устанавливается таймаут. Сейчас стоит 40 секунд. Загрузка файла размером 2кБ занимает порядка 15 секунд. Таймаут естественно можно увеличить, как и переделать скрипт для более быстрой загрузки файла, если в этом будет необходимость. Пока никакой специальной оптимизации не делал.