Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Përvoja me modemin GSM SIM900. Menaxhimi i pajisjes në distancë me SMS

Kohët e fundit ka pasur shumë opsione të ndryshme Diagramet e pajisjes së alarmit GSM. Nëse një modul GSM përdoret në këtë skemë, atëherë në shumicën e rasteve është një modul i përdorur gjerësisht i prodhuar nga kompania kineze SimCom SIM300. Ky modul është treguar shumë i mirë, si për sa i përket besueshmërisë ashtu edhe kostos së ulët.
Është paraqitur një përshkrim i një pajisje sinjalizimi GSM bazuar në modulin SIM300, i zhvilluar nga autori. Ekzistojnë gjithashtu vizatime të bordit të qarkut të printuar dhe një version i plotë i firmuerit të mikrokontrolluesit. Gjithashtu nën këtë sistem Sistemet e alarmit, modulet e ndryshme të zgjerimit, telekomandat, njësitë e kontrollit të tastierës, furnizimet me energji janë zhvilluar...
Por prodhuesi njoftoi se nga fundi i vitit 2010 prodhimi i moduleve GSM të linjës SIM3xx do të ndërpritet. Rekomandohet ta përdorni në vend të tij modul i ri, prodhuar nga i njëjti prodhues - SIM900. Për më tepër, siç u tha, SIM900 do të jetë shumë më funksionale se "paraardhësi" i tij dhe, që për ne është një nga më kritere të rëndësishme, më lirë.

Diçka rreth SIM900...

Pra, çfarë është moduli SIM900? Le të marrim fletën e të dhënave dhe të përpiqemi ta lexojmë.
Moduli SIM900 është një pajisje GSM/GPRS me katër breza që funksionon në frekuenca 850/900/950/1900 MHz, e krijuar për transmetimin e zërit, të dhënave, mesazheve SMS, etj.
bazë specifikimet moduli:
Gama e frekuencës:
GSM850, EGSM900, DCS1800, PCS1900
Me i pajtueshëm me fazën GSM 2/2+.
Fuqia e emetuar:
klasa 4 (2W/900 MHz)
klasa 1 (1W/1800 MHz)

Kontrolli: Komandat AT (GSM 07.10)
Tensioni i furnizimit të modulit: 3,4 – 4,5 V
Rryma e konsumit:
në modalitetin e gjumit - 1,5 mA
në modalitetin e transferimit - deri në 500 mA
maksimale - 1.8 A
Temperatura e punës: -30 … +80 C
Dimensionet: 24x24x3 mm
Pesha: 3.4 g
Siç mund ta shihni, këtë modul Dimensionet ndryshojnë nga paraardhësi i tij, moduli SIM3xx, rreth një herë e gjysmë. Por për sa i përket parametrave dhe funksionalitetit është gjithashtu superiore për nga një renditje e madhësisë.


Fotografia 1 - Pamja e jashtme Moduli GSM SIM900



Figura 2 – Caktimet e kunjave të modulit SIM900

Pamja e modulit është paraqitur në Fig. 1, dhe caktimi i kunjave është në Fig. 2. Nga figurat mund të përcaktoni se përveç grupit të ndërfaqes standarde të natyrshme në modelet e mëparshme (portet UART për shkëmbimin e të dhënave, dalja e statusit të modulit STATUS, kunjat e ndërfaqes së kartës SIM, etj.), janë shtuar disa të reja (lidhja e tastierës kunjat KBR/KBC, dalja PWM PWM, kunja e rivendosjes së modulit NRESET).
Për shkak të faktit se ky modul në kohën e shkrimit të këtij artikulli ende nuk është "testuar" plotësisht në pafundësinë e Ukrainës, vazhdimisht po bëhen përmirësime software, përshkrimi i nënshtrohet ndryshimeve që nuk dëmtojnë performancën e përgjithshme.

Parametrat bazë të pajisjes

Kjo pajisjeështë një vazhdim i linjës së pajisjeve të alarmit GSM të zhvilluara nga autori. Prandaj, parametrat janë kryesisht identikë.
Monitorimi i statusit të katër sytheve të alarmit (AL) në të gjitha mënyrat e funksionimit, përveç modalitetit "Programimi", dhe shfaqja e statusit të sytheve duke përdorur Treguesit LED ndodhet në panelin e përparmë të pajisjes (drita treguese tregon "laki është në gjendje normale"; përndryshe, ka një ndërprerje ose qark të shkurtër në qarkun e alarmit).
Llaket e alarmit mund të përfshijnë:
> pajisjet e sinjalizimit me kontakt magnetik (çelsat e kallamit SMK, SOMK);
> detektorë të tipeve “Folje” dhe “Dritare”;
> detektorë zjarri (IP-104, IP-105);
> sensorë të lëvizjes, volumit, rrahjeve;
> sensorë të tjerë që kanë dalje të mbyllur në gjendje normale dhe kontakte të hapura në rast shkeljeje.
Pajisja mbështet llojet e mëposhtme të zonave të alarmit (unazat):
"normale" (sinjali "Alarm" gjenerohet menjëherë pas marrjes së një sinjali të shkeljes së integritetit të lakut të alarmit; laku nuk rikthehet pas aktivizimit);
"me vonesë" (përdoruesit i jepet kohë për të dalë dhe për të hyrë në mënyrë që të ketë kohë për të ndezur pajisjen dhe për të lënë objektin ose për të hapur objektin dhe për të fikur pajisjen);
"korridor" (kur zona aktivizohet dhe më pas kthehet në gjendjen normale ky lloj zona është e armatosur përsëri);
"24-orë, zjarr" (laki i alarmit mbrohet vazhdimisht, çarmatosja dhe çarmatosja kryhet duke përdorur një komandë të veçantë SMS);
"Rreth ores, butoni i alarmit» (laku i alarmit është vazhdimisht i armatosur, çarmatosja dhe armatosja bëhet duke përdorur një komandë të veçantë SMS, kur aktivizohet qarku, kryhet vetëm thirrja, dërgohet një mesazh SMS për sabotim, sirena nuk ndizet);
"i çaktivizuar" (sistemi nuk i përgjigjet asnjë ndryshimi në hyrjen AL).
Aktivizimi i modalitetit "Siguria" duke përdorur një buton "të fshehur" ose "sekret", një çelës "sekret" (në vend të të cilit mund të përdoret një tastierë me kontakte normalisht të hapura, si "Satel"), ose një telekomandë telekomandë, tasti TouchMemory (Dallas) ose tastierë shtesë, në varësi të firmuerit të kontrolluesit. Firmware i përshkruar këtu përdor vetëm çelësin "sekret", versionet e tjera do të diskutohen më vonë.
Mbështeten dy mënyra funksionimi të pajisjes:
Alarmi GSM (terminali GSM është i lidhur dhe të dhënat po shkëmbehen me të);
sistem autonom alarmi (terminali GSM nuk merr pjesë në funksionimin e sistemit, pajisja funksionon si një sistem autonom alarmi).
Çarmatosja dhe armatosja duke përdorur një telefonatë nga një telefon specifik (mund të çaktivizohet) me transmetimin e SMS-ve përkatës në lidhje me statusin e sistemit.
Transmetimi i një mesazhi SMS konfirmimi kur një objekt merret nën mbrojtje (mund të çaktivizohet).
Gjenerimi i një sinjali "Alarm" (duke ndezur sirenën, duke transmetuar të dhëna "alarm" në celular) nëse ka një shkelje të integritetit ("ndërprerje" ose "qark i shkurtër") të të paktën njërit prej sytheve të alarmit.
Dërgimi i mesazheve SMS dhe telefonimi automatik në tre numra telefoni celular ose fiks (nëse funksionet SMS mbështeten nga operatori juaj i telekomit).
Kalimi i pajisjes në modalitetin "Çaktivizohet" duke përdorur vetëm telekomandën, tastierën, duke marrë një mesazh SMS nga numri celular 1 dhe (ose) duke telefonuar nga ky numër (mund të çaktivizohet), si dhe një çelës "sekret", në varësi nga firmware-i i kontrolluesit.
Mundësia për të kontrolluar në distancë pajisjen duke dërguar mesazhe SMS me përmbajtje të caktuar (mund të çaktivizohet).
Programimi i funksioneve dhe parametrave kryesorë të pajisjes (numrat e telefonit, koha e vonesës, koha e funksionimit të sirenës, etj.) duke përdorur një kompjuter Programet Lite Programuesi në modalitetin "Programimi" i pajisjes. Në këtë rast, dalja e portit COM të kompjuterit (kunjat RxD dhe TxD) lidhet me lidhësin përkatës të pajisjes së alarmit duke përdorur një kabllo të veçantë.
Pajisja i dërgon një sinjal specifik përdoruesit për mungesën e fondeve në llogarinë e kartës celulare.
Pajisja i dërgon një sinjal specifik përdoruesit për mungesën e një sinjali komunikimi me stacionin celular.
Transmetimi i një sinjali SMS kur tensioni i furnizimit me rrjet (220V) humbet në modalitetin "Security" (mund të çaktivizohet).
Përdorimi i një modemi të integruar GSM ju lejon të bëni pa blloqe dhe lidhje të panevojshme, si dhe të rrisni përputhshmërinë dhe qëndrueshmërinë e lidhjes së kanalit GSM.
Reagimi i programuar i daljes së energjisë: ndizni daljen vetëm në modalitetin "Alarm". përdoruesi i instaluar koha (nga 60 në 240 sekonda).
Përdorimi i protokollit origjinal të transmetimit të të dhënave IR nga telekomanda për të kontrolluar pajisjen dhe telekomandën RF, si dhe kodimin origjinal të të dhënave të marra nga tastiera.
Është e mundur të kontrolloni tensionin dhe tensionin e furnizimit të pajisjes bateri, ndërsa mesazhet SMS përkatëse dërgohen kur voltazhi i rrjetit zhduket ose rishfaqet. Gjithashtu, kur voltazhi i furnizimit të burimit rezervë (bateria) bie nën një nivel të caktuar (8-9V), dërgohet një mesazh, pas së cilës pajisja kalon në modalitetin "gjumë", i cili mund të dalë vetëm kur furnizimi me energji elektrike ( rrjeti ose bateria) është restauruar.
Dërgimi i një mesazhi SMS në numri celular 1 kur merrni thirrje hyrëse që tregon numrin në hyrje (mund të çaktivizohet).
Pajisja ju lejon të ndërroni alarmet e jashtme të zërit ose dritës (këmbanë, sirenë, llambë) me një tension funksionimi prej 12 V dhe një konsum aktual deri në 1.25A.
Firmware-i i mikrokontrolluesit i përshkruar në këtë artikull është krijuar për të funksionuar pajisjen në lidhje me një çelës "sekret", si dhe për të ndezur dhe fikur pajisjen duke përdorur numrin dhe dërgimin e mesazheve SMS. Versione të tjera të pajisjes do të përshkruhen në materialet e mëposhtme, nëse, natyrisht, ka interes nga lexuesit.

Specifikimet

Numri i sytheve të alarmit - 4.
Rezistenca e elementit të largët (terminal), kOhm – 2.7.
Rezistenca maksimale e qarkut të sigurisë pa marrë parasysh rezistencën e elementit të largët, Ohm - 750.
Konsumi aktual nga burimi rrymë e vazhdueshme(pa sensorë aktivë të alarmit të lidhur), në një tension prej 12,6 V, në mënyrat e mëposhtme të funksionimit, jo më shumë:
- “në detyrë”, pa përdorur një modul GSM – 0,16 A;
- "në detyrë", kur përdorni një modul GSM - 0,23 A;
- "siguria", kur përdorni një modul GSM - 0,28 A;
- “Alarmi”, kur përdorni modulin GSM dhe sirena është e fikur – 0,34 A;
- konsumi maksimal (pulsi) - 1,8 A.
Mbështetur Standardet GSM: 850/900/1800/1900 MHz.
Kufijtë e vendosjes së kohës:
- Koha e vonesës së hyrjes – 0…150 sekonda;
- Koha e vonesës së daljes – 0…250 sekonda;
- Koha e funksionimit të sirenës – 30…250 sekonda.

Përshkrimi i skemës

Diagrami i qarkut elektrik të njësisë kryesore është paraqitur në Fig. 3. Sqaroj - "njësia kryesore", sepse një grup i madh pajisjesh periferike është zhvilluar shtesë për këto sisteme alarmi: këtu janë panele të ndryshme kontrolli, njësi zgjerimi, etj.
Krahasuar me versioni i mëparshëm qarku ka pësuar ndryshime cilësore: përveç, siç u përmend më lart, përdorimi i një moduli tjetër GSM, stafeta gjithashtu është eliminuar (në vend të kësaj, përdoret një IC - një grup çelsash të fuqishëm tranzistor), dhe njësia e konvertuesit RS232-UART ka gjithashtu është eliminuar (siç ka treguar praktika, programimi nuk bëhet shumë shpesh, dhe për këtë ata përdorin kryesisht një laptop, i cili shpesh thjesht nuk ka një port RS232).



Figura 3 – Diagrami i qarkut elektrik

Elementi kryesor i kontrollit të pajisjes është mikrokontrolluesi ATmega168 i prodhuar nga Atmel. Mikrokontrolluesi monitoron gjendjet e sytheve të alarmit të lidhur me hyrjet ADC dhe, në varësi të mënyrës së funksionimit, kryen veprime të mëtejshme, si thirrja dhe dërgimi i mesazheve SMS, ndezja e sirenës, etj.
Hyrjet ADC PC0-PC3 janë krijuar për të monitoruar statusin e sytheve të alarmit, MK mat tensionin në këto kunja dhe, në varësi të tensionit, gjeneron një sinjal "ndërprerje", "normal" ose "i shkurtër". PC5, PC6 furnizohen me tensione nga dalja e furnizimit me energji elektrike për të kontrolluar vlerat e tyre. Nga rruga, nëse këto kunja nuk janë të lidhura, pajisja nuk do të fillojë!
Qarku përdor LED kontrolli: LED1 - kontrolli i funksionimit të modulit GSM (nëse ka një lidhje dhe moduli po funksionon, ai pulson me një frekuencë prej 1 ndezjeje për 2-3 sekonda, në raste të tjera ka probleme me komunikimin ose me vetë modulin), LED2 - kontrolli i funksionimit të sistemit (në mënyrat e funksionimit pulson me një frekuencë prej 3-5 herë në sekondë, në modalitetin e programimit ndizet me një dritë konstante). Përveç kësaj, LED për monitorimin e statusit të sytheve të alarmit LED4...LED7 janë të lidhura me kunjat IND1...IND4. KEY_S është në të vërtetë butoni ose çelësi "sekret". SPEAKER - lidhës për lidhjen e një altoparlanti, mund të jetë i çdo rezistence, fuqi të paktën 0,25 W.

Rreth furnizimit me energji të pajisjes. Kjo pajisje kërkon një tension furnizimi në intervalin 10 - 18 V, me një rrymë deri në 2 A. Këshillohet që furnizimi me energji të ndërtohet në mënyrë të tillë që tensioni i furnizimit të mos zhduket edhe kur rrjeti humbet. d.m.th., siguroni një bateri të rikarikueshme. Rekomandohet përdorimi i një furnizimi me energji elektrike të përshtatshëm për versionet e mëparshme pajisja që përshkruhet. Ai gjithashtu përshkruan se si të lidhni furnizimin me energji elektrike me pajisjen e alarmit.

Programimi i funksioneve bazë të pajisjes

Programimi i funksioneve kryesore të pajisjes kryhet duke përdorur një program të veçantë - Lite Programmer. Versioni i fundit Programet mund të shkarkohen gjithmonë nga faqja e internetit e autorit. Në parim, në vend të një kompjuteri për të programuar pajisjen, është e mundur të përdorni një telefon celular të lidhur me pajisjen përmes një porti të dhënash ose një porti infra të kuqe, por për këtë ju duhet të shkruani të paktën një midlet java, dhe për shkak të mungesës të kohës së lirë, autori thjesht nuk ka kohë për ta bërë këtë, dhe programimi duke përdorur një laptop është në rregull për momentin. Nëse dikush është i interesuar për zgjidhjen e kësaj çështjeje, t'i shkruajë autorit me email, i gjithë dokumentacioni do të sigurohet.
Pajisja lidhet me një port të lirë COM të kompjuterit nëpërmjet një konverteri të veçantë RS232-UART, ose me një port USB nëpërmjet një përshtatësi USB-UART. Thjesht mos u përpiqni të lidheni drejtpërdrejt, pa një përshtatës (tani ka zejtarë të tillë)! Kjo kërcënon vdekjen e mikrokontrolluesit ose portit të kompjuterit!
Si të kaloni në modalitetin e programimit:
1. Shtypni butonin S1 për të paktën 2 sekonda dhe prisni derisa treguesi i statusit të funksionimit të modulit 2HL1 të pushojë së pulsuari (zakonisht jo më shumë se 10 sekonda)
2. Çaktivizoni pajisjen.
3. Vendosni bluzën J1, duke e kaluar pajisjen në modalitetin "Programimi".
4. Lidhni kabllon për të lidhur pajisjen me kompjuterin.
5. Kryeni lidhjen me pajisjen dhe programimin (përshkruar më poshtë).
6. Çaktivizoni pajisjen.
7. Shkëputni kabllon për komunikim me kompjuterin dhe hiqni kërcyesin J1.
8. Programimi ka përfunduar, mund të ndizni energjinë dhe të përdorni pajisjen.
Forma kryesore e programit është standarde, pa frills apo këmbanat dhe bilbilave. Në anën e djathtë të formularit, është vendosur numri i portës COM, si dhe shpejtësia e transmetimit dhe marrjes së të dhënave (për rastin tonë - 115200 baud), për ta vendosur pajisjen në modalitetin e programimit, zgjidhni "krijoni lidhjen" në "Veprim. korniza (në këndin e poshtëm djathtas), në këtë rast, LED 1LED1 do të ndizet me dritë konstante. Mund të programosh!



Figura 4 – Forma kryesore e programit Lite Programmer

Puna me programin nuk paraqet ndonjë vështirësi të veçantë për një përdorues që ka ndezur një kompjuter të paktën një herë në jetën e tij. Për më tepër, gjithçka përshkruhet në detaje në udhëzimet e funksionimit dhe programimit të përmendura më shumë se një herë. Shkurtimisht: vendosni parametrat që ju nevojiten, sigurohuni që "Ndrysho" të shfaqet me të kuqe në kolonën e tretë, zgjidhni "Programimi" në kornizën "Veprim", klikoni butonin "Run" dhe kjo është ajo. Nëse parametri është i programuar, atëherë mbishkrimi "Programuar" do të shfaqet në kolonën e pestë; në rast gabimesh, programi do të shfaqë gjithashtu një mesazh përkatës.

Disa nuanca të programimit.

Duhet Vëmendje e veçantë kushtojini vëmendje procesit të programimit, pasi funksionimi i pajisjes në tërësi varet nga kjo. Siç ka treguar praktika, gabimi kryesor bëhet kur vendosni numrin e qendrës SMS të një operatori celular. Nëse nuk e dini këtë numër ose nuk jeni të sigurt, atëherë është më mirë të mos e programoni fare. Në këtë rast, softueri i modulit GSM do të përcaktojë në mënyrë të pavarur numrin.
Gjithashtu, kini kujdes në lidhje me vendosjen e numrit të kërkesës për bilanc USSD nëse planifikoni ta përdorni. Fillimisht, pajisja u zhvillua për përdoruesit ukrainas, kështu që shuma minimale e bilancit është një deri në nëntë hryvnia-rubla. Ekzistojnë dy mundësi instalimi në dispozicion. E para është të zgjidhni operatorin e dëshiruar, dhe vetë programi do të vendosë numrin e kërkuar dhe shumën e bilancit minimal të barabartë me dy hryvnia. Opsioni i dytë është të zgjidhni TUNE USSD nga menyja rënëse për zgjedhjen e një operatori të kërkesës USSD dhe më pas të plotësoni parametrat e kërkuar në formën që shfaqet: shuma minimale (nga një në nëntë rubla), ndarës rubla-kopeck (disa operatorët përdorin karaktere të ndryshme ndarëse, për shembull, pikë, presje, dy pika).
Programi aktualisht mbështet vetëm alfabetin latin kur futni tekste SMS, pasi këtë funksion mbështetet edhe nga programi i mikrokontrolluesit. Aktualisht po punohet për përfshirjen e alfabetit cirilik.

Udhëzues për fillimin e shpejtë.

Para se të instaloni një alarm në pajisje, duhet të "përgatitni" kartën SIM në një farë mënyre, domethënë: çaktivizoni fjalëkalimin. Rekomandohet të përdorni një kartë SIM nga i njëjti operator celular si telefonat me telefon. Të paktën, gjasat e dërgimit të mesazheve SMS do të rriten shumë herë.
Pasi të futet rryma dhe pajisja të ndizet, ajo do të lëshojë një bip të gjatë. altoparlant i brendshëm, atëherë vendoset komunikimi me modulin, pas përfundimit të të cilit tingëllojnë tre bip të shkurtër. Pajisja është gati për përdorim.
Me tutje do flasim në lidhje me përdorimin e pajisjes si një pajisje alarmi sigurie për ndërtesat e brendshme, etj. Për ta përdorur pajisjen si alarm makine ose funksione të tjera, së pari ju nevojitet një firmware tjetër mikrokontrollues dhe kjo është përtej qëllimit të këtij artikulli. Kjo është tema e publikimeve të mëvonshme.
Për të armatosur pajisjen, duhet të mbyllni çelësin KEY_S. Nga rruga, në vend të këtij çelësi mund të përdorni çdo tastierë me kontakte normalisht të hapura, për shembull Satel SW02. Pas kësaj, pajisja do të fillojë të numërojë kohën e daljes (koha caktohet gjatë programimit), gjatë së cilës është e nevojshme të largoheni nga objekti i mbrojtur. Nëse, pasi të ketë skaduar koha e daljes, të gjitha sythe janë në gjendje të montuar, pajisja kalon në modalitetin e sigurisë. Nëse, pasi të ketë skaduar koha e hyrjes, të paktën një nga unazat është e hapur ose e shkurtuar, pajisja lëshon një tingull të ndërprerë për 100-140 sekonda, një mesazh për objektin që nuk është i armatosur dërgohet në numrin 1 (nëse është programuar). pas së cilës kalon në modalitetin e alarmit me dërgimin e të gjitha mesazheve dhe thirrjen. Mund ta armatosni pajisjen gjithashtu duke telefonuar nga numri i programuar fillimisht ose duke dërguar një mesazh SMS me tekstin "START" nga i njëjti numër. Mos harroni se ky version i firmuerit nuk rekomandohet ndarjen kur armatosni çelësin "sekret" dhe funksionet GSM për të eliminuar ndikimin e tyre të ndërsjellë. Kur përdoren së bashku, përparësia do të jetë në anën e çelësit, funksionet GSM nuk do të funksionojnë!
Në modalitetin e sigurisë, pajisja monitoron vazhdimisht statusin e të gjitha sytheve të alarmit, si dhe statusin e modulit GSM. Në këtë rast, nëse aktivizohet cikli, dërgohen mesazhe SMS dhe bëhen thirrje në përputhje me kartën e programimit. Telefonimi kryhet derisa pajtimtari të marrë telefonin, por jo më shumë se tetë herë. Gjithashtu në modalitetin e sigurisë, kontrollohet furnizimi me energji në rrjetin 220V dhe bateria rezervë. Në të njëjtën kohë, me çdo humbje prej 220 V dhe rishfaqjen e tij të mëvonshme, dërgohet një mesazh SMS përkatës (ky funksion mund të çaktivizohet gjatë programimit).
Për të çarmatosur pajisjen, duhet të hapni objektin dhe të hapni kontaktet e çelësit gjatë kohës së daljes. Nëse kjo nuk është bërë, pajisja kalon në modalitetin e alarmit. Ose çarmatosni objektin përpara se ta hapni duke telefonuar ose dërguar mesazhin SMS "STOP" nga numri i parë.
Në modalitetin e gatishmërisë, pajisja monitoron gjithashtu statusin e sytheve të alarmit, si dhe modulin GSM. Nëse komunikimi me modulin humbet ose rrjeti humbet, pesë sinjalizues afatshkurtër tingëllojnë çdo 2-4 minuta. Gjithashtu, çdo 30-40 minuta anketohet statusi i llogarisë së numrit celular. Në këtë rast, dëgjohen dhjetë sinjale zanore afatshkurtra ("trill") dhe një mesazh SMS ("PA PARA!!") dërgohet në numrin 1.
Tabela tregon mesazhet e shërbimit që pajisja mund të dërgojë kur ndodhin ngjarje të caktuara (nëse funksioni i dërgimit është i çaktivizuar gjatë programimit, këto mesazhe nuk dërgohen!):

Teksti SMS

Përshkrim

shënim

Ndaloni roje!

Konfirmimi i çarmatimit të sistemit

Modaliteti i gatishmërisë

FIKE!!!

Mosfunksionimi ose mungesa e tensionit të rrjetit 220 V

Vetëm në modalitetin e sigurisë

Pushtet mbi

Paraqitja e tensionit të rrjetit 220 V (pas mungesës)

TË GJITHA FUNKSIONET FIKUR!!!

Të gjitha tensionet e furnizimit janë nën normale. Pas ca kohësh, pajisja do të kalojë në modalitetin e fjetjes.

Në të gjitha mënyrat e funksionimit

Filloni pas gjumit

Rifillimi i funksionimit të pajisjes pas një ndërprerjeje të energjisë

PA PARA!!!

Shuma minimale e fondeve në llogari. Duhet të rimbushni llogarinë tuaj!

Kjo pajisje ka potencial të madh për përmirësim dhe modernizim; mund të përdoret jo vetëm si alarm, por edhe si çdo pajisje për marrjen dhe transmetimin e të dhënave duke konfiguruar programin e mikrokontrolluesit për çdo rast specifik.

konkluzioni

Pajisja e përshkruar kaloi testimin fillestar në laboratorin e autorit dhe tregoi rezultate të mira. Moduli SIM900 u shfaq punë të qëndrueshme Kur kontrolloni komandat standarde AT, nuk ka ankesa të veçanta. Së shpejti, do të zhvillohen pllakat e qarkut të printuar për këtë pajisje dhe do të përgatitet dokumentacioni përkatës. Një version demo i firmuerit të mikrokontrolluesit i është bashkangjitur këtij artikulli. Një version plotësisht funksional i firmuerit të mikrokontrolluesit të pajisjes është i disponueshëm për këdo pa pagesë. Për ta bërë këtë, duhet të dërgoni një kërkesë përkatëse email autor ose nëpërmjet ICQ. Gjithashtu merren parasysh çdo propozim për organizimin e prodhimit të pajisjes së alarmit të përshkruar dhe pajisjeve periferike.
Në të ardhmen, është planifikuar të sigurohet përputhshmëria e pajisjes me të gjitha pajisjet periferike të dizajnuara për versionin e mëparshëm të pajisjes së alarmit GSM me autor D. Dmitrenko. Këtu janë shtesat në artikull për aplikacione të ndryshme specifike.

I gjithë firmueri është aktualisht plotësisht funksional, përveç firmuerit që mbështet çelësat iButton, ka kufizime në numrin e tasteve maksimale të përdorura - nga një në tre.

1. Përdorimi i një tasti TouchMemory për të kontrolluar pajisjen

Aktualisht, firmware-i i mikrokontrolluesit është zhvilluar për të punuar me çelësat TouchMemory. Për ta bërë këtë, është e nevojshme të plotësoni pajisjen me një pajisje të thjeshtë të përbërë nga dy rezistorë, një kapacitet dhe një diodë zener. Dhe, sigurisht, përdorni firmware për këtë lloj pajisjeje.
Një shembull i përdorimit të një pajisjeje të tillë përshkruhet qartë në artikullin Sinjalizimi GSM duke përdorur çelësat iButton. Atje, në diagramin e qarkut elektrik, tregohet lidhja e një pajisjeje shtesë, jepen vizatime bordi i qarkut të printuar.
Firmware mund të shkarkohet [duke kërkuar pajisjen DDN Research HG45Q]


Përshëndetje!
Këtu lindi detyra për të menaxhuar Vilë, monitoroni temperaturën, dyert, dritaret. Dhe pastaj lindi pyetja në lidhje me mjetin e transmetimit të të dhënave. Epo, telat dhe një kanal radioje nuk nevojiten më për shkak të kostos së lartë, linjat e komunikimit me fibra optike janë thjesht një ëndërr, por GSM është ajo që ju nevojitet. Në fillim më ra syri tek telefonat e vjetër "Motorola", "Nokia", "SonyEricsson". Shikova, u ktheva dhe ndryshova mendje. Së pari, nuk doja të bashkoja kontaktet e butonit dhe nuk kishte asnjë reagim. Së dyti, të kuptuarit e softuerit të telefonit nuk është aspak një punë e madhe. Në përgjithësi, në mendime krijuese dhe lundrues në hapësira të hapura rrjet i gjere boteror Pas kapjes së disa viruseve, u gjet një kompromis. Dhe punoni me softuer dhe pa asnjë buton. Moduli i ofron të gjitha këto SIM900D. Pse më pëlqeu ai?
- E para është lehtësia e instalimit. Këtë do ta shihni më vonë. - E dyta është komunikimi nëpërmjet UART. (Kjo do të thotë MK + SIM900D = komunikim normal) - E treta është furnizimi me energji i modulit nga 3 në 4.8 volt. Hosh AVR, hosh ARM. Shije. Epo, mjaft me tekstet, është koha për t'u marrë me biznesin.
Ky modul duket si ky.

Në lidhje me instalimin. Siç mund ta shihni, moduli është krijuar për montimi në sipërfaqe. Dimensionet e jastëkëve të kontaktit janë mjaft të mëdha edhe për LUT. Më poshtë është një foto e pajisjes sime.

Siç mund ta shihni, asgjë e komplikuar. Tani le të flasim për diagramin e lidhjes për këtë mrekulli. Le të shohim manualin. Dhe ne shohim pinout.

Po, ka shumë gjëra, por ne nuk do t'i përdorim të gjitha. Gjëja e parë që duhet të bëjmë është të lidhim të gjitha kunjat "GND" së bashku. Nëse shikoni djathtas këndi i sipërm, atëherë mund të shihen tre gjetje të veçanta. Dy "GND" dhe "ANT". Këto përfundime janë vendosur në këtë mënyrë për një arsye. Le të shohim dokumentacionin për një foto të lidhjes së antenës.

Kontaktet 59 dhe 61 duhet të jenë sa më afër terminalit të antenës. Qarqe shtesë të theksuara në vija me pika nevojiten për të lidhur antenat me kabllo. Prandaj, lidha lidhësin SMA sa më afër kunjave 59, 60, 61 dhe nuk u mërzita me qarkun përkatës, ndërsa me antenë në një kabllo 3 metra dhe në një vend me pritje shumë të dobët, shtrydha 13 pikë. nga 31 nga moduli.Lidhësi është i dukshëm në foton e mësipërme. Më saktësisht, këmbët janë prej saj)) Vetë lidhësi është në anën tjetër. Në këtë rast, kontaktet 59 dhe 61 duket se përqafojnë antenën. Epo, diçka si kjo. Tjetra, le të flasim për kartën SIM. Për ta instaluar, përdora këtë lidhës (SIM ICA-501-006-01-F7)

Gjëja më interesante është se gjeta 3 opsione për pinout të kartave SIM. Cilin duhet të përdor? Unë nuk do të prezantoj ndonjë intrigë, por për thjeshtësi, do të jap pikën e këtij lidhësi. Pamje nga lart.

Por kjo nuk është e gjitha. Nëse shikoni në manual diagramin e lidhjes për kartën SIM, mund të shihni atje një mikroqark të caktuar të quajtur SMF05C. Ky mikroqark përmban deri në 5 dioda mbrojtëse. Nevojitet për të mbrojtur kontaktet e kartës SIM. Sigurisht, nuk keni pse ta instaloni, por atëherë bëni kujdes dhe mos i prekni kontaktet me gishta!!! Si njeri mëkatar, nuk mund të garantoj për veten time, ndaj e lidha mikruhun. Dhe këtu është vetë diagrami.

Natyrisht jepet për 8 kontakt kartën SIM, por për 6 do të jetë njësoj. Ka vërtet dy probleme me këtë mikroqark. E para është se ku dreqin mund ta gjesh atë. Dhe e dyta eshte madhesia e tij... Kur mora porosine dhe e nxora, e vendosa ne tavoline... Shkurt ne foton e dyte nga lart eshte salduar mes kartes SIM dhe baterise. Për krahasim, rezistorët janë 0805. Epo, në të djathtë është një transistor në një paketë SOT-23. Pra, duket sikur e kemi renditur kartën SIM, le të vazhdojmë. Dhe pastaj teknologjia e ndriçimit. Në përgjithësi, kjo nuk është për të gjithë. Meqenëse të gjitha këto sinjale mund të futen direkt në MK dhe le ta zgjidhë vetë atje. I nxora të gjitha nga sensi i tyre i bukurisë. Kështu që vendosni vetë.
- I pari është sinjali nëse moduli është i ndezur apo jo (STATUS) log 1 - I dyti është sinjali për praninë e regjistrimit të rrjetit (NETLIGHT) log 1/0 (pulsues) Nëse pulson me të njëjtën frekuencë, do të thotë se nuk jeni regjistruar në rrjet. Nëse hendeku është i gjatë, do të thotë se ka një lidhje me rrjetin. - E treta është një regjistër i sinjalit të thirrjeve/sms (RING) 0 Ndizet nëse disponohet telefonatë në hyrje dhe do të pulsojë kur merrni një mesazh SMS. Dy sinjalet e para duhet të lidhen nëpërmjet Transistor NPN në modalitetin kyç.

Dhe sinjali i tretë (RING) duhet të lidhet përmes një transistori PNP. Një sinjal tjetër i rëndësishëm është butoni për të ndezur dhe fikur modulin. (Ku do të ishim pa të). Kjo është ajo që na ofron manuali.

Kjo do të thotë, ne aplikuam log 1 në bazën e tranzitorit për 1 sekondë dhe moduli u ndez.
Tani le të flasim për të ushqyerit. Po, nuk do të më shqetësonte një pjatë e mirë mundjeje tani, apo jo? Mirë, le të vazhdojmë. Moduli mundësohet nga një tension prej 3 deri në 4.8 volt. Gjithçka duket e thjeshtë, por nuk është ashtu. Kur bëni një telefonatë, dërgoni një SMS ose kërkoni për një rrjet, moduli mund të kërkojë deri në 2A. Uau. Kështu që fansat e LM7805 dhe Krenok mund të zhgënjehen. Për fat të mirë, manuali përmban dy qarqe të bazuara në mikroqarqet MIC29302 (nuk e gjeta kurrë në shitje) dhe LM2596 (mund ta blini këtë). Por unë jam dembel dhe mbledh ushqim me këtë sasi e madhe Unë thjesht nuk e doja rripin. Kërkova në internet dhe e gjeta. Ka një stabilizues i mirë për procesorë të tillë si "Stump", "AMD" në 3.3V dhe deri në 7.5A. Epo, unë mendoj se kjo është ajo që ju nevojitet dhe ju mund të fuqizoni ARM dhe modulin. Këtu është një diagram i kësaj mrekullie.

Dhe ja si duket e montuar.

E instalova radiatorin nga frika; në parim, mikroqarku nuk nxehet edhe gjatë një telefonate. Dhe gjëja e fundit që duhet t'i kushtoni vëmendje është bateria. Është e nevojshme për të mbajtur gjallë orën e kohës reale. Gjëja më e rëndësishme është që këtë përfundim nuk mund ta lini në ajër. Personalisht, kam rënë dakord për lidhjen e baterisë, gjë që ju uroj. Ju, sigurisht, mund të ngjitni dy AA)) por është disi shumë i madh, por në formën e një tableti 2032 në 3v është ajo që ju nevojitet. Për fat të mirë, ato nuk janë të shtrenjta dhe ndarjet mund të ngjiten direkt në tabelë. Për mendimin tim kjo është zgjidhja më e thjeshtë. Ti vendos. Epo, kjo është e gjitha. Ja si duket gjithë ky turp bashkë dhe në gjendje pune.

Në artikullin tjetër do t'ju tregoj se si e prisha këtë modul, por programatikisht përmes terminalit duke përdorur komandat AT.
Unë parashtroj diagramet në PCAD-2006
Arkivi me skedarët e modulit GSM.
Arkivi me skedarët e bllokut të stabilizimit.
Vazhdimi i serisë së artikujve rreth modulit GSM.
Komandat AT.
Komunikimi i modulit me ATmega8515.
Pllakë zhvillimi e bazuar në SIM900D


Foli 14.03.13

Do të doja të dija më shumë rreth komandave AT, UART dhe punës direkt me këtë në CodeVision

Alexey 03/15/13

Unë i kuptoj komandat AT. Nuk dua të postoj gjysmën e punës sepse kam disa pyetje. Por me UART dhe CVAVR gjithçka është e thjeshtë. Sapo të kuptoj komandat AT, do të postoj menjëherë se cilat komanda dhe si t'i dorëzoj ato nga CVAVR.

Anatok 04.11.13

Është e gjitha e bukur. Por nëse alarmi do të punonte të paktën në minus 30 gradë dhe do të ngarkohej me panele diellore të fshehura, veçanërisht në dimër, atëherë do të kishte shumë njerëz që dëshironin të kishin një pajisje të tillë.

Alexey 04.11.13

Moduli GSM konsumon deri në 2A kur regjistrohet në rrjet ose kur kryen një telefonatë ose kur komunikon nëpërmjet GPRS. Burime të tilla kërkojnë një bateri të mirë, dhe në -30 bateria nuk do të zgjasë shumë. Edhe në stacionet e motit në sensorë rrugësh, rekomandohet përdorimi i baterive të thjeshta.

Ariu 11.11.13

Nëse është akoma relevant dhe interesant...shikoni EAT për SIM900. Brenda ARM ka një SDK në të cilën mund të ngarkoni aplikacione në SIM900 nga të cilat mund të bëni shumë gjëra... për shembull, dërgoni të njëjtat komanda AT... + tastierë + ekran SPI... + 2 ADC :) Kalofshi një mbrëmje të këndshme :)

Ariu 11.11.13

Por është ende shumë bukur të bësh energji për të në L5973D. Po, është shkruar rreth 2A në fletën e të dhënave... por në praktikë këto janë impulse shumë afatshkurtra. Ajo funksionon shkëlqyeshëm për mua, për shembull me Arduino Mega, i cili vetë mundësohet nga Porta USB(e cila ka një rrymë prej 0,5 A)

Alexey 11.11.13

Ky është fërkimi. Ne fillim e kam ndezur edhe nga 7805, gjithcka ka funksionuar dhe me pas bam... Dhe kur lidhet me rrjetin fiket cdo gje dhe pastaj riniset. Me sa duket qeni roje rifillon pas një sulmi me ushqim. Dhe me L7953D do të jetë e bukur, por ku mund ta marr dhe sa do të kushtojë :) Kështu që kalova në IRU1075

Alexey 11.11.13

Kërkoj falje për gabimet, është GOODROYD-i i mallkuar që skalit kërpudhat për mua. Ai mendon se është më i zgjuar. Unë nuk do të modifikoj, le të ketë turp Google për punën e tyre.

Xha Misha 24.12.13

Kur regjistrohem në rrjetin Atmega, ai rindizet. Edhe pse kushton puls dcdc. Kondensatorë 200 mikrofarad. Dhe ndonjëherë funksionon në mënyrë të qëndrueshme. Unë tashmë jam i rraskapitur.

Alexey 25.12.13

Skema në studio. Është mjaft e vështirë të kuptosh problemin me fjalë.

Xha Misha 25.12.13
Xha Misha 25.12.13

Http:

Alexey 25.12.13
Sergej 19.07.14

Përshëndetje Alexey! Keni pllaka te gatshme me sim900 mund ti blej?

Alexey 19.07.14

Gati në çfarë kuptimi? Vetë moduli tashmë është montuar dhe gjithçka që mbetet është të bëhet një tabelë me daljet dhe hyrjet e nevojshme për një pajisje specifike. Ai në këtë artikull është vetëm një tabelë demo për korrigjimin e programeve. Një pajisje specifike kërkon dimensionet, vendndodhjen e lidhësve, daljet e kufjeve dhe mikrofonit. Ku do të jetë lidhësi i antenës? Jepni informacion më të detajuar për atë që ju nevojitet.

Andrey 28.09.14

Siç e kuptoj, ky është një prototip i shallit që mezi pres ta shoh. Vetëm në versionin komercial ishte i martuar me një furnizim me energji elektrike dhe i përmirësuar me dalje audio. Se ka një zhurmë të madhe.

Alexey 28.09.14

Në fakt është. Sapo vrava disa zogj me një gur. Zgjidhet problemi i vjetër me furnizimin me energji elektrike dhe përputhjen e nivelit në UART. Dhe për hyrje dhe dalje audio të shtuar elegant. Në fakt një celular i gatshëm.

Andrey 28.09.14

Do të doja të jap një kontribut për të ardhmen. në fakt këtë tarifë nyja e përfunduar. Dhe praktikisht mund të përdoret në produktin e përfunduar. megjithatë, ekziston një POR. Me një tendë meson, është më mirë ta vendosni sipër (lidhës i antenës, qasja në kartën SIM), kështu që këshillohet të lini vrima paralele me të gjitha kunjat për "periferikët" për të njëjtat kunja me mundësi duke i bashkuar ato në drejtim "poshtë". Ato. Desha këtë pajisje vendoseni në tabelën e mikrokontrolluesit, vendoseni nën tuajin, ngjitni lidhësit e çiftëzimit në të dhe vendoseni në ankorim. Gjithashtu me

Andrey 28.09.14

Unë hëngra gjysmën e mesazhit, por shpresoj se ideja është e qartë-)

Alexey 28.09.14
Sergej 02/01/15

Më tregoni pse moduli nxehet dhe nuk lidhet me rrjetin?

Alexey 02/01/15

Ka disa arsye për këtë. Së pari, të ushqyerit është tejkaluar. Së dyti, plusi i shkoi atij të përgjithshëm? Ju duhet të shikoni me kujdes këmbët e fuqisë. Së treti, nëse barku i modulit prek linjat e furnizimit. Ka disa kontakte teknologjike në bark që duhet të izolohen nga çdo përcjellës. Së katërti, terminali i antenës nuk është i shkurtuar përfundim i përgjithshëm. Për të qenë më të saktë, duhet të shikoni tabelën. Më dërgo tarifën me email dhe do të shoh nëse ka diçka që nuk shkon atje.

Sergej 02/01/15

Une kam pllaka fabrike, MasterKit BM8039 dhe te dyja kane te njejtin problem... kur fut nje karte SIM, moduli fillon te nxehet dhe nuk ka rrjet.

Alexey 02/01/15

Është mjaft e vështirë të thuhet. Qarku është në fabrikë, ju duhet të ngjiteni në tabelë. Nga dokumentacioni del qartë se bordi nuk ka diodat mbrojtëse të rekomanduara për kartën SIM. A kanë vetë karta dhe lidhësi të njëjtat kunja? Moduli 300 eshte i vjeter dhe per mendimin tim funksionon vetem me karta SIM 5V, por tani jane te gjitha 3V. Por mund të gaboj. Duhet të shikoni vetë tabelën, është kaq e vështirë të thuash diçka. Nëse simptoma është e njëjtë në të dyja, atëherë do të bija në drejtim të lidhësit dhe tensionit të kartave SIM. Edhe një herë, kartat moderne SIM janë 3 volt.

Sergej 02/01/15

Kushton sim900D...nuk ka dioda kur fus karten del rryme ne modul dhe fillon te ngrohet por psh ne karten SIM. nuk funksionon nga 9 metra...

Sergej 02/01/15

Fillimisht ata funksionuan mirë ... më pas diçka shkoi keq ... nuk mund ta kuptoj se çfarë..

Sergej 02/01/15

A ka ndonjë mënyrë për të kontrolluar modulin pa e shkëputur atë?

Alexey 02/01/15

Çfarë shkurtoi saktësisht? Nëse nuk ka energji në kartën SIM, atëherë kam frikë se linja për kartën SIM është e vdekur. Sa këmbë ka Simka? 6 apo 8? Për të kontrolluar, mund të komunikoni me modulin nëpërmjet autobusit UART 3, 4 këmbësh pa futur një kartë SIM. Nëse ai refuzon të pranojë komandat AT, atëherë mendoj se mund ta varrosim.

ANONIM 02/01/15

Nuk e di saktësisht se çfarë e shkurtoi atë .. 8 këmbë .. por si të komunikoj?

Alexey 02/01/15

A ka edhe 8 në lidhës? Merrni çipin FT232RL dhe montoni përshtatësin USB<->TTL, lidhni në UART të modulit, hapni një terminal, për shembull Putty, shkruani AT dhe shtypni enter. Nëse kthehet në rregull, atëherë gjithçka nuk ka humbur. Nëse ka heshtje... Në koshin e plehrave. Dhe po, çfarë lloj LED janë në tabelë? Si përcaktohet regjistrimi në rrjet?

Sergej 02.02.15 03:12

Ka edhe 8 në lidhës...ka dy LED në tabelë, jeshile dhe e kuqe, prania e rrjetit përcaktohet nga drita jeshile që pulson një herë në tre sekonda...a mund të fus disi një foto të tabelës ?

Alexey 02.02.15 07:42

Është më e lehtë të shkosh në forum.

Sergej 02.02.15 14:02

Nëse nuk futni një kartë SIM, a do të thotë se duhet të furnizoni modulin me energji elektrike?

Alexey 02.02.15 15:48

Nuk mund ta dalloj nga gjethet e çajit. Më duhet ose një skemë ose një tabelë. Dhe çfarë lidhje ka furnizimi me energji i modulit dhe kartës SIM? Ka shumë të ngjarë që kryqëzohet me ndonjë mikrokontrollues tjetër. Ai furnizon ushqimin. Në përgjithësi, keni nevojë për një diagram. Dhe është si të bësh një diagnozë përmes telefonit.

Sergej 02.02.15 15:56

Ku në forum mund ta postoj diagramin?

Sergej 02.02.15 15:57

Energjia vjen në modul vetëm kur futni një kartë SIM

Alexey 02.02.15 19:27

Epo, moduli SIM900D nuk e ka atë. Për të ndezur modulin, duhet të mbani nivelin e ulët në këmbën 12 dhe më pas ta ngrini atë. Karta SIM nuk mund të futet ose hiqet fare kur moduli është i ndezur, ekziston mundësia e djegies së portit. Nëse shikoni dokumentacionin, mund të gjeni rekomandime atje për instalimin e diodave mbrojtëse në linjën e portit të kartës SIM. Në forum. Krijo një temë dhe posto një foto.

Evgeniy 09/08/15 12:04

Kur aplikoj tension në modul, ka një potencial pozitiv në këmbën e 12-të dhe një potencial pozitiv në këmbën e 5-të (me kusht që këto këmbë të varen në ajër). Ju lutem më tregoni, a duhet të ketë një zero në këmbën e 5-të? Nëse jo, ju lutem më korrigjoni.

Alexey 09/08/15 13:21

Pjesa e 12-të është përfshirja e modulit. Kur futet energjia, mbi të varet 1. Për të ndezur modulin, duhet të shtypni këmbën e 12-të në telin e përbashkët për disa sekonda, domethënë të aplikoni 0. Kur energjia furnizohet me modulin 5, këmba duhet të tërhiqet në telin e përbashkët me dy rezistorë (kjo mund të shihet nga diagrami i lidhjes së transistorit në modalitetin e ndërprerës) dhe duhet të jetë 0, pasi baza duhet të tërhiqet deri në zero për të mbyllur plotësisht transistorin. Pas shtypjes së këmbës së 12-të në zero, 1 duhet të shfaqet në këmbën e 5-të, dhe pas një kohe një gjarpërim që tregon statusin e disponueshmërisë dhe lidhjes me rrjetin.

Vassilis Serasidis

Pajisja është projektuar për menaxhimin e energjisë në distancë pajisje të ndryshme(për shembull, modemet ADSL, kompjuterët personalë, ndricim dhomash, te ndryshme pajisje shtëpiake), dhe gjithashtu mund të monitorojë statusin e tetë linjat dixhitale dhe më pas informoni përdoruesin për statusin e këtyre linjave, d.m.th. mund të përdoret si një lloj sistemi sigurie. Kontrolli dhe informacioni i përdoruesit kryhet duke përdorur me SMS.

Karakteristikat kryesore të pajisjes:

  • kontrolloni 4 reletë (ndezur/fikur);
  • aftësia për të monitoruar statusin e stafetës dhe 8 hyrjet dixhitale për më tej duke dërguar SMS përdorues me qëllim të informimit rreth gjendja e tanishme;
  • qark i thjeshtë, numër i vogël i komponentëve të përdorur;
  • kontroll me SMS. Komandat e kontrollit janë të mbrojtura me fjalëkalim (mund të ndryshohen nga përdoruesi) për të parandaluar pozitive false.

Diagrami skematik i pajisjes është paraqitur në Fig. 1.

Baza e pajisjes është një mikrokontrollues i korporatës ATtiny2313 dhe një modul GSM i prodhuar nga kompania.

Mikrokontrolluesi IC2 funksionon në një frekuencë prej 4 MHz, e cila vendoset nga një kristal i jashtëm kuarci X1.



Fig.2 Pamja e modulit GSM GM-47

Për Puna GSM moduli kërkon një kartë SIM, e cila lidhet drejtpërdrejt me modulin duke përdorur një mbajtës të veçantë. Mikrokontrolluesi dhe moduli GSM mundësohen nga rregullatori IC1 LM1117T 3.3 me një tension daljeje 3.3 V. Në përgjithësi, mikrokontrolluesi mbetet funksional brenda intervalit 2.7 V - 5.5 V (me frekuenca e funksionimit deri në 10 MHz), për të siguruar përputhjen nivelet logjike Ne mund të fuqizojmë modulin GSM dhe mikrokontrolluesin nga rregullatori IC1.

Komunikimi me modulin GSM kryhet me një shpejtësi prej 9600 bps duke përdorur komandat AT. Vlen të përmendet se nivelet e tensionit për këtë komunikim janë 3.3 V në anën e mikrokontrolluesit AVR dhe 2.75 V në anën e modulit GSM. Prandaj, një transistor T5 BC547 u përdor për të përshtatur nivelet.

Moduli është i lidhur duke përdorur një lidhës në tabelën e qarkut të printuar.



Fig.3 Pllakë qarku i printuar me lidhës të instaluar për modulin GM-47

Karta SIM lidhet duke përdorur folenë K15, e cila ka një ndërprerës kufitar të integruar SW për të zbuluar praninë e një karte në mbajtëse.

Rele kontrollohet duke përdorur çelsat e bërë në transistorë BC547


Fig.4 Pamja e një bord qarku të printuar me një modul të instaluar

LED D6 është krijuar për të treguar statusin e lidhjes së rrjetit dhe nëse pulson, do të thotë një lidhje e suksesshme me celularin Rrjetet GSM, e cila mbështetet nga karta SIM. Nëse LED është vazhdimisht i ndezur, kjo do të thotë që moduli nuk mund të lidhet me rrjetin celular.

Moduli GSM ka hyrje/dalje dixhitale dhe analoge, por autori nuk i ka përdorur në këtë projekt për të eliminuar rrezikun e dëmtimit të modulit.

Çfarë detyrash kryen mikrokontrolluesi AVR?

Pas furnizimit me energji në tabelë, mikrokontrolluesi pret derisa të inicializohet moduli GSM, d.m.th. moduli duhet të lexojë kartën SIM dhe të lidhet me rrjetin GSM që ai mbështet.

Pas inicializimit të suksesshëm, mikrokontrolluesi dërgon një komandë AT, që nënkupton zgjedhjen e memories së modulit si ruajtje SMS. Duhet të ketë një përgjigje moduli për këtë komandë, përndryshe komanda dërgohet përsëri.

Pas zgjedhjes së memories, mikrokontrolluesi dërgon komandën e mëposhtme. Kjo komandë i tregon modulit se mesazhet do të lexohen format teksti(dhe jo formati PDU, i cili gjithashtu mbështetet nga moduli).

Kjo pasohet nga një komandë që do të heqë disa informacione nga teksti i mesazhit SMS, për shembull Numri SMS serveri, data dhe ora. Kjo është bërë për të reduktuar SMS dhe për të thjeshtuar funksionimin e mikrokontrolluesit me to.

Komanda e mëposhtme është krijuar për të lexuar SMS të ruajtur në adresën e parë në kujtesën e modulit.

Nëse ka tekst SMS, mikrokontrolluesi e lexon atë dhe kontrollon për fjalëkalimin e saktë. Fjalëkalimi i paracaktuar është 1234, i cili më pas mund të ndryshohet nga përdoruesi. Pas kontrollit të fjalëkalimit, kontrollohet prania e simbolit "*", që do të thotë se fjalëkalimi ndryshohet në 4 shifrat (gërmat) pas simbolit "*".

Pas kësaj, SMS përpunohet më tej për të zbuluar komandën e rezervuar ku X- nënkupton numrin e stafetës (1-4), Y- komanda ndezje/fikje stafetë, mund të marrë vlerat 1 (ndezur) ose 0 (off). Për shembull, komanda Relay2=1 do të thotë aktivizoni stafetën nr. 2.

Pas kësaj, mikrokontrolluesi përpunon SMS më tej për praninë e një komande Statusi, dhe nëse ka, lexon gjendjen e tetë linjave dixhitale dhe gjendjen e të gjitha releve dhe dërgon një SMS me mesazh me tekst në lidhje me statusin e linjave të kontrolluara në numrin nga erdhi komanda SMS. Në të njëjtën kohë, mos harroni këtë kartë SIM duhet të ketë mjete për të dërguar SMS.

Pas gjithë këtyre veprimeve, mikrokontrolluesi hiqet mesazh SMS ndodhet në adresën e parë në memorien e modulit dhe vazhdon të presë që të merret mesazhi tjetër SMS.

Dërgimi i komandave me SMS nga një telefon celular ndjek një sintaksë specifike. Le ta shohim duke përdorur komandat si shembull:

  1. Skuadra:1234*5678 stafetë1=1 stafetë2=0 stafetë3=1 stafetë4=1 Statusi
    Këtu kemi ekipin më intensiv. Fillimisht dërgojmë fjalëkalimin (1234) dhe tregojmë se do të ndryshohet (*) në ​​5678. Më pas ndezim reletë nr. 1, 3, 4 dhe fikim stafetën nr. 2. Përveç kësaj, më pas duke dërguar një komandë kërkojmë informacion për gjendjen e 8 sensorëve dhe të gjitha reletë.
  2. Skuadra:1234 Rele1=1 Stafetë2=0 Stafetë3=1 Stafetë4=1 Status
    Në këtë komandë SMS ne ndezim reletë nr. 1, 3, 4, fikim stafetën nr. 2 dhe kërkojmë informacion për gjendjen e sensorëve dhe reletë.
  3. Skuadra: 1234 1=1 2=0 3=1 4=1 Statusi
    Kjo komandë është e ngjashme me komandën e konsideruar 2), këtu i kemi lënë jashtë fjalët.
  4. Skuadra:1234 Statusi
    Me ndihmë, ne kërkojmë vetëm informacione për statusin e sensorëve dhe releve.
  5. Skuadra:1234 Rele2=0
    Në këtë komandë, siç mund ta shihni, ne fikim vetëm stafetën nr. 2

Diagrami skematik, vizatimi i bordit të qarkut të printuar, burimi(Ambler AVR) - .

Për të komentuar materialet nga faqja dhe për të marrë akses të plotë në forumin tonë ju duhet regjistrohen .

  • A është e mundur të përdoret një telefon celular në vend të modulit GM-47 SM?Për mendimin tim, një celular është më i lehtë për t'u marrë dhe më i lirë
  • Module të tilla nuk janë të disponueshme në treg. Dhe kështu pajisje interesante. Në përgjithësi, shumë gjëra interesante janë publikuar këtu, nëse e gjithë kjo do të ishte në dispozicion për ne...
  • Kontrolli me SMS është i mundur me duke përdorur GSM modem ose telefon që përdoret si modem i lidhur me një kompjuter. Jeni të interesuar për detajet e zbatimit? Apo është ky opsion përdorimi i një kompjuteri shumë i rëndë për ju!? Mund të përdorni një mikro PC ose një kontrollues të përputhshëm me një modul GSM; ky opsion është më kompakt. Pra, pajisjet e specializuara të përmendura më lart, të cilat në thelb janë një modem GSM + kompjuter, mund të zbatohen në mënyrë të pavarur nga komponentët më të disponueshëm.
  • Është e mundur, mendoj unë, të përdoren module të përputhshme, sistemet e komandës së të cilave janë të njëjta...
  • Në modulet GSM dhe telefonat celularë, komandat e specializuara AT përdoren për kontroll dhe monitorim, grupi i të cilave është në thelb i njëjtë për prodhues të ndryshëm dhe pajisje të ndryshme të ngjashme, dhe në varësi të specializimit të pajisjes dhe veçorive të grupit të komandave, janë përfshirë komanda të veçanta shtesë. Kjo pajisje mund të konvertohet për të përshtatur pothuajse çdo modul GSM ose telefon celular. Ne bëjmë një lidhës kontrolli në tabelë, i cili kryhet në 2 ndërfaqe me tela UART, në vend të 20 - 40 këmbëve për modemin, dhe ne modifikojmë pak kodin burimor ASM, i cili është i disponueshëm për ne (i cili mund të mos jetë as i nevojshëm!) dhe, natyrisht, nën projekt i ri faqosja e re e tabelës. Dhe ne marrim pajisje universale menaxhimit dhe kontrollit.
  • Këtu është një opsion zbatimi telekomandë në modulin e disponueshëm GSM SIM300D - http://electromost.com/index/mnogofu...kontrolja/0-35 Kur përdorni SMS, ekziston një pikë - dërgimi i SMS nga operatori nuk është i standardizuar në kohë. Prandaj, nuk rekomandohet të menaxhoni pajisjet kritike në këtë mënyrë. Për më tepër, është e domosdoshme të gjurmoni konfirmimin e komandës së ekzekutuar - përndryshe SMS do të "tërhiqet" dhe nuk dihet nëse komanda është ekzekutuar apo jo :). Prandaj, kur përdorni komunikimi celular Ngarkesat duhet të menaxhohen në "kohë reale" me konfirmimin e komandave të ekzekutuara. Për shembull, përdorni GPRS. Ose të paktën DTMF - si në pajisjen, lidhja për të cilën u dha më sipër.
  • Zotërinj, ditë të mbarë të gjithëve! A ka provuar dikush ta montojë këtë pajisje? Përpjekjet e mia për të përdorur modulin Neoway M590 ishin të pasuksesshme. Pas leximit të SMS-së së marrë, mikrokontrolluesi ndalon për disa sekonda, më pas e fshin atë nga memoria dhe vazhdon të dërgojë komanda AT në modul në një cikël. Në këtë rast, as gjendja e stafetës nuk ndryshon dhe as mesazhi nuk dërgohet përmes komandës "Status". A ka dikush ndonjë mendim për këtë?
  • Firmware-i i pajisjes nuk funksionon. Unë gjithashtu montova një pajisje të tillë në një tabelë me instalime elektrike origjinale, dhe me GR-47. Reagimi është i njëjtë si i juaji. Kam lexuar gjithashtu në një forum perëndimor për problem i ngjashëm këtë pajisje. Për të mos u ngatërruar me listën në ASMA, e rishkrova atë në CodeVision AVR dhe futa optimizimin: mos e drejtoni vazhdimisht ciklin e votimit, por në fillim të punës me modemin, dërgoni një komandë për të lëshuar një mesazh në terminal. në lidhje me mbërritjen e një SMS, dhe më pas analizoni SMS-në pasi të arrijë mesazhi i marrjes.
  • Kështu që kërkua pothuajse të gjithë internetin në kërkim të së vërtetës, madje i shkrova autorit Serasidis Vasilis duke i kërkuar që të ndihmonte për ta kuptuar atë (në anglisht, sigurisht), por kurrë nuk arrita asgjë. Më duket se prita këtu qëndron në dallimin mes numrave tanë dhe atyre të huaj. Nga lista e programit është e qartë se ata e kanë këtë numër një shifër më shumë; në përputhje me rrethanat, është e nevojshme të rregulloni parametrin e regjistrit "No_Of_ignore_bytes" (R25) kudo. Edhe pse, mund të gaboj. Në një nga faqet e specializuara, ky problem u ngrit pikërisht si i yni, dhe duket se atje u zgjidh me sukses, por si ishte, për fat të keq, u heshti. Gjithashtu nuk është e mundur të regjistroheni në këtë faqe për të komunikuar me pjesëmarrësit e temës - ata ju nisin pa shpjegim, pikërisht në fazën e regjistrimit. Këtu është lidhja: http://www.edaboard.com/thread290544.html I dashur max7780, nëse pajisja juaj funksionon, a mund ta ndani programin? Unë do t'ju isha shumë mirënjohës, pasi njohuritë e mia në programim nuk më lejojnë të shkruaj një program kaq kompleks nga e para as në ASMA, as në SI, dhe m'u deshën dy muaj për të ndërhyrë me atë ekzistues.
  • E kam montuar pajisjen 5 vjet më parë, nëse e gjej, ndoshta do të postoj kodin burim nesër. Por jo të gjitha funksionet zbatohen atje, për shembull, unë nuk krijova komandën e statusit, e cila lexon gjendjet e hyrjeve dhe nuk ka asnjë garanci që programi do të funksionojë me modemin tuaj; ndoshta ka disa ndryshime në përgjigjet ndaj komandat ose në vetë komandat. Gjithashtu, në kodin burimor origjinal nuk ka analizë të përgjigjes së modulit, modemi mund të raportojë një gabim dhe programi do të vazhdojë të lëshojë komanda, ose modemi thjesht mund të ngrijë dhe mikrokontrolluesi thjesht nuk do të jetë në gjendje ta rindizë atë. pasi që bordi origjinal nuk ka kontrollin e PowerPin-it të modulit. Unë do të analizoj fletën e të dhënave për modulin tuaj dhe do të ndihmoj sa më mirë që mundem. Dua të them gjithashtu se 590 është një katrahurë e rrallë, bleva tre module, vetëm një funksionoi normalisht pa defekte. Gjatë ribërjes së softuerit, detyra nuk ishte të siguronim funksionimin pa probleme të pajisjes për një kohë të gjatë, por thjesht të nisni harduerin, ka gjithashtu shumë kode jo optimale, do të ishte më mirë që unë t'ju dërgoja këtë program me email.
  • Nga dy modemet 590 që bleva, vetëm njëri funksionoi gjithashtu normalisht, i dyti dërgon të gjitha llojet e mbeturinave që mund të shihen në terminal. Unë u përpoqa të zgjedh shpejtësinë - ishte e padobishme. Dhe e dyta funksionon qartë me një shpejtësi prej 9600, por për disa arsye nuk dëshiron të jetë mik me mikrokontrolluesin, megjithëse këtu kemi zbuluar tashmë se problemi ka shumë të ngjarë në vetë programin. Megjithatë, për mua mbetet ende një mister pse funksionon për disa dhe jo për të tjerët. Duket se GM47 dhe NEOWAY kanë plotësisht të njëjtat protokolle komandimi AT, i vetmi ndryshim është se Neoway nuk ka një portë mikrofoni, që do të thotë se është e pamundur të zbatohet një thirrje zanore. A mbetën të njëjta qarku dhe kontrolluesi juaj, apo ndryshuan? Po, do të jem i lumtur për çdo zgjidhje, qoftë edhe "të papërpunuar", sepse atëherë ajo mund të modifikohet siç pritej. Gjëja kryesore është baza. Kështu që unë do të jem jashtëzakonisht mirënjohës nëse e dërgoni programin në adresë [email i mbrojtur], atëherë do të jetë e mundur të ecim më tej në këtë drejtim, sepse tani thjesht kam arritur në një qorrsokak...

Mund të përdoret në pajisjet ku kërkohet komunikim distanca të gjata. Për shembull, një person kontrollon një robot në Moskë ndërsa është ulur në Krasnodar! Ose një fermer ndez pompën e ujit në një fushë orizi nga shtëpia e tij, e vendosur disa kilometra larg fushës! Ekzistojnë disa mundësi për të komunikuar me pajisjen:

Komunikim i thjeshtë i bazuar në mesazhe SMS:
Ndizni/fikni pajisjen duke përdorur komanda të thjeshta SMS. Ju mund të përdorni çdo telefon celular për të kontrolluar pajisjen.
Sistem sigurie/zjarri që informon pronarin emergjente në shtëpi me SMS.

Komunikimi i bazuar në thirrje:
Një alarm inteligjent hajdut/zjarri që telefonon policinë ose zjarrfikësin dhe raporton një emergjencë duke përdorur mesazhe zanore të regjistruara paraprakisht.

Komunikimi duke përdorur internetin (GPRS):
Përdoruesi mund ta kontrollojë pajisjen nga çdo PC/tabletë/telefon celular i lidhur në internet. Për shembull, ekranet e informacionit të instaluar në autostrada kontrollohen nga një dhomë qendrore e kontrollit.
Robot i kontrolluar nëpërmjet internetit. Një robot i tillë është i aksesueshëm nga çdo pajisje e lidhur në internet nga kudo në botë.
Pajisjet portative të instaluara në automjeteve, të cilat lidhen me internetin duke përdorur modulin SIM300 GPRS dhe shtojnë pozicionin aktual (me duke përdorur GPS(Sistemi Global i Pozicionit, Sistemi Global Pozicionimi)) në server. Këto të dhëna ruhen nga një bazë të dhënash në server së bashku me ID-në e automjetit. Për të parë itinerarin e automjetit, mund të lidheni me serverin nga kompjuteri juaj duke përdorur World Ueb i gjerë(Rrjet i gjere boteror).

Përfitimet e përdorimit të modulit SIM300

Kompleti SIM300 është një modul plotësisht i pavarur me lidhës të kartës SIM, furnizim me energji elektrike, etj. Ky modul mund të ndërlidhet lehtësisht me mikrokontrolluesit AVR/PIC/8051 me kosto të ulët. Komunikimi me mikrokontrollues kryhet përmes një asinkroni porta serike. Ky është lloji bazë i komunikimit serial që mbështetet në harduer nga shumica e mikrokontrolluesve. Të dhënat transferohen pak nga pak dhe mblidhen në bajt. Aktiv nivel të lartë duket si një transmetim i thjeshtë teksti. Ka dy flukse gjithsej: një nga mikrokontrolluesi në SIM300 dhe tjetri nga SIM300 në mikrokontrollues. Komandat dërgohen si tekst i thjeshtë.

Nëse nuk keni përdorur kurrë transmetimin e të dhënave serike ose keni dëgjuar për të, atëherë këshillohet të kuptoni se si funksionon dhe të praktikoni me shembuj më të thjeshtë.

Komunikimi me modulin SIM300 duke përdorur AVR UART

Hardueri i mikrokontrolluesit që përdoret për komunikimin serik quhet UART dhe ne e përdorim atë për të komunikuar me modulin SIM300 (mund të përdoret gjithashtu për të komunikuar me pajisje të tjera p.sh. Lexuesit RFID, Modulet GPS, skanerët e gjurmëve të gishtërinjve, etj.). UART është një metodë shumë e zakonshme komunikimi në botën e elektronikës, ne kemi shkruar një bibliotekë të pastër dhe të thjeshtë për të që e përdorim në të gjitha projektet tona duke përdorur UART.

Meqenëse një bajt nga SIM300 mund të arrijë në mikrokontrollues në çdo kohë, çfarë ndodh nëse mikrokontrolluesi është i zënë me diçka tjetër? Për të zgjidhur këtë problem, ne bëmë buferimin e bazuar në ndërprerje të të dhënave hyrëse. Buferi është brenda kujtesë e gjallë mikrokontrollues. Ka një funksion që ju lejon të përcaktoni numrin e bajteve në radhë.

Më poshtë janë funksionet e bibliotekës AVR USART:

void USARTInit (uint16_t urrvalue)

Inicializimi i harduerit AVR USART. Vlera e parametrit urrvlera caktohet shpejtësia e dëshiruar e transferimit të të dhënave. Shpejtësia e parazgjedhur e të dhënave për SIM300: 9600 bps. Për një mikrokontrollues AVR që funksionon në një frekuencë prej 16 MHz, vlera urrvlera për një shpejtësi të tillë duhet të ketë 103 .

char UReadData()

Leximi i një karakteri nga radha. Nëse nuk ka asgjë në radhë, atëherë përgjigja është 0.

void UWriteData (të dhëna char)

Shkruan një bajt të dhënash në linjën Tx duke përdorur funksionin UWriteString().

uint8_t UDataAvailable()

Raporton sasinë e të dhënave në radhën FIFO.

void UWriteString (char *str)

Shkruan një varg të zhvlerësuar të stilit C në linjën Tx.
Shembulli 1: UWriteString ("Përshëndetje Botë!");
Shembulli 2: emri char = "Avinash !"; UWriteString(emri);

void UReadBuffer (void *buff,uint16_t len)

Kopjon përmbajtjen e buferit FIFO në memorien e specifikuar nga buff, sasia e të dhënave të kopjuara përcaktohet nga parametri len. Nëse më pak të dhëna se sa është e nevojshme (në përputhje me parametrin e lentës) janë marrë nëpërmjet UART në tampon FIFO, atëherë hapësira e mbetur do të mbushet me zero.

char gsm_buffer;
UReadBuffer(gsm_buffer,16);

Shembulli i mësipërm do të lexojë 16 bajt të dhënash (nëse ka) nga buferi FIFO në një variabël gsm_buffer. vini re se gsm_buffer ndahet një grup prej 128 bajtësh sepse mund të na duhen më shumë se 16 bajt më vonë. Kështu, ky buffer mund të përdoret për të lexuar deri në 128 bajt në të ardhmen.

Funksioni i treguar më sipër zakonisht përdoret në lidhje me UDataAvailable().

ndërsa(UDataAvailable()<16)
{
//Mos bej gje
}

char gsm_buffer;
UReadBuffer(gsm_buffer,16);

Pjesa e kodit e paraqitur më sipër pret derisa të ketë 16 bajt të dhëna në buffer dhe më pas e lexon atë.

void UFlushBuffer()

Anulon buferin FIFO nga pritja e të dhënave. Përpara se të dërgoni një komandë të re në modulin GSM, fillimisht anuloni buferin FIFO në pritje të të dhënave.

Funksionet e mësipërme përdoren për të dërguar dhe marrë komanda me tekst nga moduli SIM300 GSM.

Komanda AT e vendosur për SIM300

Tani që jeni njohur me bazat e bibliotekës AVR USART dhe se si përdoret për të inicializuar USART-in dhe për të dërguar dhe marrë të dhëna, është koha të mësoni komandat e modulit SIM300 dhe si t'i dërgoni ato dhe të merrni përgjigje. SIM300 ka disa funksione: dërgimin e mesazheve me tekst, thirrjet, etj. Secili prej këtyre funksioneve ekzekutohet pas një komande specifike dhe SIM300 ka grupin e vet të komandave.

Të gjitha komandat SIM300 fillojnë me prefiksin AT+ dhe fund Kthim ngarkese(shkurtuar si kthim me karrocë). Kodi ASCII për CR është 0x0D (dhjetorja 13). Të gjitha komandat që dërgoni te SIM300 do të kthehen në linjën SIM300 TX. Kjo do të thotë, nëse dërgoni një komandë prej 7 bajtësh (përfshirë CR-në përfundimtare), atëherë do t'i merrni menjëherë këto 7 bajtë në tampon përmes UART. Nëse nuk e merrni, do të thotë se diçka nuk shkon!

Funksioni i parë që do të studiojmë do të jetë SIM300Cmd (karakteristik i vazhdueshëm *cmd), ai bën sa vijon:

  • Shkruan komandat e specifikuara nga parametri cmd.
  • Shton CR pas komandës.
  • Pret që komanda të kthehet dhe nëse ajo arrin përpara afatit, ajo përgjigjet SIM300_OK(konstante e përcaktuar në sim300.h). Nëse keni pritur shumë gjatë për një rimbursim dhe nuk ka ardhur, ajo përgjigjet SIM300_TIMEOUT.

Shënim: Të gjitha funksionet e varura nga SIM300 ruhen në skedarin sim300.c. Modelet dhe konstantat ruhen në sim300.h

Duke punuar me SIM300Cmd()

Int8_t SIM300Cmd(const char *cmd) ( UWriteString(cmd); //Dërgo Komandën UWriteData(0x0D); //CR uint8_t len=strlen(cmd); len++; //Shto 1 për CR pasuese shtuar në të gjitha komandat uint16_ 0; //Prisni për jehonë ndërsa (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; }

Komanda zakonisht pasohet nga një përgjigje. Formulari i përgjigjes është:
LF- Furnizimi i linjës, kodi i tij ASCII është 0x0A (10 në dhjetor)

Pra, ndërsa prisni një përgjigje pas dërgimit të një komande, mund të ndodhin tre gjëra:

  • Nuk ka përgjigje për një kohë të gjatë. Një shkak i mundshëm mund të jetë se SIM300 nuk është i lidhur me mikrokontrolluesin.
  • Përgjigjja u mor, por jo ajo që pritej. Shkaku mund të jetë një linjë serike e gabuar, një shpejtësi e konfigurimit të gabuar të zhurmës ose një mikrokontrollues që funksionon me frekuencë të gabuar.
  • Është marrë përgjigje e saktë.

Për shembull, komanda Merrni regjistrimin në rrjet(Regjistrimi i rrjetit) kryhet si më poshtë: Vargu i komandës: " AT+CREG?"

Përgjigje(Përgjigje): +CREG: , Ne rregull

Ju shikoni se përgjigja e saktë është 20 bajt. Kjo do të thotë, pas dërgimit të komandës "AT + CREG?" duhet të prisni derisa të merren 20 bajt ose derisa të kalojë një kohë e caktuar. Kushti i dytë plotësohet për të shmangur ngrirjen nëse SIM300 është me defekt. Kjo do të thotë, në vend që të presim përgjithmonë për një përgjigje, do të shfaqet një gabim nëse SIM300 kërkon shumë kohë për t'u përgjigjur (kjo quhet një afat kohor)

Nëse merret përgjigja e saktë, atëherë analizojmë variablin për të marrë informacion rreth regjistrimit në rrjet.

Në varësi të statusit aktual të regjistrimit në rrjet, vlera mund të jetë: 0 - E pa regjistruar, SIM300 aktualisht nuk është në kërkim të një operatori të ri për t'u regjistruar. 1 - Regjistruar në rrjetin e shtëpisë. 2 - I pa regjistruar, SIM300 aktualisht është në kërkim të një operatori të ri për t'u regjistruar. 3 - Regjistrimi u refuzua. 4 - E panjohur. 5 - I regjistruar, roaming.

Duke punuar me SIM300GetNetStat()

Int8_t SIM300GetNetStat() ( //Dërgo Komandën SIM300Cmd("AT+CREG?"); //Tani prisni përgjigjen uint16_t i=0; //përgjigja e saktë është 20 bajt e gjatë //Pra, prisni derisa të kemi 20 bajt // në tampon. ndërsa (i<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; }

Funksioni zbatohet saktësisht në të njëjtën mënyrë: int8_t SIM300IsSIMI është futur()

Me një lloj tjetër përgjigjeje, ne nuk e dimë paraprakisht madhësinë e saktë të përgjigjes si në komandën e mësipërme. Për shembull, kjo është komanda Get Service Provider Name, ku gjatësia e emrit të operatorit nuk dihet paraprakisht. Kjo mund të jetë MTS, Beeline, etj. Për të zgjidhur këtë problem, ne përdorim atë që ndodhet para dhe pas përgjigjes CR LF. Pra, ne thjesht i ruajmë të gjithë karakteret derisa të hasim CR, që do të thotë fundi i përgjigjes.

Për të thjeshtuar përpunimin e komandave të tilla, ne krijuam një funksion
SIM300WaitForResponse (uint16_t skadon)

Ky funksion pret një përgjigje nga SIM300 (fundi i përgjigjes tregohet me CR) dhe raporton madhësinë e përgjigjes, ndërsa vetë përgjigja kopjohet në një variabël global sim300_buffer.

Nëse përgjigja nuk merret para përfundimit të kohës, atëherë përgjigja është 0. Koha e skadimit në milisekonda mund të vendoset me parametrin timeout. Nuk numëron LF-të e vonuara ose OK-të e fundit, ato mbeten në tampon UART FIFO. Pra, para se të kthehemi ne përdorim komandën UFlushBuffer() për t'i hequr ato nga buferi.

Duke punuar me SIM300WaitForResponse (uint16_t skadojë)

Int8_t SIM300WaitForResponse(uint16_t timeout) ( uint8_t i=0; uint16_t n=0; while(1) ( ndërsa (UDataAvailable()==0 && n

Duke punuar me SIM300GetProviderName (char *emri) Funksioni bën si më poshtë:

  1. Pastron buferin USART për të hequr çdo gabim ose përgjigje.
  2. Dërgon komandën "AT+CSPN?" duke përdorur funksionin SIM300Cmd ("AT + CSPN?");
  3. Më pas pret një përgjigje duke përdorur funksionin SIM300WaitForResponse().
  4. Nëse marrim një përgjigje jo zero, ai e analizon atë për të marrë emrin e operatorit.

Funksionet e mëposhtme zbatohen në mënyrë të ngjashme:

  • uint8_t SIM300GetProviderName(char *emri)
  • int8_t SIM300GetIMEI (char *emei)
  • int8_t SIM300GetManufacturer (char *man_id)
  • int8_t SIM300GetModel (char *model)
uint8_t SIM300GetProviderName(char *emri) ( UFlushBuffer(); //Dërgo Komandën SIM300Cmd("AT+CSPN?"); uint8_t len=SIM300WaitForResponse(1000); if(len==0) kthen *TIMEstart,* ; start=strchr(sim300_buffer,"""); start++; fund=strchr(start,"""); *end="\0"; strcpy(emri,start); return strlen(emri); )

SIM300 dhe ATmega32. Hardware

Për të demonstruar komunikimin me SIM300 duke përdorur AVR ATmega32, do të na duhen komponentët e mëposhtëm:
- ATmega32 me instalime elektrike – regjistër reset, kunja ISP, kuarc 16 MHz.
- Burim +5V për fuqizimin e ATmega32 dhe ekranit LCD.
- Ekran LCD 16x2 karakteresh për të treguar rezultatet.
- Moduli SIM300.

Ne përdorëm bordin e zhvillimit të Xboard sepse ka një ATmega32 me parzmore, një furnizim +5V dhe një ekran LCD.

Kodi burimor demo për AVR dhe SIM300

Kodi burimor demo është shkruar në C dhe përpilohet duke përdorur përpiluesin falas AVR-GCC, duke përdorur më të fundit. Projekti është i ndarë në modulet e mëposhtme:

  • Biblioteka LCD
    - Skedarët lcd.c, lcd.h, myutils.h, custom_char.h
    - Detyra e tij është të kontrollojë një ekran standard LCD 16x2.
    - Informacion më të detajuar mund të gjeni në link.
  • Biblioteka USART
    - Skedarët usart.c, usart.h
    - Detyra e saj është të kontrollojë mikrokontrolluesin harduer USART AVR. Përfshin funksionet e inicializimit të USART, dërgimit/marrjes së karaktereve dhe dërgimit/marrjes së vargut.
  • Biblioteka SIM300
    - Skedarët sim300.c, sim300.h

Konfigurimi hap pas hapi i një projekti AS6

Krijo një projekt të ri AS6 të quajtur "Sim300Demo".
Duke përdorur eksploruesin e zgjidhjeve (pema e projektit) krijoni një dosje të quajtur "lib" në dosjen aktuale.
Brenda dosjes "lib", krijoni dosjet "LCD", "USART" dhe "SIM300".
Kopjoni skedarët (duke përdorur Windows Explorer) lcd.c, lcd.h, myutils.h, custom_char.h në dosjen LCD.
Kopjoni skedarët (duke përdorur Windows Explorer) usart.c, usart.h në dosjen USART
Kopjoni skedarët (duke përdorur Windows Explorer) sim300.c, sim300.h në dosjen SIM300.
Shtoni skedarët lcd.c, lcd.h, myutils.h, custom_char.h në projekt duke përdorur eksploruesin e zgjidhjeve (pema e projektit).
Shtoni skedarëtusart.c, usart.h në projekt duke përdorur eksploruesin e zgjidhjeve (pema e projektit).
Shtoni skedarët sim300.c, sim300.h në projekt duke përdorur eksploruesin e zgjidhjeve (pema e projektit).
Përcaktoni përdorimin e F_CPU = 16000000 AS6.
Kopjoni dhe ngjisni skedarin kryesor Sim300Demo.c në program.
Përpiloni projektin për të marrë një skedar hex.
Flash Xboard duke përdorur një programues USB.
Nëse jeni duke përdorur një mikrokontrollues të ri ATmega32, vendosni LOW FUSE në 0xFF dhe FUSE E LARTË e ndezur 0xC9.

Çfarë bën programi demo?

Inicializon ekranin LCD dhe modulin SIM300.
Verifikon që moduli SIM300 është i lidhur me USART dhe përgjigjet siç pritej.
Shfaq IMEI të modulit SIM300.
Shfaq ID-në e prodhuesit
Kontrollon praninë e një karte SIM.
Kërkon një rrjet GSM dhe krijon një lidhje. Për ta bërë këtë, duhet të keni një kartë SIM aktive.
Tregon emrin e operatorit, si MTS ose Megafon.

Probleme të mundshme

Nuk ka imazh në LCD

Sigurohuni që projekti juaj AVR Studio të jetë vendosur në shpejtësinë e orës 16 MHz (16000000Hz)
Rregulloni kontrastin me potenciometër.
Shtypni butonin e rivendosjes disa herë.
Ndizni/fikeni pajisjen disa herë.
Lidheni LCD-në vetëm siç tregohet në diagram.

Gabim "No Response" shfaqet gjatë inicializimit të SIM300

Kontrolloni integritetin e linjave Rx, Tx dhe GND midis SIM300 dhe Xboard.
Sigurohuni që mikrokontrolluesi të funksionojë në 16 MHz.
Vendosni siguresat saktësisht siç përshkruhet më sipër.

Gabimet e përpiluesit

Shumë njerëz përdorin programe që tashmë janë shkruar dhe përpiluar. Atyre u mungon përvoja dhe nuk janë të njohur me bazat e programimit dhe kompilimit. Njohja me përpiluesit dhe mënyrën se si ata punojnë në platforma të ndryshme (PC/MAC/Linux) është një fillim i shkëlqyeshëm. Sistemet e integruara nuk janë të përshtatshme për të mësuar bazat. Ato janë të destinuara për ata që i kanë këto aftësi dhe thjesht i përdorin ato.
Sigurohuni që të gjithë skedarët e bibliotekës LCD të jenë shtuar në projekt.
Sigurohuni që AVR-GCC është i instaluar. (Shpërndarja e Windows quhet WinAVR)
Sigurohuni që projekti juaj AVR Studio të jetë caktuar në AVR GCC.

Këshilla të përgjithshme për fillestarët

Përdorni tabela korrigjimi dhe programues të gatshëm.
Mundohuni të studioni bazuar në artikuj dhe tekste shkollore.

Lista e radioelementeve

Emërtimi Lloji Emërtimi sasi shënimDyqanblloku im i shënimeve
U1 MK AVR 8-bit

ATmega32

1 Në bllokun e shënimeve
U2 Rregullator linear

LM7805

1 Në bllokun e shënimeve
D1 Diodë ndreqës

1N4007

1 Në bllokun e shënimeve
D2 Diodë që lëshon dritë 1 Në bllokun e shënimeve
C1, C2 Kondensator22 pF2 Në bllokun e shënimeve
C3, C4, C6 Kondensator0,1 µF3

Pra, pas një kohe të gjatë të kuptuarit të ndërlikimeve të punës me modulin GSM SIM900D, po shpallim projektin e parë të punës që kombinon një sistem sigurie me mundësinë e telekomandimit. Shkurtimisht, pajisja është në gjendje të dërgojë SMS informuese nëse aktivizohet sensori i ndërhyrjes, të bëjë thirrje për të mundësuar monitorimin audio të dhomës, monitorimin e temperaturës dhe dërgimin e saj me SMS sipas kërkesës, si dhe kontrollimin e një sasie të ngarkesës bazuar në një komandë të dërguar. me SMS.

Kushdo që e ka ndjekur këtë temë e di që unë kam një modul GSM dhe një modul kontrolli për të - dy borde të ndryshme të lidhura me një sanduiç (shih tabelën me SIM900D dhe bordin e kontrollit).Në bordin e kontrollit, përveç mikrokontrolluesit ATmega32a, ekziston një modul i energjisë i bërë në një konvertues LM2596; ai fuqizon qarkun me një tension konstant prej 3.5 volt. Në parim, çdo burim tjetër energjie do të bëjë, gjëja kryesore është se ai është i aftë të tërheqë shkurtimisht deri në 2 amper (ky është pikërisht konsumi i modulit GSM në kohën e regjistrimit).

Për hir të lehtësisë, një ekran nga një telefon Nokia3310 është i lidhur me bordin e kontrollit, metodat e punës me të cilat janë përshkruar tashmë më shumë se një herë në këtë faqe. Falë ekranit, mund të përcaktoni shpejt statusin e pajisjes dhe vlerën e sensorëve.

Si rezultat, diagrami i lidhjes që rezulton dukej kështu (i klikuar):

Numërimi i kunjave të mikrokontrolluesit në diagram është dhënë për një paketë DIP, kështu që nëse përsëritni qarkun duke përdorur një mikrokontrollues në një paketë TQFP, kini kujdes, numri i pineve është i ndryshëm. Mikrokontrolluesi është i akorduar nga një kuarc i jashtëm në 16 MHz.

Linjë Kontrolli kalimi nga kolektori i tranzistorit Q2 në portin PortD.4 i mikrokontrolluesit u shtua për risigurim dhe nevojitet për të monitoruar nëse moduli është i ndezur. Meqenëse pragu i fikjes për SIM900 është 3,2 volt, edhe me një rënie të lehtë të tensionit, moduli do të fiket automatikisht, ndërsa mikrokontrolluesi do të vazhdojë të punojë dhe të ekzekutojë programin (pragu i rivendosjes për ATmega32a është 2,7 volt). Në gjendje pune, kjo linjë është e ulët. Nëse mikrokontrolluesi zbulon se kjo linjë është e lartë, moduli GSM do të rifillojë funksionin.

Dhe kjo është se si duket në veprim për momentin.

Pas rishikimit përfundimtar të programit, e gjithë kjo do të futet në kasë dhe lidhjet e shkëputshme Ata do të vulosen për besueshmëri.

Ekrani tregon informacionin bazë për statusin e pajisjes: emrin e operatorit, cilësinë e sinjalit të komunikimit, vlerën e temperaturës nga sensori 18b20, statusin e daljes së ngarkesës dhe sensorin e ndërhyrjes, si dhe kohën dhe datë.

Video e aktivizimit të modulit

Ora dhe data janë marrë nga ora e integruar në modulin GSM. Për funksionimin e tyre, është e nevojshme të keni një bateri 3 volt të lidhur me pinin 15 (VRTC). Rekomandohet instalimi i diodës D1 me një rënie të tensionit të ulët, për shembull Schottky. Vendosja e orës dhe datës bëhet me dorë, komandat u përshkruan më herët

Afishohet data në formatin e marrë nga moduli, pra fillimisht viti, pastaj muaji dhe data. Nuk kam ndryshuar ende asgjë këtu.

Sensori DS18B20 është përgjegjës për matjen e temperaturës; ai është i lidhur me pinin PortD.3 të mikrokontrolluesit.

Mund të lidhni çdo ngarkesë me PortD.6 dhe ta kontrolloni atë nëpërmjet komandave SMS. Tani kam një LED të varur - D4 në diagram. Por asgjë nuk ju pengon të varni një stafetë ose triak këtu dhe të kontrolloni diçka më serioze.

Për qëllime sigurie, është planifikuar të përdoret një sensor lëvizjeje HC-SR501, i blerë në E-bay. Nëse aktivizohet, një logjik shfaqet në daljen e sensorit. Duke e kapur atë, mikrokontrolluesi do të japë një komandë për të dërguar një mesazh SMS në numrin e telefonit të specifikuar në program.

Dalja e sensorit është e lidhur me kutinë PortD.7 të mikrokontrolluesit; në diagram, sensori zëvendësohet në mënyrë konvencionale nga një buton.

Në vend të një sensori lëvizjeje, mund të instaloni çdo mjet tjetër për zbulimin e ndërhyrjeve - sensorë të hapjes së dritareve dhe dyerve, sensorë të thyerjes së xhamit, sensorë fotoelektrikë etj. në përgjithësi, gjithçka që mund të bëjë imagjinata juaj.

Për të parandaluar dërgimin e përsëritur të SMS-ve paralajmëruese në rast të një aktivizimi të sensorit, është futur një kufizim në program: pas dërgimit të SMS-së së parë, vendoset një ndalim për dërgimin pasues. Për të riaktivizuar dërgimin e mesazheve të njoftimit kur sensori aktivizohet, duhet të dërgoni një SMS me një komandë specifike në modul. Kur dërgimi i SMS është i ndaluar, një pikëçuditëse do të shfaqet në ekran pranë statusit të sensorit.

Lista e komandave

Dhe këtu është lista e komandave në SMS që përpunon moduli. Për lehtësi dhe thjeshtësi, komandat janë dixhitale; ndoshta në versionet e ardhshme të firmuerit do të ketë emra komandash më kuptimplotë :)

0 - Shkëputja e ngarkesës (Pin PortD.6 është vendosur në 0 logjike)

1 - Ndizni ngarkesën (Pin PortD.6 është vendosur në 1 logjik)

2 - Pasi të ketë pranuar këtë komandë, moduli do të thërrasë përsëri numrin e telefonit të specifikuar në program

3 - Kërkoni bilancin tuaj dhe dërgojeni atë me SMS në numrin e specifikuar. Ekziston një nuancë e rëndësishme këtu - përgjigjet për kërkesat e USSD duhet të vijnë në latinisht. Përndryshe, në vend të tekstit kuptimplotë, përgjigja do të jetë një mesazh në kodim heksadecimal. Duhet të kontrolloni me operatorin tuaj se si të konvertoni USSD në latinisht. Për shembull, në kartën SIM që përdor nga Smarts, duhet të futni *102*1# (në megafon *105*0#)

4 - Kërkesa për temperaturë. Vlera e temperaturës do të na dërgohet me SMS.

5 - Lejo dërgimin e mesazheve nëse aktivizohet sensori i ndërhyrjes.

6 - Ndalimi i dërgimit të SMS njoftimeve nga sensori i ndërhyrjes.

? - Me këtë komandë, moduli do të na dërgojë një SMS që përmban informacione të përgjithshme rreth pajisjes, të tilla si vlera nga sensori i temperaturës, nëse ngarkesa është e ndezur, statusi i hyrjes nga sensori i ndërhyrjes dhe nëse dërgohet SMS njoftimi nga ai eshte e lejuar.Për shembull, kështu mund të duket një mesazh: temperatura +24, ngarkesa e fikur, dalja e sensorit të lëvizjes 0, dërgimi i SMS nëse aktivizohet është i ndaluar.

Tani si të konfiguroni modulin për të dërguar SMS në numrin tuaj. Në arkivin me programin gjejmë skedarin kryesor të programit, ai quhet "program" :) dhe gjejmë një konstante në të:

Konst Numri i telefonit = "+7908390xxxx"

Ne zëvendësojmë numrin tuaj të telefonit këtu, përpilojmë programin dhe marrim një skedar firmware hex.

Programi, si gjithmonë, është shkruar në Bascom-AVR, kështu që të kuptuarit e algoritmit për të punuar me modulin GSM është mjaft i thjeshtë. Paç fat!

Dhe së fundi, një demonstrim se si moduli përpunon komandat.

Falenderim i veçantë për mikun e vjetër të faqes Sergei RD3AVJ për pjesëmarrjen dhe ndihmën e tij në zhvillim!

UPD: nga 10/31/12

Kam modifikuar pak firmware-in, tani për të vendosur numrin në të cilin do të dërgohet SMS njoftimi, nuk keni nevojë të ripërpiloni programin. Mjafton të dërgoni një SMS me një mesazh në modul "Numri i parë" (pa thonjëza) dhe numri nga i cili është dërguar kjo komandë regjistrohet në memorien jo të paqëndrueshme të mikrokontrolluesit.

Artikujt më të mirë mbi këtë temë