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

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
empenoso
Сообщения: 901
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

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

Сообщение empenoso » 19 дек 2017, 10:33

Небольшая проблема с прошивкой меги. Последний openHABian v1.4 https://community.openhab.org/t/openhab ... ased/37398 использует Debian Stretch https://wiki.debian.org/DebianStretch и у него нет php5:

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

openhabian@openHABianPi:~$ sudo apt-get install php5 php5-cli
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Пакет php5 недоступен, но упомянут в списке зависимостей другого пакета.
Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list

Пакет php5-cli недоступен, но упомянут в списке зависимостей другого пакета.
Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list

E: Для пакета «php5» не найден кандидат на установку
E: Для пакета «php5-cli» не найден кандидат на установку
есть только 7 версия:

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

[11:22:54] openhabian@openHABianPi:~$ sudo apt-get install php7.0 php7.0-cli
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
  libapache2-mod-php7.0 php-common php7.0-common php7.0-json php7.0-opcache php7.0-readline
Предлагаемые пакеты:
  php-pear
НОВЫЕ пакеты, которые будут установлены:
  libapache2-mod-php7.0 php-common php7.0 php7.0-cli php7.0-common php7.0-json php7.0-opcache php7.0-readline
обновлено 0, установлено 8 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 2 701 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 11,1 MB.
Хотите продолжить? [Д/н] д
Пол:1 http://mirror.yandex.ru/mirrors/raspbian/raspbian stretch/main armhf php-common all 1:49 [14,1 kB]
Пол:2 http://mirror.yandex.ru/mirrors/raspbian/raspbian stretch/main armhf php7.0-common armhf 7.0.19-1 [480 kB]
Пол:3 http://mirror.yandex.ru/mirrors/raspbian/raspbian stretch/main armhf php7.0-json armhf 7.0.19-1 [15,3 kB]
Пол:4 http://mirror.yandex.ru/mirrors/raspbian/raspbian stretch/main armhf php7.0-opcache armhf 7.0.19-1 [64,8 kB]
Пол:5 http://mirror.yandex.ru/mirrors/raspbian/raspbian stretch/main armhf php7.0-readline armhf 7.0.19-1 [10,8 kB]
Пол:6 http://mirror.yandex.ru/mirrors/raspbian/raspbian stretch/main armhf php7.0-cli armhf 7.0.19-1 [1 054 kB]
Пол:7 http://mirror.yandex.ru/mirrors/raspbian/raspbian stretch/main armhf libapache2-mod-php7.0 armhf 7.0.19-1 [1 014 kB]
Пол:8 http://mirror.yandex.ru/mirrors/raspbian/raspbian stretch/main armhf php7.0 all 7.0.19-1 [48,7 kB]
Получено 2 701 kБ за 2с (919 kБ/c)
Выбор ранее не выбранного пакета php-common.
(Чтение базы данных … на данный момент установлено 47612 файлов и каталогов.)
Подготовка к распаковке …/0-php-common_1%3a49_all.deb …
Распаковывается php-common (1:49) …
Выбор ранее не выбранного пакета php7.0-common.
Подготовка к распаковке …/1-php7.0-common_7.0.19-1_armhf.deb …
Распаковывается php7.0-common (7.0.19-1) …
Выбор ранее не выбранного пакета php7.0-json.
Подготовка к распаковке …/2-php7.0-json_7.0.19-1_armhf.deb …
Распаковывается php7.0-json (7.0.19-1) …
Выбор ранее не выбранного пакета php7.0-opcache.
Подготовка к распаковке …/3-php7.0-opcache_7.0.19-1_armhf.deb …
Распаковывается php7.0-opcache (7.0.19-1) …
Выбор ранее не выбранного пакета php7.0-readline.
Подготовка к распаковке …/4-php7.0-readline_7.0.19-1_armhf.deb …
Распаковывается php7.0-readline (7.0.19-1) …
Выбор ранее не выбранного пакета php7.0-cli.
Подготовка к распаковке …/5-php7.0-cli_7.0.19-1_armhf.deb …
Распаковывается php7.0-cli (7.0.19-1) …
Выбор ранее не выбранного пакета libapache2-mod-php7.0.
Подготовка к распаковке …/6-libapache2-mod-php7.0_7.0.19-1_armhf.deb …
Распаковывается libapache2-mod-php7.0 (7.0.19-1) …
Выбор ранее не выбранного пакета php7.0.
Подготовка к распаковке …/7-php7.0_7.0.19-1_all.deb …
Распаковывается php7.0 (7.0.19-1) …
Настраивается пакет php-common (1:49) …
Created symlink /etc/systemd/system/timers.target.wants/phpsessionclean.timer → /lib/systemd/system/phpsessionclean.timer.
Обрабатываются триггеры для man-db (2.7.6.1-2) …
Настраивается пакет php7.0-common (7.0.19-1) …

Creating config file /etc/php/7.0/mods-available/calendar.ini with new version

Creating config file /etc/php/7.0/mods-available/ctype.ini with new version

Creating config file /etc/php/7.0/mods-available/exif.ini with new version

Creating config file /etc/php/7.0/mods-available/fileinfo.ini with new version

Creating config file /etc/php/7.0/mods-available/ftp.ini with new version

Creating config file /etc/php/7.0/mods-available/gettext.ini with new version

Creating config file /etc/php/7.0/mods-available/iconv.ini with new version

Creating config file /etc/php/7.0/mods-available/pdo.ini with new version

Creating config file /etc/php/7.0/mods-available/phar.ini with new version

Creating config file /etc/php/7.0/mods-available/posix.ini with new version

Creating config file /etc/php/7.0/mods-available/shmop.ini with new version

Creating config file /etc/php/7.0/mods-available/sockets.ini with new version

Creating config file /etc/php/7.0/mods-available/sysvmsg.ini with new version

Creating config file /etc/php/7.0/mods-available/sysvsem.ini with new version

Creating config file /etc/php/7.0/mods-available/sysvshm.ini with new version

Creating config file /etc/php/7.0/mods-available/tokenizer.ini with new version
Настраивается пакет php7.0-readline (7.0.19-1) …

Creating config file /etc/php/7.0/mods-available/readline.ini with new version
Настраивается пакет php7.0-opcache (7.0.19-1) …

Creating config file /etc/php/7.0/mods-available/opcache.ini with new version
Настраивается пакет php7.0-json (7.0.19-1) …

Creating config file /etc/php/7.0/mods-available/json.ini with new version
Настраивается пакет php7.0-cli (7.0.19-1) …
update-alternatives: используется /usr/bin/php7.0 для предоставления /usr/bin/php (php) в автоматическом режиме
update-alternatives: используется /usr/bin/phar7.0 для предоставления /usr/bin/phar (phar) в автоматическом режиме
update-alternatives: используется /usr/bin/phar.phar7.0 для предоставления /usr/bin/phar.phar (phar.phar) в автоматическом режиме

Creating config file /etc/php/7.0/cli/php.ini with new version
Настраивается пакет libapache2-mod-php7.0 (7.0.19-1) …

Creating config file /etc/php/7.0/apache2/php.ini with new version
Module mpm_event disabled.
Enabling module mpm_prefork.
apache2_switch_mpm Switch to prefork
apache2_invoke: Enable module php7.0
Настраивается пакет php7.0 (7.0.19-1) …
Updating FireMotD available updates count ...
А в ней он на что-то ругается на прошивальщика:

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

[11:25:49] openhabian@openHABianPi:~$ php megad-cfg-2561.php --scan
Unable to detect local network
Plase, specify local IP-address with --local-ip
P.S. У меня ни одной меги в сети нет правда выслал на замену 328 на новую, но он раньше и ошибок не выдавал - просто пусто было.

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

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

Сообщение Andrey_B » 19 дек 2017, 10:59

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

Kirill2L
Сообщения: 23
Зарегистрирован: 07 ноя 2016, 09:24

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

Сообщение Kirill2L » 19 дек 2017, 11:02

При отрицательных температурах BMP-180 отдает FFFF по запросу температуры.
Запрашиваю http://192.168.0.14/sec/?pt=33&scl=32&i ... &i2c_par=1
Ответ: 4294967288.4294967283
Прошивка последняя (fw: 4.20b8)
Четко видно по значениям в таблице последние получаемые данные 0.43, далее уже всегда получаем 4294967288.4294967283.
Как температура поднимается выше 0, начитает возвращать корректные данные.

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

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

Сообщение Andrey_B » 19 дек 2017, 12:45

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

- Исправлено отображение отрицательной температуры для BMP180
- Добавлена возможность изменения частоты ШИМ для расширителя PCA9685 (значения от 24 до 1526)
megad-2561-pca9685-port.png
megad-2561-pca9685-port.png (3.6 КБ) 1273 просмотра

Kirill2L
Сообщения: 23
Зарегистрирован: 07 ноя 2016, 09:24

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

Сообщение Kirill2L » 19 дек 2017, 13:48

Благодарствую, Андрей, работает!
http://192.168.0.14/sec/?pt=33&scl=32&i ... &i2c_par=1
-8.41

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

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

Сообщение Igor78 » 19 дек 2017, 20:49

Андрей, спасибо за оперативную реализации выбора частоты ШИМ для PCA9685.

Но у меня проблема: купленная на али плата не хочет работать с Мегой. При сканировании шины I2C вот что находит Мега:

0x0
0x80 - HTU21D

При замыкании перемычки A0 адрес меняется на 0x82, при замыкании перемычки A1 - 0x84

вот что находит Мега при замкнутой перемычке A1

0x0
0x84
0xe0

На сколько я понял, адрес по умолчанию должен быть 0x40, при замкнутой A0 - 0x41, при замкнутой A1 - 0x42 .. У меня же получается что адрес сдвинут влево на один бит.

Датчик HTU21D с той же Мегой и на тех же проводах работает исправно. Платы PCA9685 протестировал две штуки- поведение одинаковое.

Моя схема подключения

VCC - 3.3V от MegaD-14-IN
GND - GND от MegaD-14-IN
SCL,SDA - P1,P2 от от MegaD-14-IN, джампер низ
OE - P0 от MegaD-14-IN в режиме OUT, джампер низ

V+/GND - DC5V от внешнего ИП

Прошивка MegaD-2561 by ab-log.ru (fw: 4.20b9)

Плата вот такая https://ru.aliexpress.com/item/16-Chann ... gLOZfD_BwE


Что я делаю не так?
С уважением, Игорь

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

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

Сообщение Alex_Jet » 20 дек 2017, 07:49

Андрей, вопрос. Сейчас же 1WBUS реализована по умолчанию только для DS18B20? То есть Контроллер опрашивает все подряд попавшиеся на шине датчики температуры и конвертирует температуру. Далее эту строчку нужно парсить средствами сервера. Сейчас для DS2413 вы реализовали более типичную шину, на которую можно повесить и DS18B20 - по идее контроллер считает адрес датчика, но вот запросить с него данные не получится.
О чем это я? Раз с кучкой DS2413 на одной шине мы все равно сможем работать только с помощью сервера, так может быть реализовать полноценную 1-wire bus (по сути сейчас также реализована I2C)? То есть - в вебе ни для чего ни для кого управление/данные не выводим если в поле DEV стоит "Any", а по ссылке 1-wire scan определяем какие есть датчики на шине и их идентификационные данные. Далее с помощью get-запроса с идентификационным номером обращаемся к датчику/DS2413 с запросом информации или управления.
Что вы поэтому поводу думаете? По сути сделать функционал для 1-wire bus такой же как сейчас есть для I2C! Было бы реально очень гибко для решений с сервером. При этом режимы для одиночных DS18B20 и DS2413 оставить, поскольку с ними возможна работа контроллера в локальном режиме.

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

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

Сообщение Andrey_B » 20 дек 2017, 10:52

Igor78 писал(а):Но у меня проблема: купленная на али плата не хочет работать с Мегой. При сканировании шины I2C вот что находит Мега:
0x0
0x80 - HTU21D
Так и должно быть. По умолчанию адрес 0x80. Вот его и нужно оставить.
Никакие перемычки замыкать не нужно.
OE никуда подключать не нужно.
Питание лучше взять с клеммы MegaD-14-IN (+3,3В)
При использовании внешнего источника питания земли нужно объединить.

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

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

Сообщение Andrey_B » 20 дек 2017, 10:53

Alex_Jet, правильно ли я понимаю, что вы говорите о возможности подключать DS2413 и DS18B20 на одну шину и к одному порту контроллера?

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

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

Сообщение Alex_Jet » 20 дек 2017, 12:15

Andrey_B писал(а):Alex_Jet, правильно ли я понимаю, что вы говорите о возможности подключать DS2413 и DS18B20 на одну шину и к одному порту контроллера?
Да, Андрей, правильно понимаете и не только DS18B20/DS2413. Я для этого привел аналогию с I2C.

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

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

Сообщение Igor78 » 20 дек 2017, 19:10

Igor78 писал(а):Андрей, спасибо за оперативную реализации выбора частоты ШИМ для PCA9685.

Но у меня проблема: купленная на али плата не хочет работать с Мегой...
продолжение

Протестировал свои модули PCA9685 с Raspberry Pi3. Делал все по инструкции: https://cdn-learn.adafruit.com/download ... rry-pi.pdf
Все заработало как нужно: Сканирование i2c нашло устройства по адресам 0x40 и 0х70. Подключенный сервопривод заработал...

Перешил Мегу на прошивку 4.18 beta 5, где была первая реализация поддержки РСА9685, не работает, первичное сканирование I2C после запуска Меги находит два устройства по адресам 0x80 и 0хе0 (если сдвинуть на один бит в сторону уменьшения, то получаются правильные адреса), если сменить i2c device с Any на PCA9685, устройство по адресу 0xe0 сканироватся перестает до перезагрузки Меги...
С уважением, Игорь

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

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

Сообщение Andrey_B » 20 дек 2017, 19:43

Igor78,
0x40 -> 1000 000 // 7 бит
0x80 -> 1000 0000 // 8 бит
В I2C последний бит отвечает за смену направления передачи данных.
Мега отображает, скажем так, 8-и битный адрес.
Все рекомендации прежние. У меня точно такая же плата с Али.

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

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

Сообщение Igor78 » 21 дек 2017, 18:27

Andrey_B писал(а):Igor78,
...Все рекомендации прежние. У меня точно такая же плата с Али.
Перепробовал все что можно, разные контроллеры, исполнительные модули, прошивки, БП, подключал I2C к разъему XT2, XP5/6, менял сами модули PCA9685....

С малиной на тех же 3,3В работает, а c Мегой нет.

Подключал микроосциллограф (DSO QUAD): при подключении к малине вижу импульсы с амплитудой VCC, при подключении к Меге вижу шум с амплитудой 0,2 - 0,4В, причем в зависимости от установок порта он меняется, и полностью исчезает (на выходе 0) при значении порта 4095. При значении порта 0 - шум максимальный.

Получается что обмен данными по шине идет, но почему-то выходы нормально не открываются...

Напряжения все проверял, провода тоже.

Что делать не знаю, если модули(чипы) бракованные, то почему они работают с малиной?

Полная маркировка чипов на моих модулях
NXP PCA9685PW
CRH499 11
TuD1724-
С уважением, Игорь

empenoso
Сообщения: 901
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

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

Сообщение empenoso » 21 дек 2017, 21:15

У меня вопрос - если используются герконы или например датчик движения Астра-5-А, то нормальное состояние порта - включено.
Когда дверь/окно открывается то состояние порта меняется с включено на выключено, так же и с датчиком движения - постоянно включен, при движении выключается. А можно эту логику инвертировать средствами прошивки?
Так было бы более логично.

Ruslan
Сообщения: 365
Зарегистрирован: 06 янв 2014, 20:44

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

Сообщение Ruslan » 21 дек 2017, 21:33

Так вроде бы именно для этого и задумывалась установка режима работы порта: "P" / "P&R" / "R". Я вот для датчика движения выставил режим "R" и как только он срабатывает (сигнальная цепь размыкается), Мега запускает скрипт на сервере. Для герконов на дверях и окнах выставляю режим "P&R", т.к. мне надо знать и отражать в интерфейсе УД их фактическое состояние (открыто или закрыто).

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

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

Сообщение Andrey_B » 22 дек 2017, 12:27

Igor78, Мега в текущий момент включает бит регистра MODE2: Output logic state inverted. Value to use when no external driver used. Applicable when OE=0 (See Section 7.7 “Using the PCA9685 with and without external drivers”).
Не факт, что так останется в будущем, но пока в отладочных целях так.
Это означает, что подключать/измерять что-то нужно не PWM-GND, а PWM-V+
А так нужно смотреть что и как подключено.

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

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

Сообщение Igor78 » 22 дек 2017, 15:01

Andrey_B писал(а): Это означает, что подключать/измерять что-то нужно не PWM-GND, а PWM-V+
...
Вот до этого я не догадался :)

Ура! Все работает!

Если подать на V+ 5В с внешнего ИП (ток до 2,5A !), а PWM через R=4,7K подтянуть к V+, установив частоту 50Гц, можно спокойно управлять сервоприводом типа TowerPro MG996R

Андрей, спасибо! А можно будет реализовать выбор режима? Тогда сервопривод можно будет подключать напрямую к PCA9685 без подтягивающего резистора (хотя на длинных линиях, наверно, лучше подтянуть к земле)
С уважением, Игорь

empenoso
Сообщения: 901
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

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

Сообщение empenoso » 22 дек 2017, 20:23

Igor78 писал(а):Если подать на V+ 5В с внешнего ИП (ток до 2,5A !), а PWM через R=4,7K подтянуть к V+, установив частоту 50Гц, можно спокойно управлять сервоприводом типа TowerPro MG996R
Вы чем MG996R управляете? Думаю как-то использовать их для поворачивания вертушка на двери, но пока только на уровне идеи нахожусь.

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

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

Сообщение Igor78 » 23 дек 2017, 17:08

...Вы чем MG996R управляете? Думаю как-то использовать их для поворачивания вертушка на двери, но пока только на уровне идеи нахожусь.
Да, они у меня за слив унитаза отвечают :). Пока для управления использовал порт Меги настроенный для передачи ИК-команд: рассчитав длину импульсов можно получить на выходе сигнал с частотой около 50Гц и необходимой скважностью. Далее я этот сигнал поднимаю до 5В (через плату с мосфетами типа YYNMOS-4) и подаю на вход управления сервоприводом.

Вчера, когда разбирался с PCA9685 заметил, что сервопривод нормально воспринимает сигнал управления 3,3В.
Но если подключать напрямую к Меге то ничего не работает, т.к. сигналы от Меги идут не постоянные, а меандром на частоте 38Кгц, которые плата с мосфетом благополучно сглаживает.

Вот пример ИК-комманд для управления сервоприводом:

(угол 0)
http://192.168.0.14/sec/?pt=12&ir=fffff ... &irp4=1152

(угол 110)
http://192.168.0.14/sec/?pt=12&ir=fffff ... &irp4=2272

Сигналы управления ивертированы, т.к. мосфеты N-канальные и сигнал я снимаю с OUT- подтянутого к OUT+(DC +5V) через R=1,5K

Минус такой схемы, в отличии от схемы с PCA9685, в том, что сигнал управления получается не очень "честный", и сервопривод после поворота испытывает легкий тремор, пока сигнал управления не снят.
С уважением, Игорь

nkh
Сообщения: 39
Зарегистрирован: 12 авг 2016, 11:13

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

Сообщение nkh » 25 дек 2017, 18:25

Для установки нового загрузчика прошу помочь настроить программу avrdude_prog 3.3
по умолчанию стоят такие настройки, но при попытке чтения выдает ошибку
avrdude.exe: set SCK frequency to 750000 Hz
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.

может быть не верно настроены галочки?

на usbasp перемычку питания убрал, мега запитана от бп
Вложения
photo_2017-12-25_20-24-47.jpg
photo_2017-12-25_20-24-47.jpg (166.03 КБ) 894 просмотра
avrdude-prog.png
avrdude-prog.png (21.3 КБ) 894 просмотра

Ответить