logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

atmega8, raport doreczenia sms, siemens c35 PDU

cyber48 19 Lip 2009 12:34 3219 9
  • #1 6796531
    cyber48
    Poziom 10  
    Witam !

    Napisalem funkcje wysylającą sms'a o treści "Alarm". Wiadomosc w PDU stworzylem w PDUspy. Stworzony ciag z pduspy wysylam na UART, gdzie mam podpiety telefon, moja funkcja zmienia w tym ciagu jedynie numer odbiorcy, ktory odczytuje z EEPROMa mikrokontrolera.

    Do telefonu wysylam kolejno komendy:

    AT+CMGS=19
    CR (0x0D)
    0001000B9184numer_odbiorcy000005416650DA04
    CTRL+Z (0x1A)
    CR


    Po wyslaniu sms'a na ekranie mojego Siemensa c35 pojawia sie info ze odebrano nowa wiadomosc po czym na ekranie glownym pojawia sie i mruga STATUS:Dostarczono, Data Godzina, Nr odbiorcy.

    Chcialbym teraz przez RS232 odczytac ten status, ze doreczono mojego smsa. Czy jest jakis prosta AT komenda do odczytania tego statusu ?

    Za wszelka pomoc pkt !
  • #2 6798218
    wicy
    Poziom 22  
    Odpowiedź w postaci raportu jest otrzymanym sms'em. Jeśli nie masz innych odebranych SMS możesz to odczytać przez AT+CMGR=1 i skasować AT+CMGD=1 żeby następny raport znów był pierwszy po przyjściu.
  • #3 6798314
    cyber48
    Poziom 10  
    AT+CMGR - wydaje mi sie ze nie mam tyle miejsca w pamieci mikroprocesora ... to ok. 300 bajtow .. moze ktoś ma inny pomysł ?
  • #4 6798384
    wicy
    Poziom 22  
    A po co ci aż tyle pamięci?
    Ustaw jakiś nieduży bufor odczytu i czytaj do niego znacznik odpowiedzi +CGMR=xx (8 znaków) i potem tylko interesujące cię znaki (8-10 znaków daty).
  • #5 6798997
    cyber48
    Poziom 10  
    Ok sprobowalem zrobic tak jak mowisz,skasowalem z telefonu wszystkie smsy, wyslalem za pomoca procka smsa, dostalem raport - Flash SMS na ekran, a oto moje wyniki:

    1. po komendzie AT+CMGR=0...4:

    OK

    +CMGR: 0,,0

    OK



    2. na AT+CMGL=4 : (pokaz wszystkie smsy)

    OK

    OK


    Wyglada tak jakby w pamieci telefonu nie bylo nic... jakis pomysl ?
  • #6 6799177
    wicy
    Poziom 22  
    Ciężko wróżyć :( Raport zdaje się powinien zostać przekazany jako sms i zapisany do pamięci. U mnie nawet zapytanie o stan konta na karcie mimo iż przychodzi jako Flash da się odczytać jako sms przez CMGR.
    A co mówi "AT+CPMS=?" ? Może trzeba pokombinować z AT+CNMI...
  • #7 6799238
    ogr
    Poziom 15  
    Witam!
    Mysle ,ze w Twoim przypadku raport nie jest zapisywany do pamieci.
    Musisz wykryc znaki +CDS:(nadejscie raportu) i dalej wedlug dokumentacji:
    +CDS: <length><CR><LF><pdu> Direct output of the status report

    Pozdrawiam!
    Ogr
  • #8 6799322
    cyber48
    Poziom 10  
    Ok, problem rozwiązany.

    Dla zainteresowanych należało zmienić:

    1. AT+CNMI=1,1,0,2 - na skutek realizacji tego polecenia powiadomienie będzie miało postać: +CDSI: <pamięć>, <numer lokalizacji> na przykład +CDSI: ”SM”, 2)

    Po zmianie parametrów komenty AT+CNMI raport zapisuje się do skrzynki odbiorczej i można go odczytać tak jak proponował wcześniej kolega komendą:

    AT+CMGR=1 - zakładając, że w skrzynce odbiorczej nie ma żadnych innych sms'ow (1 to miejsce w pamięci telefonu)

    Teraz możemy sprawdzić raport doręczenia sms na dwa sposoby:

    1. szukajac po wysłaniu sms'a w odpowiedzi z telefonu stringa:

    +CDSI: "SM",2

    2. komendą AT+CMGR=1, na co telefon odpowiada tak:

    +CMGR: 1,,167
    07918406026080F106180B918405000663F5907091227562809070912275138000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

    Temat zamykam, dziękuję za pomoc!:)
  • #9 6799394
    Kminek
    Poziom 15  
    To ja może podłączę się pod temat bez konieczności zakładania nowego.

    Jak odczytać adres pamięci nowego smsa, który został wysłany na komórkę?

    Chodzi o to, że jestem wstanie wykryć nowego smsa, który przyszedł na komórkę, ale nie potrafie odczytać jego numeru adresu pamięci, tak abym mógł skożystać z komendy AT+CMGR.

    Po prostu brakuje mi numeru w pamięci adresu pod, którym znajduje się nowo odebrany sms.
  • #10 6909594
    wilk125
    Poziom 23  
    Kminek napisał:


    Chodzi o to, że jestem wstanie wykryć nowego smsa, który przyszedł na komórkę, ale nie potrafie odczytać jego numeru adresu pamięci, tak abym mógł skożystać z komendy AT+CMGR.


    zdaję sie ze to będzie kolejny numer według indeksu, czyli jak wczesniej miales 5 sms to ten, który nadejdzie bedzie mial numer 6

    Ja nie wiem jak wykryc nadejście smsa, może podpowiesz?
REKLAMA