Hallo,
mein Ziel ist es, über eine App, wie BluControl oder BlueTerm, Daten an
einen Atmega8 zu senden bzw. zu empfangen. Leider hapert es bei mir
schon ganz am Anfang...
Ich finde keine gescheite Anleitung, die mir erklärt, wie diese
AT-Befehle funktionieren, also wie man die sendet und wie ich dann ein
Zeichen an ein verbundenes Gerät sende und empfange.
Höchstens ein paar Arduino Seiten, aber da bin ich mir nicht sicher, wie
ich diesen Code auf den Atmega8 anwenden kann.
Zusätzlich habe ich schon mal versucht mich mit dem Modul zu verbinden.
Nach Eingabe des Pins wird angezeigt, dass gepaart wird, woraufhin das
Gerät in die Liste der bekannten Pairing Geräte verschwindet und nichts
mehr passiert. D.h. keine aktive Bluetooth Verbindung. Unter ios wird
das Gerät noch nicht mal angezeigt.
Ich hoffe jemand kann mich in die richtige Richtung leiten, da uc's noch
relativ neu für mich sind..
Vielen Dank schonmal :)
Tobi
Tobi schrieb:> Ich hoffe jemand kann mich in die richtige Richtung leiten, da uc's noch> relativ neu für mich sind..
Was heißt den "relativ neu"? Hast du schon andere Projekte mit uC
gebaut?
Hat zwar nicht so viel mit meiner Frage zu tun, aber ich habe ein paar
Sachen schon gemacht. IO, AD-Wandler undso...
Ich finde die Möglichkeit der drahtlosen Steuerung halt sehr
interessant.
Im Grunde genommen brauchst du die AT-Befehle erst mal nicht. Das HC-06
hat eine Grundkonfiguration (9600 8N1) mit der ein Verbindungsaufbau
auch ohne AT-Befehle funktioniert.
Dein Handy Terminalprogramm muss die Verbindung aufbauen. Die von dort
gesendeten Zeichen kannst du dann auf üblichen Weg als seriellen
Datenstrom mit dem Atmega abfragen.
lächler schrieb:> Dein Handy Terminalprogramm muss die Verbindung aufbauen.
Aber da haperts ja schon.. Laut dem Datenblatt soll die rote LED
dauerhaft leuchten, wenn eine Verbindung aufgebaut wurde. Bei mir blinkt
diese aber dauerhaft und auf dem Android Handy verschwindet das Gerät in
die Liste ohne eine aktive Verbindung zu haben...
lächler schrieb:> Die von dort gesendeten Zeichen kannst du dann auf üblichen Weg als seriellen> Datenstrom mit dem Atmega abfragen.
Genau da komme ich auf Seiten des uC's nicht weiter.. Ich hätte jetzt
erstmal probiert die Zeichen zu unterscheiden und entsprechend eine LED
anzuschalten oder sowas. Jedoch wie lese ich die Zeichen ein?
Armin J. schrieb:> hast Du schon mal BlueDisplay probiert?
Hallo Armin,
bist du der Entwickler oder ist der Name nur zufällig der gleiche? ^^
Welche C Datei brauche ich denn für den Atmega8?
Hallo,
irgendwas scheint mit meinem Bluetooth Modul nicht zu stimmen.. Naja
erstmal beschäftige ich mich dann wohl mit dem UART.
Mit dem Programm Termite empfange ich nur [00]. Schnell hintereinander.
Das Programm stammt aus einem anderen Forum. Funktionierte angeblich mit
Atmega8.
Hi,
als Info zu den (mobilen) Apfelprodukten:
Mit IOS kannst du die Nutzung des seriellem BT-Protokoll vergessen.
Apple erlaubt das auf mobiler Plattform nur mit lizenzierten Chipsätzen
und dafür muss dann etwas $$$ an Apple fließen ;-)
LG Krafti
Hi und danke für die Info Krafti. Etwas ähnliches habe ich mir schon
gedacht ^^ Ist ja immer so bei denen...
Bzgl. der Seriellen Schnittstelle habe ich halt einen USB zu RS232
Adapter genommen und dort Read, write und ground angeschlossen. Dann
wurde mir am PC sehr schnell hinter einander diese Zeichenfolge
ausgegeben. Ich habe gelesen, dass man einen MAX232 verwenden soll.
Jedoch finde ich fast nur fertige Boards mit einem MAX3232, z.B.
http://www.amazon.de/MAX3232-Serial-Konverter-Module-Stecker/dp/B00HV4K9ZY/ref=sr_1_1?s=computers&ie=UTF8&qid=1442691342&sr=1-1&keywords=max232+rs232
Warum braucht man sowas? Aus dem USB kommen doch nur 5V und der Atmega8
sendet und verkraftet doch genauso 5 Volt?
Funktionieren Boards mit MAX3232? Also löst das mein Problem der
falschen Übertragung?
Viele Grüße
Tobi :)
Tobi schrieb:
> Funktionieren Boards mit MAX3232? Also löst das mein Problem der> falschen Übertragung?
Hallo Tobi,
bei mir funktioniert das mit einem billig USB zu RS232 Konverter
einwandfrei, daran liegst sicher nicht.
Krafti schrieb:> Hi,> als Info zu den (mobilen) Apfelprodukten:> Mit IOS kannst du die Nutzung des seriellem BT-Protokoll vergessen.> Apple erlaubt das auf mobiler Plattform nur mit lizenzierten Chipsätzen> und dafür muss dann etwas $$$ an Apple fließen ;-)>> LG Krafti
Das ist nicht ganz richtig. Mit Bluetooth 4.0 gibt es ein seriell
ähnliches GATT Profil, dass auch von Apple unterstützt wird. Kompatible
Adapter sind z.B. der HM-10. Ich benutze so einen Adapter um eine
Smartwatch zu entwickeln für ein iPhone.
Verbinden kann man sich aber nicht direkt aus den Einstellungen sondern
aus der jeweiligen App (zum Testen LightBlue).
Ich habe ein paar Themen auch in meinem Blog beschrieben. Wenn interesse
besteht kann ich die Links gerne Posten, sonst sieht das nach
Eigenwerbung aus...
Einige Android Handies unterstützen das SPP Protokoll nicht, welches du
benötigst.
Du kannst das am einfachsten mit dem Bluetooth Chat Programm antesten,
dass im Android SDK als Beispielprogramm enthalten ist. Starte das Chat
Programm einfach auf zwei Smartphones und teste die Kommunikation
zwischen bei beiden Smartphones.
Um Verbindung zu einem HC-0x Modul aufzubauen, musst du die im Quelltext
hardcodierte UUID Nummer auf "00001101-0000-1000-8000-00805F9B34FB"
ändern. Diese Nummer wird IMHO von allen SPP Modulen verwendet.
Tobi schrieb:> Bzgl. der Seriellen Schnittstelle habe ich halt einen USB zu RS232> Adapter genommen und dort Read, write und ground angeschlossen. Dann> wurde mir am PC sehr schnell hinter einander diese Zeichenfolge> ausgegeben. Ich habe gelesen, dass man einen MAX232 verwenden soll.> Warum braucht man sowas?
...Um z.B. das Signal zu invertieren...
> Aus dem USB kommen doch nur 5V und der Atmega8> sendet und verkraftet doch genauso 5 Volt?
Hast Du mal gemessen??... ich behaupte mal das da Pegel von mindestens
+5V und -5V anliegen,ob das Deinem Atmega gefällt?
> Funktionieren Boards mit MAX3232? Also löst das mein Problem der> falschen Übertragung?
...würde ich denken, oder Du nimmst einen USB zu seriell Adapter mit
TTL-Pegel, also ohne RS232-Treiber....
Geht Dein Adapter zu öffnen kannst Du alternativ den TTL-Pegel vor dem
Treiber abgreifen und zum testen heraus führen...
Man kann auch mittels zweier Transistoren einen provisorischen
"Pegelwandler" umd inverter bauen,wobei natürlich keine negative
Spannung erzeugt wird wie bei einem Treiber mit Ladungspumpen.
Das hat den Nachteil das Gegenstellen mit Autopowerdown nicht aufwachen,
was bei Deinen Adapter aber nicht der Fall ist,sonst wäre nix auf Deinem
PC angekommen....
>> Viele Grüße> Tobi :)
....Grüsse zurück :)
Marco G. schrieb:> Hast du den Quelltext nur kopiert oder auch an deinen uC angepasst?
Der Quelltext stammte von einem Atmega8, wie ich auch benutze, von daher
sollte es eigentlich nicht daran liegen.
Armin J. schrieb:> Hallo Tobi,> bei mir funktioniert das mit einem billig USB zu RS232 Konverter> einwandfrei, daran liegst sicher nicht.
Hallo, so einen billigen habe ich auch.. Genauer gesagt den hier:
http://www.amazon.de/CSL-seriell-RS232-Adapter-Port/dp/B008FKABG0
@stefanus: Vielen Dank für deine Antwort. Sobald ich das mit dem RS232
hin bekommen habe, werde ich mir das definitiv nochmal ansehen :)
Bestromer schrieb:> Hast Du mal gemessen??... ich behaupte mal das da Pegel von mindestens> +5V und -5V anliegen,ob das Deinem Atmega gefällt?
Ja, hatte ich allerdings. Bei mir lagen auch während der Übertragung
circa 4,75V von Atmega kommend an, andere Richtung war ich nicht in der
Lage eine Spannung über 10mV festzustellen.
Meinen Adapter kann ich leider nicht öffnen. Genauso kann ich meine
Jumper Wire nicht wirklich richtig dran fest bekommen, daher suche ich
nach einem Board, welches ich direkt an meinen Adapter stecken kann.
Sonst hätte ich mir das mal eben auf einer Platine zusammen gelötet. Da
ich aber eh kaum Teile hier habe lohnt sich das nicht.
Zusammengefasst mit einem Board wie diesem hier kann ich nichts falsch
machen und meine Kommunikation müsste dann auch ordentlich
funktionieren?
http://www.ebay.de/itm/Max3232-5V-3-3V-RS232-Serial-Port-to-TTL-Digital-Converter-Module-CP12008-J33-/281353512577?hash=item4181f9e681
Vielen Dank noch einmal an alle Antworten :)
Armin J. schrieb:> Achte darauf, dass Du einen Windows 8.1 kompatiblen bekommst.
Hallo Armin,
mein Adapter ist auf jeden Fall Windows Kompatibel. Ursprünglich habe
ich diesen für die Programmierung eines Cisco Switch benutzt (natürlich
mit ensprechendem weiteren Adapterkabel).
Aber im Grunde hast du auf jeden Fall recht. Ein Adapter ist besser als
mit zig Verbindungsstücken zu arbeiten. Daher würde ich mir einen
solchen Adapter, wie du hast, kaufen. Nur die Versandzeit stört mich!
Ich habe dieses hier jetzt mal bestellt:
http://www.amazon.de/COM-FOUR%C2%AE-PL2303HX-RS232-Kabel-Modul-Konverter/dp/B00WE051XK/ref=sr_1_7?ie=UTF8&qid=1443097119&sr=8-7&keywords=usb+ttl+rs232
Werde ich am Sonntag ausprobieren und hier berichten :)
Grüße
Tobi
Tobi schrieb:> Marco G. schrieb:>> Hast du den Quelltext nur kopiert oder auch an deinen uC angepasst?> Der Quelltext stammte von einem Atmega8, wie ich auch benutze, von daher> sollte es eigentlich nicht daran liegen.
Läuft dein uC auch mit entsprechendem Quarz und Fuses?