Hallo Ich spiele gerade mit dem mittlerweile bekannten Bluetoothmodul BTM-2222 rum und hab es an einen UART-USB Konverter der einen seriellen Port angeschlossen. ansteuern tu ich das Modul mit java über mein Netbook wenn ich also in das terminmal programm daten über den USB-UART und dann über das bluetooth modul schicke empfange ich über mein netbook bei java nur ein Zeichen. und senden kann ich garnicht..... hat jmd ne idee?
Versuche es mal bei einem Hellseher, der gib uns irgend etwas, was wir uns dazu anschauen können.
Moin, kannst du vllt. etwas (alles) von deinem Java Programm veröffentlichen (jedenfalls die Bluetooth relevanten Klassen), damit wir sehen können, wie dein Code funktioniert. Hast du mal ausprobiert, ob es funktioniert, wenn du den BTM222 per UART Brücke mit dem PC verbindest und gleichzeitig mit einem Bluetooth Adapter und dem dazugehörigen Programm auf den BTM verbindest. Dann kannst du mit zwei Terminalprogrammen auf den beiden COM Ports die Verbindung ausprobieren. PC - USB - UART - BTM - Bluetooth - PC Auf welchem Betriebssystem läuft das Java Programm? Viele Grüße Christian
ich habe hier mal den COde und eine skizze gepostet^^
1 | package bluetooth; |
2 | import java.io.DataInputStream; |
3 | import java.io.DataOutputStream; |
4 | import java.io.IOException; |
5 | import java.io.InputStream; |
6 | import java.io.OutputStream; |
7 | import java.util.Vector; |
8 | import javax.bluetooth.*; |
9 | import javax.microedition.io.Connector; |
10 | import javax.microedition.io.StreamConnection; |
11 | import javax.obex.ServerRequestHandler; |
12 | import com.intel.bluetooth.BlueCoveImpl; |
13 | import com.intel.bluetooth.BluetoothConnectionAccess; |
14 | import com.intel.bluetooth.BluetoothConnectionAccessAdapter; |
15 | import com.intel.bluetooth.BluetoothStack; |
16 | import com.intel.bluetooth.MicroeditionConnector; |
17 | import com.intel.bluetooth.RemoteDeviceHelper; |
18 | import com.intel.bluetooth.btspp.Connection; |
19 | |
20 | public class FuerModulbasis_1_ { |
21 | static BluetoothStack sta ; |
22 | public static final Vector/*<RemoteDevice>*/ devicesDiscovered = new Vector(); |
23 | static UUID uuidModul; |
24 | static boolean Modul = false; |
25 | static boolean trust; |
26 | static boolean Authen; |
27 | static BlueCoveImpl cove; |
28 | static String Moduladd; |
29 | static String Key; |
30 | static String ModulName="Modul"; |
31 | static String UUID ="0003"; |
32 | public static void main(String[] args) throws IOException, InterruptedException { |
33 | final Object inquiryCompletedEvent = new Object(); |
34 | uuidModul= new UUID("1101",true); |
35 | |
36 | |
37 | devicesDiscovered.clear(); |
38 | DiscoveryListener listener = new DiscoveryListener() { |
39 | public void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod) { |
40 | devicesDiscovered.addElement(btDevice); |
41 | try { |
42 | System.out.println("Device " + btDevice.getBluetoothAddress() + btDevice.getFriendlyName(false)+ " found"); |
43 | if(btDevice.getFriendlyName(false).equals(ModulName)){ |
44 | System.out.println("Found my Modul"); |
45 | Moduladd=btDevice.getBluetoothAddress(); |
46 | Modul=true; |
47 | trust = btDevice.isTrustedDevice(); |
48 | Authen = btDevice.isAuthenticated(); |
49 | System.out.println(btDevice.getFriendlyName(false)+"Device ist trustet " + trust ); |
50 | if (!btDevice.isTrustedDevice()){ |
51 | System.out.println(btDevice.getFriendlyName(false) +"ist nicht gekoppelt"); |
52 | } |
53 | |
54 | RemoteDeviceHelper.authenticate(btDevice, "1234"); |
55 | Authen = btDevice.isAuthenticated(); |
56 | trust =btDevice.isTrustedDevice(); |
57 | System.out.println(btDevice.getFriendlyName(false)+"Device ist trustet " + trust ); |
58 | System.out.println(btDevice.getFriendlyName(false)+"Device ist authentifizierz" + Authen); |
59 | System.out.println("vor Dildo"); |
60 | |
61 | String tempString = "btspp://"+Moduladd+":1;authenticate=false;encrypt=false;master=false"; |
62 | System.out.println(tempString); |
63 | |
64 | StreamConnection conn = (StreamConnection) Connector.open(tempString); |
65 | |
66 | byte[] g = new byte[7]; |
67 | for(byte i=0;i<7;i++){ |
68 | g[i]=0; |
69 | } |
70 | InputStream input= conn.openInputStream(); |
71 | |
72 | int bnack= input.read(g,1,4); |
73 | System.out.println(bnack+"bytes geelsen"); |
74 | |
75 | input.close(); |
76 | /* |
77 | OutputStream output= conn.openOutputStream(); |
78 | output.write(g); |
79 | System.out.println("bytes gelesen"); |
80 | output.close(); |
81 | */ |
82 | conn.close(); |
83 | for(int i=0;i<g.length-1;i++){ |
84 | System.out.println(g[i]); |
85 | } |
86 | System.out.println("nach open"); |
87 | System.out.println("nach connector");} |
88 | } catch (IOException e) { |
89 | e.printStackTrace(); |
90 | } |
91 | System.out.println("Device " + btDevice.getBluetoothAddress() + " found"); |
92 | } |
93 | public void inquiryCompleted(int discType) { |
94 | System.out.println("Device Inquiry completed!"); |
95 | synchronized(inquiryCompletedEvent){ |
96 | inquiryCompletedEvent.notifyAll(); |
97 | } |
98 | } |
99 | |
100 | public void serviceSearchCompleted(int transID, int respCode) { |
101 | } |
102 | |
103 | public void servicesDiscovered(int transID, ServiceRecord[] servRecord) { |
104 | } |
105 | }; |
106 | |
107 | synchronized(inquiryCompletedEvent) { |
108 | boolean started = LocalDevice.getLocalDevice().getDiscoveryAgent().startInquiry(DiscoveryAgent.GIAC, listener); |
109 | if (started) { |
110 | System.out.println("wait for device inquiry to complete..."); |
111 | inquiryCompletedEvent.wait(); |
112 | System.out.println(devicesDiscovered.size() + " device(s) found"); |
113 | } |
114 | } |
115 | } |
116 | } |
HTerm installieren, virtuellen Com-Port (USB-Adapter) mit BT-Modul öffnen und in einem 2. HTerm-Fenster den Com-Port des On-Board Bluetooth-Moduls öffnen. Wenn dann die Kommunikation klappt, hat dein Programm ein Problem. tschuessle Bernhard
genügend stützelkos verbaut ? die btm-222 zicken ganz gerne unkontrolliert wen diese fehlen.
Bernhard Spitzer schrieb: > HTerm installieren, virtuellen Com-Port (USB-Adapter) mit BT-Modul > öffnen und in einem 2. HTerm-Fenster den Com-Port des On-Board > Bluetooth-Moduls öffnen. Wenn dann die Kommunikation klappt, hat dein > Programm ein Problem. > > tschuessle > Bernhard habe realterm dran die kommunikation zwishen uart und btm-222 geht ohne proble
K. J. schrieb: > genügend stützelkos verbaut ? die btm-222 zicken ganz gerne > unkontrolliert wen diese fehlen. kommt drauf an was genügend sind^^ da ich aber dachte dass das btm-222 selber schon die elkos onboard hat habe ich keine zusätzlichen verbaut und daher nehm ich mal an zu wenig....die kommnimkation zum uart modul klappt aber ich kann das btm-222 problemlos konfigurieren
Naja das Modul zieht 80mA b.z.w. beim senden 140-180mA bei mir hat es sich ganz gerne verschluckt hab je VDD 22µF +100nF verbaut danach lief es sauber.
Tobi L. schrieb: > Bernhard Spitzer schrieb: >> HTerm installieren, virtuellen Com-Port (USB-Adapter) mit BT-Modul >> öffnen und in einem 2. HTerm-Fenster den Com-Port des On-Board >> Bluetooth-Moduls öffnen. Wenn dann die Kommunikation klappt, hat dein >> Programm ein Problem. >> >> tschuessle >> Bernhard > > habe realterm dran die kommunikation zwishen uart und btm-222 geht ohne > proble Aber nur auf der PC Seite, oder? Benutze doch auf beiden Seiten ein Terminalprogramm, dann siehst du gleich ob es an deinem Java Programm liegt...
Martin S. schrieb: > Tobi L. schrieb: >> Bernhard Spitzer schrieb: >>> HTerm installieren, virtuellen Com-Port (USB-Adapter) mit BT-Modul >>> öffnen und in einem 2. HTerm-Fenster den Com-Port des On-Board >>> Bluetooth-Moduls öffnen. Wenn dann die Kommunikation klappt, hat dein >>> Programm ein Problem. >>> >>> tschuessle >>> Bernhard >> >> habe realterm dran die kommunikation zwishen uart und btm-222 geht ohne >> proble wie kann ich denn mit dem terminalprogramm auf mein bluetootjstack im netbook zugreifen? die ideee hatte ich auch schon^^
eigentlich sollte es den BTM222 (ich denke automatisch) als viruellen Com Port installieren. Schau mal im Gerätemanager nach. Dem VCP ist dann ne Nummer zugewiesen, die du dann im Terminalprogramm einstellen kannst. Ansonsten mit einem Bluetoothprogramm die SPP Verbindung aktivieren.
Martin S. schrieb: > eigentlich sollte es den BTM222 (ich denke automatisch) als viruellen > Com Port installieren. Schau mal im Gerätemanager nach. Dem VCP ist dann > ne Nummer zugewiesen, die du dann im Terminalprogramm einstellen kannst. > > Ansonsten mit einem Bluetoothprogramm die SPP Verbindung aktivieren. also auf das modul komme ich ja mit dem terminal.programm aber nicht auf der ntbook seite übrigens weiss ich. jetzt wie ich dem modul mehrere bytes schicken/empfangen kann. das lustige ist aber dass ich dem modul erst was schicken klann wenn ich vorher was gelesen habe....hat das Modul nur einen pfuffer der wenn ich was lese auch gleichzeitig was reinschreiben muss bzw umgekehrt? oder hat das modul 2 pfuffer?
Das BTM hat keine Buffer, jedenfalls habe ich noch keine bemerkt. Ich schreibe teilweise nur Daten, ohne ein einziges Mal zu lesen. Der Fehler muss woanders liegen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.