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

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
alex946
Сообщения: 204
Зарегистрирован: 05 дек 2015, 22:48
Контактная информация:

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

Сообщение alex946 » 24 окт 2016, 17:31

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

Petros
Сообщения: 900
Зарегистрирован: 21 авг 2012, 22:09
Откуда: Москва

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

Сообщение Petros » 24 окт 2016, 17:33

Да дело в том, что это самый тупой свитч :) С микротиком и д-линком управляемым та же фигня. Последние опыты вообще напрямую к меге подключения...

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

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

Сообщение Andrey_B » 24 окт 2016, 17:46

Petros, если в бубен уже стучали, попробуйте заменить UTP-кабель, а также осмотреть разъемы на предмет пауков. Я серьезно.
В отличие от TCP в UDP нет подтверждения передачи на уровне самого протокола и там, где TCP еще как-то работает, UDP может дать сбой.
Ну и если ничего не получается, можно запустить tcpdump и посмотреть что вообще происходит на нужном интерфейсе. Это позволит пролить некоторый свет на проблему.

Petros
Сообщения: 900
Зарегистрирован: 21 авг 2012, 22:09
Откуда: Москва

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

Сообщение Petros » 24 окт 2016, 17:56

Да я выложил wireshark лог пару постами выше... Вот только я к сожалению в этом аспекте не силен :(

hawkeye
Сообщения: 98
Зарегистрирован: 06 окт 2016, 22:16

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

Сообщение hawkeye » 24 окт 2016, 17:59

Ещё такой вопрос - как бы более правильно подключить ibutton считыватель, чтобы если его ударят током, например шокером, сама мега не сгорела.. Или не стоит связываться?
CP-Z2L насколько я понимаю защищённее к вандализму в этом плане?
СP-Z 2MF - будет работать? вроде как Выходной интерфейс: Dallas Touch Memory..
Последний раз редактировалось hawkeye 24 окт 2016, 21:31, всего редактировалось 1 раз.

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

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

Сообщение Andrey_B » 24 окт 2016, 18:40

Petros писал(а):я выложил wireshark лог пару постами выше...
В вашем логе настораживает две вещи:
1. "reassembled PDU"
2. HTTP /1.0 401 Unauthorized

О чем это может говорить? Например, запрос от вашего ПК возможно проходит не одним пакетом, а двумя.
TCP-стэк микроконтроллера не умеет склеивать пакеты и отвечает на первый (неполный) пакет. А так как он некорректный, то устройство отвечает ошибкой 401.

Проверьте размер MTU на интерфейсе. Стандартный размер 1500. Попробуйте отключить на время иные интерфейсы.
Подумайте, какое сетевое ПО/сетевые настройки у вас есть и в MacOS и в Windows. Если есть VPN, попробуйте отключить его.

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

Petros
Сообщения: 900
Зарегистрирован: 21 авг 2012, 22:09
Откуда: Москва

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

Сообщение Petros » 24 окт 2016, 18:44

Понял, спасибо!

Haus
Сообщения: 227
Зарегистрирован: 28 апр 2015, 13:13

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

Сообщение Haus » 24 окт 2016, 19:15

Андрей, а с бутлоадером не может быть связано? смотрю новая версия появилась megad-boot_14 2016.10.11 и скорей всего Petros на ней прошивает.

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

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

Сообщение Andrey_B » 24 окт 2016, 19:37

Исходя из имеющейся объективной информации, версия загрузчика в данном случае значения не имеет.

Igor78
Сообщения: 143
Зарегистрирован: 26 янв 2015, 14:44
Откуда: Москва

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

Сообщение Igor78 » 25 окт 2016, 09:32

Уже два года шью Меги по сети под MacOS проблем не было. --local-ip обязательно. Похожая, как у Petros, ситуация была после прошивки программатором Меги2561: я залил загрузчик, после чего программатором же залил прошивку, мега работала, но по сети не шилась, чтобы решить проблему, я снова залил загрузчик avrdude-ом, после чего залил в нее прошивку уже по сети (c ключом -e, т.к. после заливки загрузчика мега погрузилась в аварийный режим)
С уважением, Игорь

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

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

Сообщение Andrey_B » 25 окт 2016, 18:01

http://ab-log.ru/files/File/megad-2561/ ... a2-hex.zip

- Исправлены незначительные ошибки
- Немного увеличена скорость работы с сетью
- Добавлена функция "контроллера доступа"

Если хотя бы один порт настроен как "iB" (работа со считывателями DS1990A: iButton, EM-Marine в режиме эмуляции iButton), то в настройках появляется новый пункт.
megad-ib1.gif
megad-ib1.gif (4.9 КБ) 6331 просмотр
Перейдя по ссылке можно указать до 5 ключей, которые контроллер сохранит в энергонезависимую память.
Важно. Перечень ключей один для всех портов типа "iB".
"Last key" - адрес последнего ключа, который считал контроллер. Это позволяет проверить адрес ключа и при необходимости занести его в память.
megad-ib2.gif
megad-ib2.gif (3.21 КБ) 6331 просмотр
В настройке порта типа "iB" присутствуют стандартные поля "Action" и "NetAction"
megad-ib4.gif
megad-ib4.gif (3.39 КБ) 6331 просмотр
На скриншоте типичный пример работы с электромеханическим замком: включить порт; подождать 0,2 секунды; выключить порт. То есть на электромеханический замок подается импульс длительностью 0,2 секунды. Разумеется, могут быть любые другие сценарии.

Если сервер не прописан, то контроллер сверяется со списком ключей, сохраненных в памяти и выполняет сценарий, если адрес ключа совпадает.
Если сервер прописан, то контроллер отправляет данные на сервер и ждет указаний от него (с внутренним перечнем ключей не сверяется).
Если сервер прописан, но не отвечает, то контроллер снова берет управление на себя.

Обновление прошивки только с очисткой EEPROM (ключ --ee).

hawkeye
Сообщения: 98
Зарегистрирован: 06 окт 2016, 22:16

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

Сообщение hawkeye » 25 окт 2016, 19:17

Andrey_B писал(а): - Добавлена функция "контроллера доступа"
Круто! Спасибо!
У меня ещё маленький вопросик насчёт безопасного исползования считывателя http://ab-log.ru/forum/viewtopic.php?f= ... 280#p24431....
Ещё наткнулся тут на тестовую версию для 328 с функцией передачи команд через ИК диод..
Кажется тема заглохла. Но наверное не составит большого труда добавить этот функционал в прошивку 2561.. Мне пряом сейчас пока нечем особо управлять, но по мере доделки ремонта можно было бы придумать сценарии управления ТВ и особенно кондёром.

MSapogov
Сообщения: 312
Зарегистрирован: 13 май 2015, 08:44
Откуда: г. Томск

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

Сообщение MSapogov » 26 окт 2016, 07:53

А не планируется в MegaD-2561 реализация MQTT клиента?
Теперь-то и памяти достаточно и ресурсов. Только имена топиков грамотно продумать и все!!!
Интеграция в другие системы была-бы проще простого.

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

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

Сообщение Andrey_B » 26 окт 2016, 10:53

hawkeye писал(а):У меня ещё маленький вопросик насчёт безопасного исползования считывателя
Тестирование на предмет устойчивости к высокому напряжению от электрошокера не проводилось.
Возможно, существуют какие-нибудь газовые разрядники, супрессоры и технологии, которыми защищают оборудование от ударов молний. Готового решения у меня нет.
hawkeye писал(а):Ещё наткнулся тут на тестовую версию для 328 с функцией передачи команд через ИК диод..
Кажется тема заглохла. Но наверное не составит большого труда добавить этот функционал в прошивку 2561..
Эта функция присутствует как в MegaD-328, так и в MegaD-2561. Никто ее из прошивки не удалял.

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

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

Сообщение Andrey_B » 26 окт 2016, 18:22

http://ab-log.ru/files/File/megad-2561/ ... a3-hex.zip

- Добавлена новая команда 'd', которая обрабатывается в ответе сервера.

Пояснение.
У нас есть такие замечательные команды управления ШИМ-выходами (диммируемыми каналами), как "+", "-" и "~", которые можно прописать в Action. Например, "13:~"
Устройство может аппаратно отслеживать нажатие клавиш выключателя и управлять диммируемым каналом.
Но эти замечательные команды работают только в том случае, если сервер не прописан. А если сервер прописан, то предполагается, что сервер сам будет отслеживать длительность нажатия клавиши (используя в том числе параметр m=2) и передавать команды на управление выходом. Однако такую реализацию на сервере делать не всегда удобно. Особенно учитывая, что она в лучшем виде есть в контроллере.

И вот я предлагаю новую команду 'd' (сокращение от default). Если сервер на факт срабатывания входа, возвращает 'd', то это дает сигнал устройству выполнить сценарий по умолчанию, прописанный в его памяти.
Таким образом можно использовать сервер вместе в частности с командами управления диммируемыми выходами. Достаточно серверу при срабатывании нужных входов вернуть устройству 'd' и он обработает все операции с клавишами выключателя.
Но серверу интересно было бы знать значение ШИМ, которое получилось на выходе. Это просто. Устройство ведь сообщает о факте отжатия клавиши (m=1). Серверу необходимо лишь опросить состояние нужного выхода при получении сигнала об отжатии клавиши. Все остальное контроллер сделаем сам.

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

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

Сообщение alex946 » 26 окт 2016, 19:03

А не открывает ли это возможность использовать паузы?

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

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

Сообщение Andrey_B » 26 окт 2016, 19:22

alex946 писал(а):А не открывает ли это возможность использовать паузы?
Полноценно - нет. Да, в сценарии по умолчанию могут присутствовать команды, включающие паузы, но менять их сервер не может.
Запись новых команд в EEPROM для управления паузами возможна, но это не лучший вариант по причине потенциального износа EEPROM. Да и запись такую можно сделать до или после сеанса связи по факту сработавшей кнопки, но никак не одновременно.

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

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

Сообщение alex946 » 26 окт 2016, 19:26

Менять и не надо. Просто коротенькие действия удобнее так делать. Типа, продувку на 1с включить, или соленоид дёрнуть на 0.2с.

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

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

Сообщение Andrey_B » 26 окт 2016, 19:29

Если эти команды статичные, типа "дернуть привод/замок/соленойд", то, конечно, можно прописать их в Action и давать устройству выполнять их самостоятельно.
В этом смысле 'd' это позволяет.

MSapogov
Сообщения: 312
Зарегистрирован: 13 май 2015, 08:44
Откуда: г. Томск

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

Сообщение MSapogov » 26 окт 2016, 21:46

MSapogov писал(а):А не планируется в MegaD-2561 реализация MQTT клиента?
Теперь-то и памяти достаточно и ресурсов. Только имена топиков грамотно продумать и все!!!
Интеграция в другие системы была-бы проще простого.
Я бы тут не спрашивал если бы нашел где было обсуждение про mqtt.
Может для данного проекта это табу.

Ответить