将Raspberry PI 3与Android Things连接到Arduino [已关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Raspberry PI 3与Android Things连接到Arduino [已关闭]相关的知识,希望对你有一定的参考价值。

我的问题是如何与Arduino交流android of Things应用程序。我想在我的Android of Things项目中使用所有甜美便宜的Arduino传感器库。我找到了两个源链接并试过但我没有得到值。

enter image description here

class Arduino(uartDevice: String = "UART0"): AutoCloseable {
    private val TAG = "Arduino"
    private val uart: UartDevice by lazy {
        PeripheralManagerService().openUartDevice(uartDevice).apply {
            setBaudrate(115200)
            setDataSize(8)
            setParity(UartDevice.PARITY_NONE)
            setStopBits(1)
        }
    }

    fun read(): String {
        val maxCount = 8
        val buffer = ByteArray(maxCount)
        var output = ""
        do {
            val count = uart.read(buffer, buffer.size)
            output += buffer.toReadableString()
            if(count == 0) break
            Log.d(TAG, "Read ${buffer.toReadableString()} $count bytes from peripheral")
        } while (true)
        return output
    }

    private fun ByteArray.toReadableString() = filter { it > 0.toByte() }
            .joinToString(separator = "") { it.toChar().toString() }

    fun write(value: String) {
        val count = uart.write(value.toByteArray(), value.length)
        Log.d(TAG, "Wrote $value $count bytes to peripheral")
    }

    override fun close() {
        uart.close()
    }
}

我在堆栈上发现了这个Raspberry Pi to Arduino Communication源,但讨论与我的问题无关。我想要从arduino到android东西RPI 3的所有值。

我们如何使用java从arduino通过android框架获取值?

答案

Pi和Arduino中嵌入了各种通信协议。最简单的方法是通过UART交换数据。

您的Arduino代码可以不断传输数据,Pi可以有代码接收它。如果您的数据不适合单个字节,您可以编写其他自定义逻辑来对其进行编码和解码。

以上是关于将Raspberry PI 3与Android Things连接到Arduino [已关闭]的主要内容,如果未能解决你的问题,请参考以下文章

无法通过 BLE 将 Android 应用程序连接到 Raspberry Pi 3

在Android和Raspberry Pi 3 Linux之间建立Wifi-Direct连接

如何在Raspberry Pi 3模块上启用I2C(与Android Things一起使用作为操作系统)

从Android Things设备上的应用程序中选择WiFi网络(Raspberry Pi 3)

MediaPlayer无法在Android Things Raspberry Pi 3上运行

在 Android 和 Raspberry Pi 3 Linux 之间建立 Wifi-Direct 连接