Hey Leute,ich weiß das das Thema schon öfters durchgekaut wurde, ich
hänge leider trozdem in der Luft. Folgendes. Ich hab den Mikrocontroller
über ein USB Kabel ans Handy angeschlossen und würde jetzt gern mit dem
µC ne SMS übers Handy schicken. Es sind quasi nur folgende Befehle
nötig:
AT+CMGF=1
AT+CMGS="0177298xxxx"
Text
.
Wenn ich das Handy an den PC anschließe und diese Befehle über die
Serielle schicke,klappt das wunderbar. Jetzt hab ich den Code in den µC
Programmiert und schicke den Seriell über die D+ leitung ans handy.
Gleichzeitig das Invertierte Signal natürlich über D-. Leider klappt es
aber nicht. Da ich natürlich keine Möglichkeit hab das ganze zu Debuggen
weiß ich auch nicht wo der Fehler liegt. Naja, vielleicht kann mir ja
jemand helfen. Erstmal vielen Dank, GreenArrow
Ps: ich poste euch mal den Code
1
;RS232, Empfangen und Senden mit 9600 Baud bei 1,2 MHz
Hi
Ich nehme an, das du am PC eine virtuelle Com-Schnittstelle für USB
hast.
Die eigentliche Übertragung geht via USB. Und das kann dein ATTiny
nicht.
MfG Spess
Das kann nicht klappen. Du brauchst einen USB Host Controller, einen USB
Software Stack und einen Treiber für den USB-Serial Converter, der im
Datenkabel oder im handy verbaut ist. Wenn der Converter im Dtaenkabel
ist, hast du gute Chancen, das Handy direkt anzusprechen. Ist das Kabel
nur ein normales USB Kabel, gehts mit viel Glück und etwas Aufwand mit
dem Vinculum von FTDI.
mmmh,hab mir das irgendwie zu einfach vorgestellt. Ich hab das USB Kabel
einfach durchgeschnitten und dann einfach die beiden Datenleitungen mit
dem µC verbunden.
Denn wie Spess richtig feststellte,wird der USB Anschluss ja am rechner
als virtueller Com Anschluss erkannt. Daher dachte ich die Daten gehen
über USB genau wie über die Serielle nur halt nicht tx und rx sonder d+
und d-.
Aber wenn ich dann Daten Seriell da hin schicke wandelt der Rechner die
Intern einfach um bevor sie übers USB Kabel gehen, oder?
Ich mein wieso brauch ich nen USB Host Controller? Mein µC Soll das
Handy ja nicht erkennen. Der soll ja einfach nur die Daten da hin
schicken. Und selbst bei USB werden es doch im Endeffekt auch nur einsen
und nullen sein. Die müsste ich doch auch mit nem nicht USB fähigen µC
verschicken können. Ist dann wahrscheinlich nur mehr arbeit,oder? Oder
muss das Handy vorher erst irgendwie initialiesiert werden? Ich mein es
merkt ja das was angeschlossen ist,denn es fragt mich ja nach dem
anschließen an den µC in welchen Modus es gehen soll?
Vielleicht habt ihr ja nochmal ein paar Ansätze für mich.
Ps: Das Datenkabel vom Handy ist übrigens ein ganz normales usb kabel.
Nochmal vielen Dank, GreenArrow
Du solltest dich mal informieren, was USB ist. Klar, im Endeffekt gehen
da Nullen und Einsen über die Leitung. Allerdings ist das bidirektional,
mit sehr knappen Timings und einer Menge Software-Overhead. Da dein
Handy ein USB-Device ist, und einen USB-Serial-Converter eingebaut hat,
benötigst du zwingend einen USB Host. Mit einem USB Device kannst du nur
über einen USB Host sprechen. Ob du den jetzt in Software emuliert
bekommst, wage ich zu bezweifeln, denn wie gesagt, der USB Stack ist
nicht besonders wenig. Die besten Chancen hast du noch mit dem Vinculum
von FTDI, alles andere wird nur noch viel viel komplizierter. Wenn der
Vinculum deinen USB-Serial Konverter aber nicht unterstützt, hast du eh
Pech gehabt.
So wie ich das verstanden habe handelt es sich bei den Vinculum auch nur
um einen µC, der eben schon eine Firmware hat welche Massenspeicher und
auch einige andere USB Geräte (Drucker, FTDI serial...) schon direkt
erkennt und damit arbeiten kann. Wenn man aber genug Muse und
Durchhaltevermögen hat, sollte man damit jedes USB Gerät irgendwie
ansprechen können.
Aber ohne jetzt GreenArrow zu nahe treten zu wollen ist der Weg schon
sehr viel länger als schlicht die zwei Adern anzuschließen und zu
hoffen, dass es klappt. -wiebel
Vielen Dank Leute, da ich nun auch bezweifel das ich die Software
emuliert bekomm,werde ich es mal mit dem Vinculum probieren. Echt mehr
arbeit als gedacht :-). Ich hab aber noch irgendwo ein altes 3210
rumfliegen. Da hatte ich damals ein Serielles 9 Poliges Datenkabel für.
Das sollte ich doch dann ganz normal seriell ansprechen können,ohne
große Probleme, oder? Dann würd ich es nämlich erstmal damit probieren
und das USB Problem nach hinten schieben. Nochmals vielen Dank für die
ganze Mühe, GreenArrow
Ja das sollte gehen, schau noch nach dem Pegel (5V oder 3,3V). Wenn du
verwegen genug bist kannst du auch schauen ob du das serielle Signal bei
dem neuen Handy hinter dem USB-Serial Wandler findest, daran könntest du
dann auch den µC direkt anhängen. Dann ist dein Handy aber natürliche
ziemlich "verbastelt" oder auch kaputt gelötet. ;) -wiebel
@ Wiebel: Das ist auch ne super Idee. Zwar auch einiges an Arbeit aber
für nen Anfänger wahrscheinlich leichter als sich mit dem Vinculum zu
beschäftigen. Und verbastelt ist es eh schon, ich hab nämlich ein kabel
an den Lautsprecherausgang vom Handy gelötet um meinen "Programmier-PC"
damit einzuschalten :-).
Nochmals vielen Dank an euch alle. Echt Klasse Forum! Hoffe das ich
irgendwann auch mal was produktives hinzufügen kann. Mfg GreenArrow