robotika:shieldy:gsm_gprs

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
robotika:shieldy:gsm_gprs [12. 10. 2018, 23.40] rydloadmrobotika:shieldy:gsm_gprs [21. 11. 2018, 00.14] (aktuální) – maily rydloadm
Řádek 30: Řádek 30:
 </WRAP> </WRAP>
  
-==== Přehled zíkladních AT příkazů ====+==== Přehled základních AT příkazů ====
   ; AT : Test komunikace. Odpoví OK.   ; AT : Test komunikace. Odpoví OK.
   ; 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ší...
  
 +==== Příklady odpovědí ze sítě ====
 +  ; *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
 +  ; +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 ====
 +
 +[[http://www.smssolutions.net/tutorials/gsm/sendsmsat/|Tady to popisují]], [[https://www.branah.com/unicode-converter|konvertor na UTF-16]] a [[https://apps.timwhitlock.info/emoji/tables/unicode|emoji]]
 +  * Použije se jako terminál na linuxu ''screen /dev/ttyUSB0 9600''
 +  * ''AT+CSCS=?'' se ověří, že má HEX a ten se nastaví ''AT+CSCS="HEX"''
 +  * nastaví se, že budeme chtít utf-16 ''AT+CSMP=17,167,0,8'', za což může ta 8 na konci
 +  * zadá se číslo ''at+cmgs="+420737428309"'' a za ''>'' se píše zpráva (zkonvertovaný utf-16 hex
 +  * např. 017d006c00750165006f0075010d006b00fd0020006b016f01480020d83dde020020d83dde480020d83ddc6b
 +  * 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
robotika/shieldy/gsm_gprs.1539380448.txt.gz · Poslední úprava: autor: rydloadm

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki