[Модуль] MegaD (megad)
Модератор: immortal
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Модуль "MegaD"
Ну тогда никаких проблем нет. Датчик поддерживается на уровне прошивки.
Почитайте ст.82-83 этой ветки. Правда, там мы "боремся" с датчиком BME280. В общем все тоже самое по аналогии (только команды, конечно, должны быть для HTU21D и брать их надо отсюда: https://ab-log.ru/smart-house/ethernet/megad-2561).
Если что не получится, пишите. Победим.
Почитайте ст.82-83 этой ветки. Правда, там мы "боремся" с датчиком BME280. В общем все тоже самое по аналогии (только команды, конечно, должны быть для HTU21D и брать их надо отсюда: https://ab-log.ru/smart-house/ethernet/megad-2561).
Если что не получится, пишите. Победим.
-
- Сообщения: 36
- Зарегистрирован: Пн окт 30, 2017 9:54 am
- Благодарил (а): 8 раз
- Поблагодарили: 2 раза
Re: Модуль "MegaD"
Насколько я понял он поддерживается на уровне прошивки в контроллере MegaD-2561. Но у меня MegaD-328 с прошивкой "3.57_beta"
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Модуль "MegaD"
Да, это существенная поправка. Вроде бы MegaD-328 работа с I2C прямыми get-запросами не поддерживается. Тогда надо будет пользоваться библиотекой I2C-PHP и драйвером для I2C-PHP (ссылку я приводил выше). Там же описан механизм использования.
Сам таким макаром датчики не запускал. Попробуйте запустить. Если не "заведется" надо будет поспрашивать у более сведующих, куда и как это хозяйство правильно "засунуть".
Сам таким макаром датчики не запускал. Попробуйте запустить. Если не "заведется" надо будет поспрашивать у более сведующих, куда и как это хозяйство правильно "засунуть".
-
- Сообщения: 36
- Зарегистрирован: Пн окт 30, 2017 9:54 am
- Благодарил (а): 8 раз
- Поблагодарили: 2 раза
Re: Модуль "MegaD"
Дак вопрос так и стоял - куда и как это хозяйство правильно "засунуть"? Сам я так и не разобрался. Извиняюсь за исходно неверные и не полные данные вопроса.
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Модуль "MegaD"
Если я правильно понимаю, запускать надо такой код (порты, конечно, должны быть ваши):
Внутри скрипта запускается драйвер mod_i2c_htu21d.php.
Вопрос к сообществу №1, куда положить файл драйвера, чтобы происходило обращение к нему из кода?
Внутри файла драйвера происходит обращение к файлу библиотеки I2C mod_i2c_lib.php.
Вопрос к сообществу №2 аналогичен, куда положить файл библиотеки, чтобы происходило обращение к нему из кода файла драйвера?
Код: Выделить всё
define("SCL", "8");
define("SDA", "9");
define("MD", "http://192.168.0.14/sec/?");
require_once("mod_i2c_htu21d.php");
$temperature = get_htu21d_temperature();
echo "Temperature: ".$temperature;
$humidity = get_htu21d_humidity();
echo "Humidity: ".$humidity;
$hum_compensated = $humidity + (25 - $temperature) * -0.15;
echo "Humidity (compensated): ".$hum_compensated;
Вопрос к сообществу №1, куда положить файл драйвера, чтобы происходило обращение к нему из кода?
Внутри файла драйвера происходит обращение к файлу библиотеки I2C mod_i2c_lib.php.
Вопрос к сообществу №2 аналогичен, куда положить файл библиотеки, чтобы происходило обращение к нему из кода файла драйвера?
-
- Сообщения: 36
- Зарегистрирован: Пн окт 30, 2017 9:54 am
- Благодарил (а): 8 раз
- Поблагодарили: 2 раза
Re: Модуль "MegaD"
Да да. Вышеозначенный код я запихнул в сценарий "GetТempHumMegaD" и получил при его выполнении -
Temperature: CRC error - ff Humidity: CRC error - ff Humidity (compensated): -3.75
При этом файлы библиотеки и драйвера положил в ...\_majordomo\htdocs.
Дальше мысли кончились! Тупик!
Temperature: CRC error - ff Humidity: CRC error - ff Humidity (compensated): -3.75
При этом файлы библиотеки и драйвера положил в ...\_majordomo\htdocs.
Дальше мысли кончились! Тупик!
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Модуль "MegaD"
Может быть тогда заменить в коде метода путь к файлу драйвера на:
Еще, возможно, в файле драйвера тоже аккуратно поменять путь к фалу библиотеки:
Вдруг поможет.
Код: Выделить всё
require_once("./htdocs/mod_i2c_htu21d.php");
Код: Выделить всё
require_once("./htdocs/mod_i2c_lib.php");
-
- Сообщения: 36
- Зарегистрирован: Пн окт 30, 2017 9:54 am
- Благодарил (а): 8 раз
- Поблагодарили: 2 раза
Re: Модуль "MegaD"
Попробовал и получил:
Warning: require_once(./htdocs/mod_i2c_htu21d.php): failed to open stream: No such file or directory in C:\_majordomo\htdocs\modules\scripts\scripts.class.php(142) : eval()'d code on line 8
Fatal error: require_once(): Failed opening required './htdocs/mod_i2c_htu21d.php' (include_path='.;C:\_majordomo\server\php\PEAR') in C:\_majordomo\htdocs\modules\scripts\scripts.class.php(142) : eval()'d code on line 8