czwartek, 21 kwietnia 2016

Wyślij SMS o treści...

Wyrównujemy szanse

Dodajmy kolejną możliwość do naszej komunikacyjnej piaskownicy. Za pośrednictwem modułu jesteśmy w stanie przekazać wiadomość SMS do Atmegi. Wyrównajmy szanse - niech teraz Atmega będzie w stanie wysłać SMSa do nas.

W tym celu musimy skonfigurować połączenie z modułem GSM jak poprzednio. Uruchomić moduł, odczekać 15 sekund potrzebne na zalogowanie się do sieci i wysłać - niespodzianka - sekwencję komend AT, które sprawią, że przez sieć GSM poleci SMS od Atmegi wprost do telefonu o wskazanym przez nas numerze telefonu - najlepiej, żeby był to nasz telefon - przynajmniej będziemy wiedzieć, że działa, a karta SIM włożona do modułu GSM nie posłuży nam do wysyłania niechcianych wiadomości do losowych ludzi...

Procedura wysyłania SMSa

Ustalamy tryb tekstowy
AT+CMGF=1
Po otrzymaniu informacji
OK
Podajemy numer telefonu odbiorcy
AT+CMGS=000000000 lub AT+CMGS=+48000000000

Następnie oczekujemy na znak zachęty:
>
Zachęceni podajemy treść SMSa:
Daj sie poznac!
Koniec treści SMSa komunikujemy kombinacją Ctrl+Z... czyli za pomocą kombinacji:
\x1A
Możemy jeszcze zaczekać na potwierdzenie nadania wiadomości
+CMGS: ...
Po otrzymaniu tak rozpoczynającego się ciągu znaków, możemy uznać, że SMS został wysłany - nasz trud skończony.

W optymistycznym przypadku...

...nie będziemy musieli się martwić o nieprzewidziane sytuacje. Jednak warto być świadomym, że każda nasza komenda może zostać niezrozumiana przez moduł GSM, o czym w najlepszym przypadku poinformuje nas pięknym komunikatem ERROR, który przyjdzie do nas zamiast oczekiwanej wiadomości pozytywnej. Dlatego komunikując się z modułem GSM za pomocą komend AT warto określać stan aplikacji - będzie o wiele łatwiej zarządzać kodzikiem i decydować, co w danym momencie powinniśmy zrobić - będziemy mieć informację na temat stanu, w jakim się aktualnie znajdujemy i wiadomości, jaka aktualnie przyszła - sporo wiedzy - warto ją spożytkować w należyty sposób - nie zawsze mamy aż tyle informacji o stanie systemu...

Kodzik
Aby wysłać SMS o treści podanej w kodzie programu powinniśmy wprowadzić aplikację w stan "GSM_Init". W celu odebrania SMSa od modułu GSM, wprowadzamy aplikację w stan "SMS_ReadInit". Zmiana stanu aplikacji może nastąpić na przykład pod wpływem odczytu określonej temperatury (jeżeli podepniemy do układu termometr) lub pod wpływem przerwania wywołanego przez zwarcie lub rozwarcie zewnętrznego układu - kiedy dokładnie - zostawiam Tobie!

Brak komentarzy:

Prześlij komentarz