私の質問はAndroidのThingsアプリケーションとArduinoとのやりとり方法です。私はAndroidのof Thingsプロジェクトで、甘くて安価なArduinoセンサーをすべて使いたいと思っています。私は2つのソースリンクを見つけて試しましたが、値を得られませんでした。ラズベリーPI 3とAndroidとの接続Arduinoへ
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からRPI 3のアンドロイド物までのすべての値が欲しいです。
javaを使用してarduinoからアンドロイドフレームワークに値を取得する方法はありますか?
[this](http://nilhcem.com/android-things/discovering-the-UART-api)プロジェクトをご覧ください。それは重要な部分を持っています:双方向ロジックレベルコンバータ。 –