Android: Bluetooth Serielle (Com-Port) zur Kommunikation mit dem Android-Handy
Ich bin versucht, die Kommunikation über Bluetooth mit einem programmierbaren Mikrocontroller. Das Bluetooth-Gerät auf dem mikrocontroller kommuniziert (speziell) über Bluetooth Seriellen COM-Port-Nummer 4.
FRAGE: Wie bekomme ich die Android-App zum Lesen von Daten aus dieser COM-port (Nummer 4)?
Kenne ich die UUID ist eine bekannte einzigartige ID,das funktioniert für dieses Gerät, aber ich glaube nicht, dass es nichts zu tun hat mit der Angabe des COM-port.
static final UUID myUUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
btSocket = btDevice.createRfcommSocketToServiceRecord( myUUID);
btSocket.connect();
valid.append( btDevice.getName() + "\n" + btDevice.getAddress());
north.append("Socket Connected");
InputStream mmInStream = btSocket.getInputStream();
OutputStream mmOutStream = btSocket.getOutputStream();
byte[] buffer = new byte[10];
int bytes;
StringBuffer str = new StringBuffer();
while (true) {
try {
mmOutStream.write("a".getBytes());
//Reads a # of bytes until the end of stream is reached
bytes = mmInStream.read(buffer);
//Transform to string
str.append(buffer.toString()+"\t"); //Clear the buffer
Log.e("DATA", "THE DATA: "+ str.toString());
south.setText(str.toString());
str.delete(0,str.length());
} catch (IOException e) {
break;
} }}
InformationsquelleAutor johnathan doe | 2011-02-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den COM-port ist etwas, das existiert nur auf dem mikrocontroller nicht das Bluetooth-Gerät angeschlossen ist. Das Bluetooth-Gerät gar nicht wissen, welche COM-port des Mikrocontrollers verwendet, um eine Verbindung herzustellen. Das Bluetooth-Gerät die Verbindung, die micro, ist über die TX und RX Leitungen. Die Tatsache, dass Sie befestigt sind, Stifte, die auf der micro Zuordnung zu einem bestimmten COM-port ist irrelevant, und unbekannt zu dem Bluetooth-Gerät.
InformationsquelleAutor Don
Ich hatte dieses problem mit eine benutzerdefinierte bluetooth-Gerät, das ich gebaut habe. Anstelle der Verwendung von createRfcommSocketToServiceRecord in Ihrem thread schließen, versuchen, etwas ähnlich dem folgenden:
Wo meine mmDevice ist Ihre btDevice.
Diese Kräfte eine socket-Verbindung zwischen dem unbekannten Gerät und dem smartphone. Von dem, was ich gehört habe, gibt es ein Problem im Android-anschließen "nicht-ähnlichen" Geräten. Lohnt sich ein Schuss.
InformationsquelleAutor John Leehey