Удалось снять обмен по 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 | | |