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

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

Добавлено: 29 сен 2016, 13:29
d.v.ermakov
ИМХО, принимать решения (по моделям и поддержке) должен один человек. У коллектива только аргументы можно спросить. Иначе iPhone не сделать.

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

Добавлено: 29 сен 2016, 13:38
k_w_m
Андрей, действительно, Вы проводите огромную работу, в том числе и по тестированию датчиков. И на эти результаты очень многие ориентируются. Они, кстати действительно объективные, за что отдельное спасибо. Вполне достаточно будет по одному датчику (освещенность, температура, давление...) на Ваш выбор.

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

Добавлено: 29 сен 2016, 13:49
Alex_Jet
Andrey_B писал(а):Я думаю можно переложить на контроллер всю черновую работу, связанную с функционированием шины I2C.
Например, считывание данных об освещенности с датчика BH1750 могло бы выглядеть как-то так (последовательность HTTP-запросов)
Считаю это предложение хорошим решением для работы с разнообразными I2C устройствами (их настройка, опрос всех показаний/значений). Однако поддержу форумчан по реализации в прошивке 2561 аппаратной поддержки наиболее дешевых/распространенных датчиков. Хотя бы по одному из каждой категории - температура, температура/влажность, освещенность, атмосферное давление. Если будет реализован предложенный универсальный механизм опроса I2C датчиков, то много кода не уйдет на поддержку ЧТЕНИЯ поддерживаемых датчиков одной командой.
Особенно это будет востребовано у новичков и будет подкупать монтажников/наладчиков простотой (маркетинговый ход). Хотя с умным домом должны иметь дело люди, способные с помощью php разобрать строку "temp:25,61/hum:65" :), получаемую от Мегадевайса.

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

Добавлено: 29 сен 2016, 17:46
Andrey_B
http://ab-log.ru/files/File/megad-2561/ ... a1-hex.zip

HTU21D (датчик температуры/влажности)
Пример:

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

Влажность
http://192.168.0.14/sec/?pt=35&scl=34&i2c_dev=htu21d
Температура
http://192.168.0.14/sec/?pt=35&scl=34&i2c_dev=htu21d&i2c_par=1
?pt=35 -- порт, к которому подключена линия DATA (SDA). В данном случае P35 (зеленый клеммник на модуле MegaD-2561)
&scl=34 -- порт, к которому подключена линия SCL. В данном случае P34 (зеленый клеммник на модуле MegaD-2561)
Датчики можно подключать к любым из доступных портов.

&i2c_dev=htu21d -- пояснения лишние
&i2c_par=1 -- в данном случае запрос температуры. Без данного параметра (по умолчанию) контроллер возвращает значение влажности.

Хочу напомнить, что для загрузки данной прошивки через скрипт megad-cfg необходима новая версия загрузчика и новая версия megad-cfg. Ссылки я давал.

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

Добавлено: 29 сен 2016, 19:50
kran17
Попытался обновить загрузчик MegaD-2561 с помощью программатора USBASP и avrdudeprog33 и ни чего не получилось, не смог прочитать его пишет ошибка:
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe done. Thank you.
Подключаю MegaD-328 и всё читает без проблем.

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

Добавлено: 29 сен 2016, 20:02
kran17
Немного беспокоит исправления на плате как раз на разъеме программирования

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

Добавлено: 29 сен 2016, 20:25
Andrey_B
Перемычки - особенность первой версии платы, которая никак не влияет на процесс перепрошивки программатором. В последующих релизах перемычек не будет.
Вероятнее всего, ваш USBASP не поддерживает atmega2561.
Напомню, что любой владелец MegaD-2561 Ver 1.0 может выслать модуль для замены загрузчика и прошивки.

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

Добавлено: 29 сен 2016, 20:33
kran17
В меню atmega2561 есть. Возможно в avrdudeprog33 есть ошибки или чего то не хватает.
Мы не ищем лёгких путей, будем разбираться, отослать ради перепрошивки это не наш метод.

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

Добавлено: 29 сен 2016, 22:03
nevkon
Медленный режим пробовали для usbasp?

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

Добавлено: 30 сен 2016, 12:05
alex946
По I2C выскажусь, хоть и чайник.
Стоит ещё учесть, что на шину I2C кроме датчиков можно навесить изрядное число простых самодельных и заводских модулей расширения - реле, ADC, диммеры...
В этом смысле уж точно не нужно заставлять контроллер знать обо всех этих штуках. Пусть сервер думает, у него голова большая.

И сразу вопрос - а не будет ли весьма выгодно и входы-кнопки дополнительные вешать на I2C, чтобы не тратить на это полноценные порты IN контроллера?

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

Добавлено: 30 сен 2016, 12:33
Andrey_B
alex946 писал(а):И сразу вопрос - а не будет ли весьма выгодно и входы-кнопки дополнительные вешать на I2C, чтобы не тратить на это полноценные порты IN контроллера?
Теоретически, думаю, это возможно. Практически не знаю, насколько большая будет экономия, будет ли это технологично, достаточная ли будет скорость работы.
Возникают вопросы, например, как и где будет реализована в этом случае защита от дребезга.

По кнопкам не знаю, а вот диммеры, управляемые по I2C (и вообще в целом исполнительные устройства) - это интересная тема.

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

Добавлено: 30 сен 2016, 13:21
alex946
Аппаратный антидребезг это дорого? Сходу только MC14490 попался на глаза, стоит он, конечно, от души...

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

Добавлено: 30 сен 2016, 14:05
nevkon
Нашел способ запрограммировать мегу2561 без программатора: http://www.avislab.com/blog/raspberry-pi-avrdude_ru/, скоро попробую и отпишусь. Кстати какая распиновка у меги? Пока нашел только питание 2 нога и 6 земля.

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

Добавлено: 30 сен 2016, 14:09
llams
Andrey_B писал(а):...как и где будет реализована в этом случае защита от дребезга....
Андрей, приветствую!
Защиту от дребезга лучше будет сделать по пину INT с I2C экспандера, а это -1 пин на контроллере, единственный недостаток этого подхода невозможность обработки двух событий на разных пинах расширителя одновременно (время на обработку события примерно будет равно времени установления логического состояния на кнопке в случае программного антидребезга). Но если речь о подключении кнопок данное время незначительно.

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

Добавлено: 30 сен 2016, 14:18
d.v.ermakov
I2C - шина, созданная для общения микросхем между собой в пределах одной платы. С ростом расстояния скорость надёжной работы шины должна падать катастрофически. Для большинства датчиков это, видимо, не важно. Но не думаю, что использовать I2C для кнопок и исполнительных устройств на расстояниях в десятки метров - это хорошая идея. Хотя и не пробовал пока.

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

Добавлено: 30 сен 2016, 14:38
alex946
Ой, нет, я не предлагаю расстояния в десятки метров для шины I2C. Мне нужно подключать дополнительные устройства внутри щита, и изредка, в пределах метра от него. Фактически, это способ повесить больше I/O модулей на одну Мегу, не более того.

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

Добавлено: 30 сен 2016, 15:04
llams
alex946 писал(а):Ой, нет, я не предлагаю расстояния в десятки метров для шины I2C. Мне нужно подключать дополнительные устройства внутри щита, и изредка, в пределах метра от него. Фактически, это способ повесить больше I/O модулей на одну Мегу, не более того.
Расстояние между устройствами, как и скорость передачи данных по шине напрямую зависит от ёмкости линии и количества устройств которые в свою очередь вносят дополнительную ёмкость. От этого зависит форма сигнала, а следовательно вероятность возникновения ошибки.

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

Добавлено: 30 сен 2016, 17:59
Dron
по поводу поддержки устройств головой: а почему бы не выделить определённый объём памяти внутри MegaD-2561 и изменить загрузчик так, что бы перепрошивать именно этот кусочек памяти?
тогда была возможность выбрать из длинного списка поддерживаемых устройств те, которые нужны.
и подгружать необходимые конечному пользователю.
понимаю, технически это достаточно сложно...

но зашёл в отдельный раздел вэб-морды, поставил галочек (к примеру, максимум 5-7 из возможных 100), и вуаля! отдельный блок памяти меги перепрошился и в голове появилась поддержка нужных устройств.
надеюсь, не очень сумбурно написал) и кстати, сам I2C пока не использую...

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

Добавлено: 30 сен 2016, 19:34
Andrey_B
http://ab-log.ru/files/File/megad-2561/ ... a2-hex.zip

"Как бы" I2C API
---
pt - номер порта, к которому подключена линия SDA
scl - номер порта, к которому подключена линия SCL
i2c_cmd - команды (1 - инициализация; 2 - старт; 3 - стоп)
Пример: http://192.168.0.14/sec/?pt=35&scl=34&i2c_cmd=1

i2c_send - отправка данных в HEX-виде
Пример: http://192.168.0.14/sec/?pt=35&scl=34&i2c_send=80

i2c_read - считывание данных в HEX-виде (0 - на конце ACK; 1 - на конце NACK [конец связи])
Пример: http://192.168.0.14/sec/?pt=35&scl=34&i2c_read=0

Все. Этого достаточно, чтобы подключить к MegaD-2561 любое I2c-устройство.
---

http://ab-log.ru/files/File/i2c-php-lib.zip
Адаптированная под "как бы" I2C API библиотека I2C-PHP
Те, кто ее использует, могут попробовать заменить в коде, например, mod_dev_htu21d.php
define("V", "2"); // Частично аппаратная реализация
на
define("V", "3"); // Аппаратная реализация
Это для примера. Я опускаю, что MegaD-2561 и сам может работать с HTU21D без дополнительных библиотек.

По скорости. По сравнению с частично аппаратной реализацией скорость опроса датчиков выросла в несколько раз. В основном за счет аппаратной реализации считывания данных.
А вот работа с дисплеем ускорилась приблизительно на 25%. Это связано с тем, что в дисплей данные в основном только передаются. А с этим и частично аппаратный режим справлялся неплохо. Данных, которые передаются в дисплей много. А передача осуществляется по типу один байт - один HTTP-запрос.
Чтобы еще ускорить работу необходимо, думаю, реализовать отправку данных пачкой. Это существенно ускорит работу с дисплеем.

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

Добавлено: 30 сен 2016, 20:14
alex946
В принципе, в пределах одного TCP-пакета может прокатить. Наверное, этого будет достаточно.