В процесі розробки читалки розумних батарейок DJI утворилась така штука як UART-to-I2C адаптер на Arduino. Одразу скажу, що подібні речі в природі існують. Дивився ще на cp2112, але там величезна обв'язка з USB HID. І $40. І доставка 2-3 тижні (tm)
І є Coptonix #020101
по $25, в нього все в ascii, навіть руками з консолі можна щось робити (але не зручно, бо нема local echo), в нього якось мутно описано отримання відповіді, а статус шини взагалі ніяк не передається. І він Slave
Маємо прошивку, що вміє в режимі I2C Master
- 3 протоколи на USB UART (115200 8N1)
- RAW (довжина даних + адреса (1 чи 2 байти) і самі дані у форматі шини I2C)
- Coptonix #020101, тільки Master, див. нижче
- manual: local echo, команди вручну, дані в HEX, є сканер шини
- 7/10 біт адресація на шині I2C
- пакети до 255 байт
- python adapter class, що імітує i2c_msg з smbus2.SMBus що спрощує інтеграцію з готовими програмами, що працюють з I2C/smbus або портування з Raspbery ui2c.py
- можливість надсилати debug messages не порушуючи роботу в режимі RAW
https://alter.org.ua/ua/soft/arduino/ui2c/
https://github.com/Alter-1/ui2c