Android 作为 I2C 从设备的东西

Android things as a I2C Slave

我想通过 I2C 将 Raspberry Pi 运行 Android 东西与 Arduino Nano 连接起来。官方 Android 文档说:

Managing the slave device connection

有没有办法让 Arduino 充当主人,Raspberry 用 Android 东西充当奴隶?

在 Arduino 端,有 onRequest 或 onReceive 回调可用于 Wire 库,但我没有在 Android 端使用外围设备 I/O API 进行任何回调。

是否有任何解决方案或只是在 Android 端使用一个简单的循环来读取 Arduino 寄存器,无论是否有变化。 谢谢

似乎无法将 Raspberry Pi 与 Android 一起用作 I2C 从设备,但您可以使用各种解决方法:

1) 通过其他接口(UART 或 SPI)将 Arduino-master 连接到 Raspberry Pi 以获取寄存器数据交换;

2) 使用其他 Arduino-slave 通过 I2C 连接到目标 Arduino-master 并通过 UART/SPI;

连接到 Raspberry Pi

3) 通过 GPIO 实现自定义 bit-by-bit 数据传输;

等等

Is there any solution or just use on Android side a simple loop to read from Arduino register regardless if there is a change or not.

您可以在两者之间设置 GPIO 连接

https://developer.android.com/things/sdk/pio/gpio.html#input-state

有 arduino "ping" AndroidThings 板当它有数据要读取时。

然后 AndroidThings 开发板可以使用 I2C 进行读取 https://developer.android.com/things/reference/com/google/android/things/pio/I2cDevice.html#read(byte[],%20int)

(比轮询循环更好)