Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Recenzije
  • Iskustvo sa GSM-modemom SIM900. Daljinsko upravljanje uređajima putem SMS-a

Iskustvo sa GSM-modemom SIM900. Daljinsko upravljanje uređajima putem SMS-a

Nedavno se pojavilo mnogo različitih varijanti shema GSM signalnih uređaja. Ako se u ovoj shemi koristi GSM modul, onda je u većini slučajeva to široko rasprostranjeni modul kineske kompanije SimCom SIM300. Ovaj modul se pokazao na dobroj strani, kako u smislu pouzdanosti tako i niske cijene.
Dat je opis GSM signalnog uređaja baziranog na modulu SIM300, koji je razvio autor. Takođe sadrži crteže štampanih ploča i potpuno funkcionalnu verziju firmvera mikrokontrolera. Za ovaj alarmni sistem razvijeni su i razni moduli za proširenje, daljinski upravljači, kontrolne jedinice tastature, napajanja...
No, proizvođač je najavio da će od kraja 2010. proizvodnja GSM modula SIM3xx linije biti prekinuta. Umjesto toga, preporučuje se korištenje novog modula istog proizvođača - SIM900. Štaviše, kako je najavljeno, SIM900 će biti mnogo funkcionalniji od svog “pretnika” i, što je za nas jedan od najvažnijih kriterijuma, biće jeftiniji.

Nešto o SIM900...

Dakle, šta je zapravo SIM900 modul? Uzmimo tablicu sa podacima u ruke i pokušajmo je pročitati.
SIM900 modul je četveropojasni GSM/GPRS uređaj koji radi na frekvencijama od 850/900/950/1900 MHz, dizajniran za prijenos glasa, podataka, SMS poruka itd.
Glavne tehničke karakteristike modula:
Frekvencijski raspon:
GSM850, EGSM900, DCS1800, PCS1900
With Kompatibilan sa GSM fazom 2/2+.
Snaga zračenja:
klasa 4 (2W / 900 MHz)
klasa 1 (1W / 1800 MHz)

Kontrola: AT komande (GSM 07.10)
Napon napajanja modula: 3,4 - 4,5 V
Struja potrošnje:
u stanju mirovanja - 1,5 mA
u načinu prijenosa - do 500 mA
maksimum - 1,8 A
Radna temperatura: -30 ... +80 S
Dimenzije: 24x24x3 mm
Težina: 3,4 g
Kao što vidite, ovaj modul se po dimenzijama razlikuje od svog prethodnika, SIM3xx modula, oko jedan i po puta. Ali u smislu parametara i funkcionalnosti, on je također za red veličine superiorniji.


Slika 1 - Vanjski izgled GSM SIM900 modula



Slika 2 - Dodjela pinova modula SIM900

Izgled modula je prikazan na sl. 1, a raspored pinova je na Sl. 2. Iz slika se može utvrditi da je pored standardnog skupa interfejsa svojstvenog prethodnim modelima (UART portovi za razmjenu podataka, izlaz statusa STATUS modula, izlazi interfejsa SIM kartice, itd.), uvedeno nekoliko novih dodano (KBR / KBC konekcija tastature izlazi, PWM izlaz PWM, reset pin NRESET modula).
Zbog činjenice da ovaj modul u trenutku pisanja ovog teksta još nije u potpunosti "testiran" na prostranstvima Ukrajine, softverska poboljšanja se stalno vrše, moguće su promjene u opisu koje ne pogoršavaju rad u cjelini.

Osnovni parametri uređaja

Ovaj uređaj je nastavak linije GSM alarmnih uređaja koju je razvio autor. Dakle, parametri su uglavnom identični.
Praćenje stanja četiri alarmne petlje (AL) u svim režimima rada, osim u režimu "Programiranje", i prikaz stanja petlji pomoću LED indikatora koji se nalaze na prednjoj ploči uređaja (indikatorska lampica - "petlja u normalnom stanje", inače postoji prekid ili kratak spoj petlje alarma).
Alarmne petlje mogu uključivati:
> magnetski kontaktni signalizacijski uređaji (reed prekidači SMK, SOMK);
> detektori kao što su "Folija", "Prozor";
> detektori požara (IP-104, IP-105);
> senzori pokreta, jačine, otkucaja;
> ostali senzori sa zatvorenim izlazom u normalnom stanju i prekidom kontakata u slučaju kršenja.
Centrala podržava sljedeće tipove alarmnih zona (petlji):
"Normalno" (signal "Alarm" se generira odmah po prijemu signala o kršenju integriteta alarmne petlje, petlja se ne vraća nakon aktiviranja);
„Sa zakašnjenjem“ (korisniku se daje vrijeme za izlazak i ulazak, kako bi imao vremena da uključi uređaj i izađe iz objekta, odnosno otvori objekat i isključi uređaj);
"Koridor" (kada se zona aktivira, a zatim se vrati u normalno stanje, ova vrsta zone se ponovo aktivira);
"Danonoćno, vatra" (petlja alarma je stalno uključena, razoružavanje i aktiviranje se vrši pomoću posebne SMS komande);
„Danonoćno, panik dugme“ (petlja alarma je stalno uključena, deaktiviranje i aktiviranje se vrši pomoću posebne SMS komande, kada se petlja aktivira, samo se poziva, šalje se SMS poruka o neovlašćenju, sirena se ne uključuje);
"Onemogućeno" (sistem ne reaguje ni na kakve promene na AL ulazu).
Omogućavanje "Sigurnosnog" načina rada pomoću "skrivenog" ili "tajnog" gumba, "tajnog" prekidača (umjesto kojeg tastatura sa zatvarajućim kontaktima, kao što je "Satel"), daljinskog upravljača, TouchMemory tipke (Dallas) ili može se koristiti dodatna tastatura, ovisno o firmveru kontrolera. Ovdje opisani firmver koristi samo "tajni" prekidač, o drugim verzijama će biti riječi kasnije.
Podržana su dva načina rada uređaja:
GSM signalizacija (povezan je GSM terminal i njime se vrši razmjena podataka);
autonomni alarmni sistem (GSM terminal ne učestvuje u radu sistema, uređaj radi kao autonomni alarmni sistem).
Deaktiviranje i aktiviranje putem poziva sa određenog telefona (može se onemogućiti) uz slanje odgovarajuće SMS poruke o stanju sistema.
Slanje potvrdne sms-poruke kada je objekat naoružan (može se onemogućiti).
Formiranje signala "Alarm" (uključivanje sirene, prijenos podataka "alarma" na mobilni telefon) u slučaju narušavanja integriteta ("otvoren" ili "kratki spoj") najmanje jedne od petlji alarma.
Slanje SMS-poruka i automatsko biranje na tri mobilna ili fiksna (ako operater podržava SMS-funkcije) telefonska broja.
Prebacivanje uređaja u "Desaktiviran" način rada samo pomoću daljinskog upravljača, tastature, primanjem SMS poruke sa mobilnog broja 1 i (ili) biranjem sa ovog broja (može se onemogućiti), kao i "tajnim" prekidačem, u zavisnosti uključeno iz firmvera kontrolera.
Mogućnost daljinskog upravljanja uređajem slanjem SMS-poruka određenog sadržaja (može se onemogućiti).
Programiranje glavnih funkcija i parametara uređaja (telefonski brojevi, vrijeme kašnjenja, vrijeme rada sirene itd.) pomoću računarskog programa Lite Programmer u režimu „Programiranje“ uređaja. U ovom slučaju, izlaz COM porta računara (pinovi RxD i TxD) je spojen na odgovarajući konektor alarmnog uređaja pomoću posebnog kabla.
Uređaj šalje određeni signal korisniku o nedostatku sredstava na računu mobilne kartice.
Uređaj šalje određeni signal korisniku o nepostojanju komunikacijskog signala sa mobilnom stanicom.
Prijenos SMS signala u slučaju nestanka struje (220V) u "Guard" modu (može se onemogućiti).
Upotreba ugrađenog GSM modema omogućava vam da bez nepotrebnih blokova i veza, kao i da povećate kompatibilnost i stabilnost veze GSM kanala.
Programirana reakcija izlazne snage: aktiviranje izlaza samo u režimu "Alarm" na vrijeme koje je odredio korisnik (od 60 do 240 sekundi).
Korištenje originalnog protokola za prijenos podataka o infracrvenom zračenju putem daljinskog upravljača za upravljanje uređajem i daljinsko upravljanje radio emisijom, kao i originalno kodiranje podataka primljenih sa tastature.
Uređajem je moguće pratiti mrežni napon i napon baterije, dok se u slučaju nestanka i pojave mrežnog napona šalju odgovarajuće SMS poruke. Takođe, kada napon napajanja rezervnog izvora (baterije) padne ispod unapred određenog nivoa (8-9V), šalje se poruka nakon čega uređaj prelazi u „sleep“ režim iz kojeg je izlazak moguć tek kada se napajanje (mrežno ili baterija) se vraća.
Slanje SMS poruke na mobilni broj 1 kada se primaju dolazni pozivi, sa naznakom dolaznog broja (može se onemogućiti).
Uređaj omogućava uključivanje eksternih zvučnih ili svjetlosnih najavljivača (zvono, sirena, lampa) sa radnim naponom od 12V i potrošnjom struje do 1,25A.
Firmver mikrokontrolera opisan u ovom članku je dizajniran da upravlja uređajem zajedno sa "tajnim" prekidačem, kao i da omogući/onemogući uređaj biranjem i slanjem SMS poruka. Ostale verzije uređaja će biti opisane u sljedećim materijalima, ako, naravno, postoji interes čitatelja.

Specifikacije

Broj alarmnih petlji je 4.
Otpor udaljenog elementa (terminala), kOhm - 2,7.
Maksimalni otpor sigurnosne petlje bez uzimanja u obzir otpora udaljenog elementa, Ohm - 750.
Potrošnja struje iz izvora jednosmerne struje (bez priključenih aktivnih alarmnih senzora), na naponu od 12,6 V, u sledećim režimima rada, ne više od:
- "dežurni", bez upotrebe GSM-modula - 0,16 A;
- "dežurni", kada se koristi GSM-modul - 0,23 A;
- "sigurnost", kada se koristi GSM-modul - 0,28 A;
- "alarm", kada se koristi GSM modul i isključena sirena - 0,34 A;
- vršna (impulsna) potrošnja - 1,8 A.
Podržani GSM standardi: 850/900/1800/1900 MHz.
Ograničenja podešavanja vremena:
- Vrijeme kašnjenja ulaska - 0 ... 150 sekundi;
- Vrijeme kašnjenja izlaza - 0 ... 250 sekundi;
- Vrijeme rada sirene je 30 ... 250 sekundi.

Opis kola

Električni šematski dijagram glavne jedinice prikazan je na Sl. 3. Navodim - "glavna jedinica", jer je za ove alarmne sisteme dodatno razvijen veliki set periferije: ovdje su razni kontrolni paneli, jedinice za proširenje itd.
U poređenju sa prethodnom verzijom, krug je doživio kvalitativne promjene: osim, kao što je gore spomenuto, korištenje drugog GSM modula, relej je također isključen (umjesto njega koristi se IC - skup moćnih tranzistorskih ključeva), a jedinica pretvarača RS232-UART je isključena (kao što je praksa pokazala, programiranje se ne radi često, a za to uglavnom koriste laptop, u kojem RS232 port često jednostavno nedostaje).



Slika 3 - Električni šematski dijagram

Glavni upravljački element uređaja je ATmega168 mikrokontroler proizvođača Atmel. Mikrokontroler prati stanja alarmnih petlji spojenih na ADC ulaze, te u zavisnosti od načina rada obavlja dalje radnje, poput biranja i slanja SMS poruka, uključivanja sirene itd.
ADC ulazi PC0-PC3 su dizajnirani za praćenje statusa alarmnih petlji, MC mjeri napon na ovim terminalima i, ovisno o naponu, generiše signal "otvoren", "normalan" ili "kratki spoj". PC5, PC6 se napajaju naponima sa izlaza napajanja za kontrolu njihovih vrijednosti. Usput, ako ovi pinovi nisu povezani, uređaj se neće pokrenuti!
Krug koristi kontrolne LED diode: LED1 - kontrola GSM modula (ako postoji komunikacija i modul radi, treperi frekvencijom od 1 treptaja 2-3 sekunde, u drugim slučajevima postoje problemi s komunikacijom ili s modulom sama), LED2 - kontrola sistema (u režimima rada treperi sa frekvencijom od 3-5 puta u sekundi, u režimu programiranja svetli konstantnim svetlom). Dodatno, LED diode za praćenje statusa LED4… LED7 signalnih petlji su povezane na pinove IND1… IND4. KEY_S je zapravo "tajno" dugme ili sam prekidač. SPEAKER je konektor za spajanje zvučnika, može biti bilo kojeg otpora, snage ne manje od 0,25 W.

O napajanju uređaja. Za ovaj uređaj potreban je napon napajanja u rasponu od 10 - 18 V, pri struji do 2 A. Preporučljivo je izgraditi napajanje na način da napon napajanja ne nestane čak i ako se mreža nestane, odnosno obezbediti punjivu bateriju. Preporučuje se korištenje izvora napajanja korištenog u prethodnim verzijama opisanog uređaja. Takođe opisuje povezivanje napajanja sa alarmnim uređajem.

Programiranje osnovnih funkcija uređaja

Programiranje glavnih funkcija uređaja vrši se pomoću posebnog programa - Lite Programmer. Najnoviju verziju programa uvijek možete preuzeti sa web stranice autora. U principu, umjesto kompjutera za programiranje uređaja moguće je koristiti mobilni telefon povezan na uređaj preko data porta ili infracrvenog porta, ali za to je potrebno napisati barem java midlet, a zbog nedostatak slobodnog vremena, autor jednostavno nema vremena za ovo, a programiranje sa laptopom je i dalje u redu. Ako ima voljnih da se pozabave ovim problemom - pišite autoru na e-mail, sva dokumentacija će biti predstavljena.
Uređaj se povezuje sa slobodnim COM portom računara preko posebnog RS232-UART pretvarača, ili na USB port preko USB-UART adaptera. Samo ne pokušavajte da se povežete direktno, bez adaptera (sada postoje takvi majstori)! Ovo prijeti smrću mikrokontrolera ili kompjuterskog porta!
Kako se prebaciti na način rada za programiranje:
1. Pritisnite dugme S1 najmanje 2 sekunde i sačekajte da indikator statusa rada 2HL1 modula prestane da treperi (obično ne više od 10 sekundi)
2. Isključite uređaj iz struje.
3. Postavite kratkospojnik J1 prebacivanjem uređaja u režim “Programiranje”.
4. Povežite kabl da povežete uređaj sa računarom.
5. Uspostavite komunikaciju sa uređajem i programom (opisano u nastavku).
6. Isključite uređaj iz struje.
7. Odspojite kabl za povezivanje sa računarom i uklonite J1 kratkospojnik.
8. Programiranje je završeno, možete uključiti napajanje i koristiti uređaj.
Osnovna forma programa je standardna, bez preterivanja i "zvona i zviždaljki". Na desnoj strani obrasca postavljen je broj COM porta, kao i brzina prijenosa i prijema podataka (za naš slučaj - 115200 baud), da biste uređaj prebacili u režim programiranja, odaberite u okviru "Akcija" ( u donjem desnom uglu) - "uspostavi vezu", u ovom slučaju će se 1LED1 LED uključiti konstantnim svjetlom. Možete programirati!



Slika 4 – Glavni oblik Lite programatora

Rad sa programom za korisnika, barem jednom u životu, ne predstavlja posebne poteškoće. Osim toga, sve je detaljno opisano u više puta referenciranim Uputama za rad i programiranje. Ukratko: postavite potrebne parametre, provjerite da li se u trećoj koloni crvenom bojom pojavi natpis "Promjena", u okviru "Action" odaberite stavku "Programiranje", pritisnite dugme "Izvrši" i to je to. Ako je parametar programiran, tada će se u petoj koloni pojaviti poruka „Programirano“, a u slučaju greške program će prikazati i odgovarajuću poruku.

Neke nijanse programiranja.

Posebnu pažnju treba posvetiti procesu programiranja, jer od toga ovisi rad uređaja u cjelini. Kao što je praksa pokazala, glavna greška se pravi pri postavljanju broja SMS centra mobilnog operatera. Ako ne znate ovaj broj, ili niste sigurni, onda je bolje da ga uopće ne programirate. U tom slučaju, softver GSM modula će samostalno odrediti broj.
Također, budite oprezni pri postavljanju USSD broja zahtjeva za stanje sredstava, ako planirate da ga koristite. U početku je uređaj razvijen za ukrajinske korisnike, tako da je minimalni saldo od jedne do devet grivna-rubalja. Postoje dvije opcije za odabir instalacije. Prvi je odabir potrebnog operatera, a program će automatski postaviti traženi broj i minimalni iznos salda jednak dvije grivne. Druga opcija je da iz padajućeg menija izaberete stavku TUNE USSD za izbor operatera USSD zahteva, a zatim popunite tražene parametre u obrascu koji se pojavi: minimalni iznos (od jedne do devet rubalja), rublja- separator kopeck (neki operatori koriste različite znakove za razdvajanje, na primjer, tačka, zarez, dvotočka).
Program do sada podržava samo latinično pismo prilikom unosa SMS poruka, jer ovu funkciju podržava i program mikrokontrolera. Trenutno se radi na uključivanju ćirilice.

Kratki operativni vodič.

Prije nego što ga instalirate u alarmni uređaj, potrebno je na neki način "pripremiti" SIM karticu, odnosno: onemogućiti lozinku. Preporučuje se korištenje SIM kartice istog mobilnog operatera kao i telefoni za biranje brojeva u uređaju. U najmanju ruku, vjerovatnoća dostave SMS-a će se višestruko povećati.
Nakon napajanja i pokretanja, uređaj će emitovati jedan dugi zvučni signal iz internog zvučnika, zatim se uspostavlja komunikacija sa modulom, nakon čega se čuju tri kratka bipa. Uređaj je spreman za upotrebu.
Zatim ćemo govoriti o korištenju uređaja kao protuprovalnog alarmnog uređaja za zgrade itd. Za korištenje uređaja kao auto alarma ili drugih funkcija, prije svega, potreban je još jedan firmver mikrokontrolera, a to je izvan okvira ovog članka . Ovo je tema narednih publikacija.
Da biste aktivirali uređaj, zatvorite prekidač KEY_S. Usput, umjesto ovog prekidača, možete koristiti bilo koju tastaturu sa kontaktima za zatvaranje, na primjer Satel SW02. Nakon toga, centrala će početi sa odbrojavanjem vremena izlaska (vreme se podešava tokom programiranja), tokom kojeg je potrebno napustiti čuvani objekat. Ako su, nakon isteka izlaznog kašnjenja, sve petlje sastavljene, kontrolna tabla se prebacuje u naoružani režim. U slučaju da je nakon isteka vremena ulaska barem jedna od petlji otvorena ili kratka, centrala emituje isprekidani zvuk u trajanju od 100-140 sekundi, šalje se poruka da objekat nije naoružan na broj 1. (ako je programirano), nakon čega se prebacuje u alarmni mod sa slanjem svih poruka i biranjem. Takođe je moguće aktivirati centralu biranjem sa broja koji je prvi programiran, ili slanjem SMS poruke sa tekstom “START” sa istog broja. Treba imati na umu da se u ovoj verziji firmvera ne preporučuje zajedničko korištenje "tajnog" prekidača i GSM funkcija prilikom uključivanja kako bi se isključio njihov međusobni utjecaj. Kada se koriste zajedno, prioritet će biti na strani prekidača, GSM funkcije neće raditi!
U naoružanom režimu, uređaj stalno prati stanje svih alarmnih petlji, kao i stanje GSM modula. U tom slučaju, ako se petlja aktivira, šalju se SMS poruke i uspostavlja se poziv, u skladu sa programskom karticom. Poziv se obavlja sve dok pretplatnik ne podigne slušalicu, ali ne više od osam puta. Također, u sigurnosnom načinu rada prati se napajanje mreže od 220V i rezervna baterija. Istovremeno, sa svakim kvarom od 220V i njegovom naknadnom pojavom, prenosi se odgovarajuća SMS poruka (ova funkcija se može onemogućiti tokom programiranja).
Za deaktiviranje uređaja potrebno je otvoriti objekat i otvoriti kontakte prekidača za vrijeme izlaska. Ako se to ne uradi, uređaj prelazi u režim alarma. Ili razoružajte objekt prije otvaranja pozivom telefonom ili slanjem SMS poruke “STOP” sa prvog broja.
U standby modu uređaj prati i stanje alarmnih petlji, kao i GSM modula. Ako je komunikacija s modulom izgubljena ili mreža, pet kratkih zujalica se oglašava svaka 2-4 minute. Takođe, svakih 30-40 minuta vrši se anketa o stanju računa mobilnog broja. U tom slučaju se čuje deset kratkotrajnih zvučnih signala ("trill"), a na broj 1 šalje se jedna SMS-poruka ("NEMA NOVCA!!").
U tabeli su prikazane servisne poruke koje uređaj može poslati kada se pojave određeni događaji (kada je funkcija slanja onemogućena, tokom programiranja, ove poruke se ne šalju!):

SMS tekst

Opis

Bilješka

Zaustavite stražu!

Potvrda deaktiviranja sistema

Standby mod

ISKLJUCITI !!!

Neispravnost ili nedostatak mrežnog napona 220V

Samo u oružanom režimu

Power ON

Pojava mrežnog napona 220V (nakon odsustva)

SVA NAPAJANJA ISKLJUČENA !!!

Svi naponi napajanja su ispod normalnog. Nakon nekog vremena uređaj će ući u stanje mirovanja.

U svim režimima rada

Počnite nakon spavanja

Nastavak rada uređaja nakon nestanka struje

BEZ NOVCA !!!

Minimalni iznos sredstava na računu. Morate dopuniti svoj račun!

Ovaj uređaj ima veliki potencijal u smislu poboljšanja i modernizacije, može se koristiti ne samo kao alarm, već i kao bilo koji uređaj za prikupljanje i prijenos podataka, konfigurirajući program mikrokontrolera za svaki konkretan slučaj.

Zaključak

Opisani uređaj prošao je početno testiranje u autorskoj laboratoriji i pokazao dobre rezultate. SIM900 modul je pokazao stabilan rad pri kontrolisanju standardnih AT komandi, nikakve posebne pritužbe nisu uočene. Uskoro će biti razvijene štampane ploče ovog uređaja i pripremljena odgovarajuća dokumentacija. Demo verzija firmvera mikrokontrolera je priložena ovom članku. Potpuno funkcionalna verzija firmvera mikrokontrolera uređaja dostupna je svima besplatno. Da biste to učinili, trebate poslati odgovarajući zahtjev na e-mail autora ili putem ICQ-a. Razmatraju se i svi prijedlozi za organizaciju proizvodnje opisanog alarmnog uređaja i perifernih uređaja.
U budućnosti se planira osigurati kompatibilnost uređaja sa svim perifernim uređajima predviđenim za prethodnu verziju GSM alarmnog uređaja D. Dmitrenka. Evo dodataka članku za razne privatne aplikacije.

Svi firmveri su trenutno potpuno funkcionalni, osim za firmvere koji podržavaju iButton ključeve, postoje ograničenja u broju maksimalno korištenih ključeva - od jednog do tri.

1. Korišćenje tastera TouchMemory za kontrolu uređaja

Trenutno je firmver mikrokontrolera razvijen za rad sa TouchMemory tasterima. Da biste to učinili, potrebno je dopuniti uređaj jednostavnim uređajem koji se sastoji od dva otpornika, kapacitivnosti i zener diode. I, naravno, koristite firmver za ovu vrstu uređaja.
Primjer korištenja ovakvog uređaja jasno je opisan u članku GSM signalizacija pomoću iButton tipki. Na istom mjestu, na električnoj šematskoj shemi, prikazan je priključak dodatnog uređaja, prikazani su crteži tiskane ploče.
Firmver se može preuzeti [tražeći DDN Research HG45Q uređaj]


Zdravo!
Ovdje je nastao zadatak upravljanja seoskom kućom, praćenje temperature, vrata, prozora. A onda se postavilo pitanje o mediju za prenos podataka. Pa, žice i radio kanal nestaju zbog visoke cijene, FOCL je samo san, ali GSM je ono što vam treba. Prvo je oko palo na stare telefone "Motorola", "Nokia", "SonyEricsson". Pogledao je, okrenuo ga i predomislio se. Prvo, nisam želeo da se zalemim na kontakte dugmeta, a nije bilo ni povratnih informacija. Drugo, da se pozabavimo softverom telefona, to uopšte nije u blagajni. Općenito, u kreativnim razmišljanjima i lebdenju u prostranstvima svjetske mreže, hvatajući par virusa, pronađen je kompromis. I rad sa softverom i bez ikakvih dugmadi. Sve to nudi modul SIM900D... Nego sam mu se svidjela.
- Prvi je jednostavnost instalacije. Videćete ovo kasnije. - Drugi je komunikacija putem UART-a. (Ovo znači MK + SIM900D = normalna komunikacija) - Treće je napajanje modula od 3 do 4,8 volti. Hosh AVR, Hosh ARM. Taste. Pa, tekstovi su dovoljni, vrijeme je za rad.
Ovaj modul izgleda ovako.

O instalaciji. Kao što vidite, modul je naoštren za površinsku montažu. Dimenzije kontaktnih pločica su dovoljno velike čak i za LUT. Ispod je slika mog uređaja.

Kao što vidite, ništa komplikovano. Sada razgovarajmo o dijagramu ožičenja ovog čuda. Gledamo priručnik. I vidimo pinout.

Da, ima mnogo stvari, ali nećemo koristiti sve. Prvo što treba da uradimo je da povežemo sve "GND" igle. Ako pogledate u gornji desni ugao, primijetit ćete tri odvojene igle. Dva "GND" i "ANT". Ove igle su postavljene na ovaj način s razlogom. Pogledajmo u dokumentaciji sliku povezivanja antene.

59 i 61 pinovi trebaju biti što bliže antenskom kablu. Dodatna kola označena isprekidanom linijom su potrebna za povezivanje antena kablom. Zato sam SMA konektor zalemio što bliže pinovima 59, 60, 61 i nisam se zamarao okom uparivanja, dok sam sa antenom na kablu od 3 metra i na mestu veoma lošeg prijema stisnuo 13 tačaka od modula 31. Konektor je vidljiv na slici iznad. Tačnije, noge od njega)) Sam konektor je s druge strane. U ovom slučaju, kontakti 59 i 61, takoreći, grle antenu. Pa, ovako nešto. Dalje, hajde da pričamo o SIM kartici. Da ga instaliram, koristio sam ovaj konektor (SIM ICA-501-006-01-F7)

Najzanimljivije je da sam pronašao 3 opcije za pinout SIM kartica. Koji koristiti? Neću uvoditi intrige, ali radi jednostavnosti predstavljam pinout ovog konektora. Pogled odozgo.

Ali to nije sve. Ako pogledate dijagram povezivanja SIM kartice u priručniku, tamo možete vidjeti određeni mikro krug koji se zove SMF05C... Ovaj mikro krug sadrži čak 5 zaštitnih dioda. Potrebno za zaštitu kontakata SIM kartice. Naravno, ne možete ga staviti, ali onda budite oprezni i ne dirajte kontakte prstima !!! Kao grešna osoba, ne mogu jamčiti za sebe, pa sam zalemio mikruhu. A evo i samog kola.

Dato je, naravno, za 8-pinsku SIM karticu, ali će i za 6-pinsku biti isto. Zaista postoje dvije zasjede sa ovim mikrokolom. Prvi je tamo gde ćete naći njen pakao. A drugo je ta njegova veličina... Kad sam dobio narudžbu i stavio je na sto... Ukratko, na drugoj slici iznad je zalemljen između SIM kartice i baterije. Za poređenje, otpornici 0805. Pa, desno je tranzistor u SOT-23 paketu. Pa dobro, nekako smo shvatili sa SIM karticom, idemo dalje. A onda i rasvjeta. Uopšteno govoreći, ovo nije za svakoga. Pošto se svi ovi signali mogu uneti direktno u MK i pustiti ga da to sam shvati. Sve sam ih izvukao iz osećaja za lepotu. Zato odlučite sami.
- Prvi je signal da li je modul uključen ili ne (STATUS) log 1 - Drugi je signal mrežne registracije (NETLIGHT) log 1/0 (treperi) Ako treperi istom frekvencijom, znači da nije registrovan u mreži Ako postoji dugo vremena, to znači da postoji veza sa mrežom... - Treći je dnevnik signala poziva / sms (ZVONA) 0 Svijetli ako postoji dolazni poziv i treperi kada primate SMS poruku. Prva dva signala moraju biti povezana preko NPN tranzistora u ključnom modu.

I treći signal (RING) mora biti povezan preko PNP tranzistora. Još jedan važan signal je dugme za uključivanje i isključivanje modula. (kuda bez nje). Ovo nam priručnik nudi.

To jest, log 1 je primijenjen na bazu tranzistora na 1 sekundu i modul se uključio.
Hajde sada da pričamo o ishrani. Da, ne bih imao ništa protiv dobrog tanjira za rvanje, zar ne? Ok, idemo dalje. Modul se napaja oprugom od 3 do 4,8 volti. Čini se da je sve jednostavno, ali nije tako. U vrijeme poziva, slanja sms poruka, pretraživanja mreže, modul može zahtijevati do 2A. Kako. Dakle, ljubitelji LM7805 i KRENok mogu biti uznemireni. Srećom, priručnik sadrži dva kola na mikro krugovima MIC29302 (nikad ga nisam našao u prodaji) i LM2596 (ovo možete kupiti). Ali ja sam lijen i jednostavno nisam želio skupljati hranu s toliko remena. Kopao sam po internetu i našao. Postoji tako dobar stabilizator za procesore poput "Stump", "AMD" za 3.3V i do 7.5A. U, mislim da je to ono što vam treba i ARM se može napajati i modul. Evo dijagrama ovog čuda.

A evo kako to izgleda kada je sastavljeno.

Radijator sam stavio iz straha, u principu, mikrokolo se ne zagrijava ni tokom poziva. I poslednja stvar na koju treba obratiti pažnju je baterija. Potreban je za održavanje sata realnog vremena živim. Najvažnije je da ovaj zaključak ne možete ostaviti u zraku. Lično sam se složio oko spajanja baterije, što ti želim. Možete, naravno, zalijepiti dva AA)) ali nekako malo veliki, ali u obliku 2032 3v tableta, to vam treba. Srećom, nisu skupi i pregrade možete zalemiti direktno na ploču. Po mom mišljenju ovo je najjednostavnije rješenje. Ti odluci. Pa, to je sve. Ovako izgleda sav ovaj nered zajedno i u radnom stanju.

U sljedećem članku ću vam reći kako sam razbio ovaj modul, ali već programski kroz terminal koristeći AT naredbe.
Postavljanje dijagrama u PCAD-2006
Arhivirajte fajlove GSM modula.
Arhiva sa fajlovima stabilizacijske jedinice.
Nastavak serije članaka o GSM modulu.
AT komande.
Komunikacija modula sa ATmega8515.
Ploča za otklanjanje grešaka bazirana na SIM900D


Foli 14.03.13

Želio bih naučiti više o AT naredbama, UART-u i direktnom radu s ovim u CodeVisionu

Alexey 15.03.13

Bavim se AT komandama. Ne želim da iznosim pola posla, jer postoje neka pitanja. A sa UART-om i CVAVR-om sve je jednostavno. Čim se bavim AT komandama, odmah ću izložiti koje komande i kako ih poslati iz CVAVR-a.

Anatok 04.11.13

Sve je ovo predivno. Ali kada bi alarm radio barem na minus 30 stepeni i bio bi napunjen skrivenim solarnim panelima, posebno zimi, onda bi bilo mnogo onih koji bi željeli imati takav aparat.

Alexey 11/04/13

GSM modul troši do 2A prilikom registracije u mrežu ili upućivanja poziva ili GPRS komunikacije. Za takve resurse potrebna je dobra baterija, a na -30 baterija neće dugo trajati. Čak i na meteorološkim stanicama preporučuje se korištenje jednostavnih baterija na vanjskim senzorima.

Medo 11.11.13

Ako je i dalje relevantno i zanimljivo... pogledajte EAT za SIM900. Unutar ARM-a nalazi se SDK u kojem možete preuzimati aplikacije na SIM900 sa kojeg možete raditi puno stvari... na primjer, slati iste AT komande... + tastatura + SPI displej... + 2 ADC-a :)

Medo 11.11.13

I na kraju krajeva, jako mu je lijepo da mu napravi napajanje na L5973D. Da, oko 2A je napisano u datasheetu ... ali u praksi su to vrlo kratkotrajni impulsi. Meni odlično funkcionira, na primjer, sa Arduino Mega, koji se i sam napaja iz USB porta (koji ima struju od 0,5 A)

Alexey 11.11.13

Ovo je kvaka. I ja sam prvo hranio sa 7805, sve je radilo, a onda bam... I kad se spoji na mrežu sve se ugasi, pa ide na restart. Očigledno se pas čuvar ponovo pokreće nakon zapljene hrane. I sa L7953D će biti prelijepo, ali gdje ga nabaviti i osprey će koštati :) Pa sam prešao na IRU1075

Alexey 11.11.13

Izvinjavam se na greškama, ovaj prokleti GUDROYD mi vaja robove. On misli pametnije. Neću uređivati, neka se Google stidi svog rada.

stric Misha 24.12.13

Prilikom registracije u Atmega mrežu, restartujem. Iako postoji pulsni dcdc. Kondenzatori za 200 mikrofarada. Ponekad radi stabilno. Već sam bio istrošen.

Aleksej 25.12.13

Šema u studiju. Iz riječi je prilično teško razumjeti problem.

stric Misha 25.12.13
stric Misha 25.12.13

Http://ybex.com/d/tk7kgiefpklpeujb1zbl4lo5 mrkf7ayvci04ouq3.html MK se napaja od 2,8 (čak i isprobanih 3,7) volti, da ne bi blokirao pretvarač nivoa.

Aleksej 25.12.13
sergey 19.07.14

Zdravo Alexey! imate li gotove ploče sa sim900, mogu li kupiti?

Aleksej 19.07.14

U kom smislu su oni spremni? Sam modul je već montiran i preostaje da određeni uređaj napravi ploču sa potrebnim izlazima i ulazima. Ona u ovom članku je samo demo ploča za otklanjanje grešaka u programima. Za određeni uređaj potrebne su dimenzije, lokacija konektora, izlaza za slušalice i mikrofon. Gdje će biti konektor za antenu. Dajte detaljnije informacije o tome šta vam je potrebno.

Andrej 28.09.14

Koliko sam shvatio, ovo je prototip šala koji jedva čekam. Samo u komercijalnoj verziji udata je sa napajanjem i oplemenjena audio izlazima. Kakav veliki zvuk.

Aleksej 28.09.14

U stvari jeste. Upravo sam ubio nekoliko ptica jednim udarcem. Riješen prastari problem sa snagom i usklađivanjem nivoa na UART-u. I dodao audio ulaz i izlaz za šik. Zaista gotov mobilni telefon.

Andrej 28.09.14

Želio bih predstaviti ratsuhu za budućnost. u stvari, ova ploča je kompletna jedinica. I može se praktično koristiti u gotovom proizvodu. međutim, postoji jedno ALI. Kod meson nadstrešnice ionako ga je bolje staviti na vrh (konektor za antenu, pristup sim kartici), stoga je preporučljivo ostaviti rupe za iste pinove paralelno sa svim pinama za "periferiju" s mogućnošću lemljenja u smjeru "naniže". One. Htio sam staviti ovaj uređaj na ploču mikrokontrolera, raširiti ga ispod tvoje, zalemiti spojne konektore u njega i spojiti ga. Također sa

Andrej 28.09.14

Progutao pola poruke, ali nadam se da razumiješ ideju-)

Aleksej 28.09.14
Sergej 01.02.15

Reci mi zašto se modul zagrijava i ne hvata mrežu?

Alexey 01.02.15

Postoji nekoliko razloga za to. Prvo, hrana je bila prekoračena. Drugo, nije li plus pogodio opći. Morate pomno pogledati noge snage. Treće, da li trbuh dodiruje dovodne linije do modula. Postoji nekoliko procesnih kontakata na trbuhu koji moraju biti izolirani od bilo kojeg vodiča. Četvrto, je vod antene kratko spojen na zajednički vod. Da budemo precizniji, potrebno je pogledati ploču. Pošaljite mi naknadu na mail pa ću vidjeti da li nešto nije u redu.

Sergej 01.02.15

Imam fabričke ploče MasterKit BM8039 i obe imaju isti problem..ubaciš SIM karticu, modul počinje da se zagreva a mreže nema.

Alexey 01.02.15

Teško je reći. Fabričko kolo, morate se popeti na ploču. Iz dokumentacije se vidi da ploča nema preporučene zaštitne diode za SIM karticu. Sama kartica i konektor na pinovima se poklapaju? 300 modul je star i po mom mišljenju radi samo sa 5V SIM karticama, ali sada su sve na 3v. Ali mogu pogriješiti. Morate pogledati samu ploču, tako je teško nešto reći. Ako je simptom na oba isti, onda bih iskočio u smjeru konektora i napona SIM kartice. Još jednom, moderne sim kartice za 3 volta.

Sergej 01.02.15

Kosta sim900D...nema dioda.Kad ubacim karticu pojavi se struja na modulu i pocinje da se zagreva ali na SIM kartici npr. sa 9 stopa ne ide..

Sergej 01.02.15

U početku su dobro radili...onda je nešto krenulo po zlu...ne mogu da shvatim šta..

Sergej 01.02.15

Kako mogu provjeriti modul bez odlemljenja?

Alexey 01.02.15

A šta je tačno bilo kratko? Ako se SIM kartica ne uključi, bojim se da je linija za SIM karticu mrtva. A koliko nogu? 6 ili 8? Da biste provjerili, možete komunicirati s modulom preko UART 3, 4 stope sabirnice bez umetanja SIM kartice. Ako odbije da prihvati AT komande, onda mislim da ga možete sahraniti.

ANONIM 01.02.15

Ne znam tačno šta je bilo kratko .. noga 8 .. ali kako onda komunicirati?

Alexey 01.02.15

Ima li i 8 na konektoru? Uzimamo mikro krug FT232RL, sastavljamo USB adapter<->TTL, zalemljen na UART modula, pokrenite terminal, na primjer Putty, napišite AT i pritisnite enter. Ako se vrati OK, onda nije sve izgubljeno. Ako je tišina... U smeću. I da, koje su LED diode na ploči? Kako se utvrđuje registracija u mreži?

Sergej 15.02.2015 03:12

Na konektoru ih ima i 8..na ploči su dvije zelene i crvene LED diode,prisustvo mreže se utvrđuje treptanjem zelene boje jednom u tri sekunde...mogu li nekako ubaciti fotku ploče?

Alexey 15.02.2015 07:42

Lakše je otići na forum.

Sergej 15.02.2015 14:02

Ako ne umetnete SIM karticu, onda trebate napajati modul?

Alexey 15.02.2015 15:48

Ne mogu da čitam talog kafe. Treba mi ili šema ili ploča. I kakve veze ima napajanje modula i SIM kartice? Tu se, najvjerovatnije, ukršta i sa nekom vrstom mikrokontrolera. On snabdeva strujom. Općenito, dijagram je potreban. I tako je kao da postavljate dijagnozu preko telefona.

Sergej 15.02.2015 15:56

Gdje mogu postaviti dijagram na forum?

Sergej 15.02.2015 15:57

Napajanje modula dolazi samo kada umetnete SIM karticu

Alexey 15.02.2015 19:27

Pa, ne postoji takva stvar za SIM900D modul. Da biste uključili modul, morate zadržati niski nivo na pinu 12, a zatim ga podići. SIM kartica se nikako ne može ubaciti ili izvaditi kada je modul uključen, postoji mogućnost spaljivanja porta. Ako pogledate dokumentaciju, tamo možete pronaći preporuke za ugradnju zaštitnih dioda na liniju porta SIM kartice. Na forumu. Kreirajte temu i otpremite fotografiju.

Evgeniy 08.09.15 12:04

Kada dam napon na modul, postoji pozitivan potencijal na 12. kraci, a na 5. kraku je također pozitivan (pod uslovom da ove noge vise u zraku). Možete li mi, molim vas, reći, ipak bi trebalo da bude nula na 5. etapi? Ako ne, ispravite me.

Alexey 9/08/15 13:21

12. krak je uključivanje modula. Kada je uključeno napajanje, visi na njemu 1. Da biste uključili modul, pritisnite 12. nogu na zajedničku žicu na par sekundi, odnosno napajanje 0. Kada se napajanje uključi na modul 5, noga se mora povući prema gore na zajedničku žicu sa dva otpornika (ovo se vidi iz dijagrama ožičenja tranzistora u ključnom modu) i trebalo bi da bude 0, pošto bazu treba povući do nule da bi se tranzistor potpuno zatvorio. Nakon pritiskanja 12 krakova na nulu, na 5. kraku bi se trebao pojaviti 1, a nakon nekog vremena meandar koji pokazuje status dostupnosti i povezanosti na mrežu.

Vassilis serasidis

Uređaj je dizajniran za daljinsko upravljanje napajanjem različitih uređaja (npr. ADSL modema, personalnih računara, sobne rasvjete, raznih kućnih uređaja), a može pratiti i status osam digitalnih linija i potom informirati korisnika o statusu ovih linija. , tj može se koristiti kao neka vrsta sigurnosnog sistema. Korisnik se kontroliše i informiše SMS-om.

Glavne karakteristike uređaja:

  • kontrola 4 releja (on/off);
  • mogućnost praćenja stanja releja i 8 digitalnih ulaza za dalje slanje SMS-a korisniku radi informisanja o trenutnom stanju;
  • jednostavno kolo, mali broj korištenih komponenti;
  • kontrola putem SMS-a. Kontrolne komande su zaštićene lozinkom (korisnik ih može promijeniti) kako bi se spriječilo lažno okidanje.

Šematski dijagram uređaja prikazan je na sl. jedan.

Osnova uređaja je mikrokontroler ATtiny2313 korporacije i GSM modul koji proizvodi kompanija.

Mikrokontroler IC2 radi na 4 MHz, koji je postavljen eksternim kristalom X1.



Slika 2 Spoljašnji izgled GSM modula GM-47

Za funkcionisanje GSM modula potrebna je SIM kartica koja se direktno spaja na modul pomoću posebnog držača. Mikrokontroler i GSM modul se napajaju iz regulatora IC1 LM1117T 3.3 sa izlaznim naponom od 3,3 V. Općenito, mikrokontroler ostaje u funkciji unutar 2,7 V - 5,5 V (na radnoj frekvenciji do 10 MHz), dakle do osigurajte da su logički nivoi GSM modula i mikrokontrolera usklađeni napajaju ga iz IC1.

Komunikacija sa GSM modulom se odvija brzinom od 9600 bps pomoću AT komandi. Vrijedi napomenuti da su nivoi napona za ovu komunikaciju 3,3 V od AVR mikrokontrolera i 2,75 V od GSM modula. Stoga je za prilagođavanje nivoa korišten tranzistor T5 BC547.

Modul se povezuje pomoću PCB konektora.



Slika 3 Štampana ploča sa instaliranim konektorom za GM-47 modul

SIM kartica se povezuje pomoću K15 slota, koji ima ugrađen SW granični prekidač za detekciju prisustva kartice u držaču.

Relejem se upravlja pomoću ključeva napravljenih na tranzistorima BC547


Slika 4 Spoljašnji izgled štampane ploče sa ugrađenim modulom

LED dioda D6 je dizajnirana da ukazuje na status veze na mrežu, a ako treperi znači uspješnu vezu sa ćelijskom GSM mrežom, koju podržava SIM kartica. Ako LED lampica stalno svijetli, to znači da se modul ne može povezati na mobilnu mrežu.

GSM modul ima digitalne i analogne ulaze/izlaze, ali ih u ovom projektu autor nije koristio kako bi se isključila opasnost od oštećenja modula.

Koje zadatke obavlja AVR mikrokontroler?

Nakon uključivanja ploče, mikrokontroler čeka da se izvrši inicijalizacija GSM modula, tj. modul mora pročitati SIM karticu i povezati se na GSM mrežu koju podržava.

Nakon uspješne inicijalizacije, mikrokontroler šalje AT komandu, što znači da je memorija modula odabrana kao SMS memorija. Mora postojati odgovor modula na ovu naredbu, inače se komanda ponovo šalje.

Nakon odabira memorije, mikrokontroler šalje sljedeću naredbu. Ova naredba govori modulu da će se poruke čitati u tekstualnom formatu (ne u PDU formatu, koji je također podržan od strane modula).

Zatim slijedi komanda, zahvaljujući kojoj će se neke informacije ukloniti iz teksta SMS poruke, na primjer, broj SMS servera, datum i vrijeme. To je učinjeno kako bi se smanjili SMS-ovi i pojednostavio rad mikrokontrolera s njima.

Sljedeća naredba je namijenjena za čitanje SMS poruka pohranjenih na prvoj adresi u memoriji modula.

Ako postoji SMS tekst, mikrokontroler ga čita i provjerava ispravnu lozinku. Podrazumevana lozinka je 1234, koju zatim korisnik može promijeniti. Nakon provjere lozinke, provjerava se prisustvo simbola “*”, što znači da je lozinka promijenjena na 4 broja (slova) iza simbola “*”.

Nakon toga, SMS se dalje obrađuje kako bi se otkrila rezervirana naredba gdje X- označava broj releja (1-4), Y- naredba za uključivanje/isključivanje. relej, može imati vrijednosti 1 (uključeno) ili 0 (isključeno). Na primjer, naredba Relej2 = 1 znači da se omogući relej #2.

Nakon toga, mikrokontroler dalje obrađuje SMS za prisustvo komande Status, a ukoliko je dostupan očitava stanje osam digitalnih linija i stanje svih releja i šalje SMS sa tekstualnom porukom o stanju praćenih linija na broj sa kojeg je poslata SMS komanda. Istovremeno, ne zaboravite da na SIM kartici moraju postojati sredstva za slanje SMS-a.

Nakon svih ovih operacija, mikrokontroler briše SMS poruku koja se nalazi na prvoj adresi u memoriji modula i nastavlja sa čekanjem sljedeće SMS poruke.

Slanje komandi putem SMS-a sa mobilnog telefona se vrši u skladu sa određenom sintaksom. Razmotrimo to koristeći primjer naredbi:

  1. Tim:1234 * 5678 Relej1 = 1 Relej2 = 0 Relej3 = 1 Relej4 = 1 Status
    Ovde imamo najbogatiju ekipu. Prvo šaljemo lozinku (1234) i označavamo da će se promijeniti (*) na 5678. Zatim uključujemo releje #1, 3, 4 i isključujemo relej #2. Osim toga, tada slanjem komande tražimo informacije o stanju 8 senzora i svih releja.
  2. Tim:1234 Relej1 = 1 Relej2 = 0 Relej3 = 1 Relej4 = 1 Status
    U ovoj SMS komandi uključujemo releje #1, 3, 4, isključujemo relej #2 i tražimo informacije o stanju senzora i releja.
  3. Tim: 1234 1 = 1 2 = 0 3 = 1 4 = 1 Status
    Ova naredba je slična razmatranoj komandi 2), ovdje smo izostavili riječi.
  4. Tim:1234 Status
    Uz pomoć tražimo samo informacije o statusu senzora i releja.
  5. Tim:1234 Relej2 = 0
    U ovoj komandi, kao što vidite, isključujemo samo relej broj 2

Šematski dijagram, PCB crtež, izvorni kod (AVR asembler) -.

Da biste komentirali materijale sa stranice i dobili potpuni pristup našem forumu, trebate registar .

  • da li je moguce koristiti mobilni telefon umesto GM-47 modula, po mom misljenju mobilni telefon je lakse nabaviti i jeftinije
  • Takvih modula nema u prodaji. I tako zanimljiv uređaj. Općenito, ovdje se štampa mnogo zanimljivih stvari, ako bi nam sve ovo bilo dostupno...
  • Kontrola putem SMS-a je moguća pomoću GSM modema ili telefona koji se koristi kao modem povezan sa računarom. Zanimaju li vas detalji implementacije? Ili vam je ova opcija korištenja kompjutera preglomazna!? Možete koristiti mikro PC ili kontroler kompatibilnog tipa sa GSM modulom, ova opcija je kompaktnija. Dakle, gore navedeni specijalizovani uređaji, ovo je u suštini GSM modem + kompjuter, mogu se implementirati nezavisno od šire dostupnih komponenti.
  • Mislim da možete koristiti kompatibilne module, koji imaju isti sistem komandi...
  • U GSM modulima i mobilnim telefonima za upravljanje i nadzor se koriste specijalizovane AT komande, čiji je skup u osnovi isti za različite proizvođače i razne slične uređaje, a u zavisnosti od specijalizacije uređaja i karakteristika skupa komandi, uključene su dodatne specijalne komande. Ovaj uređaj se može pretvoriti u skoro svaki GSM modul ili mobilni telefon. Na ploči napravimo kontrolni konektor koji se izvodi preko 2-žičnog UART sučelja, umjesto 20 - 40 stopa za modem, i malo korigujemo ASM izvorni kod koji nam je dostupan (koji možda neće ni biti potrebno!) I naravno za novi projekat novi raspored PCB-a. I dobijamo univerzalni uređaj za kontrolu i nadzor.
  • Evo opcije implementacije daljinskog upravljanja na pristupačnom GSM modulu SIM300D - http://electromost.com/index/mnogofu...kontrolja/0-35 Prilikom korišćenja SMS-a postoji jedna tačka - dostava SMS-a od strane operatera nije vremenski standardizovan. Stoga se ne preporučuje upravljanje kritičnim uređajima na ovaj način. Osim toga, imperativ je pratiti potvrdu izvršene komande - inače je SMS "ispaljen" i ne zna se da li je komanda izvršena ili ne :). Stoga je prilikom korištenja mobilne komunikacije potrebno upravljati opterećenjem u "realnom vremenu" uz potvrdu izvršenih naredbi. Na primjer, koristite GPRS. Ili barem DTMF - kao u uređaju, link na koji je dat gore.
  • Gospodo, svako dobro u toku dana! Da li je neko probao da sklopi ovaj uredjaj? Moji pokušaji sa Neoway M590 modulom su bili neuspješni. Nakon čitanja primljenog SMS-a, mikrokontroler pauzira na par sekundi, zatim ga briše iz memorije i nastavlja slanje AT komande modulu u ciklusu. U tom slučaju ne dolazi do promjene stanja releja, niti do slanja poruke naredbom "Status". Ima li neko mišljenje o ovome?
  • Šivanje uređaja nije u funkciji. Također sam sastavio takav uređaj na ploču s originalnim ožičenjem i sa GR-47. Reakcija je ista kao i tvoja. Čitao sam i na jednom zapadnom forumu o sličnom problemu sa ovim uređajem. Da ne bih birao listing na ASM-u, prepisao sam AVR u CodeVision, istovremeno sam uveo optimizaciju: nemojte stalno pokretati ciklus prozivanja, već na početku rada sa modemom pošaljite komandu za slanje SMS poruke na terminal, a zatim analizirajte SMS nakon prijema poruke.
  • Tako sam preturao po skoro čitavom Internetu u potrazi za istinom, pa čak i pisao autoru Serasidisu Vasilisu sa molbom da mi pomogne da se to otkrije (na engleskom, naravno), ali nikad ništa nisam postigao. Čini mi se da je ovdje zasjeda u razlici između naših i stranih brojeva telefona. Iz liste programa možete vidjeti da imaju ovaj broj još jednu cifru, odnosno potrebno je svuda podesiti registarski parametar "No_Of_ignore_bytes" (R25). Mada, mogao bih da grešim. Na jednom od specijalizovanih sajtova ovaj problem je pokrenut baš kao i naš, i izgleda da je tamo uspešno rešen, ali na koji način se, nažalost, prećutkuje. Također je nemoguće registrirati se na ovoj stranici kako biste komunicirali sa učesnicima teme - oni počinju bez objašnjenja, odmah u fazi registracije. Evo linka: http://www.edaboard.com/thread290544.html Poštovani max7780, ako vaš uređaj radi, možete li podijeliti program? Bio bih vam jako zahvalan, jer mi moje znanje programiranja ne dozvoljava da napišem tako složen program od nule ni u ASM ni u SI, a ja sam samo slomio mozak da izaberem postojeći za dva mjeseca.
  • Sakupio sam uređaj prije 5 godina, ako ga nađem, vjerovatno ću sutra objaviti izvor. Ali nisu tu implementirane sve funkcije, na primjer, nisam napravio status naredbu koja čita stanja ulaza i nema garancije da će program raditi s vašim modemom, možda postoje neke razlike u odgovorima na komande ili u samim komandama. Takođe, u originalnom izvornom kodu nema analize odgovora modula, modem može prijaviti grešku, a program će nastaviti da izdaje komande, ili modem može da visi, a mikrokontroler jednostavno ne može da ga restartuje, pošto je original ploča nema PowerPin kontrolu modula. Analizirat ću Datasheet za vaš modul i pomoći koliko mogu. Takođe bih želeo da kažem da je 590. retko smeće, kupio sam tri modula, samo jedan je radio dobro bez kvarova. Prilikom prerade softvera zadatak nije bio osigurati rad uređaja bez kvarova dugo vremena, već samo pokrenuti komad hardvera, ima i dosta neoptimalnog koda, bolje da vam pošaljem ovo program putem e-maila.
  • Od dva kupljena modema 590-ih samo mi je jedan od dva kupljena modema 590-ih dobro radio, drugi šalje u eter bilo kakvo smeće koje se vidi na terminalu. Pokušao sam da povećam brzinu - beskorisno je. A drugi radi jasno na brzini od 9600, ali iz nekog razloga ne želi da se druži sa mikrokontrolerom, iako smo već otkrili da je stvar najvjerovatnije u samom programu. Međutim, za mene i dalje ostaje misterija zašto nekima djeluje, a drugima ne. Čini se da GM47 i NEOWAY imaju iste AT komandne protokole, jedina razlika je što Neoway nema priključak za mikrofon, stoga je nemoguće implementirati glasovni poziv. Da li imate isto kolo i kontroler ili su se promijenili? Da, biće mi drago svakom, pa makar i "sirovom" rješenju, jer se tada već može finalizirati kako se očekuje. Glavna stvar je temelj. Tako da ću vam biti neizmjerno zahvalan ako pošaljete program na adresu [email protected], tada će se već moći krenuti u ovom pravcu, jer sam sada tek došao u ćorsokak...

Može se koristiti u uređajima gdje je potrebna komunikacija na daljinu. Na primjer, čovjek upravlja robotom u Moskvi dok sjedi u Krasnodaru! Ili farmer uključi pumpu za vodu u polju pirinča od svoje kuće nekoliko kilometara od polja! Postoji nekoliko opcija za komunikaciju sa uređajem:

Jednostavna komunikacija zasnovana na SMS porukama:
Uključite / isključite uređaj pomoću jednostavnih SMS komandi. Za upravljanje uređajem može se koristiti bilo koji mobilni telefon.
Protuprovalni/požarni alarm koji obavještava vlasnika o hitnom slučaju u kući putem SMS-a.

Komunikacija zasnovana na pozivima:
Pametni protuprovalni/požarni alarmi koji pozivaju policiju ili vatrogasce i prijavljuju hitni slučaj koristeći unaprijed snimljene glasovne poruke.

Internet komunikacija (GPRS):
Korisnik može upravljati uređajem sa bilo kojeg PC/tableta/mobilnog telefona povezanog na Internet. Na primjer, informacioni displeji instalirani na autoputevima kontrolišu se iz centralne kontrolne sobe.
Internetom kontrolisani robot. Takav robot je dostupan sa bilo kojeg uređaja spojenog na internet s bilo kojeg mjesta na svijetu.
Prijenosni uređaji instalirani u vozilima koja se povezuju na Internet pomoću SIM300 GPRS modula i dodaju trenutnu poziciju (pomoću GPS-a (Global Positioning System)) na server. Ovi podaci se čuvaju u bazi podataka na serveru zajedno sa ID-om vozila. Da vidite rutu vozila, možete se povezati na server sa svog računara koristeći World Wide Web.

Prednosti korištenja SIM300 modula

SIM300 Kit je potpuno nezavisan modul sa utorom za SIM karticu, napajanjem itd. Ovaj modul se može lako povezati sa jeftinim AVR / PIC / 8051 mikrokontrolerima. Komunikacija sa mikrokontrolerom je preko asinhronog serijskog porta. Ovo je osnovni tip serijske komunikacije koji je hardverski podržan od strane većine mikrokontrolera. Podaci se prenose bit po bit i skupljaju u bajtove. Na visokom nivou, izgleda kao jednostavan tekstualni tok. Ukupno postoje dva toka: jedan od mikrokontrolera do SIM300 i drugi od SIM300 do mikrokontrolera. Komande se šalju kao običan tekst.

Ako nikada niste koristili serijski prijenos podataka ili čuli za njega, onda je preporučljivo razumjeti kako to funkcionira i vježbati na jednostavnijim primjerima.

Komunikacija sa SIM300 modulom koristeći AVR UART

Hardverski dio mikrokontrolera koji se koristi za serijsku komunikaciju naziva se UART i koristimo ga za komunikaciju sa SIM300 modulom (može se koristiti i za komunikaciju sa drugim uređajima kao što su RFID čitači, GPS moduli, skeneri otiska prsta itd.). UART je vrlo uobičajena metoda komunikacije u svijetu elektronike, za nju smo napisali čistu i jednostavnu biblioteku koju koristimo u svim našim projektima koristeći UART.

Pošto bajt sa SIM300 može stići mikrokontroleru u bilo kom trenutku, šta se dešava ako je mikrokontroler zauzet nečim drugim? Da bismo riješili ovaj problem, implementirali smo baferovanje dolaznih podataka zasnovano na prekidima. Bafer se nalazi u RAM-u mikrokontrolera. Ima funkciju za određivanje broja bajtova u redu čekanja.

Sljedeće su funkcije AVR USART biblioteke:

void USARTInit (uint16_t ubrrvalue)

AVR USART hardverska inicijalizacija. Vrijednost parametra ubrrvalue podešena je željena brzina prijenosa. Zadana brzina prijenosa za SIM300 je 9600 bps. Za AVR mikrokontroler koji radi na 16 MHz, vrijednost ubrrvalue za ovu brzinu bi trebalo da postoji 103 .

char UReadData ()

Čitanje jednog znaka iz reda čekanja. Ako nema ničega u redu, onda je odgovor 0.

void UWriteData (podaci znakova)

Zapisuje jedan bajt podataka u Tx liniju pomoću funkcije UWriteString ().

uint8_t UDataAvailable ()

Izvještava o količini podataka u FIFO redu.

void UWriteString (char * str)

Zapisuje null-terminiran string u C stilu u Tx liniju.
Primjer 1: UWriteString ("Hello World!");
Primjer 2: char name = "Avinash!"; UWriteString (ime);

void UReadBuffer (void * buff, uint16_t len)

Kopira sadržaj FIFO u memoriju specificiranu buff-om, količina kopiranih podataka određena je parametrom len. Ako je u FIFO bafer preko UART-a stiglo manje podataka (u skladu sa parametrom len), tada će preostali prostor biti popunjen nulama.

char gsm_buffer;
UREadBuffer (gsm_buffer, 16);

Gornji primjer će pročitati 16 bajtova podataka (ako ih ima) iz FIFO-a u varijablu gsm_buffer... Zapiši to gsm_buffer dodijelio niz od 128 bajtova jer će nam kasnije možda trebati više od 16 bajtova. Stoga se ovaj bafer može koristiti za čitanje do 128 bajtova u budućnosti.

Gornja funkcija se obično koristi zajedno sa UDataAvailable ().

dok (UDataAvailable ()<16)
{
// Ne radi ništa
}

char gsm_buffer;
UREadBuffer (gsm_buffer, 16);

Isječak koda prikazan iznad čeka da se 16 bajtova podataka akumulira u međuspremniku, a zatim ih čita.

void UFlushBuffer ()

Otkazuje čekanje podataka od strane FIFO bafera. Prije slanja nove naredbe GSM modulu, prvo poništite čekanje podataka od strane FIFO bafera.

Gore navedene funkcije se koriste za slanje i primanje tekstualnih naredbi sa GSM modula SIM300.

AT komande postavljene za SIM300

Sada kada ste upoznati s osnovama AVR USART biblioteke i njenom upotrebom za inicijalizaciju USART-a, slanje i primanje podataka, vrijeme je da naučite komande SIM300 modula i kako slati i primati odgovore. SIM300 ima nekoliko funkcija: slanje tekstualne poruke, upućivanje poziva itd. Svaka od ovih funkcija se izvršava nakon određene naredbe, a SIM300 ima svoj skup naredbi.

Sve SIM300 komande počinju prefiksom AT + i kraj Povrat kočije(skraćeno kao povratak kočije). ASCII kod CR - 0x0D (decimalni 13). Sve komande koje pošaljete na SIM300 biće vraćene na TX liniju SIM300. To jest, ako pošaljete komandu 7 bajtova (uključujući završni CR), tada ćete ovih 7 bajtova odmah primiti u bafer preko UART-a. Ako ga niste primili, onda nešto nije u redu!

Prva funkcija koju ćemo naučiti bit će SIM300Cmd (konstantni znak * cmd), radi sljedeće:

  • Zapisuje komande koje daje parametar cmd.
  • Dodaje CR nakon komande.
  • Čeka da se naredba vrati, a ako dođe prije isteka vremena, odgovara SIM300_OK(konstanta definisana u sim300.h). Ako su predugo čekali na povratak, ali povratka nije bilo, odgovara ona SIM300_TIMEOUT.

Napomena: Sve funkcije zavisne od SIM300 pohranjene su u datoteci sim300.c. Uzorci i konstante se pohranjuju u sim300.h

Rad sa SIM300Cmd ()

Int8_t SIM300Cmd (const char * cmd) (UWriteString (cmd); // Pošalji naredbu UWriteData (0x0D); // CR uint8_t len ​​= strlen (cmd); len ++; // Dodajte 1 za zadnju CR dodanu na sve naredbe uint16_t i = 0; // Sačekajte eho dok (i< 10*len) { if(UDataAvailable() < len) { i++; _delay_ms(10); continue; } else { //We got an echo //Now check it UReadBuffer(sim300_buffer,len); //Read serial Data return SIM300_OK; } } return SIM300_TIMEOUT; }

Naredbu obično prati odgovor. Forma odgovora je sledeća:
LF- Line Feed, njegov ASCII kod 0x0A (10 u decimalnom obliku)

Dakle, dok se čeka odgovor nakon slanja naredbe, mogu se dogoditi tri stvari:

  • Nema odgovora dugo vremena. Vjerovatni razlog može biti taj što SIM300 nije povezan s mikrokontrolerom.
  • Odgovor je primljen, ali ne kako se očekivalo. Ovo može biti zbog loše serijske linije, pogrešne brzine prijenosa ili mikrokontrolera koji radi na pogrešnoj frekvenciji.
  • Primljen tačan odgovor.

Na primjer, naredba Nabavite mrežnu registraciju(mrežna registracija) se vrši na sljedeći način: Komandni niz: " AT + CREG?"

Odgovor(odgovor): + CREG:, uredu

Vidite da je tačan odgovor 20 bajtova. Odnosno, nakon slanja naredbe "AT + CREG?" potrebno je sačekati dok se ne primi 20 bajtova ili dok ne prođe određeno vrijeme. Drugi uslov je ispunjen kako bi se izbjeglo smrzavanje ako je SIM300 neispravan. Odnosno, umjesto vječnog čekanja na odgovor, pojavit će se greška ako SIM300 odgovara predugo (ovo se zove timeout)

Ako se dobije tačan odgovor, onda analiziramo varijablu kako bismo dobili informacije o registraciji u mreži.

U zavisnosti od trenutnog stanja registracije u mreži, vrednost može biti: 0 - Nije registrovan, sada SIM300 ne traži novog operatera za registraciju. 1 - Registrovan u kućnoj mreži. 2 - Nije registrovan, sada SIM300 traži novog operatera za registraciju. 3 - Registracija odbijena. 4 - Nepoznato. 5 - Registrovan, roaming.

Rad sa SIM300GetNetStat ()

Int8_t SIM300GetNetStat () (// Pošalji naredbu SIM300Cmd ("AT + CREG?"); // Sada sačekajte odgovor uint16_t i = 0; // ispravan odgovor je dugačak 20 bajtova // Dakle, pričekajte dok ne dobijemo 20 bajtova // u baferu dok (tj<10) { if(UDataAvailable()<20) { i++; _delay_ms(10); continue; } else { //We got a response that is 20 bytes long //Now check it UReadBuffer(sim300_buffer,20); //Read serial Data if(sim300_buffer=="1") return SIM300_NW_REGISTERED_HOME; else if(sim300_buffer=="2") return SIM300_NW_SEARCHING; else if(sim300_buffer=="5") return SIM300_NW_REGISTED_ROAMING; else return SIM300_NW_ERROR; } } //We waited so long but got no response //So tell caller that we timed out return SIM300_TIMEOUT; }

Funkcija se implementira na isti način: int8_t SIM300IsSIMIInserted ()

Za druge vrste odgovora, ne znamo unaprijed tačnu veličinu odgovora kao u gornjoj naredbi. Na primjer, ovo je komanda Get Service Provider Name, gdje dužina imena operatera nije unaprijed poznata. To može biti MTS, Beeline, itd. Za rješavanje ovog problema koristimo činjenicu da je prije i poslije odgovor CR LF... Dakle, jednostavno upisujemo u bafer sve znakove dok se ne sretnemo CR, što znači kraj odgovora.

Da bismo pojednostavili obradu takvih naredbi, napravili smo funkciju
SIM300WaitForResponse (uint16_t timeout)

Ova funkcija čeka odgovor od SIM300 (kraj odgovora je označen sa CR) i prijavljuje veličinu odgovora, dok se sam odgovor kopira u globalnu varijablu sim300_buffer.

Ako se prije isteka vremena ne primi nikakav odgovor, tada je odgovor 0. Vrijeme čekanja u milisekundama može se podesiti parametrom vrijeme je isteklo... Ne računa zaostale LF-ove ili posljednje OK-ove, oni ostaju u UART FIFO baferu. Stoga, prije povratka, koristimo naredbu UFlushBuffer () da ih uklonite iz međuspremnika.

Rad sa SIM300WaitForResponse (uint16_t timeout)

Int8_t SIM300WaitForResponse (uint16_t timeout) (uint8_t i = 0; uint16_t n = 0; dok (1) (dok (UDataAvailable () == 0 && n

Rad sa SIM300GetProviderName (char * ime) Funkcija radi sljedeće:

  1. Briše USART međuspremnik za uklanjanje svih grešaka ili odgovora.
  2. Šalje naredbu "AT + CSPN?" korištenje SIM300Cmd funkcije ("AT + CSPN?");
  3. Zatim čeka odgovor pomoću funkcije SIM300WaitForResponse ().
  4. Ako dobijemo odgovor različit od nule, on ga analizira kako bi dobio ime operatora.

Sljedeće funkcije se implementiraju na sličan način:

  • uint8_t SIM300GetProviderName (char * ime)
  • int8_t SIM300 GetIMEI (char * emei)
  • int8_t SIM300 GetManufacturer (char * man_id)
  • int8_t SIM300GetModel (char * model)
uint8_t SIM300GetProviderName (char * ime) (UFlushBuffer (); // Pošalji naredbu SIM300Cmd ("AT + CSPN?"); uint8_t len ​​= SIM300WaitForResponse (1000); if (len == 0) vrati SIM300 *TIMEOUT; char; * end ; početak = strchr (sim300_buffer, "" "); početak ++; kraj = strchr (početak," ""); * end = "\ 0"; strcpy (ime, početak); povratak strlen (ime); )

SIM300 i ATmega32. Hardverski dio

Da bismo demonstrirali komunikaciju sa SIM300 koristeći ATmega32 AVR, potrebne su nam sljedeće komponente:
- ATmega32 sa vezanjem - reset registar, ISP pinovi, 16 MHz kvarc.
- + 5V napajanje za napajanje ATmega32 i LCD-a.
- karakter LCD 16x2 za indikaciju rezultata.
- SIM300 modul.

Koristili smo Xboard ploču za otklanjanje grešaka jer ima ATmega32 žičani, +5V napajanje i LCD ekran.

Demo izvorni kod za AVR i SIM300

Demo izvorni kod je napisan u C i kompajliran korišćenjem besplatnog AVR-GCC kompajlera, koristeći potonji. Projekat je podijeljen u sljedeće module:

  • LCD biblioteka
    - Fajlovi lcd.c, lcd.h, myutils.h, custom_char.h
    - Njen posao je da kontroliše standardni LCD 16x2.
    - Više informacija možete pronaći na linku.
  • USART biblioteka
    - Fajlovi usart.c, usart.h
    - Njen posao je da kontroliše hardverski USART mikrokontroler AVR. Uključuje funkcije za inicijalizaciju USART-a, slanje / primanje znakova, slanje / primanje nizova.
  • SIM300 biblioteka
    - Fajlovi sim300.c, sim300.h

Postavljanje AS6 projekta korak po korak

Kreirajte novi AS6 projekat pod nazivom "Sim300Demo".
Pomoću istraživača rješenja (stablo projekta) kreirajte mapu pod nazivom "lib" u trenutnoj mapi.
Unutar foldera "lib" kreirajte foldere "LCD", "USART" i "SIM300".
Kopirajte datoteke (koristeći Windows Explorer) lcd.c, lcd.h, myutils.h, custom_char.h u lcd folder.
Kopirajte datoteke (koristeći Windows Explorer) usart.c, usart.h u USART folder
Kopirajte datoteke (koristeći Windows Explorer) sim300.c, sim300.h u SIM300 folder.
Dodajte lcd.c, lcd.h, myutils.h, custom_char.h datoteke u projekat pomoću istraživača rješenja (stablo projekta).
Dodajte filesusart.c, usart.h svom projektu pomoću istraživača rješenja (stablo projekta).
Dodajte datoteke sim300.c, sim300.h u projekat pomoću istraživača rješenja (stablo projekta).
Definirajte vrijednost F_CPU = 16,000,000 koristeći AS6.
Kopirajte i zalijepite glavnu datoteku Sim300Demo.c u program.
Sastavite projekat da dobijete heksadecimalni fajl.
Flešujte Xboard koristeći USB programator.
Ako koristite novi ATmega32 mikrokontroler, postavite LOW FUSE na 0xFF i HIGH FUSE uključen 0xC9.

Šta radi demo?

Inicijalizira LCD i SIM300 modul.
Provjerava da li je SIM300 modul povezan na USART i odgovara kako se očekuje.
Prikazuje IMEI modula SIM300.
Prikazuje ID proizvođača
Provjerava prisutnost SIM kartice.
Traži GSM mrežu i uspostavlja vezu. Za ovo je potrebna aktivna SIM kartica.
Prikazuje ime operatera, na primer MTS ili Megafon.

Mogući problemi

Nema slike na LCD-u

Provjerite je li vaš AVR Studio projekat postavljen na 16 MHz (16000000Hz)
Podesite kontrast potenciometrom.
Pritisnite dugme za resetovanje nekoliko puta.
Uključite/isključite uređaj nekoliko puta.
Povežite LCD samo kako je prikazano na dijagramu.

Tokom inicijalizacije SIM300, pojavljuje se greška "Nema odgovora".

Provjerite integritet Rx, Tx i GND linija između SIM300 i Xboarda.
Uvjerite se da mikrokontroler radi na 16 MHz.
Instalirajte osigurače tačno kako je gore opisano.

Greške kompajlera

Mnogi ljudi koriste programe koji su već napisani i kompajlirani. Oni su neiskusni i neupućeni u osnove programiranja i kompilacije. Upoznavanje sa kompajlerima i načinom na koji oni rade na različitim platformama (PC / MAC / Linux) je odličan početak. Ugrađeni sistemi nisu prikladni za učenje osnova. Namijenjeni su onima koji posjeduju ove vještine i jednostavno ih koriste.
Uvjerite se da su sve datoteke LCD biblioteke dodane projektu.
Provjerite je li AVR-GCC instaliran. (Windows distribucija se zove WinAVR)
Provjerite je li AVR GCC naveden u projektu AVR Studio.

Opći savjeti za početnike

Koristite gotove razvojne ploče i programere.
Pokušajte učiti iz članaka i tutorijala.

Spisak radioelemenata

Oznaka Tip Denominacija Količina BilješkaRezultatMoja sveska
U1 MK AVR 8-bit

ATmega32

1 U notepad
U2 Linearni regulator

LM7805

1 U notepad
D1 Ispravljačka dioda

1N4007

1 U notepad
D2 Dioda koja emituje svetlost 1 U notepad
C1, C2 Kondenzator22 pF2 U notepad
C3, C4, C6 Kondenzator0,1 uF3

Dakle, nakon dužeg vremena osvjetljavanja zamršenosti rada sa GSM modulom SIM900D, najavljujemo prvi radni projekat koji kombinuje sigurnosni sistem sa mogućnošću daljinskog upravljanja. Ukratko, uređaj je sposoban slati informativni SMS u slučaju aktiviranja senzora penetracije, obavljati poziv radi omogućavanja audio nadzora prostorije, pratiti temperaturu i slati je SMS-om na zahtjev, kao i upravljati bilo kojim opterećenjem na naredba poslana putem SMS-a.

Ko je pratio ovu temu zna da imam GSM modul i kontrolni modul za njega - dvije različite ploče povezane sendvičom (pogledajte ploču sa SIM900D i kontrolnu ploču).Na kontrolnoj ploči, pored mikrokontrolera ATmega32a, nalazi se i energetski modul napravljen na pretvaraču LM2596, koji napaja kolo konstantnim naponom od 3,5 volti. U principu, bilo koji drugi izvor napajanja je prikladan, glavna stvar je da može nakratko povući do 2 ampera (to je upravo potrošnja GSM modula u trenutku registracije).

Radi praktičnosti, ekran sa telefona Nokia3310 je povezan na kontrolnu ploču, metode rada s kojima su već više puta opisane na ovoj stranici. Zahvaljujući displeju možete brzo odrediti status uređaja i vrijednost senzora.

Kao rezultat toga, rezultirajući dijagram povezivanja je ispao ovako (kliknuti):

Numeracija pinova mikrokontrolera na dijagramu je data za DIP paket, pa ako ponovite kolo koristeći mikrone u TQFP paketu, budite oprezni, numeracija pinova je drugačija za njega. Mikrokontroler ima takt od eksternog kristala na 16 MHz.

Linija Kontrola ide od kolektora Q2 tranzistora do PortD.4 pina mikrokontrolera se dodaje radi reosiguranja i potrebno je za praćenje da li je modul uključen. Pošto je prag isključenja za SIM900 3,2 volta, čak i uz blagi pad napona, modul će se automatski isključiti, dok će mikrokontroler nastaviti da radi i izvršava program (prag resetovanja za ATmega32a je 2,7 volti). U radnom stanju, ova linija je niska. Ako mikrokontroler detektuje visok nivo na ovoj liniji, izvršiće se funkcija ponovnog pokretanja GSM modula.

A ovako to trenutno izgleda na poslu.

Nakon konačnog preticanja programa, sve će to biti gurnuto u kućište, a odvojivi priključci radi pouzdanosti oni će biti zapečaćeni.

Na displeju se prikazuju osnovne informacije o stanju uređaja: ime operatera, kvalitet komunikacijskog signala, vrijednost temperature sa senzora 18b20, stanje izlaza opterećenja i senzora upada, kao i vrijeme i datum.

Video za aktivaciju modula

Vrijeme i datum su preuzeti sa sata ugrađenog u GSM modul. Za njihov rad potrebna je 3-voltna baterija povezana na terminal 15 (VRTC). Preporučuje se ugradnja diode D1 s niskim padom napona, na primjer Schottky. Podešavanje sata i datuma se vrši ručno, komande su opisane ranije

Datum je prikazan na displeju u istom formatu kao što je dobijeno iz modula, odnosno prvo godina, zatim mjesec i datum. Nisam još ništa promenio ovde.

Za mjerenje temperature odgovoran je senzor DS18B20 koji je povezan na pin PortD.3 mikrokontrolera.

Možete povezati bilo koje opterećenje na PortD.6 i kontrolirati ga putem SMS komandi. Sada imam LED - D4 na dijagramu. Ali ništa vas ne sprječava da ovdje okačite relyuhu ili triac i upravljate nečim ozbiljnijim.

Iz sigurnosnih razloga planirano je korištenje senzora pokreta HC-SR501 kupljenog na E-bayu. U slučaju okidanja, logička jedinica se pojavljuje na izlazu senzora. Nakon što ga uhvati, mikrokontroler će dati komandu za slanje SMS poruke na telefonski broj naveden u programu.

Izlaz senzora je povezan na pin PortD.7 mikrokontrolera, na dijagramu senzor je konvencionalno zamijenjen dugmetom.

Umjesto senzora pokreta možete staviti bilo koje drugo sredstvo za otkrivanje upada - senzore za otvaranje prozora i vrata, senzore za lomljenje stakla, fotoelektrične senzore itd., općenito, sve za što je mašta sposobna.

Kako bi se spriječilo višestruko slanje SMS-a upozorenja u slučaju aktiviranja senzora, u program je uvedeno ograničenje: nakon prvog poslanog SMS-a zabranjuje se naknadno slanje. Da biste ponovo omogućili slanje obavijesti kada se senzor aktivira, potrebno je modulu poslati SMS sa određenom komandom. Kada je slanje SMS-a zabranjeno na displeju u blizini statusa senzora, biće prikazan znak uzvika.

Lista naredbi

A evo i liste komandi u SMS-u koje modul obrađuje. Radi praktičnosti i jednostavnosti, komande su digitalne, možda će u sljedećim verzijama firmvera biti smislenijih imena komandi :)

0 - Isključite opterećenje (logika 0 je postavljena na pin PortD.6)

1 - Uključujem opterećenje (Logički 1 je postavljen na pin PortD.6)

2 - Nakon prihvatanja ove komande, modul će uzvratiti poziv na broj telefona koji je naveden u programu

3 - Zahtjev za stanje i slanje SMS-om nazad na navedeni broj. Ovdje postoji jedna važna nijansa - odgovori na USSD zahtjeve moraju biti poslani latiničnim pismom. U suprotnom, umjesto smislenog teksta, kao odgovor će biti poslana poruka u heksadecimalnom kodiranju. Kako prevesti USSD na latinicu, trebate provjeriti kod svog operatera. Na primjer, na SIM kartici koju koristim od Smartsa, trebate unijeti * 102 * 1 # (u megafonu * 105 * 0 #)

4 - Zahtjev za temperaturu. Vrijednost temperature će nam biti poslana SMS-om.

5 - Dozvolite slanje poruka u slučaju aktivacije senzora upada.

6 - Zabrana slanja SMS obavijesti sa senzora upada.

? - Na ovu komandu modul će nam poslati SMS, koji sadrži opšte informacije o uređaju, kao što su vrednost sa temperaturnog senzora, da li je opterećenje uključeno, stanje na ulazu sa senzora upada i da li je dozvoljeno da sa njega pošaljete SMS sa obaveštenjem.Na primjer, ovako bi mogla izgledati takva poruka: temperatura je +24, opterećenje je isključeno, izlaz senzora pokreta je 0, slanje SMS-a u slučaju aktiviranja je zabranjeno.

Sada kako konfigurirati modul da šalje sms na vaš broj. U arhivi s programom nalazimo glavni programski fajl, zove se "program" :) i u njemu nalazimo konstantu:

Konst Telefonski broj = "+ 7908390xxxx"

ovdje zamjenjujemo naš broj telefona, kompajliramo program i dobijamo heksadecimalni fajl firmvera.

Program je, kao i uvijek, napisan u Bascom-AVR-u, stoga je prilično lako razumjeti algoritam za rad sa GSM modulom. Sretno!

I na kraju, demonstracija kako modul obrađuje komande.

Posebno hvala Sergeju RD3AVJ, starom prijatelju sajta, na vašem učešću i pomoći u razvoju!

UPD: od 31.10.12

Malo sam izmijenio firmver, sada, da biste podesili broj na koji će se slati SMS obavijesti, ne morate ponovo kompajlirati program. Dovoljno je poslati SMS sa porukom modulu "prvi broj" (bez navodnika) i broj sa kojeg je ova komanda poslata se bilježi u nepromjenjivu memoriju mikrokontrolera.

Top srodni članci