Hallo ich versuche schon eine ganze weile mein tc35 dazu zu bewegen mir bei empfang einer sms einen ausgang am arduino auf high zu setzen. Ich habe folgendes herausgefunden. Ich habe das ftdi angeschlossen und kann AT+CMGL="ALL" oder AT+CPMS="SM" senden und bekomme werte zurück im seriel monitor. Wenn ich jedoch das ganze über mein arduino uno probiere kann es das nicht so schreiben. Es kann nur AT+CMGL=\"ALL\"" und "AT+CPMS=\"SM\"" aber damit bekomme ich keine werte zurück. Hat jemand vielleicht schonmal ein Funktionierendes programm geschrieben zum empfang von sms oder eine idee was ich noch tun kann? Wäre sehr dankbar!
Probiers mal mit "AT+CPMS=\"SM\"\r\n" \r\n ist der Windows Zeilenumbruch, den sendet der Arduino nicht unbedingt automatisch.
danke für die schnelle antwort. Leider funktioniert das nicht. ich bekomme gar keine rückemldung von dem gsm. Ich habe über diesen code erfolgreich eine sms empfangen #include <SoftwareSerial.h> #define rxPin 9 #define txPin 8 SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin); char text[150]; String message=""; int i; void setup(){ pinMode(10,OUTPUT); Serial.begin(9600); while (!Serial){} mySerial.begin(9600); digitalWrite(10,0); delay(1000); digitalWrite(10,1); Serial.println("Write your SMS:"); } void loop(){ i=0; while( Serial.available()>0 ){ text[i] = Serial.read(); message += text[i]; i++; if (text[i-1]==46){ Serial.println("Send SMS......"); SendTextMessage(); ShowSerialData(); delay(1000); Serial.println("\r"); Serial.println("Success"); message=""; i=0; }}} void SendTextMessage(){ mySerial.print("AT+CMGF=1\r"); delay(1000); mySerial.print("AT+CMGS=\"+491543270270\"\r"); delay(1000); mySerial.println(message); mySerial.print("\r"); delay(1000); mySerial.println((char)26); mySerial.println(); } void ShowSerialData(){ while(mySerial.available()!=0) Serial.write(mySerial.read());} es muss doch also möglich sein das das arduino daten empfängt
Du solltest dich mal mit der Programmierung des Arduino und der Doku des TC35 mehr befassen, als darauf zu hoffen, das dir jemand mal eben ein Programm schreibt. Und setze dich mal mit den Beiträgen auseinander, die dir vorgeschlagen wurden, bzw. in Google zu finden sind und da gibt es reichlich. Ein wenig Eigeninitiative sollte man bei so einem Projekt schon haben.
Hast du schonmal die einfache Variante probiert?
1 | void setup(){ |
2 | Serial.begin(9600); |
3 | while (!Serial){} |
4 | mySerial.begin(9600); |
5 | |
6 | mySerial.print("AT+CMGF=1\r\n"); |
7 | delay(1000); |
8 | mySerial.print("AT+CMGS=\"+491543270270\"\r\n"); |
9 | delay(1000); |
10 | mySerial.print("test\r\n"); |
11 | delay(1000); |
12 | mySerial.println((char)26); |
13 | |
14 | while(mySerial.available()!=0){ |
15 | Serial.write(mySerial.read()); |
16 | }
|
17 | }
|
Bist du sicher, dass "\r" der gewünschte Zeilenumbruch ist? Linux nutzt "\n", Windows "\r\n" (nutzt Apple vielleicht "\r"?) Was gibts du denn genau ins Terminal ein, wenn du es über den PC probierst? Ansonsten, die Pins sind korrekt verdrahtet? Die Serial Parameter stimmen? usw...
Du meinst das terminal in verbindung mit dem Ftdi? Das sieht so aus und funktioniert super: AT OK AT+CMGL="ALL" +CMGL: 2,"REC READ","+4915272180410",,"15/10/09,20:56:58+08" Test +CMGL: 3,"REC READ","+4915238038886",,"15/10/10,00:35:16+08" hallo +CMGL: 4,"REC READ","+4915272180410",,"15/10/10,00:37:50+08" test - mufa.de/app +CMGL: 5,"REC READ","+4915272180410",,"15/10/10,00:47:54+08" test +CMGL: 6,"REC READ","+4915272180410",,"15/10/10,00:39:56+08" Tats{chlich +CMGL: 7,"REC READ","+4915272180410",,"15/10/10,00:51:30+08" test +CMGL: 8,"REC READ","+4915272180410",,"15/10/10,00:58:48+08" test +CMGL: 9,"REC READ","+4915272180410",,"15/10/10,01:01:21+08" test OK AT+CPMS="SM" +CPMS: 8,20,8,20,8,20 OK Ich glaube auch das ich wenn ich es jetzt wieder mit dem Arduino verbinde ich einfach einen falschen Befehl sende. Serial Parameter meinst du die einstellungen des Boards?
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.