В версии 0.0.9 появилась возможность управлять
любыми i2c железками с помощью http get запросов. Можно считать так же и датчики, которые не реализованы в прошивке.
Данная возможность дает внешним скриптам например на PHP или на другом языке управлять i2c устройствами.
Если вы знаете как работает i2c,то алгоритм команд для вас будет понятен без проблем..
Адрес команды обращения к i2c устройствам
http://ip_адрес/i2cgo.
Структура команды:
/i2cgo?adr=XX&set=YY&getlen=Z
Где:
- XX - i2c адрес устройства.(шестнадцатеричное значение)
- YY- байты,отправляемые устройству.(шестнадцатеричные значение).Можно передать до 10 байт. Параметр опускается, если нужно только считать данные
- Z- длина принятых данных. Параметр getlen необязательный, опускается если нужно только отправить данные.
Пример устанавливает на PCF8574 с адресом 0х20 на всех выводах 1.
Читаем состояние выводов:
Получаем калибровочные данные у BMP180 в регистре AA:
/i2cgo?adr=77&set=AA&getlen=2
Получаем сырые данные с датчика освещенности BH1750 с адресом 0x23:
/i2cgo?adr=23&set=23&getlen=2