Удалось снять обмен по I2C между датчиком и ардуино и между датчиком и ESP8266. Как видно из таблички ниже, обмен полностью идентичен, но почему-то через ESP8266 вместо данных получаю 255;255;255;255;ERROR:6.Adress:0x68.
Тут пришло в голову, может у меня какие-нибудь модули не те скомпилированы в прошивку? Достаточно ли I2C и I2C сканера чтобы все работало?
| Arduino | ESP8266 | | |
| START | START | | From master to K30 |
| 0xd0 | 0xd0 | 0x68 - write | |
| ACK | ACK | | |
| 0x22 | 0x22 | | |
| ACK | ACK | | |
| 0x00 | 0x00 | | |
| ACK | ACK | | |
| 0x08 | 0x08 | | |
| ACK | ACK | | |
| 0x2a | 0x2a | Checksum | |
| ACK | ACK | | |
| STOP | STOP | | |
| START | START | | |
| 0xd1 | 0xd1 | 0x68 - read | |
| ACK | ACK | | |
| 0x21 | 0x21 | Status (OK) | From K30 to master |
| ACK | ACK | | |
| 0x03 | 0x02 | ppm hi byte | |
| ACK | ACK | | |
| 0x46 | 0x17 | ppm low byte | |
| ACK | ACK | | |
| 0x6a | 0x3a | checksum | |
| NACK | NACK | | |
| STOP | STOP | | |