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

Atmega8 Bascom - SIM800L - Email po GPRS - wysyła tylko tytuł wiadomości

maximus22_kr 29 Mar 2015 01:55 4215 6
REKLAMA
  • #1 14570250
    maximus22_kr
    Poziom 18  
    Witam
    Zakupiłem "minimalistyczny" moduł SIM800L.
    Moduł działa bez zarzutu. Jako, że w dokumentacji jest możliwość wysyłania emaili przez GPRS, testuję tę możliwość. Generalnie działa, ale przesyła tylko tytuł emaila.

    Wysyłam w ten sposób:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Problem w tym, że po wpisaniu AT+SMTPBODY wyświetla ERROR, mogę jedynie zakończyć i wysłać email przez AT+SMTPSEND.

    Jak poprawnie wysyłać do modemu? Oczywiście jest zgodny ze standardem AT, losowo sprawdzałem komendy, których używałem na SIM900.

    Pozdrawiam,
    Piotr.
  • REKLAMA
  • #2 14570606
    Eagle
    Poziom 24  
    Może warto zajrzeć do dokumentacji modułu i przeczytać jaki format komendy przyjmuje ten moduł np:

    Kod: Text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #3 14571193
    maximus22_kr
    Poziom 18  
    Oczywiście, że przeglądałem. Przeglądałem też przykłady, np. taki:
    Cytat:

    OK
    AT+SAPBR=4,1
    +SAPBR:
    CONTYPE: GPRS
    APN: claro.com.br
    PHONENUM:
    USER: claro
    PWD: claro
    RATE: 2

    OK
    AT+SAPBR=3,1,"CONTYPE","GPRS"
    OK
    AT+SAPBR=3,1,"APN","claro.com.br"
    OK
    AT+SAPBR=3,1,"USER","claro"
    OK
    AT+SAPBR=3,1,"PWD","claro"
    OK
    AT+SAPBR=1,1
    OK
    AT+SAPBR=2,1
    +SAPBR: 1,1,"187.27.115.243"

    OK
    AT+EMAILCID=1
    OK
    AT+EMAILTO=120
    OK
    AT+SMTPSRV="smtp.mail.yahoo.com.ar",587
    OK
    AT+SMTPAUTH=1,"xxxxxxxx@yahoo.com.ar","xxxxxxx"
    OK
    AT+SMTPFROM="xxxxxxx@yahoo.com.ar","xxxxxxx@yahoo. com.ar"
    OK
    AT+SMTPRCPT=0,0,"xxxxxxx@gmail.com","user1 nc"
    OK
    AT+SMTPRCPT=1,0,"xxxxxxx@yahoo.com.ar","user2 cc"
    OK
    AT+SMTPRCPT=2,0,"xxxxxxx@hotmail.com","user3 cco"
    OK
    AT+SMTPSUB="REPORTE_GPRS"
    OK
    AT+SMTPBODY
    > E-MAIL GENERADO POR GPRS Com900 MACHINE

    COMANDOS via SMS aO (11)9483xxxx

    petision generada por ""

    NORMALES = BATERIA25V UPS115V TEMPERATURA30°C
    ALARMAS = BATERIA22V UPS80V TEMPERATURA28°C
    ESTATUS de las SALIDAS

    BATERIA UPS 0.0 V
    ENTRADA U6Temperatura Ambiente : 27.0 Cº



    OK
    AT+SMTPSEND
    OK

    +SMTPSEND: 1 yes!!


    Z tego co wyczytałem ( z angielskim raczej słabo u mnie ), to po wysłaniu AT+SMTPBODY, powinien wyświetlić znak > i wtedy można podać treść emaila. Należy zakończyć znakiem Chr(26) - Hex 0x1A.

    W tym momencie zrobiłem coś takiego
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Efekt jest taki, że odpowiedź modemu jest taka:
    Cytat:

    +SAPBR:
    CONTYPE: GPRS
    APN: internet
    PHONENUM:
    USER:
    PWD:
    RATE: 2

    OK

    OK

    OK

    OK

    OK

    ERROR

    +SAPBR: 1,1,"10.187.197.127"

    OK

    OK

    OK

    OK

    OK

    OK

    OK

    OK

    OK

    OK

    DOWNLOAD

    OK

    OK

    +SMTPSEND: 1


    I wysyłany jest email o treści:
    20:12:45 28/03/14
    Linia1
    Linia2
    Linia3
    Temperatura: 12 C
    Temperatura: 12 C

    Zauważyłem, że jest jeszcze jeden problem. Jak podepnę Rx Atmega z Tx SIM800L i Tx Atmega z Rx SIM800L, to wtedy nie chce wysyłać nic na UART, jak odepnę Tx SIM800L od Rx Atmega ( czyli tylko odbieram polecenia ) to wtedy wysyła. Co ciekawe, jak komunikuję się przez FT232 z SIM800L to wszytko działa OK
  • REKLAMA
  • #4 14571476
    Eagle
    Poziom 24  
    1) musisz popracować na ang. do tego czasu używaj np : translator googla . nie traktuj tego jako złośliwość, ale jako radę bo będzie cię to szalenie blokować
    2) skorzystać z dokumentacji od SIM800 nie od SIM900

    spróbuj czegoś takiego
    Kod: Text
    Zaloguj się, aby zobaczyć kod
  • #5 14571639
    maximus22_kr
    Poziom 18  
    Dokumentacje dla SIM800L zarówno dla komend, jak i samego modułu już mam.

    Tzn. już doszedłem, że maks znaków to 4096 i można wstawiać zmienne
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Natomiast problem jest taki, że muszę dwa razy wywołać program, żeby email został wysłany, za pierwszym razem nie wyświetla +SAPBR: 1,1,"10.129.99.185" i nic się nie wysyła. Dopiero za drugim razem.

    Kod wywołania połączenia jest taki:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    W terminalu odpowiedzi modemu po pierwszym wywołaniu wyglądają tak:

    Cytat:

    OK

    OK

    OK

    OK

    +SAPBR:
    CONTYPE: GPRS
    APN: internet
    PHONENUM:
    USER:
    PWD:
    RATE: 2

    OK

    OK

    OK

    DOWNLOAD

    OK

    ERROR



    za drugim wywolaniem

    Cytat:

    OK

    OK

    OK

    OK

    +SAPBR:
    CONTYPE: GPRS
    APN: internet
    PHONENUM:
    USER:
    PWD:
    RATE: 2

    OK

    ERROR

    +SAPBR: 1,1,"10.129.99.185"

    OK

    OK

    OK

    OK

    OK

    OK

    OK

    OK

    OK

    OK

    DOWNLOAD

    OK

    OK

    +SMTPSEND: 1



    Co do dokumentacji, to nie wszystkie opisane komendy działają - nie działa np.
    AT+CCLK="15/03/29,22:28:00+2" do ustawiania czasu modułu. Tzn.
    AT+CCLK=? daje odpowiedź OK
    a
    AT+CCLK? daje czas modemu
    ale
    AT+CCLK="15/03/29,22:28:00+2" daje ERROR
  • #6 14760148
    adamschodowy
    Poziom 12  
    a weź w drodze konsekwencji skoryguj ten format dodając przecinek pomiędzy ostatnimi dwiema zmiennymi :))
    AT+CCLK="15/03/29,22:28:00,+2"
  • REKLAMA
  • #7 14761569
    michalko12
    Specjalista - Mikrokontrolery
    AT+CCLK="01/01/01, 01:01:01-08"
REKLAMA