Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
robotika:shieldy:gsm_gprs [25. 10. 2018, 01.23] rydloadm |
robotika:shieldy:gsm_gprs [21. 11. 2018, 00.14] (aktuální) rydloadm maily |
||
---|---|---|---|
Řádek 34: | Řádek 34: | ||
; AT+CMGF=1 : Nastaví textový reživ výpisu SMS zpráv. | ; AT+CMGF=1 : Nastaví textový reživ výpisu SMS zpráv. | ||
; AT+CMGL="REC UNREAD" : Vypsat nepřečtené SMS zprávy. | ; AT+CMGL="REC UNREAD" : Vypsat nepřečtené SMS zprávy. | ||
+ | ; AT+CMGD=5 : smazat sms s indexem 5 (odpovídalo to indexům podle AT+CMGL="ALL") | ||
+ | ; AT+CMGDA="DEL ALL" : smazat všechny sms, lze i jemněji selektovat... | ||
; AT+COPS? : Informace o operátorovi, ke kterému jsme přihlášeni. | ; AT+COPS? : Informace o operátorovi, ke kterému jsme přihlášeni. | ||
; AT+CPOL? : Informace, ke kterým operátorům a v jakém pořadí se SIM má hlásit. | ; AT+CPOL? : Informace, ke kterým operátorům a v jakém pořadí se SIM má hlásit. | ||
Řádek 43: | Řádek 45: | ||
; AT+CLTS=1;&W : Nastaví a napevno uloží, že se má datum a čas tahat ze sítě | ; AT+CLTS=1;&W : Nastaví a napevno uloží, že se má datum a čas tahat ze sítě | ||
; AT+CCLK? : Zjistí, jaké je datum a čas | ; AT+CCLK? : Zjistí, jaké je datum a čas | ||
+ | ; AT+DDET=1 : Po vytočení nebo přijetí hovoru se zadá tento příkaz a modul pak dekóduje příchozí DTMF tóny. Odpovídá např. řetězcem "+DTMF: 5", kde místo 5 může být lib. číslovka nebo * nebo # jako příchozí kód. | ||
+ | ; AT+VTS="1" : Během hovoru odešle do spojeného telefonu DTMF tón odpovídající znaku "1" | ||
+ | ; AT+VTD=0..255 : Nastaví délku DTMF tónu s krokem 0,1 s | ||
+ | ; AT+CLIP=1 : Aktivuje zobrazení tel. čísla příchozího hovoru | ||
; FIXME : Chybí další... | ; FIXME : Chybí další... | ||
Řádek 48: | Řádek 54: | ||
; *PSUTTZ : Dává informaci o synchronizaci času podle sítě, UTC čas, pro aktuální čas se dotážeme AT+CCLK? | ; *PSUTTZ : Dává informaci o synchronizaci času podle sítě, UTC čas, pro aktuální čas se dotážeme AT+CCLK? | ||
; +CMTI:"SM",7 : Říká, že přišla sms 7 do paměti | ; +CMTI:"SM",7 : Říká, že přišla sms 7 do paměti | ||
+ | ; +DTMF: 5 : Příchozí DTMF kód "5" (dekódování se zapíná AT+DDET=1) | ||
+ | ; RING : Zrovna zvoní zvonek (někdo volá) | ||
+ | ; +CLIP: "+420777666555",145,"",0,"",0 : Příchozí hovor z čísla "+420777666555", pokud byl výpis zapnutý pomocí AT+CLIP=1 | ||
| | ||
==== Jak poslat sms v UNICODE ==== | ==== Jak poslat sms v UNICODE ==== | ||
Řádek 59: | Řádek 68: | ||
* a stisknu CTRL+Z | * a stisknu CTRL+Z | ||
+ | ==== Komunikace přes GRPS ==== | ||
+ | Docela pěkný příklad na HTTP je na [[http://www.electronicwings.com/arduino/http-client-using-sim900a-gprs-and-arduino-uno|webu]]. | ||
+ | Jednotlivé kroky jsou: | ||
+ | * ''AT+SAPBR=3,1,"Contype","GPRS"'' Konfigurace profilu | ||
+ | * ''AT+SAPBR=3,1,"APN","internet"'' Konfigurace profilu | ||
+ | * ''AT+SAPBR=1,1'' Otevřeme GPRS kontext | ||
+ | * ''AT+SAPBR=2,1'' Dotazujeme se GPRS kontextu | ||
+ | * odpověď ''+SAPBR: 1,1,"100.10.10.10"'' Dostali jsme kontext a nějaká interní IP... | ||
+ | * ''AT+HTTPINIT'' Inicializace HTTP | ||
+ | * ''AT+HTTPSSL=1'' Aktivace https | ||
+ | * ''AT+HTTPPARA="CID",1'' Nějaká záhadná inicializace | ||
+ | * ''AT+HTTPPARA="URL","www.gml.cz"'' Nastavení URL | ||
+ | * ''AT+HTTPACTION=0'' A odesílá se dotaz | ||
+ | * odpověď ''+HTTPACTION: 0,200,1000'' Co je za odpověď a kolik dat jsme dostali | ||
+ | * ''AT+HTTPREAD'' Vyčteme příchozí data | ||
+ | * ''AT+HTTPTERM'' Ukončíme http | ||
+ | * ''AT+SAPBR=0,1'' Ukončíme GPRS | ||
+ | | ||
+ | SimCom má na to [[https://simcom.ee/documents/SIM900/SIM900_HTTPS%20AT%20Command%20Set_V1%2000.pdf|Application Note]] | ||
+ | |||
+ | ==== Dá se zjistit přibližná pozice podle BTS ==== | ||
+ | * Otevře se GPRS kanál: ''AT+SAPBR=3,1,"Contype","GPRS"'', ''AT+SAPBR=3,1,"APN","internet"'', ''AT+SAPBR=1,1'' | ||
+ | * a pošleme dotaz: ''AT+CIPGSMLOC=1,1'' | ||
+ | * odpověď zní třeba: ''+CIPGSMLOC: 0,16.621126,49.220940,2018/11/20,20:19:45'', což znamená: | ||
+ | * 0 je lokační kód (0=úspěch; 601=Network Error; 602=No memory; 603=DNS Error;604=Stack Busy;65535=Other Error) | ||
+ | * 16.621126 je //longitude// -- zem. délka ve stupních | ||
+ | * 49.220940 je //latitude// -- zem. šířka ve stupních | ||
+ | * 2018/11/20/20:19:45 je aktuální čas (GMT) | ||
+ | * pozice se dá rychle vykreslit na [[https://www.latlong.net/Show-Latitude-Longitude.html|šikovném webu]] | ||
+ | * asi bychom měli zavřít gprs kanál: ''at+sapbr=0,1'' | ||
+ | |||
+ | ==== TCP spojení (kontrola DNS) ==== | ||
+ | * ''AT+CGATT?'' musí vrátit 1, jinak nastavit na 1 | ||
+ | * ''AT+CIPMUX=0'' povolí jen jedno spojení v jednu chvíli (jednodušší) | ||
+ | * ''AT+CSTT="internet.t-mobile.cz"'' nastaví APN t-mobilu | ||
+ | * ''AT+CIICR'' rozjeď připojení | ||
+ | * ''AT+CIFSR'' zjistí moji IP | ||
+ | * ''AT+CIPSTART="TCP","rainmaker.wunderground.com","23"'' se připojí telnetem k předpovědi počasí | ||
+ | * Na telnetu jsou [[informatika:zajimavosti:telnet|různé zajímavosti]] | ||
+ | * ''AT+CIPSEND'' se odešlou data až po Ctrl+Z (Pokud potřebujeme odeslat CR, stiskneme Ctrl+m, k odeslání LF stiskneme Ctrl+j) | ||
+ | * ''AT+CIPSHUT'' zruší spojení | ||
+ | * ''AT+CDNSCFG?'' zjistí, jaké jsou nastavené DNS servery | ||
+ | * ''AT+CDNSGIP="gml.cz"'' zeptá se DNS serverů na IP gml.cz | ||
+ | * ''AT+CIPSTATUS'' status linky | ||
+ | |||
+ | ==== Email ==== | ||
+ | Dají se i číst a posílat maily, podle [[http://www.8051projects.net/files/public/1414922889_22104_FT63039_sim900_email_at_command_manual_v1.02.pdf|SIM900 email at command manuálu]]. | ||
+ | |||
+ | * Číst: | ||
+ | * at+emailcid=1 | ||
+ | * at+emailto=30 | ||
+ | * AT+POP3SRV=”pop3.centrum.cz”,”login”,”heslo”,110 | ||
+ | * AT+POP3IN | ||
+ | * AT+POP3NUM | ||
+ | * AT+POP3LIST=1 | ||
+ | * AT+POP3CMD=4,1 | ||
+ | * AT+POP3READ=1460 | ||
+ | * AT+POP3OUT | ||
+ | * Posílat: | ||
+ | * at+emailcid=1 | ||
+ | * at+emailto=30 | ||
+ | * AT+SMTPSRV=”smtp.centrum.cz”,25 | ||
+ | * AT+SMTPAUTH=1,”john”,”123456" | ||
+ | * AT+SMTPFROM=”john@sim.com”,”john” | ||
+ | * AT+SMTPRCPT=0,0,”john@sim.com”,”john” | ||
+ | * AT+SMTPSUB=”Test” | ||
+ | * AT+SMTPBODY=30 | ||
+ | * AT+SMTPSEND |