RTV forum PL | NewsGroups PL

Problemy z odbieraniem pełnych SMS-ów na Arduino Uno z modułem SIM900A - jak je rozwiązać?

Arduino, SIM900A, SMS

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Problemy z odbieraniem pełnych SMS-ów na Arduino Uno z modułem SIM900A - jak je rozwiązać?

Goto page Previous  1, 2, 3

Marek
Guest

Sat Dec 01, 2018 7:39 am   



On Fri, 30 Nov 2018 20:14:17 +0000, "Michal M. Lechanski"
<michal@doriath.eu> wrote:
Quote:
To by było za proste... akurat ten operator nie obsługuje takiej
formy

Jaki to operator?


Quote:
ale to samo zapytanie wysłane za pomocą
modułu SIM owocuje zwrotką "Przepraszamy nie rozumiemy zapytania,
proszę
się skontaktować z BOK".

A to dziwne. Czy na pewno wysyłany jest tekst jaki oczekujesz, że
powinien?
Być może (błędny) kod dokonuje jakiegoš przekłamania. Podłącz
terminal/monitor szeregowy pod linię RX modułu by podsłuchać co
naprawdę dostaje moduł.

Quote:
najpierw AT+CMGF=0 (tryb PDU) zamiast tekstowego AT+CMGF=1

Tryb nie powinien mieć znaczenia (o ile prawidłowo kodowany jest PDU).

--
Marek

Michal M. Lechanski
Guest

Sat Dec 01, 2018 3:28 pm   



W dniu 01.12.2018 o 06:39, Marek pisze:

Quote:
Jaki to operator?

Asda Mobile, wirtualny operator korzystający z sieci EE

Quote:
ale to samo zapytanie wysłane za pomocą
modułu SIM owocuje zwrotką "Przepraszamy nie rozumiemy zapytania,
proszę się skontaktować z BOK".

A to dziwne. Czy na pewno wysyłany jest tekst jaki oczekujesz, że
powinien?
Być może (błędny) kod dokonuje jakiegoš przekłamania. Podłącz
terminal/monitor szeregowy pod linię RX modułu by podsłuchać co
naprawdę dostaje moduł.

Wszystkie inne wysyłane smsy są bez błędów. Dlaczego akurat ten jeden
miałby mieć *zawsze* błąd? I to w dodatku w 3 literkach: BAL

Quote:
Tryb nie powinien mieć znaczenia (o ile prawidłowo kodowany jest PDU).

Hm... Jeśli dekodowanie odbywa się po stronie odbiorcy, to chyba raczej
będzie miał - dekoder oczekuje PDU, a dostaje czysty tekst...
Zobaczymy, niech tylko znajdę trochę czasu żeby doczytać i spróbować.

--
Michał

Marek
Guest

Sat Dec 01, 2018 5:20 pm   



On Sat, 1 Dec 2018 14:28:32 +0000, "Michal M. Lechanski"
<michal@doriath.eu> wrote:
Quote:
Wszystkie inne wysyłane smsy są bez błędów. Dlaczego akurat ten
jeden
miałby mieć *zawsze* błąd? I to w dodatku w 3 literkach: BAL

No bo za bardzo nie ma innego wytłumaczenia dlaczego akurat smsy z
modułu są nierozpoznawalne.


Quote:
Hm... Jeśli dekodowanie odbywa się po stronie odbiorcy, to chyba
raczej
będzie miał - dekoder oczekuje PDU, a dostaje czysty tekst...
Zobaczymy, niech tylko znajdę trochę czasu żeby doczytać i
spróbować.

To tak nie działa, nie wyslesz smsa text (jawnego) w trybie pdu (no
upraszczając, no na siłę można ale nie o takim błędzie mówimy) i na
odwrót. Miałem na myśli sytuację, w której encoder pdu z jakiego
korzystasz może przekłamywać na jednym bicie budując nieprawidłowy
octet. Da się to wysłać ale po zdekodowaniu u odbiorcy na jawny text
jeden (lub więcej) znaków będzie nieprawidłowych. Kiedyś miałem taki
problem z kodem encodera pdu napisanego w asm.

--
Marek

J.F.
Guest

Sat Dec 01, 2018 7:41 pm   



Dnia Sat, 1 Dec 2018 14:28:32 +0000, Michal M. Lechanski napisał(a):
Quote:
W dniu 01.12.2018 o 06:39, Marek pisze:
ale to samo zapytanie wysłane za pomocą
modułu SIM owocuje zwrotką "Przepraszamy nie rozumiemy zapytania,
proszę się skontaktować z BOK".

A to dziwne. Czy na pewno wysyłany jest tekst jaki oczekujesz, że
powinien?
Być może (błędny) kod dokonuje jakiegoš przekłamania. Podłącz
terminal/monitor szeregowy pod linię RX modułu by podsłuchać co
naprawdę dostaje moduł.

Wszystkie inne wysyłane smsy są bez błędów. Dlaczego akurat ten jeden
miałby mieć *zawsze* błąd? I to w dodatku w 3 literkach: BAL

A modul dobrze ustawiles ? W telefonie sie jakies centrum sms ustawia.

Inne SMS zawieraja rozne znaki ? Moze kwestia parzystosci.

Quote:
Tryb nie powinien mieć znaczenia (o ile prawidłowo kodowany jest PDU).
Hm... Jeśli dekodowanie odbywa się po stronie odbiorcy, to chyba raczej
będzie miał - dekoder oczekuje PDU, a dostaje czysty tekst...

Format jest jeden, zmiana na PDU jest w module.

J.

Michal M. Lechanski
Guest

Thu Dec 06, 2018 9:37 pm   



W dniu 01.12.2018 o 06:39, Marek pisze:

Quote:
A to dziwne. Czy na pewno wysyłany jest tekst jaki oczekujesz, że
powinien?
Być może (błędny) kod dokonuje jakiegoš przekłamania.

Miałeś rację - błędny kod.

Quote:
najpierw AT+CMGF=0 (tryb PDU) zamiast tekstowego AT+CMGF=1

Tryb nie powinien mieć znaczenia (o ile prawidłowo kodowany jest PDU).

Znów miałeś rację. Dzięki za pomoc.

Najbardziej mnie złości, że przedobrzyłem be żadnego sensownego powodu -
błąd był w sumie trywialny - funkcja wysyłająca sms wysyłała zbyt dużo
znaków końca linii i program odczytujący u operatora traktował to jako
błąd:

tak miałem i było źle:

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);
}

a tak działa bez problemu:

void SendMessage(String rcpNumber, String sendMsgBody)
{
mySerial.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(500);
mySerial.print("AT+CMGS=\"");
mySerial.print(rcpNumber);
mySerial.print("\"\r");
delay(500);
mySerial.print(sendMsgBody);// The SMS text you want to send
delay(500);
mySerial.print((char)26);// ASCII code of CTRL+Z
delay(1000);
}

Problemy rozwiązane. Bardzo wszystkim dziękuję za zainteresowanie.

--
Michał

Goto page Previous  1, 2, 3

elektroda NewsGroups Forum Index - Elektronika Polska - Problemy z odbieraniem pełnych SMS-ów na Arduino Uno z modułem SIM900A - jak je rozwiązać?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map