代码之家  ›  专栏  ›  技术社区  ›  webaloman

Android作为I2C从机

  •  2
  • webaloman  · 技术社区  · 6 年前

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

    管理从设备连接

    有没有办法让Arduino扮演主人,让Android的东西扮演奴隶?

    在Arduino端,Wire library提供了onRequest或onReceive回调,但在Android端,我不使用任何带有外围I/O API的回调。

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

    2 回复  |  直到 6 年前
        1
  •  2
  •   Blundell    6 年前

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

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

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

    当AndroidThings板有数据要读取时,让arduino“ping”该板。

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

    (比轮询循环更好)

        2
  •  0
  •   Andrii Omelchenko    6 年前

    似乎没有办法将Raspberry Pi与Android事物一起用作I2C从机,但您可以使用各种解决方法:

    1) 通过其他接口(UART或SPI)将Arduino主机连接到Raspberry Pi,以进行寄存器数据交换;

    2) 使用其他Arduino从设备,通过I2C连接到目标Arduino主设备,通过UART/SPI连接到Raspberry Pi;

    3) 通过GPIO实现自定义逐位数据传输;