Skocz do zawartości

Funkcja void setup() // Moduł GSM


Pomocna odpowiedź

Napisano (edytowany)

Witam.
Spotkał się może ktoś z was z taka sytuacją w arduino, w funkcji void setup() mam wysłanie sms informującego że urządzenie startuje. Jak program wgrywam z komputera to zaraz po wgraniu zawsze przyjdzie sms, jak włączę konsole w komputerze (to powoduje tak jak by start arduino na nowo - RESTART) to też przyjdzie, ale jak odepnę się od komputera i zasilę arduino przez pin Vin to juz smsa nie zobaczę tak jak by nie wykonuje tego co ma w void setup().?
Wydaje mi się że już kiedyś też tak miałem (w innym projekcie) ale nie znalazłem rozwiązania, a płytka to klon Arduino Nano.

Edytowano przez Wazzzup
(edytowany)

Przeważnie, bez kodu programu nie da się pomóc ale tu sprawa jest prosta a kod programu, na 90% napisany niepoprawnie.

Zrób taka próbę, spróbuj wysłać SMS z telefonu, wysyłka następuje natychmiastowo (chyba, ze nie ma zasięgu itp), następnie, wyjmij baterię, włóż, naciśnij ON czy co tam masz i zaraz po tym zacznij pisać SMS, udało się wysłać?

Edytowano przez es2
(edytowany)

Problemu nie rozwiązałeś tylko zamaskowałeś. Jestem prawie pewny, ze nie czekasz na odpowiedzi z modemu, tylko AT+xxxx delay AT+yyyy delay itp. Zgadłem?

Prawidłowy kod, powinien czekać na odpowiedź modemu i to z timeout. To co zrobiłeś to amatorszczyzna, bo niepotrzebnie wydłuża start programu.

- Po co wpisywać pin gdy nie jest wymagany lub już był wpisany?

- Po co wpisywać pin jak juz był wpisany źle? Aby zablokować karte i potrzebny PUK?

- Po co czekać na zalogowanie do operatora,skoro modem już się zalogował?

- Po co czekać np 30 sekund na zalogowanie jak nastąpiło po 20 sekundach?

- Co bedzie, jak za 3 dni, zalogowanie nastąpi za 40 sekund?Znów SMS nie będzie wysłany i zgonisz to na niewykonanie setup!

 

Idę o zakład, ze samą procedure wysyłania SMS tez masz napisaną źle, i czasem nie zadziała. To  samo pewnie z wieloma innymi funkcjami związanymi z  GSM. WDG pewnie też nie używasz na szczęście w ESP jest RTOS i nie zawiesi samego ESP, ale aplikacja będzie wisieć i żegnaj SMS.

 

Edytowano przez es2

 

Dnia 29.10.2018 o 22:05, es2 napisał:

Idę o zakład, ze samą procedure wysyłania SMS tez masz napisaną źle, i czasem nie zadziała. To  samo pewnie z wieloma innymi funkcjami związanymi z  GSM. WDG pewnie też nie używasz na szczęście w ESP jest RTOS i nie zawiesi samego ESP, ale aplikacja będzie wisieć i żegnaj SMS.

 

  while (!gsm.available()) {}  <- czeka aż moduł odpowie, oto Ci chodziło?


A skąd posiadasz taką wiedzę jak poprawnie obsłużyć GSM, jakiś poradnik może polecisz?

(edytowany)
1 godzinę temu, Wazzzup napisał:

while (!gsm.available()) {}  <- czeka aż moduł odpowie, oto Ci chodziło?

Coś w tym stylu. Trzeba czekać na różne odpowiedzi/komendy. Najczęściej jest to "OK" ale nie w przypadku zalogowania, potwierdzenia wejścia w tryb wysyłania SMS, potwierdzenia wysłania lub nie SMS.

Nie można czekać na jeden konkretny komunikat. W trakcie takiego oczekiwania mogą przyjść różne inne, np o CLIP, czy nowym SMS. Trzeba zrobić nieblokująca funkcje analizująca komunikaty i zmieniająca status. Inna nieblokująca funkcja, na podstawie statusu, wysyła kolejne komendy do wykonania.

 

1 godzinę temu, Wazzzup napisał:

A skąd posiadasz taką wiedzę jak poprawnie obsłużyć GSM

Z not katalogowych modułów GSM i myślenia lateralnego. Zbudowałem kilka urządzeń z GSM, które potrafią realizować równocześnie kilka funkcji. Nie ma problemu aby w czasie transmisji danych wysyłać/odbierać SMS czy obsługiwać połączenie audio, określać o współrzędne geograficzne modułu, synchronizować RTC.

 

1 godzinę temu, Wazzzup napisał:

jakiś poradnik może polecisz? 

Kody źródłowe urządzeń GSM, które się nie zawieszają,realizują kilka funkcji w tym samym czasie.

Edytowano przez es2

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...