Последние статьи
- Твердотельный датчик направления и скорости ветра. Эксперимент
- iPhone на стене в качестве панели управления домом
- MegaD-16M-XT - подсветка выключателей и не только
- Переделка выключателей в кнопки и мини-обзор текущего рынка
- RadSens - модульный счетчик Гейгера с интерфейсом I2C
- "U" - значит универсальный. Обзор модуля MegaD-16U-XT
- SCD4x - современная альтернатива для измерения концентрации CO2
- HTU31D - новый датчик температуры и влажности с нагревательным элементом
- Измерение коэффициента пульсации ламп с помощью MegaD-2561
- Использование солнечных панелей в качестве датчика освещенности
- Согласование датчиков с выходом типа TTL со стандартными входами контроллера
- DPS368 - датчик атмосферного давления индустриального класса повышенной точности
- DS18B20 Waterpoof - импортзамещение
- TMP117 - высокоточный датчик температуры с интерфейсом I2C
- MegaD-16R-XT - расширитель на 16 релейных выходов
- MegaD-2561-RTC V3 - больше портов, зуммер и ИОН
I2C-PHP. Поддержка работы с I2C-устройствами для MegaD-328/2561
31/12/2016 11:53:02
На этой странице собраны все скрипты, которые могут использоваться для работы с различными I2C-устройствами с помощью контроллеров MegaD-328/2561.
Скрипт позволяет серверу/компьютеру/мини-компьютеру работать с любыми I2C-устройствами, подключенными к разным контроллерам.
Библиотека I2C-PHP предоставляет возможность без изменения кода прошивки контроллера обеспечить работы с любым I2C-устройством, написав для этого драйвер или используя уже готовый.
Драйвер для библиотеки I2C-PHP - это простой скрипт, в котором описана последовательность команд для обмена информацией с I2C-устройством.
I2C-устройства можно подключать к любым портам контроллеров MegaD-328/MegaD-2561. Необходимо только одно условие - наличие у порта подтяжки для работы с цифровыми датчиками.
Таким образом, I2C-устройства можно подключить к любому порту через исполнительный модуль MegaD-14-IN или без исполнительного модуля к любому порту разъема XT2 контроллера MegaD-2561
Библиотека I2C-PHP
Последняя версия 1.4 от 11.08.2016
i2c-php-lib.zip
Библиотека поддерживает три режима работы. Режим работы задается в драйвере с помощью команды типа: define("V", "1");
1 - Полностью программный режим (наиболее медленный);
2 - Частично аппаратный режим (значительно ускоряется передача данных);
3 - Аппаратный режим. Поддерживается только контроллером MegaD-2561! (высокая скорость всех операций)
Драйверы для I2C-PHP
Драйвер состоит из двух файлов: сам драйвер (файл с именем mod_i2c_xxx.php) и пример его использования(файл с именем mod_dev_xxx.php)
Файл драйвера трогать не нужно.
В файле с примером задаются следующие параметры:
define("SCL", "30"); // Порт, к которому подключена линия SCL. На датчиках этот провод так и подписан SCL define("SDA", "31"); // Порт, к которому подключена линия SDA. На датчиках этот провод так и подписан SDA define("MD", "http://192.168.0.14/sec/?"); // IP-адрес контроллера и паролья define("V", "2"); // Выбор режима работы. Если у вас MegaD-2561, обязательно укажите "3".
Последовательность действий:
1. Скачать библиотеку i2c-php-lib.zip
2. Скачать нужный драйвер.
3. Подключить к MegaD устройство, работающее по шине I2C.
4. Открыть файл с примером mod_dev_xxx.php, задать к каким портам подключен датчик, IP-адрес/пароль для доступа к контроллеру.
5. Запустить скрипт командой php mod_dev_xxx.php (предполагается, что в системе уже установлен интерпретатор PHP).
Датчик освещенности BH1750
Статья о BH1750
i2c-php-bh1750.zip - драйвер для BH1750
Пример использования:
$lux = get_lux(); echo "Освещенность в люксах (Lx): $lux";
Датчик атмосферного давления BMP180
Статья о BMP180
i2c-php-bmp180.zip - драйвер для BMP180
Пример использования:
$pressure = get_pressure(); echo "Атмосферное давление (мм.рт.ст.): $pressure"; $temperature = get_temperature(); echo "Температура (гр. C): $temperature";
Датчик температуры и влажности HTU21D
Статья о HTU21D
i2c-php-htu21d.zip - драйвер для HTU21D
Пример использования:
$temperature = get_htu21d_temperature(); echo "Температура (гр. C): ".$temperature; $humidity = get_htu21d_humidity(); echo "Относительная влажность (%): ".$humidity; $hum_compensated = $humidity + (25 - $temperature) * -0.15; echo "Относительная влажность (%, комп.): ".$hum_compensated;
Важно! MegaD-2561 может работать с датчиками HTU21D самостоятельно без каких-либо дополнительных библиотек.
Пример HTTP/GET запросов к контроллеру для получения значений температуры и влажности.
Отображение влажности http://192.168.0.14/sec/?pt=35&scl=34&i2c_dev=htu21d Отображение температуры http://192.168.0.14/sec/?pt=35&scl=34&i2c_dev=htu21d&i2c_par=1
OLED дисплей SSD1306
Статья о SSD1306
i2c-php-ssd1306.zip - драйвер для SSD1306
Пример использования:
ssd1306_init(); ssd1306_clear_display(); ssd1306_write_text("Влажность: 47%", "verdana_10", 0, 2); ssd1306_write_text(" ХОРОШЕГО ДНЯ!", "mistral_10", 0, 5); //ssd1306_draw_pic("ab_log_logo");
Датчик освещенности TSL2591
Статья о TSL2591
i2c-php-tsl2591.zip - драйвер для TSL2591
Пример использования:
$lux = get_lux(); echo "Освещенность в люксах (Lx): $lux";
Автор: Andrey_B
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.
Добавить комментарий:
Сортировка комментариев: Последние сверху | Первые сверху