Skocz do zawartości

Funkcja void setup() // Moduł GSM


Wazzzup

Pomocna odpowiedź

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
Link do komentarza
Share on other sites

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
Link do komentarza
Share on other sites

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
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

 

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?

Link do komentarza
Share on other sites

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
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.