Zkušenosti s GSM modemem SIM900. GSM modul pro dálkové ovládání Připojení GSM modulu k mikrokontroléru

Arduino je hardwarová platforma používaná pro rychlá tvorba rozličný elektronická zařízení včetně bezpečnostních. Díky jednoduchému designu, jednoduchosti programovacího jazyka a také použití otevřených kódů si i neprofesionál může samostatně vyrobit multifunkční zabezpečovací systém pro ochranu svého domu, chaty, bytu nebo garáže. Arduino GSM modul bude nejlepší možností pro vytvoření rozpočtového bezpečnostního systému, který lze optimálně nakonfigurovat pro konkrétní objekt.

Oblast použití

Hardwarová platforma Arduino je široce používána v procesu vytváření různých elektronické systémy a zařízení, která mohou přijímat a zpracovávat signály z různě funkčních analogových nebo digitálních senzorů a senzorů. Výsledky zpracování přijatých signálů lze ovládat externími akčními členy a systémy připojenými k Arduinu.

Příklad použití těchto modulů ve videu:

Účel

Hardwarová platforma Arduino umožňuje efektivní interakci s kontrolovaným prostředím prostřednictvím široké škály funkčních senzorů, které mohou ovládat různé parametry. Díky tomu je možné na základě takových platforem vytvářet bezpečnostní komplexy, které budou monitorovat pohyb po chráněném obvodu, otevírání oken a dveří a poškození skla. Kromě čidel bezpečnostního typu můžete využít i teplotní čidla, čidla pro sledování úniku vody nebo plynu.

Pomocí GSM modulu Arduino s platformou lze majiteli co nejrychleji poskytnout informace o nebezpečí nebo nouzové situaci v objektu. K tomuto účelu slouží jedna ze sítí mobilních operátorů.

Charakteristickým rysem zařízení Arduino je, že jejich mikrokontrolér může uživatel naprogramovat pomocí jazyka Arduino, založeného na Wiring. Díky tomu může každý naprogramovat operační algoritmus vytvořeného poplašné zařízení proti vloupání jak je požadováno pro konkrétní chráněný objekt a specifika jeho aplikace.

Výhody použití

Dnes existuje mnoho hardwarových platforem a mikrokontrolérů, které dokážou přijímat informace z externích senzorů, zpracovávat je a posílat řídicí signály do výkonných systémů. Platforma Arduino maximálně zjednodušuje implementaci uvedených procesů a oproti jiným zařízením tohoto druhu má celou řadu výhod.

  1. Nízké náklady. Platformy jsou ve srovnání s jejich analogy poměrně levná zařízení, což v žádném případě neovlivňuje jejich funkčnost.
  2. Víceplatformní. Software Arduino funguje efektivně pod operačními platformami, jako jsou Windows, Linux, Macintosh-OSX.
  3. Jednoduchost programování. Pro konfiguraci mikrokontrolérů se používá programovací prostředí Processing. Je ideální pro profesionální i nezkušené uživatele, kteří pracují se zařízeními Arduino.
  4. Možnost vylepšení. Specializovaný software Arduino je jiný open source, což umožňuje zkušeným uživatelům přizpůsobit jej konkrétním požadavkům.

Vysoká spolehlivost hardwarové platformy. Desky Arduino jsou dostupné s mikrokontroléry ATMEGA8 a ATMEGA168 (dřívější modely) a s řadiči ATmega32u4, Atmel ATmega328 (novější modely), které se liší vysoká funkčnost a spolehlivost.

Princip činnosti

Aby byla zajištěna plná funkčnost bezpečnostní systémy nebo jiná zařízení postavená pomocí platforem Arduino, musíte mít modul GSM pro Arduino. Lze jej použít pro přístup k internetu, uskutečňování hlasových hovorů nebo posílání SMS zpráv.

Deska GSM využívá speciální rádiový modem M10, s nímž je interakce zajištěna pomocí speciálních AT příkazů. Výměna informací s modemem je realizována pomocí softwarového sériového rozhraní, které využívá digitální kódy.

GSM modem používaný v Arduinu je 4pásmový modem, který může pracovat na následujících frekvencích: GSM 850MHz a 900MHz, PCS1900MHz a DCS1800MHz. Modem podporuje protokoly jako TCP/UDP a HTTP a poskytuje připojení přes GPRS. Přenosová rychlost informačních paketů v tomto režimu bude asi 90 kbit/s.

Odesílání SMS přes Arduino a GSM modul je implementováno, pokud je k dispozici nainstalovaná SIM karta jednoho z mobilních operátorů."

Navíc bude možné přenášet hlasové zprávy, volat - k tomu navíc potřebujete mikrofon a externí reproduktor. Instalace SIM karty vám umožní používat Arduino mobilní komunikace nebo GPRS.

Jak připojit moduly k Arduinu

Před připojením GSM modulu k Arduinu do jeho slotu byste měli nainstalovat vhodnou SIM kartu od jednoho z mobilních operátorů. Poté je modul podle pokynů připojen k hardwarové platformě Arduino a jeho firmware je flashován. K tomuto účelu slouží PC, které je k zařízení připojeno pomocí USB kabelu. Po načtení prostředí Arduino stiskněte tlačítko Nahrát, čímž se spustí proces stahování softwaru. Po dokončení tohoto procesu lze platformu odpojit od počítače a napájet externím zdrojem napájení.

Srovnávací charakteristiky GSM modulů

Spotřebitelský trh nabízí široký výběr různých GSM modulů pro Arduino. Níže jsou uvedeny hlavní charakteristiky těch nejoblíbenějších.

Neoway M590

Arduino GSM modul M590 je bezdrátové komunikační zařízení používané pro příjem a přenos informací v sítích mobilní komunikace. Modul této řady je vytvořen na desce s minimální kabeláží a je umístěn jako GSM modul pro hardwarovou platformu Arduino.

S tímto zařízením můžete navázat mobilní komunikaci externí telefon, posílat SMS zprávy, vyměňovat si informace pomocí standardu GPRS Class-10. Modul této konstrukce nemá mikrofonní vstup, což omezuje možnost příjmu hlasové komunikace - lze navázat spojení, ale nebude přenášen zvuk.

K ovládání M590 se používají AT příkazy, které jsou vydávány přes sériovou komunikaci. Jako provozní rádiové frekvence se používají frekvence od 900 MHz do 1800 MHz. Napájecí napětí je v rozmezí 3,3...5 V. Proto se GSM modul Neoway M590 připojuje k Arduinu přes speciální měnič napětí 5 V na 3,3 V.

GSM modul SIM800L

Kompaktní Sim800l GPRS GSM modul je zařízení, které slouží k podpoře mobilní komunikace. Modul je postaven na meringue SIM-800L vytvořené společností SIMCom Wireless Solutions a je navržen tak, aby poskytoval služby službám informační sítě GPRS\GSM, využívající frekvence od 850 MHz do 1900 MHz. Lze jej použít k odesílání SMS zpráv, volání a výměně informací prostřednictvím kanálů GPRS.

GSM modul je vybaven anténou, pokud potřebujete zlepšit úroveň signálu, můžete použít přídavné antény. K ovládání modulu lze použít PC připojené přes speciální převodní desku rozhraní USB-UART nebo přímo přes samotný UART. Pokud je použit Sim800l GPRS GSM modul , připojení k Arduinu musí být realizováno pomocí převodníku logické úrovně. To je způsobeno tím, že SIM800L má hodnotu napětí na logické vysoká úroveň je 2,8 V a v Arduinu - 3,3...5 V.

GPRS Shield od Seeed Studio

Připojení GSM modulu k Arduinu poskytne možnost využívat technologie výměny dat GSM/GPRS a také volat a posílat SMS zprávy. Zařízení tohoto typu jsou postavena pomocí modulu SIMCom SIM900. Mají slot pro instalaci SIM karty, konektor pro připojení externí anténa, sada 3,5mm jacků pro audio vstup a výstup. Ovládání a práce s Arduino GSM Shield se provádí prostřednictvím sériového připojení a sady specializovaných AT příkazů.

Tento modul je speciální deska sloužící k dálkovému ovládání digitálních zařízení a také k výměně informací. Použití SIM900 umožňuje Arduinu pracovat pomocí technologií GSM/GPRS, poskytovat hlasovou komunikaci, posílání SMS a výměnu dat pomocí mobilních a mobilních sítí.

Pro provoz tohoto modulu je k němu připojen řídicí ovladač, napájecí zdroj, anténa a je také instalována SIM karta mobilního operátora. Pomocí speciálních propojek nakonfigurujete způsob výměny dat s regulátorem. V případě potřeby můžete připojit reproduktor a mikrofon.

Konečně se mi podařilo začít studovat snad nejoblíbenější GSM modul v kutilském prostředí – GSM900. Co je GSM modul? Jedná se o zařízení, které implementuje funkce mobilní telefon. Jinými slovy, GSM900 vám umožňuje volat jiným účastníkům mobilní síť, přijímat hovory, odesílat a přijímat SMS zprávy. A samozřejmě přenášet data pomocí protokolu GPRS. Tento modul jsem potřeboval pro zcela konkrétní účel: přišel jsem s projektem osvětlovacího systému ovládaného na dálku. Nejjednodušší způsob, jak tento problém vyřešit, je pomocí SMS zpráv: pošlete jednu SMS - kontrolka se rozsvítí, pošlete další - zhasne. Nepotřebujete žádné dálkové ovladače a každý má telefon (i bezdomovci). Ve skutečnosti se v tomto článku budu zabývat právě touto možností použití modulu GSM900.

1. Firmware

Jak osud chtěl, skončil jsem s modulem GSM900A v mých rukou. Po přečtení prvního fóra, na které jsem narazil o oživení této věci, se ukázalo, že písmeno A v názvu znamená, že modul patří do asijské oblasti. A proto nebude spolupracovat s našimi operátory. Odrazování 🙁 Následující příspěvky na stejném fóru naštěstí obsahovaly uklidňující informace :) Ukázalo se, že ne všechno je tak špatné, a aby modul v našich končinách fungoval, je potřeba ho jednoduše přeflashovat. Tento proces je dobře popsán v blogu našeho kolegy Alex-EXE: „vše v jednom“ firmware sim900 Pokusím se udělat totéž, ale ještě podrobněji a s přihlédnutím k vlastnostem mého modulu. Pokud máte správný modul a není potřeba žádný firmware, můžete rovnou přejít na sekci č. 2. Nástroje Nejprve si tedy vše připravíme. potřebné nástroje. Za prvé, přímo pro firmware budete potřebovat ke stažení aplikaci Tools Develop řady SIM900, kterou lze snadno najít na internetu (). Za druhé, užitečný bude i samotný soubor firmwaru 1137B02SIM900M64_ST_ENHANCE, který lze také snadno získat (). Konečně, za třetí, budeme potřebovat dobrý terminál, abychom mohli s modulem experimentovat. Obvykle používám TeraTerm, ale tentokrát jeho možnosti nestačily (nebo jsem tomu nerozuměl). Musel jsem nainstalovat monstrum s brilantním jménem. Připojení k můstku USB-UART Nyní připojíme linky RX a TX k můstku. Pro poslední jmenovaný jsem použil CP2102. V mém případě proti logice byly RX a TX můstku připojeny k RX a TX GSM modulu symetricky (a ne křížově, jak je zvykem). Měli byste také napájet modul ze stabilního a výkonného zdroje, protože špičkový proud na modulu může dosáhnout 2A (prý). Vhodné pro 4 baterie velikosti AA. Kompletní schéma zapojení vypadá takto:
SIM900
CP2102 Gnd Gnd
CP2102 +5V VCC_MCU
CP2102 RX SIMR
CP2102TX SIMT
Vnější zdroj+5V VCC5
Externí zdroj Gnd Gnd
RST
Tento model nemá resetovací tlačítko, takže pro flashování firmwaru budeme muset na pár sekund hodit pin RST k zemi. Abychom to udělali, necháme ho zatím viset ve vzduchu. Předkonfigurace modulu Než začneme flashovat firmware, připojíme se k modulu a změníme jeho rychlost UART. Chcete-li to provést, spusťte terminálový terminál, vyberte správný port a nastavte směnný kurz na 9600. Poté klikněte na „Připojit“. Veškerá komunikace s modulem probíhá prostřednictvím AT příkazů. První věc, kterou modulu řekneme, bude nejprimitivnější AT příkaz: „AT“. Jedná se o druh pingu, na který musí modul odpovědět slovem „OK“. AT Pokud vše proběhlo v pořádku a modul nám skutečně odpověděl „OK“, odešleme příkaz k nastavení rychlosti: AT+IPR=115200 Na konci příkazu by měl být znak návratu vozíku - CR. V ASCII tabulce má kód 13 (nebo 0x0D v hexadecimální soustavě). Symbol bude vložen automaticky, pokud zaškrtnete políčko „+CR“ vedle vstupního řádku v našem terminálu. Podobné nastavení mají i ostatní terminály. Jako odpověď na zadaný příkaz opět obdržíme „OK“. Toto nastavení budeme potřebovat pro urychlení postupu firmwaru. Jinak, jak naznačil Alex-EXE na svém blogu, firmware zabere asi hodinu. Nastavení programu Poté, co jsou všechny vodiče zapojeny na správná místa a modul je připraven pro firmware, spusťte aplikaci Tools Develop pro stahování řady SIM900. Nastavení programu se skládá pouze z několika bodů:
  • V poli Cíl označujeme cílový čip. Z nějakého důvodu jsem nemohl nahrát firmware do SIM900A, tak jsem zvolil „SIM900“;
  • vyberte správný port v poli Port;
  • Nastavte přenosovou rychlost na 115200;
  • nakonec zadejte soubor firmwaru do pole Core File (soubor s příponou cla).
S nastavením je to tak. Firmware Nyní přísně a důsledně provádíme šest důležitých kroků.
  • Připojíme napájení k modulu (naše 4 baterie). Červená kontrolka napájení by se měla rozsvítit a stavová kontrolka by měla začít blikat.
  • K počítači připojíme USB-UART.
  • Uzavřeme vodič RST k zemi (pamatujte, že celou tu dobu visel ve vzduchu).
  • Klikněte v programu na tlačítko Spustit stahování.
  • V hlavě napočítáme do tří a zvedneme RST ze země.
Počkáme 6 minut, než bude firmware dokončen. Co máme po firmwaru? Za prvé, modul nyní může pracovat s našimi operátory. Za druhé jsme nainstalovali rozšířený firmware, mezi jehož funkce patří například získávání souřadnic modulu buněčné věže, pracovat s emailem a přístup k dalším 2,5 MB paměti.

2. Experimenty s GSM modulem

Zkusme nyní s modulem provádět různé užitečné operace. Nejprve zadejte PIN kód (pokud jej máte): AT+CPIN=8899 Odpověď modulu bude: +CPIN: READY. Poté obdržíme některé informace z modulu. AT+GMR - identifikátor firmwaru. AT+GSN - IMEI. AT+CPAS - stav (0 – připraven k provozu, 2 – neznámý, 3 – příchozí hovor, 4 – hlasové spojení). AT+COPS? - informace o provozovateli. Telefonní hovory Teď vytočíme nějaké číslo. To se provádí pomocí příkazu: ATD+790XXXXXXXX; Středník na konci příkazu je velmi důležitý, nezapomeňte na něj! Pokud někdo zavolá na zařízení během relace UART, vrátí se zpráva: RING Hovor můžete přijmout (zvednout) příkazem: ATA Pokud jsou k modulu připojena sluchátka a mikrofon, můžete komunikovat se vzdáleným účastníkem jako pokud používáte běžný mobilní telefon. Příkaz ukončí volání: ATH0 Odesílání SMS Nejprve povolme režim textových zpráv: AT+CMGF=1 a nastavíme kódování: AT+CSCS= "GSM" Modul podporuje i další kódování, která jsou pohodlnější pro automatické systémy. Pro naše experimenty je ale nejpohodlnější použít režim GSM, ve kterém je telefon specifikován čísly a text zpráv je psán v kódování ASCII. Nyní pošleme někomu zprávu: AT+CMGS="+79123456789" A na konec příkazu je třeba přidat dva servisní znaky najednou: CR a LF. V Terminálu to lze provést zaškrtnutím CR=CR+LF nebo ručním přidáním na konec řádku: AT+CMGS=»+79123456789″&0D&0A Po zadání tohoto příkazu obdrží odpověď symbol „>“, označující začátek zadávání zprávy. Píšeme nějaký text: Ahoj světe! Na konci zprávy budeme muset poslat jednu ze dvou speciální znaky. Pro odeslání zprávy zadejte znak z ASCII tabulky s číslem 26. Pro zrušení odeslání zadejte znak s číslem 27. V terminálu, který používáme, pro odeslání znaku po kódu, můžete použít jeden ze dvou výrazů: v šestnáctkové soustavě : $1A a v desítkové soustavě: #026 Přijímat SMS Pokud je během relace do zařízení odeslána SMS, vrátí se zpráva v následujícím formátu: +CMTI: “SM”,4 zde 4 je číslo příchozí nepřečtené zprávy. Chcete-li si přečíst text této zprávy, zadejte: AT+CMGR=4 Jako odpověď obdržíme: +CMGR: "REC READ","+790XXXXXXXX","","13/09/21,11:57:46+24 " Ahoj světe ! OK Obecně je vše jednoduché. To nám k realizaci našich plánů docela stačí. Pro hlubší studium schopností GFM900 doporučuji přečíst si další článek Alex-EXE: at-commands pro gsm modem sim900

3. Interakce s mikrokontroléry

Obecně k řízení externí zařízení Modul GSM900 není vůbec nutné spárovat s jiným mikrokontrolérem. Do tohoto modulu si můžete vložit vlastní program, který si s volnými GPIO piny udělá, co budete chtít. Ve většině hotových desek však GPIO nejsou směrovány, takže pro vytvoření prototypu zamýšleného zařízení použijeme nejjednodušší Arduino Uno/Nano. Arduino a GSM900 budou komunikovat přes stejné rozhraní UART. Chcete-li to provést, připojte tato dvě zařízení podle následujícího schématu:
GSM 900 GND VCC_MCU SIMT SIMR
Arduino Uno GND +5V RX TX
Nyní si vytvoříme program, který zachytí SMS zprávy a na pár sekund rozsvítí LED na noze č. 13. Tím simulujeme ovládání nějakého externího zařízení. const String spin = "1234"; const int rel_pin = 13; Řetězec ss = ""; // Odešlete PIN kód void sendPin())( String cmd = "AT+CPIN="+spin+char(0x0D); Serial.print(cmd); ) // Zapněte LED na 2 sekundy void acceptSMS(String s)( digitalWrite(rel_pin, HIGH); delay(2000); digitalWrite(rel_pin, LOW); // Analyzujte řetězec, který přišel z modulu void parseString(String src)( bool collect = false; String s = ""; for(byte i =0; GSM modul je bezdrátové zařízení (modem) pro příjem/přenos dat v mobilních komunikačních sítích.

Neoway M590E je dvoupásmový GSM modul bez podpory hlasové komunikace.

Specifikace:

frekvenční rozsah
900/1800 MHz

Teplotní rozsah
pracovní: -40...+85 °

Spotřeba energie
napájecí napětí: 3,3...4,8 V (nominální 3,9 V)

Protokoly přenosu dat
GPRS třída 10
GPRS: maximální rychlost 48 kbit/s
SMS: příjem/odesílání, point-to-point MO/MT, režim vysílání
vestavěný zásobník protokolů TCP/UDP/FTP/DNS: klient serveru TCP/UDP nebo M2M

Sada příkazů AT
GSM 07.05, 07.07
Nedávno jsem dostal takový modul, koupil jsem ho od jiného prodejce, ale zvedl cenu. Jedná se o poměrně starý a jednoduchý modul. Samotný modem je poněkud použitý, jak je vidět z fotografie, vše ostatní je nové.




Vše přichází ve velkém, zbývá to vše jen připájet


Napájení GSM modulu

Manuál říká, že pokud je v napájecím obvodu kondenzátor 1000 µF, proudový požadavek na zdroj je 0,6 A (při napětí 3,9 V)


Nezapomeň BOOT pin musí být připojen k GND přes 10 kOhm rezistor, poté se po připojení napájení modul zapne.
Modul je ovládán přes UART pomocí AT příkazů
Samotný modul lze použít v domácí automatizaci a systémech chytré domácnosti, můžete si na něj sestavit poplašný systém, můžete jej připojit k Arduinu, přijímat a odesílat SMS a ovládat zařízení na dálku. Obecně najděte spoustu aplikací, které přesahují rámec tohoto webu. Modul je velmi levný, doporučuji zakoupit. Pro ty, kteří chtějí získat další informace, uvádím odkazy níže.

Stažení
Popis a ovládací příkazy

Neoway M590 Hardware Design Manual V1.1

Sady příkazů Neoway M590 AT V3.0

Mám v plánu koupit +125 Přidat k oblíbeným Recenze se mi líbila +53 +89
Ahoj!
Zde vyvstal úkol spravovat venkovský dům, sledovat teplotu, dveře a okna. A pak vyvstala otázka ohledně média pro přenos dat. No, dráty a rádiový kanál již nejsou potřeba kvůli vysokým nákladům, optické komunikační linky jsou jen sen, ale GSM je to, co potřebujete. Nejprve mi zrak padl na staré telefony „Motorola“, „Nokia“, „SonyEricsson“. Podíval jsem se, otočil a změnil názor. Za prvé, nechtěl jsem pájet kontakty tlačítka a nebyla žádná zpětná vazba. Za druhé, pochopení softwaru telefonu není vůbec velký problém. Obecně lze říci, že díky kreativnímu myšlení a plavání v rozlehlosti World Wide Web, po zachycení několika virů, byl nalezen kompromis. A pracovat se softwarem a bez jakýchkoliv tlačítek. To vše modul nabízí SIM900D. Proč jsem ho měl rád?
- První je snadná instalace. To uvidíte později. - Druhým je komunikace přes UART. (To znamená MK + SIM900D = normální komunikace) - Třetí je napájení modulu od 3 do 4,8 V. Hosh AVR, hosh ARM. Chuť. No, dost textů, je čas se pustit do práce.
Tento modul vypadá takto.

Ohledně instalace. Jak vidíte, modul je určen pro povrchovou montáž. Rozměry kontaktních ploch jsou dostatečně velké i pro LUT. Níže je obrázek mého zařízení.

Jak vidíte, nic složitého. Nyní si povíme o schématu zapojení tohoto zázraku. Podívejme se do manuálu. A vidíme pinout.

Ano, existuje spousta věcí, ale nevyužijeme je všechny. První věc, kterou musíme udělat, je spojit všechny kolíky „GND“ dohromady. Pokud se podíváte do pravého horního rohu, všimnete si tří samostatných špendlíků. Dva "GND" a "ANT". Tyto závěry jsou umístěny tímto způsobem z nějakého důvodu. Podívejme se do dokumentace na obrázek zapojení antény.

Kontakty 59 a 61 by měly být co nejblíže ke svorce antény. Pro připojení antén pomocí kabelu jsou potřeba další obvody zvýrazněné tečkovanými čarami. Proto jsem konektor SMA připájel co nejblíže pinům 59, 60, 61 a netrápil se s přizpůsobovacím obvodem, kdežto s anténou na 3metrovém kabelu a v místě s velmi špatným příjmem jsem zmáčkl 13 bodů z 31 z modulu Konektor je vidět na obrázku výše. Přesněji nohy jsou z toho)) Samotný konektor je na druhé straně. V tomto případě se zdá, že kontakty 59 a 61 obepínají anténu. No, něco takového. Dále si povíme něco o SIM kartě. K instalaci jsem použil tento konektor (SIM ICA-501-006-01-F7)

Nejzajímavější je, že jsem našel 3 možnosti pinoutu SIM karet. Kterou bych měl použít? Nebudu uvádět žádné intriky, ale pro jednoduchost uvedu vývod tohoto konektoru. Pohled shora.

Ale to není vše. Pokud se podíváte do manuálu na schéma zapojení SIM karty, můžete tam vidět určitý mikroobvod nazvaný SMF05C. Tento mikroobvod obsahuje až 5 ochranných diod. Potřebné pro ochranu kontaktů SIM karty. Samozřejmě to nemusíte instalovat, ale pak buďte opatrní a nedotýkejte se kontaktů prsty!!! Jako hříšný člověk za sebe nemohu ručit, a tak jsem připájel mikruhu. A zde je samotný diagram.

Samozřejmě se udává pro 8pinovou SIM kartu, ale u 6pinové to bude jedno. Tento mikroobvod má skutečně dva problémy. První je, že kde ji sakra můžete najít. A druhá věc je jeho velikost... Když jsem dostal objednávku a vyndal jsem ji, položil jsem ji na stůl... Zkrátka na druhém obrázku shora je připájen mezi SIM kartou a baterií. Pro srovnání, rezistory jsou 0805. No, vpravo je tranzistor v pouzdře SOT-23. Takže to vypadá, že jsme vyřešili SIM kartu, pojďme dál. A pak světelná technika. Obecně řečeno, toto není pro každého. Vzhledem k tomu, že všechny tyto signály lze zadat přímo do MK a nechat jej, aby si to tam sám vyřešil. Všechny jsem je vyvedl z jejich smyslu pro krásu. Tak se rozhodněte sami.
- První je signál, zda je modul zapnutý nebo ne (STATUS) log 1 - Druhý je signál, že je síť registrována (NETLIGHT) log 1/0 (bliká) Pokud bliká stejnou frekvencí, znamená to není registrován v síti. Pokud je zde dlouhá mezera, znamená to, že došlo k připojení k síti. - Třetí je protokol volání/sms signálu (RING) 0 Rozsvítí se při příchozím hovoru a bliká při přijetí SMS zprávy. První dva signály musí být připojeny přes NPN tranzistor ve spínacím režimu.

A třetí signál (RING) musí být připojen přes PNP tranzistor. Dalším důležitým signálem je tlačítko pro zapnutí a vypnutí modulu. (Kde bychom bez ní byli). To nám návod nabízí.

To znamená, že jsme přiložili log 1 na bázi tranzistoru na 1 sekundu a modul se zapnul.
Nyní pojďme mluvit o výživě. Ano, teď by mi nevadil dobrý talíř wrestlingu, že? Dobře, pojďme dál. Modul je napájen napětím 3 až 4,8 V. Vše se zdá jednoduché, ale není. Při volání, odesílání SMS nebo hledání sítě může modul vyžadovat až 2A. Páni. Fanoušci LM7805 a Krenoku tedy mohou být zklamáni. Naštěstí návod obsahuje dva obvody založené na mikroobvodech MIC29302 (nikdy jsem ho nenašel v prodeji) a LM2596 (ten si můžete koupit). Ale jsem líný a jednoduše se mi nechtělo skládat pital s tolika popruhy. Hledal jsem na internetu a našel. Existuje takový dobrý stabilizátor pro procesory jako "Stump", "AMD" na 3,3V a až 7,5A. No, myslím, že to je to, co potřebujete, a můžete napájet ARM a modul. Zde je schéma tohoto zázraku.

A takhle to vypadá smontované.

Radiátor jsem nainstaloval ze strachu, v zásadě se mikroobvod nezahřívá ani během hovoru. A poslední věc, které byste měli věnovat pozornost, je baterie. Je to potřeba k udržení reálného času naživu. Nejdůležitější je, že tento závěr nemůžete nechat ve vzduchu. Osobně jsem souhlasil s připojením baterie, což vám přeji. Můžete samozřejmě nalepit dva AA)), ale je to nějak moc velké, ale ve formě tabletu 2032 na 3V je to, co potřebujete. Naštěstí nejsou drahé a přihrádky lze připájet přímo na desku. Podle mého názoru je to nejjednodušší řešení. Vy rozhodnete. No, to je vše. Takhle vypadá celý ten paskvil pohromadě a ve funkčním stavu.

V příštím článku vám řeknu, jak jsem tento modul rozbil, ale programově přes terminál pomocí AT příkazů.
Schémata jsem rozložil v PCAD-2006
Archiv se soubory GSM modulu.
Archiv se soubory stabilizačních bloků.
Pokračování série článků o GSM modulu.
AT příkazy.
Komunikace modulu s ATmega8515.
Vývojová deska založená na SIM900D


Foli 14.03.2013

Chtěl bych se dozvědět více o AT příkazech, UART a přímé práci s tímto v CodeVision

Alexey 15.03.2013

Rozumím AT příkazům. Nechci zveřejňovat polovinu práce, protože mám několik otázek. Ale s UART a CVAVR je vše jednoduché. Jakmile zjistím AT příkazy, okamžitě zveřejním, jaké příkazy a jak je odeslat z CVAVR.

Anatok 04.11.13

Je to všechno krásné. Pokud by ale alarm fungoval alespoň při minus 30 stupních a dobíjel se skrytými solárními panely, zejména v zimě, pak by se našlo hodně lidí, kteří by takové zařízení chtěli mít.

Alexey 04.11.13

GSM modul spotřebuje až 2A při registraci do sítě nebo volání či komunikaci přes GPRS. Takové zdroje vyžadují dobrou baterii a při -30 °C baterie dlouho nevydrží. I v meteostanicích na pouličních senzorech se doporučuje používat jednoduché baterie.

Medvěd 11.11.13

Pokud je to stále aktuální a zajímavé... podívejte se na EAT pro SIM900. Uvnitř ARMu je SDK, ve kterém si můžete nahrát aplikace do SIM900, ze kterých můžete dělat spoustu věcí... například posílat stejné AT příkazy... + klávesnice + SPI displej... + 2 ADC :) Hezký večer :)

Medvěd 11.11.13

Ale stále je velmi příjemné napájet to na L5973D. Ano, v datasheetu se píše o 2A... ale v praxi se jedná o velmi krátkodobé impulsy. Skvěle mi to funguje například s Arduino Mega, které je samo o sobě napájeno z USB portu (který má proud 0,5 A)

Alexey 11.11.13

Tohle je ten drb. Nejdřív jsem to taky napájel ze 7805, vše fungovalo a pak bum... A při připojení k síti vše zhasne a pak se to restartuje. Strážný pes se po útoku krmení zjevně restartuje. A s L7953D to bude nádhera, ale kde to seženu a kolik to bude stát :) Tak jsem přešel na IRU1075

Alexey 11.11.13

Omlouvám se za chyby, je to ten zatracený GOODROYD, který mi vyřezává kvákadla. Myslí si, že je chytřejší. Nebudu upravovat, ať se Google za svou práci stydí.

Strýček Míša 24.12.13

Když se zaregistruji v síti Atmega, restartuje se. I když to stojí pulzní dcdc. 200 mikrofaradových kondenzátorů. A někdy to funguje stabilně. Už jsem vyčerpaná.

Alexey 25.12.13

Schéma do studia. Ze slov je docela těžké problém pochopit.

Strýček Míša 25.12.13
Strýček Míša 25.12.13

Http://ybex.com/d/tk7kgiefpklpeujb1zbl4lo5 mrkf7ayvci04ouq3.html MK je napájen 2,8 (dokonce jsem zkoušel 3,7) Voltů, aby nerušil převodník úrovně.

Alexey 25.12.13
Sergey 19.07.14

Ahoj Alexey! Máte hotové desky se sim900, mohu si je koupit?

Alexey 19.07.2014

Připraven v jakém smyslu? Samotný modul je již sestaven a zbývá jen vyrobit desku s požadovanými výstupy a vstupy pro konkrétní zařízení. Ten v tomto článku je pouze demo deska pro ladění programů. Konkrétní zařízení vyžaduje rozměry, umístění konektorů, sluchátkových a mikrofonních výstupů. Kde bude anténní konektor? Uveďte podrobnější informace o tom, co potřebujete.

Andrej 28.09.14

Pokud tomu dobře rozumím, je to prototyp šátku, na který se nemůžu dočkat. Pouze v komerční verzi byl sňatek s napájecím zdrojem a vylepšený o audio výstupy. Že je velký šrumec.

Alexey 28.9.14

Ve skutečnosti je. Právě jsem zabil několik much jednou ranou. Vyřešil letitý problém s napájením a přizpůsobením úrovně na UART. A pro elegantní přidaný audio vstup a výstup. Vlastně hotový mobil.

Andrej 28.09.14

Rád bych přispěl do budoucna. V podstatě je tato deska kompletní jednotkou. A dá se PRAKTICKY použít v hotovém výrobku. je tu však jedno ALE. U mezonového vrchlíku je lepší umístit jej nahoru (konektor antény, přístup k SIM kartě), proto je docela vhodné ponechat otvory paralelně se všemi piny pro „periferie“ pro stejné piny s možností pájení ve směru „dolů“. Tito. Chtěl jsem toto zařízení připevnit k desce mikrokontroléru, nasměrovat ho na vaši, zapájet do něj protilehlé konektory a připojit jej. Také s

Andrej 28.09.14

Snědl jsem polovinu zprávy, ale doufám, že myšlenka je jasná-)

Alexey 28.9.14
Sergey 02/01/15

Řekněte mi, proč se modul zahřívá a nepřipojuje se k síti?

Alexey 02/01/15

Důvodů je několik. Nejprve je překročena výživa. Za druhé, dostal plus ten obecný? Musíte se pečlivě podívat na silové nohy. Za třetí, zda se břicho modulu dotýká napájecích vedení. Na břiše je několik technologických kontaktů, které musí být izolovány od jakýchkoli vodičů. Za čtvrté, je svorka antény zkratována ke společné svorce? Chcete-li být přesnější, musíte se podívat na desku. Pošlete mi poplatek na email a já se podívám, jestli tam není něco špatně.

Sergey 02/01/15

Mám tovární desky, MasterKit BM8039 a obě mají stejný problém... při vložení SIM karty se modul začne topit a není síť.

Alexey 02/01/15

To je docela těžké říct. Obvod je tovární, je potřeba vylézt na desku. Z dokumentace je zřejmé, že deska nemá doporučené ochranné diody pro SIM kartu. Má samotná karta a konektor stejné piny? Modul 300 je starý a dle mého názoru funguje pouze s 5V SIM kartami, ale nyní jsou všechny 3V. Ale mohu se mýlit. Musíte se podívat na samotnou desku, je tak těžké něco říct. Pokud je příznak na obou stejný, tak bych spadl ve směru konektoru a napětí SIM karet. Moderní SIM karty jsou opět 3voltové.

Sergey 02/01/15

Stojí sim900D...nejsou tam diody Když vložím kartu, objeví se napájení na modulu a začne se topit, ale třeba na SIM kartě. z 9 stop to nefunguje...

Sergey 02/01/15

Zpočátku fungovaly dobře... pak se něco pokazilo... nemůžu přijít na to, co...

Sergey 02/01/15

Existuje nějaký způsob, jak zkontrolovat modul bez odpájení?

Alexey 02/01/15

Co přesně se zkratovalo? Pokud SIM karta není napájena, obávám se, že linka pro SIM kartu je mrtvá. Kolik má Simka nohou? 6 nebo 8? Pro kontrolu můžete s modulem komunikovat přes sběrnici UART 3, 4 leg bez vložení SIM karty. Pokud odmítne přijmout AT příkazy, tak si myslím, že ho můžeme pohřbít.

ANONYM 02/01/15

Nevím přesně, co to způsobilo zkrat .. 8 nohou .. ale jak komunikovat?

Alexey 02/01/15

Je na konektoru také 8? Vezměte čip FT232RL a sestavte USB adaptér<->TTL, připájet na UART modulu, spustit terminál, např. Putty, napsat AT a stisknout enter. Pokud se vrátí v pořádku, není vše ztraceno. Pokud je ticho... V koši. A ano, jaké LED jsou na desce? Jak se určuje registrace v síti?

Sergey 02.02.15 03:12

Na konektoru je taky 8...na desce jsou dvě LED, zelená a červená, přítomnost sítě určuje bliknutí zelené jednou za tři vteřiny...mohu nějak vložit fotku desky ?

Alexey 02.02.15 07:42

Je jednodušší jít na fórum.

Sergey 02.02.15 14:02

Pokud nevložíte SIM kartu, znamená to, že musíte modul napájet?

Alexey 02.02.15 15:48

Podle čajových lístků to nepoznám. Potřebuji buď schéma nebo desku. A co s tím má společného napájení modulu a SIM karty? S největší pravděpodobností se protíná s nějakým jiným mikrokontrolérem. Dodává jídlo. Obecně potřebujete diagram. A je to jako stanovení diagnózy po telefonu.

Sergey 02.02.15 15:56

Kde na fóru mohu umístit diagram?

Sergey 02.02.15 15:57

Modul je napájen pouze po vložení SIM karty

Alexey 02.02.15 19:27

Modul SIM900D to nemá. Chcete-li modul zapnout, musíte držet nízkou úroveň na noze 12 a poté ji zvednout. SIM kartu nelze při zapnutém modulu vůbec vložit ani vyjmout, je zde možnost vypálení portu. Pokud se podíváte do dokumentace, najdete tam doporučení pro instalaci ochranných diod na linku portu SIM karty. Na fóru. Vytvořte téma a přidejte fotku.

Evgeniy 09/08/15 12:04

Když připojím napětí na modul, je kladný potenciál na 12. noze a kladný potenciál na 5. noze (za předpokladu, že tyto nohy visí ve vzduchu). Řekněte mi prosím, má být na 5. noze nula? Pokud ne, opravte mě.

Alexey 9/08/15 13:21

12. noha je zahrnutím modulu. Když je připojeno napájení, visí na něm 1 Chcete-li modul zapnout, musíte na několik sekund přitlačit 12. nohu ke společnému vodiči, to znamená přiložit 0. Když je modul 5 napájen, musí noha. být přitažen ke společnému vodiči dvěma odpory (to je patrné ze schématu zapojení tranzistoru ve spínacím režimu) a měla by být 0, protože základnu je třeba přitáhnout až k nule, aby se tranzistor úplně uzavřel. Po zmáčknutí 12. nohy na nulu by se měla na 5. noze objevit 1 a po chvíli meandr indikující stav dostupnosti a připojení k síti.


Na žádost pracovníků pokračuji v tématu GSM zařízení, a to připojení modulu SIM900D k ATmeze. Je jedno jaký model. V tomto článku budu používat ATmega8515. Tento ovladač jsem používal výhradně pro Feng Shui))) Všechny potřebné informace se zobrazí na LCD displeji 20x4 od MELT. Byl také vybrán podle Feng Shui))) A také proto, že rozumí kódování Windows-1251, což výrazně zjednodušuje výstup ruských písmen.

Nyní si nastavíme samotný úkol.

  • 1. Je nutné zapnout a vypnout 8 LED (relé, ventilátory atd.)
  • 2. Zapněte a vypněte pomocí zaslaného kódu přes SMS.
  • 3. Zobrazte úroveň příjmu signálu GSM.
  • 4. Zobrazte poslední příkaz odeslaný prostřednictvím SMS.
Úkol byl zadán. GSM modul komunikuje s MK přes UART. Můžete vidět schéma zapojení pro GSM modul. MK bude pracovat na frekvenci 3,6864 MHz. To je nezbytné pro snížení chyb v UART. Směnný kurz je 19200. Za celou dobu testování nedošlo k žádným chybám přenosu. Pravda, jeden MK zemřel, což způsobilo bolesti hlavy na pár dní, ale pak po výměně za nový MK šlo vše jako po másle. LCD displej je připojen k portu A. Port C slouží k rozsvícení a zhasnutí LED diod. Ach ano. Je zde jedna nuance. GSM modul může přijímat data na noze RxD pouze 3 volty a ne více!!! To je důležité!!! Proto bylo rozhodnuto přivádět data přes odporový dělič. Výpočet ramen nechám na vás, protože MK může pracovat v různých rozsazích od 2,8 do 5 voltů. Osobně napájím GSM modul 4 volty a MK 5. Takže se zdá, že máme vyřešený hardware. Nyní si projdeme kód. První věc, kterou potřebujete, je způsob příjmu dat z GSM modulu. Modul odpovídá na dotazy tohoto typu:
Žádost:
AT+CSQ\r\r\n
Odpovědět:
\r\n+CSQ: 17.0\r\n\r\nOK\r\n
Odtud je jasné, že požadavky a odpovědi se mísí s hromadou \r a \n nesmyslů. No, to není problém pro žádost, protože ji píšeme sami, ale odpověď... Není dobrý nápad prohrabávat se celou touto zoo s každým příchozím byte v UDR, takže použijeme kruhový buffer. Pokud nevíte, co to je, pojďme sem. Při použití kruhové vyrovnávací paměti přidáme kontrolu do obsluhy přerušení, když data dorazí do UDR, aby se ignorovaly \r a \n. ISR(USART_RX_vect) ( char temp = UDR; if(!(temp == 0x0A || temp == 0x0D)) InBuffer(temp); ) To znamená, že do vyrovnávací paměti zapíšeme vše kromě \r a \n. Jakmile data obdržíme, začneme je zpracovávat. První věc, na kterou se musíte podívat, je, zda se jedná o SMS nebo reakci na příkaz. Vzhledem k tomu, že GSM modul vždy vrací pevnou odpověď a pouze mění data, můžete jej sledovat podle názvu odpovědi. Například požadavek na úroveň příjmu GSM.
if(čas == 30) ( čas = 0; USART_STR("AT+CSQ"); USART_END(); _delay_ms(200); ) if(GetData()) ( _delay_ms(70); num = IndexNumber(); OutBufferStr (temp,num) Nyní pole temp obsahuje odpověď z GSM modulu. Teď to rozpoznáme.
if((temp == "C") & (temp == "S") & (temp == "Q")) ( ) Pokud pole obsahuje odpověď na požadavek na úrovni GSM, pak bude podmínka splněna a můžete ji zpracovat podle svého uvážení. Co když podmínka splněna není? S největší pravděpodobností to byla SMS. Jak to vypočítat? Jakmile přijde SMS zpráva, modul vrátí řetězec jako je tento.
+CMTI: "SM",1 Zde se mění pouze poslední znak, lépe řečeno číslo. Toto je číslo SMS. Ale písmena SM se nikdy nemění. To znamená, že musíme zkontrolovat, zda jsou tato písmena ve zprávě.
if((temp == "S") & (temp == "M")) ( ) Samozřejmě by nebylo na škodu si pro přesnější přesvědčení ověřit název samotného příkazu, ale to jsem zanedbal, protože je to stále jen vysvětlení, jak MK pracuje s GSM modulem. Po rozpoznání přijetí SMS by bylo dobré si ji přečíst. Tento požadavek odešleme do GSM modulu.
USART_STR("AT+CMGR="); USART_TXD(temp); USART_STR("0"); USART_END(); _delay_ms(200); Buňka dočasného pole obsahuje číslo SMS. Tento příkaz bude stačit pro SMS zprávy menší než 9. No, je jasné proč. Obecně platí, že aby se nezaplňovala paměť SIM karty SMS zprávami, po přečtení SMS ji okamžitě smažu, takže v paměti není nikdy více než 1 SMS. Ale přesto jsem číslo 1 nepoužil pevně, ale spíše jsem ho vytrhl z pole. Nevím proč, ale někdy SMS nepřijdou vždy okamžitě, ale s určitým zpožděním. Pokud k tomu dojde, může nastat problém: SMS ještě nedorazila, myslíme si, že neprošla a po ní posíláme další. Pak čas plyne a přicházejí dva za sebou, jeden po druhém. První jsme četli jako 1 a druhý přišel jako 2. Právě před takovými zárubněmi buňka pole chrání. Nyní, po vyžádání textu SMS, nám GSM modul vrátí odpověď jako je tato.
+CMGR: "REC UNREAD","+71234567890","","14/07/06,13:04:38+16" zpráva OK Poté si můžete zprávu přečíst. Vzhledem k tomu, že odpovědi jsou vždy pevné, můžete klidně začít číst od temp... a může nastat problém))) Narazil jsem na to. Zatímco jsem třídil GSM modul, Beeline mi v tichosti poslal SMS. Vše by bylo v pořádku, ale nastavení se usadilo v místě, kde je registrováno číslo odesílajícího SMS účastníka. Místo „+71234567890“ jsem obdržel „My Beeline“. No, je jasné, jak to voní. Stručně řečeno, MK zatracené věci nerozuměl a upadl do strnulosti. Tak jsem se rozhodl, že číslo překontroluji. Ano, a pro bezpečnost to nebude bolet. A pak se najednou závistivý soused dozví o ovládání kotle pomocí SMS a pošle příkaz k vypnutí kotle v zimě))).
for(uint8_t i=0; i Význam je jednoduchý. Ve smyčce porovnáváme buňky pole bufferu zodpovědné za číslo s polem, do kterého bylo dříve umístěno požadované číslo. Dokud se čísla shodují, příznak je roven 1, ale jakmile se čísla neshodují, příznak resetujeme a smyčku opustíme. Pokud je příznak nula, pak SMS nečteme, a pokud je jednička, pak je SMS naše. Pokud všechny kontroly prošly, přečtěte si příkaz. Udělal jsem následující příkazy. Velké písmeno PROTI znamená zapnout Ó znamená vypnout. Abychom zjistili, kterou LED diodu zapnout nebo vypnout, za písmenem napíšeme její číslo od 1 do 8. Například je potřeba rozsvítit 4. LED. Přilba SMS s textem V4 a pro vypnutí O4.
if(flag) ( if(temp == "V") ( lcd_xy(0,2); lcd_putsf("LED-"); lcd_putchar(temp); lcd_putsf(" Povoleno "); přepínač (temp) ( case 0x31: port resetujeme příznak a smažeme všechny SMS.
USART_STR("AT+CMGD=1,4"); USART_END(); _delay_ms(100); příznak=0;
To je vše. Níže je video celé té ostudy a archiv s projektem.
Projekt