J'essaie de lire certaines chaînes d'un fichier texte stocké dans mon PC. Mon module GSM est SIM900A J'utilise python pour lire la ligne suivante contenue dans le fichier texte:Lecture de texte à partir du fichier et envoi au module GSM via Arduino
AT + CMGS = \ « + 9232xxxxxxxx \ » \ r
Cette ligne contient la commande AT et le numéro de téléphone auquel je veux envoyer le SMS.
Le code Python est la suivante:
import serial
import time
arduino = serial.Serial("COM3",9600,timeout = 5)
time.sleep(2)
i = 0
while(i<1):
arduino.flush()
text_file = open("Data.txt","r")
line1 = text_file.readline()
arduino.write(line1)
time.sleep(1)
i = i + 1
exit()
text_file.close()
Le code Arduino est la suivante:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(7, 8);
int counter = 0;
String msg1;
String numb = "AT+CMGS=\"+9232xxxxxxxx\"\r";
void setup() {
mySerial.begin(9600);
Serial.begin(9600);
delay(100);
}
void loop() {
while (!Serial.available()) {} // wait for data to arrive
// serial read section
while (Serial.available()) {
if(Serial.available()>0) {
msg1 = Serial.readString();
if(counter<1) {
SendMessage();
counter++;
}
}
delay(500);
}
if (mySerial.available()>0) Serial.write(mySerial.read());
}
void SendMessage() {
mySerial.println("AT+CMGF=1");
//Sets the GSM Module in Text Mode
delay(1000);
// Delay of 1000 milli seconds or 1 second
mySerial.println(msg1);
// Replace x with mobile number
delay(1000);
mySerial.println("Hello");
// The SMS text you want to send
delay(100);
mySerial.println((char)26);
// ASCII code of CTRL+Z
delay(1000);
}
mySerial.println("AT+CMGS=\"+9232xxxxxxxx\"\r");
mySerial.println(numb);
mySerial.println(msg1);
Si j'utilise la première ligne, je reçois le message sur mon numéro. De même, pour l'option 2, quand je passe la chaîne engb que j'ai déclarée dans le code Arduino ci-dessus, je reçois le message.
Toutefois, pour l'option 3, lorsque je lis la chaîne mentionnée ci-dessus à partir du fichier texte stocké sur le PC, je n'obtiens pas de message. Quelqu'un peut-il me guider s'il vous plaît ce que je fais mal ici?
Votre fichier que vous lisez, a probablement '\ n' et vous besoin de '\ r' –
Salut. Merci pour votre réponse rapide. Je soupçonne que c'est le cas aussi. Pouvez-vous s'il vous plaît guider comment je peux utiliser le retour chariot au lieu de la nouvelle ligne –