Chciałem przedstawić mój pierwszy projekt w BASCOMie.
Jest to moduł komunikacji mikrokontrolera z telefonem komórkowym poprzez sprzętowy UART.
W projekcie wykorzystałem uC Atmega8 i telefon SE T300.
Wykorzystałem ten model, bo akurat taki miałem i okazało się, że przypadkiem ten model ma pewną zaletę.
Mianowicie posiada opcję przekierowywania odebranego SMS bezpośrednio do mikrokontrolera po ustawieniu AT+CNMI=3,3,0,0,0
Dzięki temu nie zapełnia się pamięć w telefonie, oraz ułatwiony jest odczyt.
Cały projekt elektroniki wykonałem na płytce uniwersalnej.
W moim przypadku jest ten moduł GSM podłączony do centrali alarmowej Rokonet Prosys40, ale można go wykorzystać do innych celów.
Działanie układu jest następujące:
Głównym zadaniem po uruchomieniu jest monitorowanie stanu końcówki PD4 ustawionej jako wejście.
Jeśli na końcówce pojawi się stan niski to mikrokontroler poprzez UART zadzwoni na mój numer telefonu i po 20 sekundach rozłączy się.
Po tym wyśle jeszcze SMS do mnie i opcjonalnie na inny numer telefonu.
Kolejną funkcją jaką spełnia jest zdalene uzbrajanie i rozbrajanie czuwania centrali poprzez SMS, a także innego urządzenia.
Po otrzymaniu SMS o konkretnej treści i TYLKO Z ZAPROGRAMOWANEGO NUMERU mikrokontroler ustawia odpowiednie końcówki.
Następnie wysyła SMS potwierdzający wykonanie polecenia.
Elementy wykonawcze zależą już od konstruktora, mogą to być tranzystory, przekaźniki, lub bezpośrednie podłączenie końcówek do centrali (jak w moim przypadku).
Mikrokontroler kontroluje także stan naładowania baterii telefonu i kiedy jest rozładowana załącza ladowanie.
Po naładowaniu baterii ładowanie jest odłączane i telefon pracuje ze swojej baterii. Mozna oczywiście na stale zasilać telefon z układu.
Mikrokontroler pracuje na zewnętrznym kwarcu 8 MHz. Prędkość transmisji ustawiona jest na 9600 baudów.
Włączony jest system przerwań. Wykorzystywane jest przerwanie z Timera1 dla kontroli stanu baterii.
Przerwania także muszą być włączone z powodu wykorzystywania bufora transmisji szeregowej.
Układ działa już około miesiąca bez żadnych problemów.
Program w całości napisany w BASCOMie i jest stale modyfikowany (na początku miał za zadanie tylo zadzwonić)
Treści wysyłanych SMS umieściłem w EEPROM, są to dane w postaci PDU. Program nie przetwarza PDU na tekst tylko dokonuje porównań "na żywo" w tym trybie.
Oczywiście każdy kto chce wykorzystać własne treści musi sobie spreparować własne PDU, a także pozamieniać te treśći w instrukcji SELECT CASE.
Instrukcje rozpoznające treść SMS są zamieszczone w funkcji "Czytaj_sms" właśnie w instrukcji wyboru Select Case.
Jak już pisałem sterowanie poprzez SMS jest możliwe tylko z jednego numeru telefonu zapisanego w programie. SMS z innego numeru jest ignorowany.
To tyle co do samego programu jak i całego urządzenia. Jako, że jest to mój pierwszy projekt w BASCOM, nie jest zbyt zoptymalizowany.
Z pewnością da się coś jeszcze poprawić. Z chęcią przyjmę wszystkie sugestie i krytykę od bardziej zaawansowanych, oraz nowe pomysły.
Do prac z trybem PDU wykorzystałem program PDUspy.
Przypominam że ramki PDU w programie należy przystosować do siebie.
![[Atmega8] [BASCOM] Moduł GSM ze sterowaniem SMS [Atmega8] [BASCOM] Moduł GSM ze sterowaniem SMS](https://static2.elektroda.pl/img/preloader2.svg)
Jest to moduł komunikacji mikrokontrolera z telefonem komórkowym poprzez sprzętowy UART.
![[Atmega8] [BASCOM] Moduł GSM ze sterowaniem SMS [Atmega8] [BASCOM] Moduł GSM ze sterowaniem SMS](https://obrazki.elektroda.pl/97_1254069945_thumb.jpg)
W projekcie wykorzystałem uC Atmega8 i telefon SE T300.
Wykorzystałem ten model, bo akurat taki miałem i okazało się, że przypadkiem ten model ma pewną zaletę.
Mianowicie posiada opcję przekierowywania odebranego SMS bezpośrednio do mikrokontrolera po ustawieniu AT+CNMI=3,3,0,0,0
Dzięki temu nie zapełnia się pamięć w telefonie, oraz ułatwiony jest odczyt.
Cały projekt elektroniki wykonałem na płytce uniwersalnej.
W moim przypadku jest ten moduł GSM podłączony do centrali alarmowej Rokonet Prosys40, ale można go wykorzystać do innych celów.
Działanie układu jest następujące:
Głównym zadaniem po uruchomieniu jest monitorowanie stanu końcówki PD4 ustawionej jako wejście.
Jeśli na końcówce pojawi się stan niski to mikrokontroler poprzez UART zadzwoni na mój numer telefonu i po 20 sekundach rozłączy się.
Po tym wyśle jeszcze SMS do mnie i opcjonalnie na inny numer telefonu.
Kolejną funkcją jaką spełnia jest zdalene uzbrajanie i rozbrajanie czuwania centrali poprzez SMS, a także innego urządzenia.
Po otrzymaniu SMS o konkretnej treści i TYLKO Z ZAPROGRAMOWANEGO NUMERU mikrokontroler ustawia odpowiednie końcówki.
Następnie wysyła SMS potwierdzający wykonanie polecenia.
Elementy wykonawcze zależą już od konstruktora, mogą to być tranzystory, przekaźniki, lub bezpośrednie podłączenie końcówek do centrali (jak w moim przypadku).
Mikrokontroler kontroluje także stan naładowania baterii telefonu i kiedy jest rozładowana załącza ladowanie.
Po naładowaniu baterii ładowanie jest odłączane i telefon pracuje ze swojej baterii. Mozna oczywiście na stale zasilać telefon z układu.
Mikrokontroler pracuje na zewnętrznym kwarcu 8 MHz. Prędkość transmisji ustawiona jest na 9600 baudów.
Włączony jest system przerwań. Wykorzystywane jest przerwanie z Timera1 dla kontroli stanu baterii.
Przerwania także muszą być włączone z powodu wykorzystywania bufora transmisji szeregowej.
Układ działa już około miesiąca bez żadnych problemów.
Program w całości napisany w BASCOMie i jest stale modyfikowany (na początku miał za zadanie tylo zadzwonić)
Treści wysyłanych SMS umieściłem w EEPROM, są to dane w postaci PDU. Program nie przetwarza PDU na tekst tylko dokonuje porównań "na żywo" w tym trybie.
Oczywiście każdy kto chce wykorzystać własne treści musi sobie spreparować własne PDU, a także pozamieniać te treśći w instrukcji SELECT CASE.
Instrukcje rozpoznające treść SMS są zamieszczone w funkcji "Czytaj_sms" właśnie w instrukcji wyboru Select Case.
Jak już pisałem sterowanie poprzez SMS jest możliwe tylko z jednego numeru telefonu zapisanego w programie. SMS z innego numeru jest ignorowany.
To tyle co do samego programu jak i całego urządzenia. Jako, że jest to mój pierwszy projekt w BASCOM, nie jest zbyt zoptymalizowany.
Z pewnością da się coś jeszcze poprawić. Z chęcią przyjmę wszystkie sugestie i krytykę od bardziej zaawansowanych, oraz nowe pomysły.
Do prac z trybem PDU wykorzystałem program PDUspy.
Przypominam że ramki PDU w programie należy przystosować do siebie.
![[Atmega8] [BASCOM] Moduł GSM ze sterowaniem SMS [Atmega8] [BASCOM] Moduł GSM ze sterowaniem SMS](https://obrazki.elektroda.pl/9_1254047864_thumb.jpg)