-
Data: 2018-11-25 16:59:51
Temat: Arduino, SIM900A, SMS
Od: "Michal M. Lechanski" <m...@d...eu> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dzień dobry,
Może ktoś z Was podpowie mi co robię źle.
Hardware: Arduino Uno, moduł GSM SIM900A, zasilacz 5V 3.6A
Software jak poniżej. W plikach Arduino SoftwareSerial.h i
HardwareSerial.h zmieniona wielkość bufora RX do 256.
Objawy - wysyłanie smsów działa (choć przyznam, że nie sprawdzałem ile
maksymalnie znaków mogę wysłać), odbieranie działa ale odebrana
wiadomość jest ucinana do kilkunastu znaków (poniżej przykład).
Wysyłam dla przykładu 1234567890 powtórzone pięć razy i w msgBuffer
otrzymuję:
+CMT: "+XXXXXXXXXXXX","","18/11/25,15:36:19+00"
12345678901237
czasem ostatnia cyferka jest inna, czasem jej w ogóle nie ma, czasem
jest jedna więcej - żadnej prawidłowości.
Kod (właściwie to copy&paste z internetowych poradników):
#include <SoftwareSerial.h>
SoftwareSerial mySerial(5, 6);
void SendMessage(String rcpNumber, String sendMsgBody)
{
mySerial.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(1000); // Delay of 1000 milli seconds or 1 second
mySerial.print("AT+CMGS=\"");
mySerial.print(rcpNumber);
mySerial.println("\"\r");
delay(1000);
mySerial.println(sendMsgBody);// The SMS text you want to send
delay(100);
mySerial.println((char)26);// ASCII code of CTRL+Z
delay(1000);
}
void setup() {
Serial.begin(115200);
delay(2000);
mySerial.begin(57600);
delay(30000);
mySerial.println("AT+CMGF=1");
mySerial.println("AT+CNMI=2,2,0,0,0");
delay(1000);
Serial.print("End of setup");
SendMessage("+XXXXXXXXXXXX", "End of setup");
}
void loop() {
msgDetails();
}
void msgDetails() {
String msgBuffer = readSIM900A();
if (msgBuffer.startsWith("\r\n+CMT: ")) {
Serial.println(msgBuffer);
}
}
String readSIM900A() {
String msgBuffer;
while (mySerial.available() > 0) {
char c = mySerial.read();
msgBuffer.concat(c);
delay(10);
}
return msgBuffer;
}
Pomożecie? Z góry bardzo dziękuję.
--
Michał
Następne wpisy z tego wątku
- 25.11.18 19:21 Zbych
- 25.11.18 19:33 Michal M. Lechanski
- 25.11.18 19:50 Zbych
- 25.11.18 20:06 Michal M. Lechanski
- 25.11.18 21:12 Marek
- 25.11.18 21:17 Michal M. Lechanski
- 25.11.18 22:48 J.F.
- 25.11.18 23:10 Michal M. Lechanski
- 26.11.18 09:30 Marek
- 26.11.18 09:39 Marek
- 26.11.18 20:32 Michal M. Lechanski
- 26.11.18 20:35 Michal M. Lechanski
- 26.11.18 21:36 J.F.
- 27.11.18 13:13 Adam Górski
- 27.11.18 14:53 J.F.
Najnowsze wątki z tej grupy
- zagadka sieciowa
- W Polsce powstaje grawitacyjny magazyn energii
- Linux wciąż wspiera dyskietki. Porządki w sterownikach do FDD
- Koniec z instalacją niezatwierdzonych aplikacji na Androidzie
- To koniec Starlinka dla Ukrainy. Karol Nawrocki zdecydował
- [OT] Wycinanie pianki kostkowej / szesciennej
- Alarm do lodówki
- Poczta Polska na Discord-zie
- Aku do UPS
- czy ludzie przestali słuchać muzyki?
- zabawa czatem :)
- Modernizacja instalacji elektrycznej w wielkiej płycie
- Co to za dziwne "białe namioty" co stawiają je w różnych dziwnych miejscach?!?
- RF-Harvester
- jest taki kryzys panie
Najnowsze wątki
- 2025-08-27 zagadka sieciowa
- 2025-08-27 W Polsce powstaje grawitacyjny magazyn energii
- 2025-08-27 Koniec z instalacją niezatwierdzonych aplikacji na Androidzie
- 2025-08-27 W Polsce powstaje grawitacyjny magazyn energii
- 2025-08-27 Linux wciąż wspiera dyskietki. Porządki w sterownikach do FDD
- 2025-08-27 Koniec z instalacją niezatwierdzonych aplikacji na Androidzie
- 2025-08-27 W Polsce powstaje grawitacyjny magazyn energii
- 2025-08-27 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-08-27 Warszawa => Senior Cloud Engineer - AWS <=
- 2025-08-27 Warszawa => Senior Cloud Engineer - AWS <=
- 2025-08-27 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-08-27 Kraków => Kotlin Developer <=
- 2025-08-27 Kraków => Programista Kotlin <=
- 2025-08-27 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-08-27 Czego Wysoki Sąd nauczył czyli jakiego zwrotu powinien użyć dziennikarz Pereira ZAMIAST "ustawia hejt"?