私はArduinoを使ってTXポートに書き込むように設定しています。これはAndroid Things Developerのプレビュー3で私のRaspberry Pi 3に接続しています(私はRX/TXケーブルは正しく構成され、電圧はOKです)。Android Things 3ラズベリーPI 3のrxtxから読み取れない
Android ThingsのPeripheralManagerServiceを使用してデータを読み込んでデータを書き込もうとしています。
私はアプリ起動時にエラーがあります:
4月11日16:26:13.665 163から163 /を? scottext = u:r:peripheralman:s0 tcontext = u:object_r:name = "ttyAMA0" dev = "tmpfs"のavc:denied {read write}デバイス:s0 tclass = chr_file許容= 1
04-11 16:26:13.665 163-163 /? "/ dev/ttyAMA0" dev = "tmpfs" ino = 1203 scontext = u:r:peripheralman:s0 tcontext = u:オブジェクト_r:デバイス:s0 tclass = chr_file許容= 1
04-11 16:26:13.665 163-163 /? "/ dev/ttyAMA0" dev = "tmpfs" ino = 1203 ioctlcmd = 5401 scontext = u:r:peripheralman:s0 tcontextの場合、I/peripheralman:type = 1400 audit(0.0:46):avc:{ioctl}を拒否しました。 = U:object_r:デバイス:S0 TCLASS = chr_file許容= 1つの
マイコード:
public class MainActivity extends Activity {
private final int BUFFER_SIZE = 64;
private UartDevice rxtx;
public void configureUartFrame(UartDevice uart) throws IOException {
// Configure the UART port
uart.setBaudrate(9600);
}
public void writeUartData(UartDevice uart, String msg) throws IOException {
byte[] buffer = msg.getBytes();
int count = uart.write(buffer, buffer.length);
Log.d(TAG, "Wrote " + count + " bytes to peripheral");
}
public void readUartBuffer(UartDevice uart) throws IOException {
byte[] buffer = new byte[BUFFER_SIZE];
int count;
while ((count = uart.read(buffer, buffer.length)) > 0) {
Log.d(TAG, "Read " + count + " bytes from peripheral");
Log.d("Message", new String(buffer));
}
}
@Override
protected void onStart() {
super.onStart();
try {
writeUartData(rxtx, "teste");
readUartBuffer(rxtx);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PeripheralManagerService manager = new PeripheralManagerService();
manager.getUartDeviceList();
List<String> portList = manager.getUartDeviceList();
if (portList.isEmpty()) {
Log.i(TAG, "No UART port available on this device:");
} else {
Log.i(TAG, "List of RXTX available ports: - " + portList);
}
try{
rxtx = manager.openUartDevice(portList.get(0));
configureUartFrame(rxtx);
}catch (IOException e){
e.printStackTrace();
}
}}
誰かがそれが何ができるか知っていますか?
最終的には数日で死んでしまうリンクの代わりに、テキストコードと関連するエラーを投稿(コピー&ペースト)すると、さらに多くの助けを得ることができます。ただの考え:) –
Ok!私は編集しました。 thx – Stould
RPi3ヘッダーのRX/TXピン(8/10)に直接接続していますか?これはUSB-TTLケーブルですか? ネイティブUARTを使用している場合、ドキュメントごとにモードを正しく設定しましたか? https://developer.android.com/things/hardware/raspberrypi.html#configuring_the_uart_mode – Devunwired