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

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

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

Сообщение Andrey_B » 22 дек 2016, 12:19

hawkeye, если под встроенными в MegaD-2561 портами вы понимаете те, что выведены на разъем XT2, то подключить к ним ИК-диод нельзя.
Работа с ИК требует аппаратную функцию ШИМ для формирования несущей, а на портах разъема XT2 этой функции нет.

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

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

Сообщение Alex_Jet » 23 дек 2016, 07:30

Andrey_B писал(а):Датчики могут показывать 85 градусов при наличии каких-то проблем на шине. Например, плохой контакт.
Подключил к одному порту 3 датчика. Каждый отдельным проводом длиной 1 метр. Получилась настоящая звезда (не шина).
Никаких сбоев обнаружено не было.
Перепроверил все. В том числе пайку датчиков друг к другу и проводов к ним. Перепроверил контакты в клеммнике - все ок. Но датчики так же дробят. Может быть один из датчиков глючный? Сегодня попробую обновить прошивку.

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

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

Сообщение Alex_Jet » 28 дек 2016, 23:38

Alex_Jet писал(а):Сегодня попробую обновить прошивку.
Результат обновления прошивки положительный, однако сбои все же бывают. Позже попробую выявить глючный датчик.
3xDS18B20_1-WireBus_Update.jpg
3xDS18B20_1-WireBus_Update.jpg (137.81 КБ) 4165 просмотров

Также подключил HTU21D. Температуру показывает нормально - 26.32 (команда - http://192.168.12.20/sec/?pt=34&scl=35&i2c_dev=htu21d), а влажность имеет такое значение - 128.85(команда - http://192.168.12.20/sec/?pt=34&scl=35& ... &i2c_par=1). Что где не так???

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

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

Сообщение Andrey_B » 30 дек 2016, 18:16

Alex_Jet, проверил с последней прошивкой. И температуру и влажность у меня показывает нормально.
Да, команда без параметра i2c_par - это влажность, а с этим параметром - температура.

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

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

Сообщение Alex_Jet » 30 дек 2016, 20:05

Значит мне не везет с датчиками... Если без параметра, то это влажность??? Проверил - подышал на него, зашкалило до 118,98, потом опустилось до 25. Значит влажность, только почему 118,98?
Не могли бы Вы для MegaD-2561 (аппаратная реализация I2C) выложить пример скрипта для опроса I2C устройств?

d.v.ermakov
Администратор
Сообщения: 2188
Зарегистрирован: 29 май 2015, 21:23
Откуда: Екатеринбург, Нижний Тагил

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

Сообщение d.v.ermakov » 30 дек 2016, 22:44

Относительная влажность вполне может быть больше 100%: "В отсутствие центров конденсации при снижении температуры возможно образование пересыщенного состояния, то есть относительная влажность становится более 100 %." https://ru.wikipedia.org/wiki/%D0%9E%D1 ... 1%82%D1%8C

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

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

Сообщение Andrey_B » 31 дек 2016, 11:58

Alex_Jet писал(а):Не могли бы Вы для MegaD-2561 (аппаратная реализация I2C) выложить пример скрипта для опроса I2C устройств?
http://ab-log.ru/smart-house/ethernet/megad-i2c

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

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

Сообщение Alex_Jet » 01 янв 2017, 11:40

Уважаемые форумчане! Поздравляю ВСЕХ с Новым Годом! Желаю новых разработок, успешных технически и коммерчески функционально законченных устройств:)! Новых познаний, изысканий и идей для воплощения самых неожиданных функций умного дома:))))
Андрей! Вас отдельно поздравляю с Новым Годом и благодарю за написанную 31.12.2016 года статью про "Поддержка работы с I2C-устройствами для MegaD-328/2561". Все понятно и узабилити хорошее!

Теперь по ньюансам работы с HTU21D. После распаковки I2C-PHP библиотеки и драйверов для HTU21D, правки mod_dev_htu21d.php под свои порты и IP-адрес MegaD, скрипт выдал нормальные искомые значения температуры и влажности. Вывод - мой HTU21D рабочий и аппаратно-программная реализация I2C работает.
Далее был включен режим полностью аппаратного I2C (датчик подключен к MegaD-2561). В этом режиме температуру скрипт не подсчитал, а выдал "CRC error", при этом влажность была подсчитана верно. Немного поразбиравшись с php-драйвером и даташитом на датчик увеличил задержку при считывании температуры в режиме аппаратной реализации I2C. Тогда отобразилось и нормальное значение температуры.

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

	if ( defined("V") && V == 3 )
	usleep(15000);
Вывод - аппаратная реализация I2C в MegaD-2561 работает, однако надо учитывать неидентичность одних и тех же датчиков. Поэтому совершенно точно - для "нативной" поддержки моего варианта HTU21D в MegaD-2561 необходимо увеличить задержку "Hold during measurement" при считывании значения температуры. Иначе сейчас выдает 128,85 - значение, которое получается при MSB=LSB=0xFF (симулировал php скриптом при отсутствии или малой задержке "Hold during measurement").

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

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

Сообщение Andrey_B » 02 янв 2017, 13:18

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

Увеличена задержка для конвертации температуры при работе с датчиками HTU21D.

Paradoxx_A
Сообщения: 70
Зарегистрирован: 25 июн 2016, 11:57

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

Сообщение Paradoxx_A » 03 янв 2017, 12:30

Всех участников с новым годом! Правильных электронов в нужных направлениях в ваших сетях :-)
Андрей, могли бы Вы выложить фото внутренностей MegaD-2561-RTC, а точнее как установлен/расположен модуль часов? Я правильно понимаю, что я подключаю к С2/С1 ноги SCL/SDA, запитываю VCC +3.3В и все сразу заработает? Или нужно что-то делать в настройках? Часы DS3231, прошивка последняя. Спасибо!

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

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

Сообщение Andrey_B » 03 янв 2017, 13:00

Paradoxx_A,
SCL = C0
SDA = C1
Порты выбраны так, чтобы было проще подключать готовый модуль часов с помощью стандартного 4-pin Dupont шлейфа.
Необходимо только проверить и переставить при необходимости в кабеле провода VCC и GND.
Плата часов закреплена к плате индикации с внутренней стороны с помощью винтов.

Заработает сразу. Причем в этом случае не обязательно даже указывать порты в настройках закладки "cron".

Paradoxx_A
Сообщения: 70
Зарегистрирован: 25 июн 2016, 11:57

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

Сообщение Paradoxx_A » 03 янв 2017, 15:22

Andrey_B писал(а):Paradoxx_A,

Заработает сразу. Причем в этом случае не обязательно даже указывать порты в настройках закладки "cron".
Андрей, спасибо! Заработало, все нормально. Отключил питание, включил снова и время синхронизировалось. :-)

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

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

Сообщение Andrey_B » 05 янв 2017, 15:08

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

Добавлен новый тип порта I2C.
megad-2561-web-i2c-1.gif
megad-2561-web-i2c-1.gif (3.38 КБ) 3829 просмотров
Для данного типа порта можно выбрать два режима: SDA или SCL, что соответствует двум линиям для обмена информации с цифровыми датчиками.

Если порт настроен, как SDA, появляется возможность указать какой порт используется как SCL, а также тип датчика, который подключен.
megad-2561-web-i2c-2.gif
megad-2561-web-i2c-2.gif (4.22 КБ) 3829 просмотров
В данный момент поддерживаются датчики: HTU21D, BH1750, TSL2591 и специальный режим Scan

Вот так (стандартным образом) отображается информация с датчика HTU21D.
Думаю, это должно несколько облегчить жизнь начинающим пользователям.
megad-2561-web-i2c-3.gif
megad-2561-web-i2c-3.gif (3.78 КБ) 3829 просмотров
Стоит сказать, что для данного типа порта также поддерживается команда cmd=get для получения только значений от датчика.
Пример: http://192.168.0.14/sec/?pt=30&cmd=get

Некоторых пользователей, возможно, смущает, что для I2C-датчиков необходимо использование двух портов.
Это так, но есть определенные нюансы.

1. К двум портам SDA/SCL можно повесить несколько различных датчиков с _разными_ адресами:
В этом случае независимо от типа выбранного устройства во встроенном Web-интерфейсе для получения данных можно вызывать URL вида:
http://192.168.0.14/sec/?pt=30&scl=31&i2c_dev=htu21d
http://192.168.0.14/sec/?pt=30&scl=31&i2c_dev=bh1750
http://192.168.0.14/sec/?pt=30&scl=31&i2c_dev=tsl2591
Словом, все эти датчики могут подключаться к одним и тем же портам.

2. У двух одинаковых датчиков (например, HTU21D) одинаковый адрес, поэтому их нельзя подключить к одной и той же SDA линии. Но можно использовать одну SCL линию.
Это позволяет фактически использовать для каждого датчика не 2, а 1 порт.

Режим Scan позволяет в отладочных целях посмотреть адреса доступных на шине устройств.
megad-2561-web-i2c-4.gif
megad-2561-web-i2c-4.gif (3.54 КБ) 3829 просмотров

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

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

Сообщение llams » 05 янв 2017, 17:39

Alex_Jet писал(а):
Alex_Jet писал(а):Сегодня попробую обновить прошивку.
Результат обновления прошивки положительный, однако сбои все же бывают. Позже попробую выявить глючный датчик.
Что где не так???
У вас проблемы с питанием этого датчика. Видимо нет контакта. Попробуйте после включения скинуть с заведомо рабочего датчика плюсовой провод оставив данные и землю. Результат будет аналогичен.

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

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

Сообщение Alex_Jet » 06 янв 2017, 08:07

llams писал(а):У вас проблемы с питанием этого датчика. Видимо нет контакта. Попробуйте после включения скинуть с заведомо рабочего датчика плюсовой провод оставив данные и землю. Результат будет аналогичен.
Я удивлю - датчики питаются паразитным питанием! Датчики 3-мя проводами подключены непосредственно на клеммники 7I7O (Vdd и Gnd - на "-", Data - на порт). Самое интересное что с версией b4 (мне высылал Андрей) я пока ни разу не наблюдал проблем на шине 1-wire. Сейчас обновлюсь последней, попробую как она себя ведет.

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

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

Сообщение Alex_Jet » 06 янв 2017, 08:17

Andrey_B писал(а):Добавлен новый тип порта I2C.
Андрей, подскажите:
1. Насколько "страшно" загружать конфиг MegaD, сохраненный от предыдущей прошивки? В рамках обновления на самую последнюю.
2. Если считываю показания с нескольких датчиков, сидящих на шине I2C, с помощью php то какие настройки портов оставлять?
3. Если в вебе выбран, например, HTU21D, то какие это накладывает ограничения на подключение других датчиков и считывания их показаний с помощью php?

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

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

Сообщение llams » 06 янв 2017, 09:03

Alex_Jet писал(а):Я удивлю - датчики питаются паразитным питанием!
Ничего удивительного. :-)
Хорошо, что Андрей нашел решение, видимо с таймингами на шине проблемы были.

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

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

Сообщение Andrey_B » 06 янв 2017, 10:54

Alex_Jet,
1. В данный момент загружать конфиг от предыдущей прошивки можно.
2. Если используется I2C-PHP, то в случае V=1 или V=2 настройки портов NC, если V=3, то не имеет значения. Можно для наглядности I2C. Но это следует дополнительно проверить.
3. Если V=3, то никаких ограничений. Следует дополнительно проверить.
Также в случае использования поддерживаемых непосредственно устройством датчиков можно использовать не I2C-PHP, а запрашивать значения напрямую с помощью GET-запросов (параметр i2c_dev).

Ho Hum
Сообщения: 23
Зарегистрирован: 05 янв 2017, 23:26

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

Сообщение Ho Hum » 06 янв 2017, 17:16

Прошу помощи с прошивкой загрузчика.
Пробовал прошиться с помощью usbasp.
Прошивался и от питания программатора, и от внешнего питания модуля (сняв перемычку на программаторе).
Результат все время один - verefication error.
После прошивки загрузчика тем не менее лампочка мигает, прошивка новой версией не проходит с ошибкой недостаточно памяти, прошивка старой версии проходит казалось бы успешно, но модуль в сети не находится...

Что делать?

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

C:\avrdude>avrdude -c usbasp -P usb -p m2561 -e -U flash:w:megad-boot.hex

avrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.08s

avrdude: Device signature = 0x1e9802
avrdude: erasing chip
avrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: reading input file "megad-boot.hex"
avrdude: input file megad-boot.hex auto detected as Intel Hex
avrdude: writing flash (261356 bytes):

Writing | ################################################## | 100% 168.10s

avrdude: 261356 bytes of flash written
avrdude: verifying flash memory against megad-boot.hex:
avrdude: load data flash data from input file megad-boot.hex:
avrdude: input file megad-boot.hex auto detected as Intel Hex
avrdude: input file megad-boot.hex contains 261356 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 122.34s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x1f000
         0xff != 0x6a
avrdude: verification error; content mismatch

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

C:\avrdude>

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

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

Сообщение Alex_Jet » 06 янв 2017, 20:23

Andrey_B,
1. Понятно.
2. Раз в MegaD-2561 есть аппаратная поддержка, то использую только ее. Для "наглядности" назначил портам I2C и соответствующий тип SDA и SCL. Все работает - опрашиваются все датчики и отображаются данные на дисплее.
3. А вот это интересно. То есть устанавливаем устройство "Unk" и обычными запросами (типа, ?pt=30&scl=31&i2c_dev=htu21d) опрашиваем датчики с "нативной" поддержкой.

Еще вопрос - режим Scan можно сделать интерактивным? Как "Device List" в 1-wire bus. Неудобно сохранять этот режим - сбрасывается вся мега, перезагружается, а потом снова входить на нужный порт чтобы посмотреть адреса, подключенных устройств.
Ho Hum писал(а):Прошу помощи с прошивкой загрузчика.
Пробовал прошиться с помощью usbasp.
У меня получилось прошиться только тогда, когда скачал avrdude 6.3. Посмотрите какая у Вас версия.

Ответить