Witam. Piszę obecnie program do obsługi SMSów z telefonu, przede wszystkim ma on wysyłać wiadomości, ale możliwość odczytu również byłaby miłą opcją. Docelowo program będzie najprawdopodobniej w C# 2005.
Znalazłem do tej pory kilka przykładów:
http://www.codeproject.com/Articles/20420/How-To-Send-and-Receive-SMS-using-GSM-Modem
http://www.codeproject.com/Articles/38705/Send-and-Read-SMS-through-a-GSM-Modem-using-AT-Com
i jeszcze parę programów tylko do wysyłania SMSów
Napisałem też swój, prosty program do testowania komend: http://wklej.org/id/757025/ .
I już mówię o co chodzi. We wszystkich przykładach jakie testuję, wysyłanie działa poprawnie (i w trybie TEXT i w PDU), problem jest natomiast przy odczycie. Nawet te niby gotowe programy nie potrafią odczytywać SMSów z telefonu (ten z pierwszego linku wydaje mi się że ma jakiś błąd w kodzie i nie umie przetworzyć uzyskanej odpowiedzi...), zaś ten drugi wywala komunikat że nieoczekiwana odpowiedź. Na załączonym screenie widać efekt działania mojego programu, próbowałem wylistować wszystkie wiadomości.
Najdziwniejsze w tym wszystkim jest to, że komenda AT+CMGL raz działa (niekiedy nie trzeba nawet dopisywać znaku '=' i czegokolwiek za nim), a raz nie działa. Czasem po wpisaniu kilku zupełnie przypadkowych komend udaje sie wyświetlić zawartość karty SIM, ale zaś pamięci telefonu nie wyświetli. Kiedy indziej na odwrót. Po zmianie trybu TEXT/PDU też czasem coś się zmienia, ogólnie nigdy nie mam dostępu do obydwu pamięci jednocześnie.
Mój program prawdopodobnie jest ok, bo podobnie 'kapryśne' odpowiedzi uzyskuje również ten program z pierwszego linku, który korzysta z C#-owej klasy SerialPort.
Czy ktoś z Was może robił kiedyś coś podobnego z komendami AT? Wiecie co może być przyczyną takiego dziwnego zachowania i jak to naprawić/obejść? Możliwe że to mój telefon (Samsung U600) jest jakiś dziwny, a pod innym urządzeniem nie będzie takich problemów?
Pozdrawiam..
Znalazłem do tej pory kilka przykładów:
Napisałem też swój, prosty program do testowania komend: http://wklej.org/id/757025/ .
I już mówię o co chodzi. We wszystkich przykładach jakie testuję, wysyłanie działa poprawnie (i w trybie TEXT i w PDU), problem jest natomiast przy odczycie. Nawet te niby gotowe programy nie potrafią odczytywać SMSów z telefonu (ten z pierwszego linku wydaje mi się że ma jakiś błąd w kodzie i nie umie przetworzyć uzyskanej odpowiedzi...), zaś ten drugi wywala komunikat że nieoczekiwana odpowiedź. Na załączonym screenie widać efekt działania mojego programu, próbowałem wylistować wszystkie wiadomości.
Najdziwniejsze w tym wszystkim jest to, że komenda AT+CMGL raz działa (niekiedy nie trzeba nawet dopisywać znaku '=' i czegokolwiek za nim), a raz nie działa. Czasem po wpisaniu kilku zupełnie przypadkowych komend udaje sie wyświetlić zawartość karty SIM, ale zaś pamięci telefonu nie wyświetli. Kiedy indziej na odwrót. Po zmianie trybu TEXT/PDU też czasem coś się zmienia, ogólnie nigdy nie mam dostępu do obydwu pamięci jednocześnie.
Mój program prawdopodobnie jest ok, bo podobnie 'kapryśne' odpowiedzi uzyskuje również ten program z pierwszego linku, który korzysta z C#-owej klasy SerialPort.
Czy ktoś z Was może robił kiedyś coś podobnego z komendami AT? Wiecie co może być przyczyną takiego dziwnego zachowania i jak to naprawić/obejść? Możliwe że to mój telefon (Samsung U600) jest jakiś dziwny, a pod innym urządzeniem nie będzie takich problemów?
Pozdrawiam..