Bluetooth Projekt - Problem beim mehrmaligen Senden

fLooojava

Bekanntes Mitglied
Hallo Java-Forum Community,

ich bin derzeit an einem kleinen Projekt für private Zwecke beschäftigt. Es geht um eine RGB LED Stripe welche mittels einer App gesteuert wird. Der Hardware Aufbau ist relativ simple. Ich benutze dazu ein Arduino welcher mir mittels PWM die einzelnen Kanäle ansteuert. Mein Problem liegt definitiv am App, jedoch ist nicht ausgeschlossen dass mein Bluetooth Modul ein ???:L hat.... Ich kann es mir momentan nicht erklären, weshalb folgender Fehler auftritt:

Sobald ich mein Bluetooth Modul aus & wieder einstecke und mit meinem App über den Bluetooth Socket was schicke funktioniert es. Ich erhalte den gewünschten Wert und die gewünschte Farbe wird angezeigt. Beim weiteren Senden einer neuen Farbe klappt es nicht mehr. Es scheint, als ob das BT Modul immer noch beschäftigt ist.


Code zum senden:

Java:
public void sendValue(String value) {
    	
    	if(value=="red"){			setOutput("r");
    	Thread connection = new Thread() {
			public void run() {
				
    			String address ="meine mac";
				BluetoothDevice device = BA.getRemoteDevice(address);
				String outputstring = "r";

				try {
					//Create a Socket connection: need the server's UUID number of registered
					
					socket = device.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"));
					socket.connect();			
					OutputStream outputStream = socket.getOutputStream();
				
					 outputStream.write(outputstring.getBytes());
						outputStream.flush();
						socket.close();

				
					
				} catch (IOException e) {
				} 
			};
		};
	connection.start();
	
    	} }

Ich habe die setOutput bzw. getOutput Methode nicht berücksichtigt, da ich hier noch ein Fehler im Code habe. Den String, der gesendet werden soll habe ich innerhalb vom Thread deklariert, dies funktioniert auch wunderbar. Ich baue also den Socket auf, gebe meine MAC an ( in diesem Fall entfernt ) und wähle die default UUID laut Internet-recherche. Die Verbindung funktioniert, das senden klappt, aber jedoch nur einmalig. Für sämtliche anderen Farbvariationen sieht der Code identisch aus, außer dass eben für green "g", für blue "b" ecetera gesendet wird. Schlussendlich lösche ich den Buffer des outputStreams und schließe den Socket. Beim nächsten Senden starte ich den Socket wieder und die gleiche Prozedur erfolgt.

Ich sehe keinen Fehler im Code, habe bisher auch nichts recherchieren können, nur dass ich anscheinend nicht der einzige bin.

06-11 18:37:47.232: D/BluetoothUtils(4885): isSocketAllowedBySecurityPolicy start : device null
06-11 18:37:47.232: W/BluetoothAdapter(4885): getBluetoothService() called with no BluetoothManagerCallback
06-11 18:37:53.947: D/BluetoothUtils(4885): isSocketAllowedBySecurityPolicy start : device null
06-11 18:37:53.947: W/BluetoothAdapter(4885): getBluetoothService() called with no BluetoothManagerCallback
06-11 18:37:54.097: E/(4885): java.io.IOException: read failed, socket might closed or timeout, read ret: -1
06-11 18:37:54.097: E/(4885): at android.bluetooth.BluetoothSocket.readAll(BluetoothSocket.java:1016)
06-11 18:37:54.097: E/(4885): at android.bluetooth.BluetoothSocket.readInt(BluetoothSocket.java:1036)
06-11 18:37:54.097: E/(4885): at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:654)
06-11 18:37:54.097: E/(4885): at com.example.rgbled.MainActivity$7.run(MainActivity.java:175)

Kennt jemand dieses Problem, kann mir jemand unter die Arme greifen? Wo liegt das Problem, was mache ich falsch? :bahnhof:

Wär cool wenn wer ne Lösung hat! :)

flo
 
Zuletzt bearbeitet:

Kevin94

Top Contributor
Du sendest 1 Byte und machst dann die Connection wieder zu? Das erste was ich probieren würde ist, ob man nicht einfach das Socket offen lassen kann.

Was ich mir als Ursache vorstellen kann, ist, dass die Verbindung auf Arduino-Seite nicht richtig getrennt wurde/die Trennung nicht mitbekommen hat und deshalbe keine neue Verbindung aufbauen kann/ erwartet.
 

fLooojava

Bekanntes Mitglied
Morgen Kevin,

ja ich mach die Socket Verbindung nach dem Senden gleich wieder zu. Ich habe aber auch schon versucht den Socket ohne schließen zu betreiben, hat aber leider nicht geklappt wobei ich hier dann einen Fehler gemacht habe. Ich vermute mal wenn ich verbunden bin und dann mich nochmal verbinden möchte dieselbe Fehlermeldung auftritt wie ich bereits gepostet habe? Hier könnte der Fehler sein beziehungsweise das wird's wohl sein. Ich werd das heute Abend testen.

Auf dem Arduino lausche isch dauernd auf das BT Modul. Jenachdem was empfangen wird wird diese und jene Schleife durchlaufen. Somit erwarte ich eigentlich immer Daten.

Wo kann hier auf der Seite des Empfängers ein Problem auftreten?

flo
 
Zuletzt bearbeitet:

Kevin94

Top Contributor
Ich hab keine Ahnung, wie das BT-Modul für den Arduino aufgebaut ist, aber ich kann mir gut vorstellen, dass es nur eine Verbindung gleichzeitig erlaubt und nicht seht fehlertolerant ist, sondern dass du diese Fehlererkennung (sprich, dass die Verbindung geschlossen wurde) selbst durchführen musst. Aber wie gesagt, das ist reine Spekulation.

Wenn du den Socket offen halten willst, er aber im IdleMode sehr schnell einen Timeout liefert, empfiehlt sich ein bisschen Ping/Pong, also einfach NoOps hin und zurück senden, um zu überprüfen ob auf beiden Seiten die Verbindung noch steht.
 

fLooojava

Bekanntes Mitglied
Ja das ist natürlich möglich. Ich werd mir das heute Abend wenn ich von der Arbeit zurück bun ansehen. .. und dann wieder berichten.

lg flo
 

fLooojava

Bekanntes Mitglied
So... Vielen Dank Kevin - du hast mir richtig weitergeholfen. Es funktioniert nun, krass das ich darauf nicht vorher gekommen bin ;).

Natürlich soll der Socket aktiv bleiben, lediglich den Outputstream sollte ich leeren. Anschließend sollte ich nicht erneut connecten, denn genau hier passiert der Fehler.

Vielen Dank - es funktioniert! =)

flo
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Bluetooth, Inputstream Java Basics - Anfänger-Themen 0
ruutaiokwu Bluetooth-Zugriff, braucht es dazu plattformabhängige Libraries oder kann das Java mittlerweile selbst? Java Basics - Anfänger-Themen 10
R Java, Bluetooth: mit PC eine SPP Verbindung aufbauen Java Basics - Anfänger-Themen 1
G Bluetooth unter Java? Java Basics - Anfänger-Themen 5
H Github Projekt starten/anbinden in eclipse Java Basics - Anfänger-Themen 11
B VISA.jar in Projekt einbinden (Library) Java Basics - Anfänger-Themen 5
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
F Einem GIT repository ein Projekt hinzufügen Java Basics - Anfänger-Themen 1
I @Entity Klassen, Service Beans etc. aus einem Share Projekt beziehen? Java Basics - Anfänger-Themen 26
C externe jar einbinden in Eclipse-Projekt Java Basics - Anfänger-Themen 2
B non-modular dependency in modularem Projekt verwenden Java Basics - Anfänger-Themen 3
S Kleines Java-Projekt; Kassenprogramm Java Basics - Anfänger-Themen 7
S Mein erstes eigenes Projekt - Aufbau und Strukturierung Java Basics - Anfänger-Themen 6
J Projekt neu übersetzen Java Basics - Anfänger-Themen 3
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
A Java die richtige Programmiersprache für mein Projekt? Java Basics - Anfänger-Themen 1
B Quicksort in Verbindung mit einem Projekt Java Basics - Anfänger-Themen 1
S Video Projekt Java Basics - Anfänger-Themen 28
A Hilfe bei Java Projekt Java Basics - Anfänger-Themen 4
B Grundsatzfragen zu meinem neuen Projekt Einnahmen-Ausgaben App Java Basics - Anfänger-Themen 8
C Projekte in 2 versch. Arbeitsbereichen: auf ein Projekt verweisen (ohne Fehler zu bekommen) Java Basics - Anfänger-Themen 8
D Gemeinsames Projekt Java Basics - Anfänger-Themen 13
J Veranstaltungs Projekt Java Basics - Anfänger-Themen 2
K Java Projekt Hilfe Java Basics - Anfänger-Themen 5
C Fehler beim Speichern (Build projekt) Java Basics - Anfänger-Themen 42
Dimax In Java File (nicht in Java Projekt) mysql Driver importieren Java Basics - Anfänger-Themen 3
G Projekt architektur (implementierung) Java Basics - Anfänger-Themen 3
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
W Neues Lern-Projekt gesucht Java Basics - Anfänger-Themen 8
R Java-Projekt im FTP hochladen Java Basics - Anfänger-Themen 6
C Projekt öffnen BlueJ Java Basics - Anfänger-Themen 1
S Image Datei selektieren und in Projekt Verzeichnis abspeichern/kopieren Java Basics - Anfänger-Themen 16
D Ausführbare jar/exe aus JAVAFX Projekt erstellen (IntelliJ) Java Basics - Anfänger-Themen 14
A Wie kann ich folgendes Projekt realisieren? Java Basics - Anfänger-Themen 4
B Derzeit JSF - Projekt, später soll MobileApp folgen Java Basics - Anfänger-Themen 5
H projekt 1 code schöner schreiben. Java Basics - Anfänger-Themen 25
H java erstes projekt Java Basics - Anfänger-Themen 502
B Erste Schritte nio oder io für neues Projekt Java Basics - Anfänger-Themen 1
G Mein Java Projekt funktioniert nicht Java Basics - Anfänger-Themen 5
alkaA Intellij Java Datei aus nicht Projekt ausführen? Java Basics - Anfänger-Themen 2
D Erste Schritte Projekt in Ecplise in einer .zip Datei speichern Java Basics - Anfänger-Themen 8
I Projekt als .jar Datei speichern - Bilder werden nicht mehr angezeigt Java Basics - Anfänger-Themen 4
F Git Projekt im Build Path Java Basics - Anfänger-Themen 3
Edin Sinnvolle Projekt-/Codepräsentation Java Basics - Anfänger-Themen 2
L Suche ein sampel Projekt Java Basics - Anfänger-Themen 2
L PROBLEM! "Bug" bei Konto-Projekt! Java Basics - Anfänger-Themen 7
J App.jar muss im Projekt App als Bibliothek vorhanden sein?! Java Basics - Anfänger-Themen 1
J Projekt nicht editierbar modifizieren (NetBeans 8) Java Basics - Anfänger-Themen 10
L Compiler-Fehler AndroidStudio Projekt startet nicht mehr!!! Java Basics - Anfänger-Themen 2
F Eclipse alle Projekt weg Java Basics - Anfänger-Themen 6
D Erste Schritte Projekt Zuul Java Basics - Anfänger-Themen 192
D JavaFX, Verweis auf Datei im Projekt Java Basics - Anfänger-Themen 0
M Hilfe bei Roulette Projekt Java Basics - Anfänger-Themen 7
M bestehendes Projekt als Applet speichern Java Basics - Anfänger-Themen 2
M Netbeans Projekt lauffähig abspeichern Java Basics - Anfänger-Themen 3
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
S Best Practice Projekt als .JAR exportiert Java Basics - Anfänger-Themen 4
H Ist Java überhaupt die richtige Sprache für das Projekt? Java Basics - Anfänger-Themen 8
elischa Eclipse Plugin Projekt, Maven Projekt und dependencies Java Basics - Anfänger-Themen 5
M Open Source Projekt mit Unit Tests gesucht Java Basics - Anfänger-Themen 5
T Java Projekt aufbau Java Basics - Anfänger-Themen 5
C java Projekt mit Xuggler exportieren Java Basics - Anfänger-Themen 9
H Menüführung Projekt Wecker Java Basics - Anfänger-Themen 5
S Klassen Externe Klasse in ein Projekt mit einbinden Java Basics - Anfänger-Themen 7
T Config: Projekt erkennt Javaversion nicht Java Basics - Anfänger-Themen 12
M Erste Schritte Heruntergeladenes Java Projekt lauffähig kriegen Java Basics - Anfänger-Themen 1
A Java Projekt Java Basics - Anfänger-Themen 1
1 Im Java Projekt eine txt datei einbinden? Java Basics - Anfänger-Themen 8
N Eclipse Projekt im Terminal (Mac) öffnen.... Java Basics - Anfänger-Themen 4
O Zu viel static im Projekt Java Basics - Anfänger-Themen 9
M Bekomm altes Uni-Projekt in java nicht mehr zum laufen Java Basics - Anfänger-Themen 7
H Empfohlene Projekt-Struktur und mehr ... Java Basics - Anfänger-Themen 5
J Thread erstellen (BlueJ Projekt) Java Basics - Anfänger-Themen 3
I Fehler mit kurzem Projekt Java Basics - Anfänger-Themen 7
J Schule Java Projekt Java Basics - Anfänger-Themen 8
J Projekt im anderen Projekt benutzen Java Basics - Anfänger-Themen 2
B Projekt öffnen (Eclipse) Java Basics - Anfänger-Themen 2
L Erstes Projekt aus zwei Projekten Java Basics - Anfänger-Themen 1
M Maven Dependency im Java Projekt Java Basics - Anfänger-Themen 1
L Eclipse Projekt überschreiben Java Basics - Anfänger-Themen 4
L Suche Programmier-Projekt mit Anleitung Java Basics - Anfänger-Themen 3
G Projekt: Webmeeting für Musiker Java Basics - Anfänger-Themen 12
R Anfängertipps für ein Projekt Java Basics - Anfänger-Themen 1
B [Projekt] CyberCafé Software Java Basics - Anfänger-Themen 13
fLooojava kleines Projekt - Verwendung von Youtube Java Basics - Anfänger-Themen 22
X Projekt Java Anfänger Java Basics - Anfänger-Themen 28
T mein erstes Java projekt Java Basics - Anfänger-Themen 8
J BlueJ Liste Würfel Projekt Java Basics - Anfänger-Themen 2
N Input/Output Exportieren Java Projekt Java Basics - Anfänger-Themen 6
M JSF Projekt erstellen unter Eclipse Java Basics - Anfänger-Themen 7
J Erste Schritte Hilfe bei absolutem Anfänger-Projekt Java Basics - Anfänger-Themen 4
S Projekt-Idee für testgetriebene Entwicklung gesucht Java Basics - Anfänger-Themen 2
D McDonalds - Java Projekt frage Java Basics - Anfänger-Themen 7
G Problem: Java Projekt als ausführbare Jar Exportieren (Eclipse) Java Basics - Anfänger-Themen 10
V Kann kein Java Projekt mehr mit Eclipse erstellen Java Basics - Anfänger-Themen 5
K Java Projekt als ausführbare Jar Exportieren (Eclipse) Problem Java Basics - Anfänger-Themen 24
E HILFE Projekt für die Schule--> Bilder einfügen Java Basics - Anfänger-Themen 9
N Kann man in einem Projekt nur eine Klasse ausführen? Java Basics - Anfänger-Themen 6
I Projekt aus .jar Sources erstellen Java Basics - Anfänger-Themen 10
E Mein erstes Java Projekt - Sauberer code? Java Basics - Anfänger-Themen 28

Ähnliche Java Themen

Neue Themen


Oben