Arduino Lesen Sie AUF Befehle von Quectel M95 GSM-Modul
Ziel: Senden von at-Befehlen AN das Quectel M95 (GSM2 Click http://www.mikroe.com/click/gsm2/) via SoftwareSerial/Arduino und analysieren der Antworten; ohne Arduino-GSM Bibliothek.
Aktuellen Zustand: in der Lage, vollständig die Kommunikation mit der M95 via terminal an verschiedenen Baudraten (9600 - 115200). AT-Befehle gesendet werden können und das gewünschte Ergebnis-codes vorhanden sind. Ich habe versucht mit einem anderen modem (DroneCell) mit gleichen Ergebnissen. Alle Leitungen geprüft wurde 10-mal und überprüft richtige. Wenn ich senden AT-Befehle via SoftwareSerial ich weiß, das modem empfängt die Daten wie kann ich eine SMS senden, aufführen, GPRS, etc; einfach nicht gültige Antworten.
Problem: Arduino ist nicht in der Lage zu Lesen GSM-Modul antwortet mit dem code unten. Ergebnis ist ein unleserlicher text/chars - variable und unberechenbar. Die erwartete Antwort, wenn die übermittlung AUF den Befehl "BEI" ist "OK".
Bilder:
Erfolg über terminal:
Arduino Antwort:
#include <SoftwareSerial.h>
#define rxPin 10
#define txPin 11
SoftwareSerial mySerial(rxPin,txPin); //RX, TX
void setup(){
pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
Serial.begin(9600);
Serial.println("Arduino serial initialized!");
delay(10);
mySerial.begin(9600);
Serial.println("Software serial initialized!");
delay(10);
}
void loop(){
issueCommand("AT");
readSerial();
delay(500);
while(true){
readSerial();
}
}
void issueCommand(char* msg){
mySerial.println(msg);
Serial.print(msg);
delay(10);
}
void readSerial(){
while (mySerial.available()){
Serial.write(mySerial.read());
delay(10);
}
}
- Ich denke, Sie sollten warten, (loop), bis die Antwort auf Ihre "IN" empfangen wird, und erst danach weiter zu senden weitere Befehle.
- Welchen arduino benutzt du?
- Ich verwende die neueste version von Arduinoi: UNO.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lösung: auto baud rate war in der Tat nicht aktiviert ist; ich hatte meine interne M95 Baudrate auf 115200, meiner Arduino-Lösung wurde auch auf 115200 baud. Allerdings SoftwareSerial scheint zu scheitern die raten über 9600-ish. Sobald ich reset M95 internal rate auf auto baud und veränderte mein Arduino-code zu 9600 Zeichen kam wie erwartet.
Danke für das feedback, es trieb mich um die Lösung zu finden mich.
Dank!
Ändern, schreiben, drucken: