2009-09-14 18 views
8

Mam modem GSM podłączony do mojego komputera, chcę otrzymywać wiadomości tekstowe wysyłane do niego za pomocą programu Pythona, który napisałem, zastanawiam się, jaka jest najlepsza technika sondowania danych.Jaki jest najlepszy projekt do odpytywania modemu dla przychodzących danych?

Powinieneś napisać program, który ma nieskończoną pętlę, która stale sprawdza przychodzące wiadomości SMS, tj. W pętli program wysyła polecenia AT i odczytuje dane wejściowe. lub czy modemy mają sposób sygnalizowania aplikacji przychodzących danych (sms).

Próbuję wyobrazić sobie telefon komórkowy to tylko modem GSM, a po odebraniu wiadomości SMS telefon powiadamia o zdarzeniu lub oprogramowanie telefonu ma nieskończoną pętlę, która odpytuje za przychodzące dane.

+0

Świetne pytanie! Po prostu ciekawy, jaki masz modem GSM? –

+0

Huawei, model E220 HSDPA Modem USB – gath

Odpowiedz

3

Napisałem coś podobnego wcześniej. Istnieje sposób, w jaki za pomocą komend AT informuje modem, aby zasygnalizował Cię za każdym razem, gdy zostanie odebrany SMS.

Dla odniesienia użyłem Maestro 100 GSM Modem we wbudowanej aplikacji.

Najpierw należy poprawnie zainicjować modem. Używałem trybu SMS do SMS-a, ale możesz użyć czegoś innego. Wybierz z tego, co chcesz. AT + CNMI jest najważniejszy.

AT&F0 # Restore factory defaults 
ATE0 # Disable command echo 
AT+CMGF=1 # Set message format to text mode 
AT+CNMI=1,1,0,1,0 # Set new message indicator 
AT+CPMS="SM","SM","SM" # Set preferred message storage to SIM 

Będziesz wtedy czekać na powiadomienie o wiadomościach, które będzie wyglądało tak. (Nie pasuje na numer indeksu, które mogą różnić się między powiadomień)

+CMTI: "SM",0 # Message notification with index 

Po otrzymaniu tego powiadomienia, odzyskać nieprzeczytanych SMS to:

AT+CMGL="REC UNREAD" # Retrieve unread messages 

Polecam również dodać ankietę, może co 5 minut, na wypadek, gdybyś przegapił powiadomienie. Dzięki łączom szeregowym nigdy nie będziesz pewien!

+0

Dzięki, nie mogę się doczekać. – gath

+0

OK, edytowane. Mam nadzieję że to pomoże. Użyłem tych poleceń we wbudowanej aplikacji z zewnętrznym modemem GSM. –

+0

Świetnie, pozwól mi to wypróbować. – gath

0

Uważam, że nie pamiętam wiele z zestawu poleceń AT związanych z SMS-em. Odpowiedź Andre Millera wydaje się dzwonić kilkoma dzwonami. W każdym razie powinieneś uważnie czytać dokumentację, jestem pewien, że było kilka gotch.

Moja rekomendacja dotycząca sondowania odbywa się co najmniej co 5 sekund - jest to po prostu dla solidności i szybkości reagowania w przypadku rozłączenia.

Użyłem automatu stanów do nawigacji między inicjalizacją, odczytywaniem i usuwaniem wiadomości.

Powiązane problemy