INHOUDSOPGAWE:

Arduino -gebaseerde GSM/SMS -afstandbeheereenheid: 16 stappe (met foto's)
Arduino -gebaseerde GSM/SMS -afstandbeheereenheid: 16 stappe (met foto's)

Video: Arduino -gebaseerde GSM/SMS -afstandbeheereenheid: 16 stappe (met foto's)

Video: Arduino -gebaseerde GSM/SMS -afstandbeheereenheid: 16 stappe (met foto's)
Video: Arduino & GSM Based Greenhouse Environment Monitoring & Controlling through SMS 2024, November
Anonim
Arduino -gebaseerde GSM/SMS -afstandbeheer -eenheid
Arduino -gebaseerde GSM/SMS -afstandbeheer -eenheid

! ! ! N O T I C E!

Omdat die plaaslike selfoontoring in my omgewing opgegradeer is, kan ek nie meer hierdie GSM -module gebruik nie. Die nuwer toring ondersteun nie meer 2G -toestelle nie. Daarom kan ek hierdie projek nie meer ondersteun nie.

Met so 'n wye verskeidenheid GSM -modules wat vir die stokperdjie beskikbaar is, het die meeste van ons een gekoop. Ek het plaaslik 'n SIM800L -module gekoop en uiteindelik met die verskillende opdragte van die module gespeel.

Met die Arduino Uno en die Arduino IDE kon ek my idees in werklikheid verander. Dit het nie maklik gekom nie, met die ENKELSTE GROOTSTE KWESSIE die beperking van slegs 2KB SRAM. Na baie navorsing op die internet en verskillende forums, kon ek hierdie beperking oorkom.

Verskillende programmeringstegnieke, 'n baie beter begrip van die Arduino -samesteller en die gebruik van die SIM -kaart en EEPROM vir ekstra geheue, het hierdie projek gered. Na 'n paar veranderinge aan die kode, is 'n stabiele prototipe oor 'n week gebou en getoets.

'N Nadeel van die beperkte SRAM was dat die eenheid nie met 'n skerm en gebruikersleutels toegerus kon word nie. Dit het gelei tot 'n volledige herskrywing van die kode. Sonder 'n gebruikerskoppelvlak, was die enigste opsie om met die projek voort te gaan, om SMS -boodskappe te gebruik om die eenheid sowel as die gebruikers op te stel.

Dit was 'n opwindende projek, en meer toekoms is bygevoeg namate die ontwikkeling voortgaan.

My hoofdoel was om by die Arduino Uno, of in hierdie geval, die ATMEGA328p te bly en geen komponente op die oppervlak te gebruik nie. Dit sal die algemene publiek makliker maak om die eenheid te kopieer en te bou.

Spesifikasie van die eenheid:

  • 'N Maksimum van 250 gebruikers kan op die eenheid geprogrammeer word
  • Vier digitale uitsette
  • Vier digitale insette
  • Elke uitset kan gekonfigureer word as 'n PULS- of AAN/UIT -uitvoer
  • Die uitgangspulsduur kan tussen 0,5 en 10 sekondes ingestel word
  • Elke invoer kan gekonfigureer word om veranderinge van OFF na ON aan te skakel.
  • Elke invoer kan gekonfigureer word om veranderinge AAN na UIT te aktiveer
  • Elke insetvertragingstyd kan tussen 0 sekondes en 1 uur ingestel word
  • SMS -boodskappe vir veranderinge aan die insette kan na 5 verskillende gebruikers gestuur word
  • Name en statusteks vir elke invoer kan deur die gebruiker gestel word
  • Name en statusteks vir elke uitset kan deur die gebruiker gestel word
  • Die eenheid kan gekonfigureer word om SIM -kaartbalansboodskappe via USSD -boodskappe te ontvang.
  • Alle gebruikers kan I/O -statusopdaterings van die eenheid aanvra
  • Alle gebruikers kan individuele uitsette via SMS -boodskappe beheer
  • Alle gebruikers kan individuele uitsette beheer deur die eenheid te bel

Veiligheidsfunksies

  • Die aanvanklike opstelling van die eenheid kan slegs gedoen word terwyl dit by die eenheid was.
  • Die aanvanklike opstelling kan slegs deur die MASTER GEBRUIKER uitgevoer word
  • Aanvanklike opstellingopdragte word outomaties na tien minute gedeaktiveer.
  • Slegs oproepe en sms'e van bekende gebruikers kan die eenheid beheer
  • Gebruikers kan slegs die uitsette gebruik wat die MASTER GEBRUIKER aan hulle toewys

Ander eienskappe

  • Oproepe na hierdie eenheid is gratis, aangesien die oproep nooit beantwoord word nie.
  • As die eenheid gebel word, sal die oproep eers na 2 sekondes afneem. Dit is 'n bevestiging aan die oproeper dat die eenheid op die oproep reageer het.
  • As die SIM -kaartdiensverskaffer USSD -boodskappe ondersteun, kan die MASTER -GEBRUIKER navraag doen. Die USSD -boodskap wat die saldo bevat, sal dan na die MASTER -GEBRUIKER gestuur word.

Stap 1: Kragtoevoer

Kragtoevoer
Kragtoevoer

Om te verseker dat die eenheid gekoppel kan word aan standaard sekuriteitstelsels (alarmstelsels, elektriese motorhuisdeure, elektriese hekmotors), sal die eenheid aangedryf word vanaf 12V DC wat gewoonlik op sulke stelsels beskikbaar is.

Krag word toegepas op 12V IN- en 0V -terminale en word beskerm deur 'n 1A -lont. Bykomende 12V OUT -terminale is beskikbaar en word ook deur die lont beskerm.

Diode D1 beskerm die eenheid teen omgekeerde polariteitsverbindings op die 12V -lyne.

Kondensators C1 en C2 filter enige geraas op die 12V toevoerlyne uit. Die 12V -toevoer word gebruik om die relais van die eenheid aan te dryf.

Die 5V -toevoer bestaan uit 'n LM7805L spanningsreguleerder en lewer 'n stabiele +5V wat benodig word vir die SIM800L GSM -module, sowel as die mikroverwerker. Kondensators C3 en C4 filter enige geraas wat op die +5V toevoerlyn voorkom. Relatiewe groot elektrolitiese kondensators is gebruik, aangesien die SIM800L GSM -module baie krag gebruik tydens die oordrag.

Daar is geen hittebak nodig op die spanningsreguleerder nie.

Stap 2: Digitale insette

Digitale insette
Digitale insette
Digitale insette
Digitale insette

Die digitale insetseine is almal 12V en moet met die 5V mikrokontroller gekoppel wees. Hiervoor word opto -koppelaars gebruik om die 12V seine van die 5V stelsel te isoleer.

Die 1K -ingangsweerstand beperk die insetstroom na die opto -koppelaar tot ongeveer 10mA.

Weens ruimtebeperkings was daar geen ruimte op die PC Board beskikbaar vir optrekweerstands van 5V nie. Die mikrobeheerder is ingestel om die invoerpenne swak pull-ups moontlik te maak.

As daar geen sein op die ingang (LAAG) van die optokoppelaar is nie, vloei daar geen stroom deur die optokoppel -LED nie. So word die opto -koppeltransistor afgeskakel. Die swak optrek van die mikrobeheerder sal die kollektor tot byna 5V verhoog, en dit sal deur die mikrobeheerder as 'n logika HOOG beskou word.

Met 12V toegepas (HOOG) op die ingang van die opto -koppelaar, vloei ongeveer 10mA deur die opto -koppelaar -LED. Die opto -koppelaar -transistor sal dus aangeskakel word. Dit sal die kollektor tot byna 0V verminder, en dit sal deur die mikrobeheerder as 'n logika LOW beskou word.

Let daarop dat die insette wat deur die mikrobeheerder gesien word, omgekeerd is in vergelyking met die 12V -ingang.

Die normale kode om die invoerpen te lees, lyk soos volg:

boolean Input = digitalRead (inputpin);

Gebruik die volgende kode om die omgekeerde sein reg te stel:

boolean Input =! digitalRead (inputpin); // LET WEL op die! voor die lees

Die ingang wat die mikrobeheerder sien, sal ooreenstem met die ingang op die 12V -ingang.

Die finale ingangskring bestaan uit 4 digitale insette. Elke invoer word gekoppel aan terminale op die PC Board.

Stap 3: Digitale uitsette

Digitale uitsette
Digitale uitsette
Digitale uitsette
Digitale uitsette
Digitale uitsette
Digitale uitsette

Normaalweg, met 'n stroombaan wat slegs 'n minimum aantal relais aandryf, is die beste manier om 'n transistor -dryfbaan te gebruik, soos getoon. Dit is eenvoudig, goedkoop en effektief.

Die weerstande bied afbreek na die grond en die transistorbasis se stroombeperking. Die transistor word gebruik om die beskikbare stroom te verhoog om 'n relais aan te dryf. Met slegs 1mA getrek uit die mikrobeheerderpen, kan die transistor 'n las van 100mA skakel. Meer as genoeg vir die meeste soorte aflosse. Die diode is 'n terugdraaidiode wat die stroombaan beskerm teen hoogspanningspieke tydens aflosskakeling. Die ekstra voordeel van die gebruik van hierdie stroombaan is dat die relais se werkingspanning anders kan wees as die spanning van die mikrobeheerder. Dus, in plaas van om 'n 5V -relais te gebruik, kan u enige DC -spanning van tot 48V gebruik.

Bekendstelling van die ULN2803

Hoe meer aflosse 'n projek benodig, hoe hoër is die komponenttelling. Dit maak die PCB -ontwerp moeiliker en kan waardevolle PCB -ruimte opneem. Maar die gebruik van 'n transistor -skikking, soos die ULN2803, sal beslis help om die grootte van die PCB klein te hou. Hierdie ULN2803 het 8 individuele transistorkringe, elke stroombaan het al die komponente wat nodig is om 'n relais te skakel.

Die finale uitsetstroombaan bestaan uit 'n ULN3803, wat 4 12V DC uitsetrelae aandryf. Elke kontak van die aflos is beskikbaar op die PC Board -terme.

Stap 4: Mikrobeheer -ossillator

Mikrobeheer -ossillator
Mikrobeheer -ossillator
Mikrobeheer -ossillator
Mikrobeheer -ossillator
Mikrobeheer -ossillator
Mikrobeheer -ossillator

Ossillatorbaan

Die mikrobeheerder het 'n ossillator nodig om korrek te funksioneer. Om by die Arduino Uno -ontwerp te bly, maak die kring gebruik van die standaard 16MHz -ossillator. Twee opsies is beskikbaar:

Kristal

Hierdie metode gebruik 'n kristal wat aan twee laai -kapasitors gekoppel is. Dit is die mees algemene opsie.

Resonator

'N Resonator is basies 'n kristal en twee laai-kapasitors in 'n enkele 3-pen-pakket. Dit verminder die hoeveelheid komponente en verhoog die beskikbare spasie op die rekenaarbord.

Om die komponenttelling so laag as moontlik te hou, het ek gekies om 'n 16MHz resonator te gebruik.

Stap 5: Aanduidings -LED's

Aanduiding LED's
Aanduiding LED's
Aanduiding LED's
Aanduiding LED's

Wat sal 'n stroombaan wees sonder 'n paar LED's? Daar is voorsiening gemaak vir 3 mm LED's op die rekenaarbord.

1K-weerstande word gebruik om die stroom deur die LED tot minder as 5mA te beperk. By die gebruik van 3mm helder helder LED's is die helderheid uitstekend.

Om die status -LED's maklik te interpreteer, word twee kleure gebruik. Deur die twee LED's met flikkerende aanduidings te kombineer, kan heelwat inligting van slegs twee LED's verkry word.

Rooi LED

Die rooi LED word gebruik om fouttoestande, lang vertragings, verkeerde opdragte aan te dui.

Groen LED

Die groen LED word gebruik om gesonde en/of korrekte insette en opdragte aan te dui.

Stap 6: Herstel kring van mikroverwerker

Herstelkring van mikroverwerker
Herstelkring van mikroverwerker

Om veiligheidsredes is sommige van die funksies van die eenheid eers in die eerste 10 minute na die aanskakel van die eenheid beskikbaar.

Met 'n terugstelknoppie hoef die krag na die eenheid nie afgeskakel te word om die eenheid terug te stel nie.

Hoe dit werk

Die 10K -weerstand hou die RESET -lyn naby 5V. As die knoppie ingedruk word, word die RESET -lyn na 0V getrek, waardeur die mikrobeheerder teruggestel word. As die knoppie losgemaak word, keer die RESET -reël terug na %v en herlaai die mikrobeheerder.

Stap 7: SIM800L -module

SIM800L -module
SIM800L -module
SIM800L -module
SIM800L -module
SIM800L -module
SIM800L -module

Die hart van die eenheid is die SIM800L GSM -module. Hierdie module gebruik slegs 3 I/O -penne op die mikrobeheerder.

Die module koppel aan die mikrobeheerder via 'n standaard seriële poort.

  • Alle opdragte na die eenheid word via die seriële poort gestuur met behulp van standaard AT -opdragte.
  • Met 'n inkomende oproep, of as 'n SMS ontvang word, word die inligting via die seriële poort na die mikrobeheerder gestuur met behulp van ASCII -teks.

Om ruimte te bespaar, word die GSM-module via 'n 7-pins kopstuk aan die PC Board gekoppel. Dit maak die verwydering van die GSM -module maklik. Dit stel die gebruiker ook in staat om die SIM -kaart aan die onderkant van die module maklik in/uit te haal.

'N Aktiewe SIM -kaart is nodig, en die SIM -kaart moet SMS -boodskappe kan stuur en ontvang.

Opstelling van die SIM800L GSM -module

By die aanskakel van die eenheid word die terugstelpen van die GSM -module vir 'n sekonde afgetrek. Dit verseker dat die GSM -module eers begin nadat die kragtoevoer gestabiliseer het. Die GSM -module neem 'n paar sekondes om te herlaai, dus wag 5 sekondes voordat u AT -opdragte na die module stuur.

Om te verseker dat die GSM -module gekonfigureer is om korrek met die mikrobeheerder te kommunikeer, word die volgende AT -opdragte tydens die aanvang gebruik:

BY

gebruik om te bepaal of 'n GSM -module beskikbaar is

BY+CREG?

Peil hierdie opdrag totdat die GSM -module op die selfoonnetwerk geregistreer is

AT+CMGF = 1

Stel die SMS -boodskap af op ASCII

AT+CNMI = 1, 2, 0, 0, 0

As SMS beskikbaar is, stuur SMS -besonderhede na die seriële poort van die GSM -module

AT+CMGD = 1, 4

Verwyder alle SMS -boodskappe wat op die SIM -kaart gestoor is

AT+CPBS = / "SM

Stel die telefoonboek van die GSM -module op die SIM -kaart

AT+COPS = 2, dan AT+CLTS = 1, dan AT+COPS = 0

Stel GSM -module tyd op selfoonnetwerk tyd

Wag 5 sekondes totdat die tyd ingestel is

AT+CUSD = 1

Aktiveer USSD -boodskapfunksie

Stap 8: Die mikrobeheerder

Die mikrobeheerder
Die mikrobeheerder
Die mikrobeheerder
Die mikrobeheerder
Die mikrobeheerder
Die mikrobeheerder

Die mikrobeheerder is 'n standaard AtMega328p, dieselfde as wat op die Arduino Uno gebruik word. Die kode is dus vergelykbaar met albei. Om 'n maklike aan boordprogrammering moontlik te maak, is 'n 6-pins programmeerkop op die PC Board beskikbaar.

Die verskillende dele van die eenheid is gekoppel aan die mikroverwerker en bevat die volgende:

  • Vier digitale insette
  • Vier digitale uitsette
  • Die ossillator
  • Twee aanduidings -LED's
  • Herstel kring
  • SIM800L GSM -module

Alle kommunikasie van en na die GSM -module geskied met behulp van die SoftwareSerial () -funksie. Hierdie metode is gebruik om die hoofreekspoort vir die Arduino IDE tydens die ontwikkelingsfase vry te stel.

Met slegs 2KB SRAM en 1KB EEPROM, is daar nie genoeg geheue om meer as 'n paar gebruikers te stoor wat aan die eenheid gekoppel kan word nie. Om die SRAM vry te stel, word al die gebruikersinligting op die SIM -kaart op die GSM -module gestoor. Met hierdie reëling kan die eenheid voorsiening maak vir tot 250 verskillende gebruikers.

Konfigurasie data van die eenheid word in EEPROM gestoor, wat gebruikersdata en stelseldata van mekaar skei.

Daar is nog 'n paar ekstra I/O -penne beskikbaar, maar die moontlikheid om 'n LCD -skerm en/of sleutelbord by te voeg, was nie moontlik nie as gevolg van die groot hoeveelheid SRAM wat deur die SoftWareSerial () ontvang- en stuurbuffers gebruik word, Omdat daar nie 'n soort gebruikerskoppelvlak op die eenheid is nie, word alle instellings en gebruikers met behulp van SMS -boodskappe geprogrammeer.

Stap 9: Optimalisering van SRAM -geheue

Optimalisering van SRAM -geheue
Optimalisering van SRAM -geheue

Heel vroeg in die ontwikkelingsfase het die Arduino IDE 'n lae SRAM -geheue gerapporteer by die opstel van die kode. Verskeie metodes is gebruik om dit te oorkom.

Beperk die data wat op die seriële poort ontvang is

Die GSM -module meld alle boodskappe aan die mikrobeheerder oor die seriële poort. As u 'n paar SMS -boodskappe ontvang, kan die totale lengte van die ontvangde boodskap meer as 200 karakters wees. Dit kan vinnig al die SRAM wat op die AtMega -chip beskikbaar is, verteer en stabiliteitsprobleme veroorsaak.

Om dit te voorkom, word slegs die eerste 200 karakters van ENIGE boodskappe wat vanaf die GSM -module ontvang word, gebruik. Die onderstaande voorbeeld toon hoe dit gedoen word deur die ontvangen karakters in die veranderlike teller te tel.

// soek data van die seriële poort van die sagteware

// ----------------------------------------------- RxString = ""; Teller = 0; terwyl (SSerial.available ()) {vertraging (1); // kort vertraging om tyd te gee vir nuwe data om in buffer geplaas te word // kry nuwe karakter RxChar = char (SSerial.read ()); // voeg die eerste 200 karakter by string as (Teller <200) {RxString.concat (RxChar); Teller = Teller + 1; }}

Verminder Serial.print () -kode

Alhoewel dit handig is tydens die ontwikkeling, kan die Arduino Serial Monitor baie SRAM gebruik. Die kode is ontwikkel met behulp van so min as moontlik Serial.print () -kode. Daar is getoets dat 'n gedeelte van die kode werk, maar die Serial.print () -kode is uit die deel van die kode verwyder.

Gebruik Serial.print (F (("")) kode

Baie inligting wat normaalweg op die Arduino Serial Monitor verskyn, maak meer sin as beskrywings bygevoeg word. Neem die volgende voorbeeld:

Serial.println ("Wag vir spesifieke aksies");

Die string "Wag vir spesifieke aksies" is vasgestel en kan nie verander word nie.

Tydens die samestelling van die kode sal die samesteller die string "Waiting for specific actions" in die FLASH -geheue insluit.

Boonop sien die samesteller dat die string 'n konstante is, gebruik deur die instruksies "Serial.print" of "Serial.println". Tydens die opstart van die mikro word hierdie konstante ook in die SRAM-geheue geplaas.

Deur die "F" -voorvoegsel in Serial.print () -funksies te gebruik, vertel dit die samesteller dat hierdie string slegs in FLASH -geheue beskikbaar is. Vir hierdie voorbeeld bevat die string 28 karakters. Dit is 28 grepe wat in SRAM bevry kan word.

Serial.println (F ("Wag vir spesifieke aksies"));

Hierdie metode is ook van toepassing op die SoftwareSerial.print () -opdragte. Aangesien die GSM -module op AT -opdragte werk, bevat die kode talle opdragte van SoftwareSerial.print ("xxxx"). Deur die voorvoegsel "F" te gebruik, word byna 300 grepe SRAM vrygestel.

Moenie die hardeware -seriële poort gebruik nie

Na ontfouting van kode, is die seriële poort van die hardeware uitgeskakel deur ALLE Serial.print () opdragte te verwyder. Dit het 'n paar ekstra grepe SRAM bevry.

Sonder enige Serial.print () -opdragte in die kode, is 'n ekstra 128 grepe SRAM beskikbaar gestel. Dit is gedoen deur die seriële poort van die hardeware uit die kode te verwyder. Dit verhoog die buffers van 64 bytes en 64 byte.

// Serial.begin (9600); // Seriële poort vir hardeware is gedeaktiveer

Gebruik EEPROM vir snare

Vir elke invoer en uitset moes drie snare gestoor word. Dit is die kanaalnaam, string as kanaal aan is, en string as kanaal af is.

Met 'n totaal van 8 I/O -kanale, sal dit wees

  • 8 snare wat die kanaalname bevat, elk 10 karakters lank
  • 8 snare wat die kanaal bevat Op beskrywing, elk 10 karakters lank
  • 8 snare wat die kanaal af beskrywing bevat, elk 10 karakters lank

Dit adverteer tot 240 grepe SRAM. In plaas daarvan om hierdie snare in SRAM te stoor, word dit in EEPROM gestoor. Dit het 'n bykomende 240 grepe SRAM bevry.

Verklarende tou met die regte lengtes

Veranderlike word gewoonlik aan die begin van die kode verklaar. 'N Algemene fout by die verklaring van 'n stringveranderlike is dat ons nie die string met die korrekte aantal karakters verklaar nie.

String GSM_Nr = "";

String GSM_Name = ""; String GSM_Msg = "";

Tydens die opstart sal die mikrobeheerder nie geheue in SRAM toewys vir hierdie veranderlikes nie. Dit kan later onstabiliteit veroorsaak wanneer hierdie snare gebruik word.

Om dit te voorkom, verklaar die snare met die korrekte aantal karakters wat die string in die sagteware sal gebruik.

String GSM_Nr = "1000000000";

String GSM_Name = "2000000000"; String GSM_Msg = "3000000000";

Let op hoe ek nie die snare met dieselfde karakters verklaar het nie. As u hierdie snare almal met "1234567890" verklaar, sal die samesteller dieselfde string in die drie veranderlikes sien en slegs genoeg geheue in die SRAM toewys vir een van die snare.

Stap 10: Grootte sagteware -seriële buffer

Seriële buffer grootte van sagteware
Seriële buffer grootte van sagteware

In die volgende kode sal u sien dat tot 200 karakters uit die seriële poort van die sagteware gelees kan word.

// soek data van die seriële poort van die sagteware

// ----------------------------------------------- RxString = ""; Teller = 0; terwyl (SSerial.available ()) {vertraging (1); // kort vertraging om tyd te gee vir nuwe data om in buffer geplaas te word // kry nuwe karakter RxChar = char (SSerial.read ()); // voeg die eerste 200 karakter by string as (Teller <200) {RxString.concat (RxChar); Teller = Teller + 1; }}

Dit benodig ook 'n buffer van ten minste 200 grepe vir die seriële poort van die sagteware. Die seriële poortbuffer van die sagteware is standaard slegs 64 grepe. Soek die volgende lêer om hierdie buffer te verhoog:

SoftwareSerial.h

Maak die lêer oop met 'n teksredigeerder en verander die buffergrootte na 200.

/******************************************************************************

* Definisies ************************************************ ****************************/ #ifndef _SS_MAX_RX_BUFF #definieer _SS_MAX_RX_BUFF 200 // RX buffer grootte #endif

Stap 11: Maak die rekenaarbord

Maak die PC Board
Maak die PC Board

Die PC Board is ontwerp met behulp van die freeware -weergawe van Cadsoft Eagle (ek glo die naam het verander).

  • PC Board is 'n enkelsydige ontwerp.
  • Geen oppervlakmonteringskomponente word gebruik nie.
  • Alle komponente word op die rekenaarbord gemonteer, insluitend die SIM800L -module.
  • Geen eksterne komponente of verbindings is nodig nie
  • Draadspringe is onder komponente versteek vir 'n skoner voorkoms.

Ek gebruik die volgende metode om rekenaarborde te maak:

  • Die PC Board-prent word op Press-n-Peel gedruk met 'n laserdrukker.
  • Die Press-n-Peel word dan bo-op 'n skoon stuk PC Board geplaas en met 'n bietjie band vasgemaak.
  • Die PC Board-beeld word dan van die Press-n-Peel na die blank PC Board oorgedra deur die bord deur 'n laminator te plaas. Vir my werk 10 passe die beste.
  • Nadat die PC Board tot kamertemperatuur afgekoel het, word die Press-n-Peel stadig van die bord gelig.
  • Die PC Board word dan geët met behulp van ammoniumpersulfaatkristalle wat in warm water opgelos is.
  • Na ets word die blou Press-n-Peel en swart toner verwyder deur die geëtste PC Board met asetoon skoon te maak.
  • Die bord word dan op maat gesny met 'n Dremel
  • Gate vir al die deurgatskomponente word met 'n boorpunt van 1 mm geboor.
  • Die terminale skroefverbindings word met 'n boorpunt van 1,2 mm geboor.

Stap 12: Vergadering van die rekenaarbord

Vergadering van die PC Board
Vergadering van die PC Board
Vergadering van die PC Board
Vergadering van die PC Board
Vergadering van die PC Board
Vergadering van die PC Board
Vergadering van die PC Board
Vergadering van die PC Board

Die montering word gedoen deur eers die kleinste komponente by te voeg en tot by die grootste komponente te werk.

Alle komponente wat in hierdie instruksies gebruik is, uitgesluit die SIM800 -module, is afkomstig van my plaaslike verskaffer. Dink daaraan dat hulle altyd voorraad het. Kyk gerus na hul Suid -Afrikaanse webblad:

www.shop.rabtron.co.za/catalog/index.php

LET WEL! Eerste soldeer die twee springers onder die ATMEGA328p IC

Die volgorde is soos volg:

  • Weerstand en diode
  • Herstelknoppie
  • IC -voetstukke
  • Spanningsreguleerder
  • Kopspelde
  • Klein kapasitors
  • LED's
  • Sekeringshouer
  • Eindblokke
  • Relays
  • Elektrolitiese kapasitors

Koppel die eenheid aan op 12V voordat die IC's ingevoeg word, en toets alle spannings om korrek te wees.

Bedek laastens die koperkant van die PC Board met 'n bietjie helder lak om dit teen die elemente te beskerm.

As die lak droog is, plaas die IC's, maar verlaat die GSM -module totdat die AtMega geprogrammeer is.

Stap 13: Programmering van die AtMega328p

Die programmering van die AtMega328p
Die programmering van die AtMega328p
Die programmering van die AtMega328p
Die programmering van die AtMega328p
Die programmering van die AtMega328p
Die programmering van die AtMega328p

# # Firmware -opgradering na weergawe 3.02 # #

Geskik vir SMS om na MASTER USER gestuur te word wanneer die krag na die toestel herstel word

Ek gebruik 'n Arduino Uno met 'n programmeerskild om die eenheid te programmeer. Vir meer inligting oor die gebruik van 'n Arduino Uno as 'n programmeerder, raadpleeg hierdie instruksies:

Arduino UNO as AtMega328P programmeerder

Die GSM -module moet van die rekenaarbord verwyder word om toegang tot die programmeringskop te verkry. Wees versigtig om nie die antennekabel te beskadig wanneer u die GSM -module verwyder nie.

Verbind die programmeerkabel tussen die programmeerder en die eenheid met behulp van die programmeerkop op die PC Board., En laai die skets op na die eenheid.

Die eksterne 12V -toevoer is nie nodig om die eenheid te programmeer nie. Die PC Board word via die programmeerkabel van die Arduino gevoed.

Maak die aangehegte lêer in die Arduino IDE oop en programmeer dit op die eenheid.

Na die programmering, verwyder die programmeringskabel en plaas die GSM -module.

Die eenheid is nou gereed vir gebruik.

Stap 14: Koppel die eenheid

Koppel die eenheid
Koppel die eenheid
Koppel die eenheid
Koppel die eenheid
Koppel die eenheid
Koppel die eenheid

Alle verbindings met die eenheid word via die skroefaansluitings gemaak.

Voeding van die eenheid

Maak seker dat u 'n geregistreerde SIM -kaart in die GSM -module geplaas het en dat die SIM -kaart SMS -boodskappe kan stuur en ontvang.

Koppel 'n 12V DC kragbron aan die 12V IN en enige van die 0V terminale. Nadat die rooi LED op die PC Board aangeskakel is, sal dit aanskakel. Binne 'n minuut moes die GSM -module aan die selfoonnetwerk gekoppel wees. Die rooi LED sal afskakel en 'n rooi LED op die GSM -module flits vinnig.

Sodra hierdie stadium bereik is, is die eenheid gereed om gekonfigureer te word.

Invoerverbindings

Die digitale insette werk op 12V. Om 'n inset aan te skakel, moet 12V op die ingang aangewend word. Deur die 12V te verwyder, word die ingang afgeskakel.

Uitsetverbindings

Elke uitset bestaan uit 'n omskakelingskontak. Verbind elke kontak soos benodig.

Stap 15: Aanvanklike opstelling

Aanvanklike opstelling
Aanvanklike opstelling

Die toestel moet aanvanklik opgestel word om te verseker dat alle parameters op fabrieksinstellings gestel is en dat die SIM -kaart ingestel is om gebruikersinligting in die korrekte formaat te aanvaar.

Aangesien alle opdragte op SMS gebaseer is, benodig u 'n ander telefoon om die opstelling uit te voer.

Vir die aanvanklike opstelling moet u by die eenheid wees.

Stel die MASTER USER -telefoonnommer in

Aangesien slegs die MASTER GEBRUIKER die eenheid kan instel, moet hierdie stap eers uitgevoer word.

  • Die eenheid moet aangedryf word.
  • Druk die Reset -knoppie los en wag totdat die rooi LED op die PC Board uitskakel.
  • Die NET -LED op die GSM -module flits vinnig.
  • Die eenheid is nou gereed om die aanvanklike opstelopdragte te aanvaar. Dit moet binne 10 minute uitgevoer word.
  • Stuur 'n SMS -boodskap met MASTER, beskrywing na die telefoonnommer van die eenheid.
  • As dit ontvang word, flikker die groen LED op die rekenaarbord twee keer.
  • Die MASTER GEBRUIKER is nou geprogrammeer.

Herstel die eenheid na fabrieksinstellings

Nadat die MASTER -GEBRUIKER geprogrammeer is, moet die instellings van die eenheid op die fabrieksinstellings gestel word.

  • Stuur 'n SMS -boodskap met slegs CLEARALL na die telefoonnommer van die eenheid.
  • As dit ontvang word, flikker die groen en rooi LED op die PC Board een keer per sekonde. Die eenheid is herstel met die fabrieksinstellings.
  • Alle instellings is teruggestel na fabrieksinstellings.
  • Druk op die Reset -knoppie om die eenheid weer te begin.

Formatering van die SIM -kaart

Die laaste stap is om alle inligting wat op die SIM -kaart gestoor is, uit te vee en dit op te stel vir gebruik in hierdie eenheid.

  • Druk die Reset -knoppie los en wag totdat die rooi LED op die PC Board uitskakel.
  • Die NET -LED op die GSM -module flits vinnig.
  • Die eenheid is nou gereed om die aanvanklike opstelopdragte te aanvaar. Dit moet binne 10 minute uitgevoer word.
  • Stuur 'n SMS -boodskap met slegs ERASESIM na die telefoonnommer van die eenheid.
  • As dit ontvang word, flikker die groen LED op die rekenaarbord boomtye.

Die eenheid is nou gekonfigureer en is gereed vir gebruik.

Stap 16: SMS -opdragte

SMS opdragte
SMS opdragte

Daar is drie verskillende tipe opdragte wat die eenheid gebruik. Alle opdragte word per SMS gestuur, en is almal in die volgende formaat:

BEVEL,,,,,

  • Alle opdragte, behalwe die NORMALE GEBRUIKER -opdragte, is hooflettergevoelig.
  • Parameters is nie hooflettergevoelig nie.

Aanvanklike opstelopdragte

MEESTER, naam

Die telefoonnommer van die SMS -sender word gebruik as die MASTER USER -telefoonnommer. 'n Beskrywing vir die eenheid kan hier bygevoeg word.

DUIDELIK

Stel die eenheid terug na fabrieksinstellings

CLEARSIM

Vee alle data van die SIM -kaart uit

RESET

Herlaai die eenheid

MASTER USER Opdragte vir die opstel van die eenheid

UITMODE, c, m, t LET WEL! ! ! NOG NIE geïmplementeer nie

Stel spesifieke kanale in om PULSED-, TIMED- of LATCHING -uitsette te hê. t is tydsduur in minute vir TIMED -uitsette

PULS, cccc

Stel spesifieke kanale op PULSED -uitsette. As dit nie ingestel is nie, word kanale as LATCHING -uitsette gestel.

PULSETIME, t Stel die gepulseerde uitsetduur in sekondes in (0.. 10s)

INVOER, cccc

Stel kanale wat moet aktiveer, en stuur 'n SMS -boodskap wanneer die toestand van OFF na AAN verander

INPUTOFF, cccc

Stel kanale wat moet aktiveer, en stuur 'n SMS -boodskap wanneer die toestand van AAN na UIT verander

INTIME, c, t

Stel die invoervertragingstyd in vir die opsporing van statusveranderinge in sekondes

INTEXT, ch, naam, aan, af

Stel die naam van elke invoerkanaal, op teks en teks af

BUITTEKST, ch, naam, aan, af

Stel die naam van elke uitvoerkanaal, op teks en teks af

Voeg by, ligging, nommer, uitroepuitsette, sms -uitsette, insette

Voeg gebruiker by SIM -kaart by geheue 'plek', met uitset- en invoerkanale wat aan die gebruiker toegewys is

Del, ligging

Vee gebruiker uit 'plek' van die SIM -kaartgeheue uit

Kanaalnaam

Sal die uitset pols met die naam ChannelName

ChannelName, onText, or ChannelName, offText

Sal die uitvoer aan/uit skakel met die naam van ChannelName en onText/offText

Normale gebruikersopdragte vir die beheer van die eenheid

???? Versoek I/O -statusopdatering. Status -SMS sal na die oorspronklike gestuur word.

Kanaalnaam

Sal die uitset pols met die naam ChannelName

Kanaalnaam, onText

Sal die uitset aanskakel met die naam van ChannelName en statusteks op Text

ChannelName, offText Sal die uitset uitskakel met die naam van ChannelName en statusteks van Text

Raadpleeg die aangehegte PDF -dokument vir 'n meer volledige beskrywing van die opdragte.

Aanbeveel: