Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Скорее всего, у вас маршрутизатор режет UDP-пакеты, как мой Микротик. Симптомы похожи. Включите через какой-нибудь плюгавенький и тупой, или поковыряйтесь в настройках маршрутизатора.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Да дело в том, что это самый тупой свитч С микротиком и д-линком управляемым та же фигня. Последние опыты вообще напрямую к меге подключения...
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Petros, если в бубен уже стучали, попробуйте заменить UTP-кабель, а также осмотреть разъемы на предмет пауков. Я серьезно.
В отличие от TCP в UDP нет подтверждения передачи на уровне самого протокола и там, где TCP еще как-то работает, UDP может дать сбой.
Ну и если ничего не получается, можно запустить tcpdump и посмотреть что вообще происходит на нужном интерфейсе. Это позволит пролить некоторый свет на проблему.
В отличие от TCP в UDP нет подтверждения передачи на уровне самого протокола и там, где TCP еще как-то работает, UDP может дать сбой.
Ну и если ничего не получается, можно запустить tcpdump и посмотреть что вообще происходит на нужном интерфейсе. Это позволит пролить некоторый свет на проблему.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Да я выложил wireshark лог пару постами выше... Вот только я к сожалению в этом аспекте не силен
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Ещё такой вопрос - как бы более правильно подключить ibutton считыватель, чтобы если его ударят током, например шокером, сама мега не сгорела.. Или не стоит связываться?
CP-Z2L насколько я понимаю защищённее к вандализму в этом плане?
СP-Z 2MF - будет работать? вроде как Выходной интерфейс: Dallas Touch Memory..
CP-Z2L насколько я понимаю защищённее к вандализму в этом плане?
СP-Z 2MF - будет работать? вроде как Выходной интерфейс: Dallas Touch Memory..
Последний раз редактировалось hawkeye 24 окт 2016, 21:31, всего редактировалось 1 раз.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
В вашем логе настораживает две вещи:Petros писал(а):я выложил wireshark лог пару постами выше...
1. "reassembled PDU"
2. HTTP /1.0 401 Unauthorized
О чем это может говорить? Например, запрос от вашего ПК возможно проходит не одним пакетом, а двумя.
TCP-стэк микроконтроллера не умеет склеивать пакеты и отвечает на первый (неполный) пакет. А так как он некорректный, то устройство отвечает ошибкой 401.
Проверьте размер MTU на интерфейсе. Стандартный размер 1500. Попробуйте отключить на время иные интерфейсы.
Подумайте, какое сетевое ПО/сетевые настройки у вас есть и в MacOS и в Windows. Если есть VPN, попробуйте отключить его.
Причина может быть не одна. Это может быть комбинацией различных особенностей, которые приводят к такому результату.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Понял, спасибо!
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Андрей, а с бутлоадером не может быть связано? смотрю новая версия появилась megad-boot_14 2016.10.11 и скорей всего Petros на ней прошивает.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Исходя из имеющейся объективной информации, версия загрузчика в данном случае значения не имеет.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Уже два года шью Меги по сети под MacOS проблем не было. --local-ip обязательно. Похожая, как у Petros, ситуация была после прошивки программатором Меги2561: я залил загрузчик, после чего программатором же залил прошивку, мега работала, но по сети не шилась, чтобы решить проблему, я снова залил загрузчик avrdude-ом, после чего залил в нее прошивку уже по сети (c ключом -e, т.к. после заливки загрузчика мега погрузилась в аварийный режим)
С уважением, Игорь
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
http://ab-log.ru/files/File/megad-2561/ ... a2-hex.zip
- Исправлены незначительные ошибки
- Немного увеличена скорость работы с сетью
- Добавлена функция "контроллера доступа"
Если хотя бы один порт настроен как "iB" (работа со считывателями DS1990A: iButton, EM-Marine в режиме эмуляции iButton), то в настройках появляется новый пункт.
Перейдя по ссылке можно указать до 5 ключей, которые контроллер сохранит в энергонезависимую память.
Важно. Перечень ключей один для всех портов типа "iB".
"Last key" - адрес последнего ключа, который считал контроллер. Это позволяет проверить адрес ключа и при необходимости занести его в память.
В настройке порта типа "iB" присутствуют стандартные поля "Action" и "NetAction"
На скриншоте типичный пример работы с электромеханическим замком: включить порт; подождать 0,2 секунды; выключить порт. То есть на электромеханический замок подается импульс длительностью 0,2 секунды. Разумеется, могут быть любые другие сценарии.
Если сервер не прописан, то контроллер сверяется со списком ключей, сохраненных в памяти и выполняет сценарий, если адрес ключа совпадает.
Если сервер прописан, то контроллер отправляет данные на сервер и ждет указаний от него (с внутренним перечнем ключей не сверяется).
Если сервер прописан, но не отвечает, то контроллер снова берет управление на себя.
Обновление прошивки только с очисткой EEPROM (ключ --ee).
- Исправлены незначительные ошибки
- Немного увеличена скорость работы с сетью
- Добавлена функция "контроллера доступа"
Если хотя бы один порт настроен как "iB" (работа со считывателями DS1990A: iButton, EM-Marine в режиме эмуляции iButton), то в настройках появляется новый пункт.
Перейдя по ссылке можно указать до 5 ключей, которые контроллер сохранит в энергонезависимую память.
Важно. Перечень ключей один для всех портов типа "iB".
"Last key" - адрес последнего ключа, который считал контроллер. Это позволяет проверить адрес ключа и при необходимости занести его в память.
В настройке порта типа "iB" присутствуют стандартные поля "Action" и "NetAction"
На скриншоте типичный пример работы с электромеханическим замком: включить порт; подождать 0,2 секунды; выключить порт. То есть на электромеханический замок подается импульс длительностью 0,2 секунды. Разумеется, могут быть любые другие сценарии.
Если сервер не прописан, то контроллер сверяется со списком ключей, сохраненных в памяти и выполняет сценарий, если адрес ключа совпадает.
Если сервер прописан, то контроллер отправляет данные на сервер и ждет указаний от него (с внутренним перечнем ключей не сверяется).
Если сервер прописан, но не отвечает, то контроллер снова берет управление на себя.
Обновление прошивки только с очисткой EEPROM (ключ --ee).
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Круто! Спасибо!Andrey_B писал(а): - Добавлена функция "контроллера доступа"
У меня ещё маленький вопросик насчёт безопасного исползования считывателя http://ab-log.ru/forum/viewtopic.php?f= ... 280#p24431....
Ещё наткнулся тут на тестовую версию для 328 с функцией передачи команд через ИК диод..
Кажется тема заглохла. Но наверное не составит большого труда добавить этот функционал в прошивку 2561.. Мне пряом сейчас пока нечем особо управлять, но по мере доделки ремонта можно было бы придумать сценарии управления ТВ и особенно кондёром.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
А не планируется в MegaD-2561 реализация MQTT клиента?
Теперь-то и памяти достаточно и ресурсов. Только имена топиков грамотно продумать и все!!!
Интеграция в другие системы была-бы проще простого.
Теперь-то и памяти достаточно и ресурсов. Только имена топиков грамотно продумать и все!!!
Интеграция в другие системы была-бы проще простого.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Тестирование на предмет устойчивости к высокому напряжению от электрошокера не проводилось.hawkeye писал(а):У меня ещё маленький вопросик насчёт безопасного исползования считывателя
Возможно, существуют какие-нибудь газовые разрядники, супрессоры и технологии, которыми защищают оборудование от ударов молний. Готового решения у меня нет.
Эта функция присутствует как в MegaD-328, так и в MegaD-2561. Никто ее из прошивки не удалял.hawkeye писал(а):Ещё наткнулся тут на тестовую версию для 328 с функцией передачи команд через ИК диод..
Кажется тема заглохла. Но наверное не составит большого труда добавить этот функционал в прошивку 2561..
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
http://ab-log.ru/files/File/megad-2561/ ... a3-hex.zip
- Добавлена новая команда 'd', которая обрабатывается в ответе сервера.
Пояснение.
У нас есть такие замечательные команды управления ШИМ-выходами (диммируемыми каналами), как "+", "-" и "~", которые можно прописать в Action. Например, "13:~"
Устройство может аппаратно отслеживать нажатие клавиш выключателя и управлять диммируемым каналом.
Но эти замечательные команды работают только в том случае, если сервер не прописан. А если сервер прописан, то предполагается, что сервер сам будет отслеживать длительность нажатия клавиши (используя в том числе параметр m=2) и передавать команды на управление выходом. Однако такую реализацию на сервере делать не всегда удобно. Особенно учитывая, что она в лучшем виде есть в контроллере.
И вот я предлагаю новую команду 'd' (сокращение от default). Если сервер на факт срабатывания входа, возвращает 'd', то это дает сигнал устройству выполнить сценарий по умолчанию, прописанный в его памяти.
Таким образом можно использовать сервер вместе в частности с командами управления диммируемыми выходами. Достаточно серверу при срабатывании нужных входов вернуть устройству 'd' и он обработает все операции с клавишами выключателя.
Но серверу интересно было бы знать значение ШИМ, которое получилось на выходе. Это просто. Устройство ведь сообщает о факте отжатия клавиши (m=1). Серверу необходимо лишь опросить состояние нужного выхода при получении сигнала об отжатии клавиши. Все остальное контроллер сделаем сам.
- Добавлена новая команда 'd', которая обрабатывается в ответе сервера.
Пояснение.
У нас есть такие замечательные команды управления ШИМ-выходами (диммируемыми каналами), как "+", "-" и "~", которые можно прописать в Action. Например, "13:~"
Устройство может аппаратно отслеживать нажатие клавиш выключателя и управлять диммируемым каналом.
Но эти замечательные команды работают только в том случае, если сервер не прописан. А если сервер прописан, то предполагается, что сервер сам будет отслеживать длительность нажатия клавиши (используя в том числе параметр m=2) и передавать команды на управление выходом. Однако такую реализацию на сервере делать не всегда удобно. Особенно учитывая, что она в лучшем виде есть в контроллере.
И вот я предлагаю новую команду 'd' (сокращение от default). Если сервер на факт срабатывания входа, возвращает 'd', то это дает сигнал устройству выполнить сценарий по умолчанию, прописанный в его памяти.
Таким образом можно использовать сервер вместе в частности с командами управления диммируемыми выходами. Достаточно серверу при срабатывании нужных входов вернуть устройству 'd' и он обработает все операции с клавишами выключателя.
Но серверу интересно было бы знать значение ШИМ, которое получилось на выходе. Это просто. Устройство ведь сообщает о факте отжатия клавиши (m=1). Серверу необходимо лишь опросить состояние нужного выхода при получении сигнала об отжатии клавиши. Все остальное контроллер сделаем сам.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
А не открывает ли это возможность использовать паузы?
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Полноценно - нет. Да, в сценарии по умолчанию могут присутствовать команды, включающие паузы, но менять их сервер не может.alex946 писал(а):А не открывает ли это возможность использовать паузы?
Запись новых команд в EEPROM для управления паузами возможна, но это не лучший вариант по причине потенциального износа EEPROM. Да и запись такую можно сделать до или после сеанса связи по факту сработавшей кнопки, но никак не одновременно.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Менять и не надо. Просто коротенькие действия удобнее так делать. Типа, продувку на 1с включить, или соленоид дёрнуть на 0.2с.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Если эти команды статичные, типа "дернуть привод/замок/соленойд", то, конечно, можно прописать их в Action и давать устройству выполнять их самостоятельно.
В этом смысле 'd' это позволяет.
В этом смысле 'd' это позволяет.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Я бы тут не спрашивал если бы нашел где было обсуждение про mqtt.MSapogov писал(а):А не планируется в MegaD-2561 реализация MQTT клиента?
Теперь-то и памяти достаточно и ресурсов. Только имена топиков грамотно продумать и все!!!
Интеграция в другие системы была-бы проще простого.
Может для данного проекта это табу.