Данные с HTU21D через MegaD-328 в Majordomo

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Ответить
RW6MIU
Сообщения: 13
Зарегистрирован: 13 окт 2017, 10:23

Данные с HTU21D через MegaD-328 в Majordomo

Сообщение RW6MIU » 28 фев 2018, 23:04

Добрый вечер всем.
Не нашёл подобного подробного обсуждения этой темы и решил поднять новую тему.
И так в исходнике имеем:
Датчик температуры/влажности - HTU21D
Контроллер - MegaD-328 (прошивка 3.57 beta)
Сервер - Majordomo

Есть статья Andrey_B https://www.ab-log.ru/smart-house/ethernet/htu21d-megad
Но куда и как правильно это хозяйство запихнуть чтоб всё заработало нигде не указано.
Максимум что я смог получить это вот такой ответ на сценарий:
Temperature: CRC error - ff Humidity: CRC error - ff Humidity (compensated): -3.75
Дальше мысли кончились! Тупик!

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

Re: Данные с HTU21D через MegaD-328 в Majordomo

Сообщение Andrey_B » 01 мар 2018, 09:26

1. Проверить правильность подключения датчика.
2. Скачать и откорректировать код PHP-скрипта (указать порты, к которым подключены линии SCL, SDA, а также IP-адрес и пароль контроллера)
3. Запустить PHP-скрипт
4. Если скрипт покажет нормальные значения, тогда уже заниматься интеграцией в Majordomo.
---
Альтернативное решение: использовать MegaD-2561, в котором поддержка HTU21D выполнена средствами прошивки контроллера.

RW6MIU
Сообщения: 13
Зарегистрирован: 13 окт 2017, 10:23

Re: Данные с HTU21D через MegaD-328 в Majordomo

Сообщение RW6MIU » 02 мар 2018, 14:16

1. Проверено кучку раз.
2. Сделано всё как по инструкции.
3. А вот тут пожалуйста для не программистов. Как это сделать без использования сервера? И возникает вопрос куда положить файлы библиотеки и драйвера?
4. Я запустил его как смог (из браузера командой - localhost\myscript.php) и получил даже ответ от него:
Temperature: CRC error - ff Humidity: CRC error - ff Humidity (compensated): -3.75
Что бы это значило?
---
MegaD-2561 конечно хороший вариант но не мой.

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

Re: Данные с HTU21D через MegaD-328 в Majordomo

Сообщение Andrey_B » 02 мар 2018, 17:58

Какая версия прошивки контроллера?
Как настроены порты, куда подключены линии SCL и SDA? Какие это порты?
Какие порты указаны в скрипте? Как определен параметр "V"?
Вывод скрипта говорит об ошибке. Никакие данные он не получил.

RW6MIU
Сообщения: 13
Зарегистрирован: 13 окт 2017, 10:23

Re: Данные с HTU21D через MegaD-328 в Majordomo

Сообщение RW6MIU » 03 мар 2018, 23:12

Контроллер по мотивам - MegaD-328 (прошивка 3.57 beta) с тактированием от ENC28J60
Порты настроены как "NC"
Линия SCL подключена к порту P6 а линия SDA к порту P5 (они же указаны в скрипте- define("SCL", "6"); define("SDA", "5")
Параметр V пробовал и 1 и 2 и даже 3.
Ошибка это понятно. Разобраться бы почему.
Вот вопрос это программная проблема или может на уровне железа что не так?
Есть ли какой метод отследить какие ни будь пакеты или обращения к этим портам контроллера? Может в УАРТ или ещё как?
А если не секрет можно увидеть схему одного из универсальных входов блока 14IN ? Можно в личку.

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

Re: Данные с HTU21D через MegaD-328 в Majordomo

Сообщение Ruslan » 03 мар 2018, 23:33

RW6MIU писал(а):
03 мар 2018, 23:12
Порты настроены как "NC"
...
Т.е. порты не сконфигурированы. Видимо, в этом проблема (как минимум). Не знаю, как это должно выглядеть на прошивке 3.57 beta, но, наверняка, там надо выставить на входе "DSen" (цифровые датчики). Андрей, думаю, прояснит этот вопрос.

RW6MIU
Сообщения: 13
Зарегистрирован: 13 окт 2017, 10:23

Re: Данные с HTU21D через MegaD-328 в Majordomo

Сообщение RW6MIU » 04 мар 2018, 00:09

В статье Андрея по подключению этих датчиков (ссылка в первом посте) есть отсыл к первоисточнику работы с i2c на MegaD-328. Это подключение датчика давления BMP 180. Дак вот там как раз и говорится о том что не IN и не OUT а именно NC должно быть.

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

Re: Данные с HTU21D через MegaD-328 в Majordomo

Сообщение Andrey_B » 04 мар 2018, 10:30

RW6MIU писал(а):
03 мар 2018, 23:12
Контроллер по мотивам - MegaD-328 (прошивка 3.57 beta) с тактированием от ENC28J60
А в вашем устройстве на портах, к которым подключен датчик, есть подтяжка к питанию? Например, резистор номиналом 4,7кОм?

RW6MIU
Сообщения: 13
Зарегистрирован: 13 окт 2017, 10:23

Re: Данные с HTU21D через MegaD-328 в Majordomo

Сообщение RW6MIU » 04 мар 2018, 12:54

Да конечно. 10 кОм к 3,3 вольтам. Пробовал ещё 1 кОм но результат тот же.

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

Re: Данные с HTU21D через MegaD-328 в Majordomo

Сообщение Andrey_B » 04 мар 2018, 15:14

Попробуйте на всякий случай 4,7кОм.
Также убедитесь, что скрипт, который запускается на компьютере, имеет сетевой доступ к контроллеру.

RW6MIU
Сообщения: 13
Зарегистрирован: 13 окт 2017, 10:23

Re: Данные с HTU21D через MegaD-328 в Majordomo

Сообщение RW6MIU » 04 мар 2018, 21:42

Попробовал. Результат тот же.
Сетевой доступ к контроллеру точно есть, как минимум по трём причинам.
1. На контроллер я захожу и могу его настраивать.
2. При отключенном контроллере скрипт выдаёт ошибку доступа по адресу, тогда как при включенном просто ошибку CRC Eror.
3. При запуске скрипта на указанных портах наблюдаю осциллографом начало активной жизни несколько секунд.

RW6MIU
Сообщения: 13
Зарегистрирован: 13 окт 2017, 10:23

Re: Данные с HTU21D через MegaD-328 в Majordomo

Сообщение RW6MIU » 05 мар 2018, 22:11

Доброго вечера всем.
Продолжаю эпопею с I2C. Наконец добился от этого датчика правильных показаний температуры/влажности.
Но появились вопросы. Проблема была в железе. А точнее входы у меня были сделаны вот по этой схеме
Изображение
Только здесь не хватает резистора 4,7 кОм от ножки IN контроллера к 3,3 вольтам питания.
Дак вот пока я не выкинул конденсаторы из этой схемы шина I2C ни в какую не работала.
Сколько я разных схем пересмотрел и практически у всех стоят эти конденсаторы. Вот возникает вопрос к знающим, почему же они мне и моему датчику жить мешали?
Подскажите, кто знает, что тут не так.

Ответить