I2c с примером

Добрый день
Есть большая необходимость подключить несколько устройств по i2c
Видел что это крайне не рекомендовано, и не гарантийный случай итд, все прочитал и принял

я сейчас пытаюсь подключить устройство (TDS метр для измерения качества воды) по i2c,
В web включить i2c generic, подключил по пинам, устройство видит все ок,
i2cdetect -y 5 видит адрес устройства 0B
dmesg | grep -i i2c
19.062784] i2c-gpio mod1_i2c: using lines 276 (SDA) and 277 (SCL)
не понимаю как с конфигурировать его в WB что бы данные с устройств появились в mqtt
список адресов с данными у меня есть(в библиотеке артудино написаны)
пожалуйста, может есть пример конфига устройства i2c и где он должен быть расположен, еще что то, просто даже не знаю с чего начать, все что прочитал к сожалению мне не дало понимания как добавить устройство
Спасибо

Добрый день.
То, что i2cdetect отрабатывает показывая наличие устройства на шине - говорит о том что оно, устройство, подключено правильно.

Это для диагностики имеет опосредованную ценность, означает что шана ядром создана.

Можно пойти двумя путями: Сделать описание дайвером ядра, так же как (на контроллере) в /usr/share/wb-hwconf-manager/modules/wbio16.dtsi где строкой compatible = "microchip,mcp23017"; указывается что именно за устройство на шине и адресе а ниже - куда данные из него раскладывать в /dev/
Таким образом работу с устройством берт на себя ядро, отображая читаемые данные в файловую систему (и наоборот).
Второй вариант - это написание своего “драйвера”. Точнее - сервиса, который общается по i2c с устройством и выклюадывает данные с него в MQTT. Пример (питон) можно глянуть тут: How to Use I2C Devices with Raspberry Pi | Microcontroller Tutorials

Но я для своих проектов использую *ну и советую) банальную Ардуино с RS-485 трансмиттером делая Modbus RTU slave. Это проще и универсальнее. Подключается - вот так: Дружим WirenBoard с Arduino (slave) по ModBus
Ну и есть у меня более годный шаблон с регистрами.

Добрый день, спасибо за развернутый ответ, действительно лучше использовать RS485
если возможно что бы закрыть тему, прикрепите пожалуйста шаблон с регистрами
Спасибо

Не совсем понятно, шаблон чего? А, понял!
WB_v_0.ino (20.5 КБ)

1 Like

вы написали “Ну и есть у меня более годный шаблон с регистрами”
или я что то не так понял )?