Toto je starší verze dokumentu!
Shield umožňující telefonování, zasílání SMS a internetovou komunikaci přes mobilní telefonní sítě. Vyžaduje SIM kartu (školní od T-Mobile má nízký kredit).
Obsahuje velmi rozšířený komunikační modul SIM900, slot na LCD displej, který se ale nepřipojuje k čipu, ale jde přímo na piny Arduina ( které?). Žlutý „trojzubec“ pinů pod anténou slouží k připojení analogové klávesnice – dva piny jsou napájení, třetí je přiveden na analogový vstup Arduina.
Skvělý zdroj je http://www.elecfreaks.com/wiki/index.php?title=EFCom_GPRS/GSM_Shield nebo také http://linksprite.com/wiki/index.php5?title=SIM900_GPRS/GSM_Shield.
Shield lze zapojit buď přímo na Arduino (Uno) nebo do nepájivého pole a propojit jen piny pro napájení a UART.
Shieldu nestačí napájení z USB! Je nutné připojit i externí napájení, buť 9V baterií nebo z adaptéru, jinak ssice bude vesele blikat, ale nebude komunikovat.
Na shieldu se musí nastavit pomocí jumperů správně propojení komunikační seriové linky (UART). Pokud budeme na Arduinu používat softwarový UART pro spojení s GSM modulem (abychom mohli přes hardwarový komunikovat s PC), propojíme jumpery tak, že D3 spojí prostřední (žlutý) pin s pinem blíž horního okraje (označené S_RX) a D2 propojí prostřední pin s pinem dál od horního okraje (označený S_TX). obrázek…
Vespod shieldu musí být správně umístěná funkční SIM karta, ideálně bez nutnosti zadat PIN. (Dotáhneme také anténku.)
Arduino je napojené přes USB a má nahraný jednoduchý prográmek který přeposílá data, která dostane Arduino po hardwarovém UARTu (piny 0, 1) na softwarový na pinech 2, 3 (připojený GSM modul). Viz 8. odrážka.
Po zapojení může být nutné zmáčknout tlačítka označená RST a S_PWR. Tlačítko S_PWR slouží k zapínání a vypínání modulu, takže může být nutné ho stisknout dvakrát. Po jeho stisku by měla svítit LED PWR, STA a v delších intervalech krátce probliknout NET.
Je-li zapojení v pořádku, komunikuje shield rychlostí 19200 baudů a řádky příkazů ukončuje znakem CR (v jazyce C \r, ASCII kód 13).
Komunikuje se jazykem AT příkazů, viz dokumentace.
Pokud při komunikaci posílá shield od určitého znaku dál nesmyslnou odpověď (např. na at+cmgr pošle půlku sms korektně a zbytek jsou divné znaky), je to proto, že knihovna SoftwareSerial.h má limit na délku načtené sekvence jen 64 znaků, což nestačí. Je nutné opravit velikost bufferu na 256 (jdou jen mocniny 2): #define _SS_MAX_RX_BUFF 256 ⁄/ RX buffer size
Tady to popisují, konvertor na UTF-16 a emoji
screen /dev/ttyUSB0 9600
AT+CSCS=?
se ověří, že má HEX a ten se nastaví AT+CSCS=„HEX“
AT+CSMP=17,167,0,8
, za což může ta 8 na konciat+cmgs=„+420737428309“
a za >
se píše zpráva (zkonvertovaný utf-16 hexDocela pěkný příklad na HTTP je na webu.
Jednotlivé kroky jsou:
AT+SAPBR=3,1,„Contype“,„GPRS“
Konfigurace profiluAT+SAPBR=3,1,„APN“,„internet“
Konfigurace profiluAT+SAPBR=1,1
Otevřeme GPRS kontextAT+SAPBR=2,1
Dotazujeme se GPRS kontextu+SAPBR: 1,1,„100.10.10.10“
Dostali jsme kontext a nějaká interní IP…AT+HTTPINIT
Inicializace HTTPAT+HTTPSSL=1
Aktivace httpsAT+HTTPPARA=„CID“,1
Nějaká záhadná inicializaceAT+HTTPPARA=„URL“,„www.gml.cz“
Nastavení URLAT+HTTPACTION=0
A odesílá se dotaz+HTTPACTION: 0,200,1000
Co je za odpověď a kolik dat jsme dostaliAT+HTTPREAD
Vyčteme příchozí dataAT+HTTPTERM
Ukončíme httpAT+SAPBR=0,1
Ukončíme GPRSSimCom má na to Application Note
AT+SAPBR=3,1,„Contype“,„GPRS“
, AT+SAPBR=3,1,„APN“,„internet“
, AT+SAPBR=1,1
AT+CIPGSMLOC=1,1
+CIPGSMLOC: 0,16.621126,49.220940,2018/11/20,20:19:45
, což znamená:at+sapbr=0,1
AT+CGATT?
musí vrátit 1, jinak nastavit na 1AT+CIPMUX=0
povolí jen jedno spojení v jednu chvíli (jednodušší)AT+CSTT=„internet.t-mobile.cz“
nastaví APN t-mobiluAT+CIICR
rozjeď připojeníAT+CIFSR
zjistí moji IPAT+CIPSTART=„TCP“,„rainmaker.wunderground.com“,„23“
se připojí telnetem k předpovědi počasí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 serveryAT+CDNSGIP=„gml.cz“
zeptá se DNS serverů na IP gml.czAT+CIPSTATUS
status linky