В буфере я получил значения, которые нельзя преобразовать в текст или шестнадцатеричный формат, [98 63 65 -128 3 0 -94 ....]

Кто-нибудь знает пример чтения Java / Android или конвертер результатов в текст?

Заранее спасибо.

while ((count = uart.read(buffer, buffer.length)) > 0) {
    Log.d(TAG, "Read " + count + " bytes from peripheral");
    byte[] lectura=new byte[count];

    for(int i=0;i<count;i++){
        lectura[i]= (buffer[i]);
        Log.w(TAG,lectura[i] + " | " + buffer[i]);
    }
1
Dario 17 Окт 2019 в 13:07

1 ответ

Лучший ответ

Вам нужно не только читать необработанные данные из Raspberry UART, но и реализовать протокол VE.Direct (получать и анализировать все сообщение) link1 link2 (обе ссылки из статья о взломах солнечного контроллера и интеграции с Arduino). Также проверьте эту официальную документацию , FAQ и примеры, такие как это. На самом деле вам нужно преобразовать что-то вроде SerialRead.ino в Android Things Java.

UPD: Здесь также хороший пример (вам нужно преобразовать VEDirect.cpp в java).

2
Andrii Omelchenko 18 Окт 2019 в 05:45