Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
hawkeye, если под встроенными в MegaD-2561 портами вы понимаете те, что выведены на разъем XT2, то подключить к ним ИК-диод нельзя.
Работа с ИК требует аппаратную функцию ШИМ для формирования несущей, а на портах разъема XT2 этой функции нет.
Работа с ИК требует аппаратную функцию ШИМ для формирования несущей, а на портах разъема XT2 этой функции нет.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Перепроверил все. В том числе пайку датчиков друг к другу и проводов к ним. Перепроверил контакты в клеммнике - все ок. Но датчики так же дробят. Может быть один из датчиков глючный? Сегодня попробую обновить прошивку.Andrey_B писал(а):Датчики могут показывать 85 градусов при наличии каких-то проблем на шине. Например, плохой контакт.
Подключил к одному порту 3 датчика. Каждый отдельным проводом длиной 1 метр. Получилась настоящая звезда (не шина).
Никаких сбоев обнаружено не было.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Результат обновления прошивки положительный, однако сбои все же бывают. Позже попробую выявить глючный датчик.Alex_Jet писал(а):Сегодня попробую обновить прошивку.
Также подключил 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). Что где не так???
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Alex_Jet, проверил с последней прошивкой. И температуру и влажность у меня показывает нормально.
Да, команда без параметра i2c_par - это влажность, а с этим параметром - температура.
Да, команда без параметра i2c_par - это влажность, а с этим параметром - температура.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Значит мне не везет с датчиками... Если без параметра, то это влажность??? Проверил - подышал на него, зашкалило до 118,98, потом опустилось до 25. Значит влажность, только почему 118,98?
Не могли бы Вы для MegaD-2561 (аппаратная реализация I2C) выложить пример скрипта для опроса I2C устройств?
Не могли бы Вы для MegaD-2561 (аппаратная реализация I2C) выложить пример скрипта для опроса I2C устройств?
-
- Администратор
- Сообщения: 2188
- Зарегистрирован: 29 май 2015, 21:23
- Откуда: Екатеринбург, Нижний Тагил
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Относительная влажность вполне может быть больше 100%: "В отсутствие центров конденсации при снижении температуры возможно образование пересыщенного состояния, то есть относительная влажность становится более 100 %." https://ru.wikipedia.org/wiki/%D0%9E%D1 ... 1%82%D1%8C
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
http://ab-log.ru/smart-house/ethernet/megad-i2cAlex_Jet писал(а):Не могли бы Вы для MegaD-2561 (аппаратная реализация I2C) выложить пример скрипта для опроса I2C устройств?
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Уважаемые форумчане! Поздравляю ВСЕХ с Новым Годом! Желаю новых разработок, успешных технически и коммерчески функционально законченных устройств:)! Новых познаний, изысканий и идей для воплощения самых неожиданных функций умного дома:))))
Теперь по ньюансам работы с HTU21D. После распаковки I2C-PHP библиотеки и драйверов для HTU21D, правки mod_dev_htu21d.php под свои порты и IP-адрес MegaD, скрипт выдал нормальные искомые значения температуры и влажности. Вывод - мой HTU21D рабочий и аппаратно-программная реализация I2C работает.
Далее был включен режим полностью аппаратного I2C (датчик подключен к MegaD-2561). В этом режиме температуру скрипт не подсчитал, а выдал "CRC error", при этом влажность была подсчитана верно. Немного поразбиравшись с php-драйвером и даташитом на датчик увеличил задержку при считывании температуры в режиме аппаратной реализации I2C. Тогда отобразилось и нормальное значение температуры.
Вывод - аппаратная реализация I2C в MegaD-2561 работает, однако надо учитывать неидентичность одних и тех же датчиков. Поэтому совершенно точно - для "нативной" поддержки моего варианта HTU21D в MegaD-2561 необходимо увеличить задержку "Hold during measurement" при считывании значения температуры. Иначе сейчас выдает 128,85 - значение, которое получается при MSB=LSB=0xFF (симулировал php скриптом при отсутствии или малой задержке "Hold during measurement").
Андрей! Вас отдельно поздравляю с Новым Годом и благодарю за написанную 31.12.2016 года статью про "Поддержка работы с I2C-устройствами для MegaD-328/2561". Все понятно и узабилити хорошее!Andrey_B писал(а):http://ab-log.ru/smart-house/ethernet/megad-i2c
Теперь по ньюансам работы с 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);
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
http://ab-log.ru/files/File/megad-2561/ ... a4-hex.zip
Увеличена задержка для конвертации температуры при работе с датчиками HTU21D.
Увеличена задержка для конвертации температуры при работе с датчиками HTU21D.
-
- Сообщения: 70
- Зарегистрирован: 25 июн 2016, 11:57
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Всех участников с новым годом! Правильных электронов в нужных направлениях в ваших сетях
Андрей, могли бы Вы выложить фото внутренностей MegaD-2561-RTC, а точнее как установлен/расположен модуль часов? Я правильно понимаю, что я подключаю к С2/С1 ноги SCL/SDA, запитываю VCC +3.3В и все сразу заработает? Или нужно что-то делать в настройках? Часы DS3231, прошивка последняя. Спасибо!
Андрей, могли бы Вы выложить фото внутренностей MegaD-2561-RTC, а точнее как установлен/расположен модуль часов? Я правильно понимаю, что я подключаю к С2/С1 ноги SCL/SDA, запитываю VCC +3.3В и все сразу заработает? Или нужно что-то делать в настройках? Часы DS3231, прошивка последняя. Спасибо!
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Paradoxx_A,
SCL = C0
SDA = C1
Порты выбраны так, чтобы было проще подключать готовый модуль часов с помощью стандартного 4-pin Dupont шлейфа.
Необходимо только проверить и переставить при необходимости в кабеле провода VCC и GND.
Плата часов закреплена к плате индикации с внутренней стороны с помощью винтов.
Заработает сразу. Причем в этом случае не обязательно даже указывать порты в настройках закладки "cron".
SCL = C0
SDA = C1
Порты выбраны так, чтобы было проще подключать готовый модуль часов с помощью стандартного 4-pin Dupont шлейфа.
Необходимо только проверить и переставить при необходимости в кабеле провода VCC и GND.
Плата часов закреплена к плате индикации с внутренней стороны с помощью винтов.
Заработает сразу. Причем в этом случае не обязательно даже указывать порты в настройках закладки "cron".
-
- Сообщения: 70
- Зарегистрирован: 25 июн 2016, 11:57
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Андрей, спасибо! Заработало, все нормально. Отключил питание, включил снова и время синхронизировалось.Andrey_B писал(а):Paradoxx_A,
Заработает сразу. Причем в этом случае не обязательно даже указывать порты в настройках закладки "cron".
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
http://ab-log.ru/files/File/megad-2561/ ... a6-hex.zip
Добавлен новый тип порта I2C.
Для данного типа порта можно выбрать два режима: SDA или SCL, что соответствует двум линиям для обмена информации с цифровыми датчиками.
Если порт настроен, как SDA, появляется возможность указать какой порт используется как SCL, а также тип датчика, который подключен.
В данный момент поддерживаются датчики: HTU21D, BH1750, TSL2591 и специальный режим Scan
Вот так (стандартным образом) отображается информация с датчика HTU21D.
Думаю, это должно несколько облегчить жизнь начинающим пользователям.
Стоит сказать, что для данного типа порта также поддерживается команда 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 позволяет в отладочных целях посмотреть адреса доступных на шине устройств.
Добавлен новый тип порта I2C.
Для данного типа порта можно выбрать два режима: SDA или SCL, что соответствует двум линиям для обмена информации с цифровыми датчиками.
Если порт настроен, как SDA, появляется возможность указать какой порт используется как SCL, а также тип датчика, который подключен.
В данный момент поддерживаются датчики: HTU21D, BH1750, TSL2591 и специальный режим Scan
Вот так (стандартным образом) отображается информация с датчика HTU21D.
Думаю, это должно несколько облегчить жизнь начинающим пользователям.
Стоит сказать, что для данного типа порта также поддерживается команда 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 позволяет в отладочных целях посмотреть адреса доступных на шине устройств.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
У вас проблемы с питанием этого датчика. Видимо нет контакта. Попробуйте после включения скинуть с заведомо рабочего датчика плюсовой провод оставив данные и землю. Результат будет аналогичен.Alex_Jet писал(а):Результат обновления прошивки положительный, однако сбои все же бывают. Позже попробую выявить глючный датчик.Alex_Jet писал(а):Сегодня попробую обновить прошивку.
Что где не так???
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Я удивлю - датчики питаются паразитным питанием! Датчики 3-мя проводами подключены непосредственно на клеммники 7I7O (Vdd и Gnd - на "-", Data - на порт). Самое интересное что с версией b4 (мне высылал Андрей) я пока ни разу не наблюдал проблем на шине 1-wire. Сейчас обновлюсь последней, попробую как она себя ведет.llams писал(а):У вас проблемы с питанием этого датчика. Видимо нет контакта. Попробуйте после включения скинуть с заведомо рабочего датчика плюсовой провод оставив данные и землю. Результат будет аналогичен.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Андрей, подскажите:Andrey_B писал(а):Добавлен новый тип порта I2C.
1. Насколько "страшно" загружать конфиг MegaD, сохраненный от предыдущей прошивки? В рамках обновления на самую последнюю.
2. Если считываю показания с нескольких датчиков, сидящих на шине I2C, с помощью php то какие настройки портов оставлять?
3. Если в вебе выбран, например, HTU21D, то какие это накладывает ограничения на подключение других датчиков и считывания их показаний с помощью php?
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Ничего удивительного.Alex_Jet писал(а):Я удивлю - датчики питаются паразитным питанием!
Хорошо, что Андрей нашел решение, видимо с таймингами на шине проблемы были.
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Alex_Jet,
1. В данный момент загружать конфиг от предыдущей прошивки можно.
2. Если используется I2C-PHP, то в случае V=1 или V=2 настройки портов NC, если V=3, то не имеет значения. Можно для наглядности I2C. Но это следует дополнительно проверить.
3. Если V=3, то никаких ограничений. Следует дополнительно проверить.
Также в случае использования поддерживаемых непосредственно устройством датчиков можно использовать не I2C-PHP, а запрашивать значения напрямую с помощью GET-запросов (параметр i2c_dev).
1. В данный момент загружать конфиг от предыдущей прошивки можно.
2. Если используется I2C-PHP, то в случае V=1 или V=2 настройки портов NC, если V=3, то не имеет значения. Можно для наглядности I2C. Но это следует дополнительно проверить.
3. Если V=3, то никаких ограничений. Следует дополнительно проверить.
Также в случае использования поддерживаемых непосредственно устройством датчиков можно использовать не I2C-PHP, а запрашивать значения напрямую с помощью GET-запросов (параметр i2c_dev).
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Прошу помощи с прошивкой загрузчика.
Пробовал прошиться с помощью usbasp.
Прошивался и от питания программатора, и от внешнего питания модуля (сняв перемычку на программаторе).
Результат все время один - verefication error.
После прошивки загрузчика тем не менее лампочка мигает, прошивка новой версией не проходит с ошибкой недостаточно памяти, прошивка старой версии проходит казалось бы успешно, но модуль в сети не находится...
Что делать?
Пробовал прошиться с помощью 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>
Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)
Andrey_B,
1. Понятно.
2. Раз в MegaD-2561 есть аппаратная поддержка, то использую только ее. Для "наглядности" назначил портам I2C и соответствующий тип SDA и SCL. Все работает - опрашиваются все датчики и отображаются данные на дисплее.
3. А вот это интересно. То есть устанавливаем устройство "Unk" и обычными запросами (типа, ?pt=30&scl=31&i2c_dev=htu21d) опрашиваем датчики с "нативной" поддержкой.
Еще вопрос - режим Scan можно сделать интерактивным? Как "Device List" в 1-wire bus. Неудобно сохранять этот режим - сбрасывается вся мега, перезагружается, а потом снова входить на нужный порт чтобы посмотреть адреса, подключенных устройств.
1. Понятно.
2. Раз в MegaD-2561 есть аппаратная поддержка, то использую только ее. Для "наглядности" назначил портам I2C и соответствующий тип SDA и SCL. Все работает - опрашиваются все датчики и отображаются данные на дисплее.
3. А вот это интересно. То есть устанавливаем устройство "Unk" и обычными запросами (типа, ?pt=30&scl=31&i2c_dev=htu21d) опрашиваем датчики с "нативной" поддержкой.
Еще вопрос - режим Scan можно сделать интерактивным? Как "Device List" в 1-wire bus. Неудобно сохранять этот режим - сбрасывается вся мега, перезагружается, а потом снова входить на нужный порт чтобы посмотреть адреса, подключенных устройств.
У меня получилось прошиться только тогда, когда скачал avrdude 6.3. Посмотрите какая у Вас версия.Ho Hum писал(а):Прошу помощи с прошивкой загрузчика.
Пробовал прошиться с помощью usbasp.