Innholdsfortegnelse:

Arduino -basert GSM/SMS fjernkontrollenhet: 16 trinn (med bilder)
Arduino -basert GSM/SMS fjernkontrollenhet: 16 trinn (med bilder)

Video: Arduino -basert GSM/SMS fjernkontrollenhet: 16 trinn (med bilder)

Video: Arduino -basert GSM/SMS fjernkontrollenhet: 16 trinn (med bilder)
Video: Arduino и GSM модуль SIM800L. Управление по SMS 2024, November
Anonim
Arduino -basert GSM/SMS fjernkontrollenhet
Arduino -basert GSM/SMS fjernkontrollenhet

! ! ! LEGGE MERKE TIL !

På grunn av at det lokale mobiltelefontårnet er oppgradert i mitt område, kan jeg ikke lenger bruke denne GSM -modulen. Det nyere tårnet støtter ikke lenger 2G -enheter. Derfor kan jeg ikke lenger gi noen støtte til dette prosjektet.

Med et så stort utvalg av GSM -moduler tilgjengelig for hobbyisten, sluttet de fleste av oss å kjøpe en. Jeg kjøpte en SIM800L -modul lokalt, og endte opp med å leke med de forskjellige kommandoene til modulen.

Ved å bruke Arduino Uno og Arduino IDE klarte jeg å gjøre ideene mine til virkelighet. Dette kom ikke lett, med SINGLE BIGGEST ISSUE som begrensning på bare 2KB SRAM. Etter mye forskning på internett og forskjellige fora, klarte jeg å overvinne denne begrensningen.

Ulike programmeringsteknikker, en mye bedre forståelse av Arduino -kompilatoren, og bruk av SIM -kortet og EEPROM for ekstra minne, reddet dette prosjektet. Etter noen endringer i koden ble en stabil prototype bygget og testet i løpet av en uke.

En ulempe med den begrensede SRAM var at enheten ikke kunne utstyres med display og brukernøkler. Dette resulterte i en fullstendig omskriving av koden. Uten brukergrensesnitt var det eneste alternativet som var igjen for å fortsette med prosjektet, å bruke SMS -meldinger for å konfigurere enheten, så vel som brukerne.

Dette viste seg å være et spennende prosjekt, og flere futures ble lagt til etter hvert som utviklingen fortsatte.

Hovedmålet mitt var å holde meg til Arduino Uno, eller i dette tilfellet, ATMEGA328p, og ikke bruke noen overflatemonterte komponenter. Dette vil gjøre det lettere for allmennheten å kopiere og bygge enheten.

Spesifikasjon av enheten:

  • Maksimalt 250 brukere kan programmeres på enheten
  • Fire digitale utganger
  • Fire digitale innganger
  • Hver utgang kan konfigureres som en PULSE- eller PÅ/AV -utgang
  • Utgangspulsvarigheten kan settes mellom 0,5.. 10 sekunder
  • Hver inngang kan konfigureres til å utløse endringer på AV til PÅ.
  • Hver inngang kan konfigureres til å utløse PÅ til AV -endringer
  • Hver forsinkelsestid kan settes mellom 0 sekunder og 1 time
  • SMS -meldinger for endringer på inngangene kan sendes til 5 forskjellige brukere
  • Navn og statustekst for hver inngang kan angis av brukeren
  • Navn og statustekst for hver utgang kan angis av brukeren
  • Enheten kan konfigureres til å motta SIM -kortbalansemeldinger via USSD -meldinger.
  • Alle brukere kan be om I/O -statusoppdateringer av enheten
  • Alle brukere kan kontrollere individuelle utganger via SMS -meldinger
  • Alle brukere kan kontrollere individuelle utganger ved å ringe enheten

Sikkerhets egenskaper

  • Første oppsett av enheten kan bare gjøres mens den er på enheten.
  • Første oppsett kan bare utføres av MASTERBRUKEREN
  • Første oppsettskommandoer deaktiveres automatisk etter ti minutter.
  • Bare anrop og SMS meldt fra kjente brukere kan kontrollere enheten
  • Brukere kan bare betjene utgangene som er tildelt dem av MASTERBRUKEREN

Andre funksjoner

  • Samtaler til denne enheten er gratis, ettersom samtalen aldri blir besvart.
  • Når enheten blir oppringt, vil samtalen bare falle etter 2 sekunder. Dette er en bekreftelse til den som ringer at enheten svarte på samtalen.
  • Hvis SIM -kortleverandøren støtter USSD -meldinger, kan MASTERBRUKEREN foreta balanseforespørsler. USSD -meldingen som inneholder saldoen, blir deretter videresendt til MASTERBRUKEREN.

Trinn 1: Strømforsyning

Strømforsyning
Strømforsyning

For å sikre at enheten kan kobles til standard sikkerhetssystemer (alarmsystemer, elektriske garasjeporter, elektriske portmotorer), vil enheten drives fra 12V DC som normalt er tilgjengelig på slike systemer.

Strøm tilføres 12V IN og 0V terminaler, og er beskyttet av en 1A sikring. Ytterligere 12V OUT -terminaler er tilgjengelige, og er også beskyttet av sikringen.

Diode D1 beskytter enheten mot omvendte polaritetstilkoblinger på 12V -linjene.

Kondensatorer C1 og C2 filtrerer bort støy fra 12V -forsyningslinjene. 12V -forsyningen brukes til å drive enhetens reléer.

5V -forsyningen består av en LM7805L spenningsregulator, og gir en stabil +5V nødvendig for SIM800L GSM -modulen, samt mikroprosessoren. Kondensatorer C3 og C4 filtrerer bort eventuell støy som kan forekomme på +5V forsyningslinjen. Det ble brukt relativt store elektrolytkondensatorer, ettersom SIM800L GSM -modulen bruker ganske mye strøm når den sender.

Det kreves ingen kjøleribbe på spenningsregulatoren.

Trinn 2: Digitale innganger

Digitale innganger
Digitale innganger
Digitale innganger
Digitale innganger

De digitale inngangssignalene er alle 12V, og må kobles til 5V mikrokontrolleren. For dette brukes optokoblere for å isolere 12V -signalene fra 5V -systemet.

1K -inngangsmotstanden begrenser inngangsstrømmen til optokobleren til rundt 10mA.

På grunn av plassbegrensninger var det ikke ledig plass på PC-kortet for 5V opptrekksmotstander. Mikrokontrolleren er konfigurert for å aktivere inndatapinnene svake pull-ups.

Uten signal på inngangen (LOW) til optokobleren, vil det ikke strømme strøm gjennom optokobleren LED. Dermed er optokoblingstransistoren slått av. Den svake pull-up av mikrokontrolleren vil trekke opp kollektoren til nesten 5V, og vil bli sett på som en logisk HØY av mikrokontrolleren.

Med 12V påført (HIGH) på inngangen til optokobleren, vil rundt 10mA strømme gjennom optokobleren LED. Dermed vil optokoblingstransistoren slås på. Dette vil trekke ned kollektoren til nesten 0V, og vil bli sett på som en logisk LAV av mikrokontrolleren.

Vær oppmerksom på at inngangen sett av mikrokontrolleren er invertert sammenlignet med 12V -inngangen.

Normal kode for å lese inndatapinnen ser slik ut:

boolsk inngang = digitalRead (inputpin);

For å korrigere for det inverterte signalet, bruk følgende kode:

boolsk inngang =! digitalRead (inputpin); // MERK! foran lesningen

Nå vil inngangen sett av mikrokontrolleren svare til inngangen på 12V -inngangen.

Den siste inngangskretsen består av 4 digitale innganger. Hver inngang er koblet til terminaler på PC -kortet.

Trinn 3: Digitale utganger

Digitale utganger
Digitale utganger
Digitale utganger
Digitale utganger
Digitale utganger
Digitale utganger

Normalt, med en krets som bare driver et minimum antall reléer, er den beste måten å bruke en transistordriverkrets som vist. Det er enkelt, billig og effektivt.

Motstandene gir nedtrekning til bakken, og transistorens basestrømbegrensning. Transistoren brukes til å øke strømmen som er tilgjengelig for å drive et relé. Med bare 1mA trukket fra mikrokontrolleren, kan transistoren bytte en belastning på 100mA. Mer enn nok for de fleste typer reléer. Dioden er en tilbakeslagsdiode, som beskytter kretsen mot høyspenningsspisser under relébytte. Den ekstra fordelen med å bruke denne kretsen er at reléets driftsspenning kan være forskjellig fra spenningen til mikrokontrolleren. Således, i stedet for å bruke et 5V relé, kan man bruke hvilken som helst likspenning på opptil 48V.

Vi presenterer ULN2803

Jo flere reléer et prosjekt krever, jo høyere komponenttelling. Dette vil gjøre PCB -designet vanskeligere, og kan bruke opp verdifull PCB -plass. Men bruk av et transistormatris, som ULN2803, vil definitivt hjelpe til med å holde PCB -størrelsen liten. ULN2803 er ideell for 3,3V og 5V innganger fra en mikrokontroller, og kan drive reléer opp til 48V DC. Denne ULN2803 har 8 individuelle transistorkretser, hver krets utstyrt med alle komponentene som kreves for å bytte et relé.

Den siste utgangskretsen består av en ULN3803, som driver 4 12V DC utgangsreléer. Hver kontakt på reléet er tilgjengelig på PC Board -terminalene.

Trinn 4: Mikrocontroller -oscillator

Mikrocontroller -oscillator
Mikrocontroller -oscillator
Mikrocontroller -oscillator
Mikrocontroller -oscillator
Mikrocontroller -oscillator
Mikrocontroller -oscillator

Oscillator krets

Mikrokontrolleren trenger en oscillator for å fungere korrekt. For å holde Arduino Uno -designet, vil kretsen bruke standard 16MHz oscillator. To alternativer er tilgjengelige:

Krystall

Denne metoden bruker en krystall som er koblet til to ladekondensatorer. Dette er det vanligste alternativet.

Resonator

En resonator er i utgangspunktet en krystall og to ladekondensatorer i en enkelt 3-pinners pakke. Dette reduserer mengden komponenter og øker tilgjengelig plass på PC -kortet.

For å holde komponenttallet så lavt som mulig, valgte jeg å bruke en 16MHz resonator.

Trinn 5: LED -indikatorer

Indikasjon LED
Indikasjon LED
Indikasjon LED
Indikasjon LED

Hva vil en krets være uten noen lysdioder? Det ble sørget for 3 mm lysdioder på PC -kortet.

1K-motstander brukes til å begrense strømmen gjennom LED-en til mindre enn 5mA. Ved bruk av 3 mm høylysdioder er lysstyrken utmerket.

For enkel tolkning av statuslysdiodene brukes to farger. Ved å kombinere de to lysdiodene med blinkende indikasjoner, kan ganske mye informasjon hentes fra bare to lysdioder.

Rød LED

Den røde LED -en brukes til å indikere feil, lange forsinkelser, feil kommandoer.

Grønn LED

Den grønne LED -en brukes til å indikere sunne og/eller riktige innganger og kommandoer.

Trinn 6: Tilbakestill krets for mikroprosessor

Tilbakestill krets for mikroprosessor
Tilbakestill krets for mikroprosessor

Av sikkerhetshensyn er noen av enhetens funksjoner bare tilgjengelige i de første 10 minuttene etter at enheten ble slått på.

Med en tilbakestillingsknapp trenger du ikke å slå av strømmen til enheten for å tilbakestille enheten.

Hvordan det fungerer

10K -motstanden holder RESET -linjen nær 5V. Når du trykker på knappen, trekkes RESET -linjen til 0V, og dermed holdes mikrokontrolleren i reset. Når knappen slippes, går RESET -linjen tilbake til %v, og mikrokontrolleren slås på igjen.

Trinn 7: SIM800L -modul

SIM800L -modul
SIM800L -modul
SIM800L -modul
SIM800L -modul
SIM800L -modul
SIM800L -modul

Hjertet i enheten er SIM800L GSM -modulen. Denne modulen bruker bare 3 I/O -pinner på mikrokontrolleren.

Modulen grensesnitt til mikrokontrolleren via en standard seriell port.

  • Alle kommandoer til enheten sendes via den serielle porten ved bruk av standard AT -kommandoer.
  • Med et innkommende anrop, eller når en SMS mottas, sendes informasjonen til mikrokontrolleren via den serielle porten ved hjelp av ASCII -tekst.

For å spare plass, er GSM-modulen koblet til PC-kortet via en 7-pinners topptekst. Dette gjør det enkelt å fjerne GSM -modulen. Dette gjør det også mulig for brukeren å enkelt sette inn/fjerne SIM -kortet nederst på modulen.

Et aktivt SIM -kort kreves, og SIM -kortet må kunne sende og motta SMS -meldinger.

Oppsett av SIM800L GSM -modulen

Når enheten slås på, trekkes tilbakestillingsnålen for GSM -modulen ned i et sekund. Dette sikrer at GSM -modulen først starter etter at strømforsyningen har stabilisert seg. Det tar et par sekunder å starte GSM -modulen på nytt, så vent 5 sekunder før du sender noen AT -kommandoer til modulen.

For å sikre at GSM -modulen er konfigurert til å kommunisere riktig med mikrokontrolleren, brukes følgende AT -kommandoer under oppstart:

brukes til å avgjøre om en GSM -modul er tilgjengelig

I+CREG?

Henter denne kommandoen til GSM -modulen er registrert på mobiltelefonnettverket

AT+CMGF = 1

Sett SMS -meldingsmodus til ASCII

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

Hvis SMS er tilgjengelig, send SMS -detaljer til GSM -modulens serielle port

AT+CMGD = 1, 4

Slett alle SMS -meldinger som er lagret på SIM -kortet

AT+CPBS = / "SM

Sett telefonboken til GSM -modulen til SIM -kortet

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

Still GSM -modultiden til mobiltelefon -nettverkstid

Vent 5 sekunder for tiden skal stilles inn

AT+CUSD = 1

Aktiver USSD -meldingsfunksjon

Trinn 8: Mikrokontrolleren

Mikrokontrolleren
Mikrokontrolleren
Mikrokontrolleren
Mikrokontrolleren
Mikrokontrolleren
Mikrokontrolleren

Mikrokontrolleren er en standard AtMega328p, den samme som brukes på Arduino Uno. Koden er dermed sammenlignbar med begge. For å muliggjøre enkel programmering ombord, er en 6-pinners programmeringsoverskrift tilgjengelig på PC-kortet.

De forskjellige delene av enheten er koblet til mikroprosessoren, og inkluderer følgende:

  • Fire digitale innganger
  • Fire digitale utganger
  • Oscillatoren
  • To indikasjonslysdioder
  • Tilbakestill krets
  • SIM800L GSM -modul

All kommunikasjon til og fra GSM -modulen gjøres ved hjelp av SoftwareSerial () -funksjonen. Denne metoden ble brukt til å frigjøre den viktigste serielle porten for Arduino IDE under utviklingsfasen.

Med bare 2 KB SRAM og 1 KB EEPROM er det ikke nok minne til å lagre mer enn et par brukere som kan kobles til enheten. For å frigjøre SRAM, lagres all brukerinformasjon på SIM -kortet på GSM -modulen. Med denne ordningen kan enheten dekke opptil 250 forskjellige brukere.

Konfigurasjonsdata for enheten lagres i EEPROM, og skiller dermed brukerdata og systemdata fra hverandre.

Det er fortsatt flere ekstra I/O -pinner tilgjengelig, men muligheten til å legge til en LCD -skjerm og/eller tastatur var imidlertid ikke mulig på grunn av den store mengden SRAM som ble brukt av SoftWareSerial () mottaker- og overføringsbuffere, På grunn av mangelen på alle typer brukergrensesnitt på enheten, er alle innstillinger og brukere programmert ved hjelp av SMS -meldinger.

Trinn 9: Optimalisering av SRAM -minne

Optimalisering av SRAM -minne
Optimalisering av SRAM -minne

Ganske tidlig i utviklingsfasen rapporterte Arduino IDE om lavt SRAM -minne når koden ble kompilert. Flere metoder ble brukt for å overvinne dette.

Begrens dataene som er mottatt på den serielle porten

GSM -modulen vil rapportere alle meldinger til mikrokontrolleren den serielle porten. Når du mottar noen SMS -meldinger, kan den totale lengden på den mottatte meldingen være mer enn 200 tegn. Dette kan raskt forbruke all SRAM som er tilgjengelig på AtMega -brikken, og vil forårsake stabilitetsproblemer.

For å forhindre dette vil bare de første 200 tegnene i NOEN melding mottatt fra GSM -modulen bli brukt. Eksemplet nedenfor viser hvordan dette gjøres ved å telle mottatte tegn i variabel teller.

// søk etter data fra programvarens serielle port

// ----------------------------------------------- RxString = ""; Teller = 0; mens (SSerial.available ()) {forsinkelse (1); // kort forsinkelse for å gi tid for nye data som skal plasseres i buffer // få nytt tegn RxChar = char (SSerial.read ()); // legg til det første 200 tegnet i strengen hvis (Teller <200) {RxString.concat (RxChar); Teller = Teller + 1; }}

Redusere Serial.print () -koden

Selv om den er praktisk under utvikling, kan Arduino Serial Monitor bruke mye SRAM. Koden ble utviklet med så få som mulig Serial.print () -kode. En del av koden er testet for å fungere, all Serial.print () -kode ble fjernet fra den delen av koden.

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

Mye informasjon som normalt vises på Arduino Serial Monitor gir mer mening når beskrivelser legges til. Ta følgende eksempel:

Serial.println ("Venter på spesifikke handlinger");

Strengen "Venter på spesifikke handlinger" er løst, og kan ikke endres.

Under kompilering av koden vil kompilatoren inkludere strengen "Waiting for specific actions" i FLASH -minnet.

I tillegg ser kompilatoren at strengen er en konstant, brukt av instruksjonene "Serial.print" eller "Serial.println". Under oppstart av mikroen plasseres denne konstanten også i SRAM-minnet.

Ved å bruke prefikset "F" i Serial.print () -funksjonene, forteller det kompilatoren at denne strengen bare er tilgjengelig i FLASH -minne. I dette eksemplet inneholder strengen 28 tegn. Dette er 28 byte som kan frigjøres i SRAM.

Serial.println (F ("Venter på spesifikke handlinger"));

Denne metoden gjelder også for SoftwareSerial.print () -kommandoene. Siden GSM -modulen fungerer på AT -kommandoer, inneholder koden en rekke SoftwareSerial.print ("xxxx") kommandoer. Ved å bruke prefikset "F" frigjorde nesten 300 byte SRAM.

Ikke bruk maskinvarens serielle port

Etter feilsøking av kode ble maskinvarens serielle port deaktivert ved å fjerne ALLE kommandoer for Serial.print (). Dette frigjorde noen få ekstra byte SRAM.

Uten noen Serial.print () -kommandoer igjen i koden, ble ytterligere 128 byte SRAM gjort tilgjengelig. Dette ble gjort ved å fjerne maskinvarens serielle port fra koden. Dette gir opp 64 -bytes overførings- og 64 byte -mottaksbuffere.

// Serial.begin (9600); // maskinvare seriell port deaktivert

Bruke EEPROM for strenger

For hver inngang og utgang måtte tre strenger lagres. De er kanalnavnet, strengen når kanalen er på, og strengen når kanalen er slått av.

Med totalt 8 I/O -kanaler blir deres vilje

  • 8 strenger som inneholder kanalnavnene, hver på 10 tegn
  • 8 strenger som inneholder kanalen På beskrivelse, hver 10 tegn lang
  • 8 strenger som inneholder kanalen Off beskrivelse, hver 10 tegn lang

Dette annonser opptil 240 byte SRAM. I stedet for å lagre disse strengene i SRAM, lagres de i EEPROM. Dette frigjorde ytterligere 240 byte SRAM.

Deklarere streng med riktige lengder

Variabel deklareres normalt i begynnelsen av koden. En vanlig feil når vi deklarerer en strengvariabel, er at vi ikke deklarerer strengen med riktig antall tegn.

String GSM_Nr = "";

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

Under oppstart vil mikrokontrolleren ikke allokere minne i SRAM for disse variablene. Dette kan senere forårsake ustabilitet når disse strengene brukes.

For å forhindre dette, erklær strengene med riktig antall tegn strengen vil bruke i programvaren.

String GSM_Nr = "1000000000";

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

Legg merke til hvordan jeg ikke erklærte strengene med de samme tegnene. Hvis du erklærer disse strengene alle med si "1234567890", vil kompilatoren se den samme strengen i de tre variablene, og bare tildele nok minne i SRAM for en av strengene.

Trinn 10: Programvarens serielle bufferstørrelse

Programvarens serielle bufferstørrelse
Programvarens serielle bufferstørrelse

I den følgende koden vil du legge merke til at opptil 200 tegn kan leses fra programvarens serielle port.

// søk etter data fra programvarens serielle port

// ----------------------------------------------- RxString = ""; Teller = 0; mens (SSerial.available ()) {forsinkelse (1); // kort forsinkelse for å gi tid for nye data som skal plasseres i buffer // få nytt tegn RxChar = char (SSerial.read ()); // legg til det første 200 tegnet i strengen hvis (Teller <200) {RxString.concat (RxChar); Teller = Teller + 1; }}

Dette krever også en buffer på minst 200 byte for programvarens serielle port. Som standard er programvarens serielle portbuffer bare 64 byte. For å øke denne bufferen, søk etter følgende fil:

SoftwareSerial.h

Åpne filen med et tekstredigeringsprogram, og endre bufferstørrelsen til 200.

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

*Definisjoner ********************************************* ****** *****

Trinn 11: Lag PC -kortet

Lag PC -kortet
Lag PC -kortet

PC -kortet ble designet med freeware -versjonen av Cadsoft Eagle (jeg tror navnet har endret seg).

  • PC Board er en ensidig design.
  • Ingen overflatemonterte komponenter brukes.
  • Alle komponenter er montert på PC -kortet, inkludert SIM800L -modulen.
  • Ingen eksterne komponenter eller tilkoblinger er nødvendig
  • Trådhoppere er skjult under komponenter for et renere utseende.

Jeg bruker følgende metode for å lage PC -kort:

  • PC Board-bildet skrives ut på Press-n-Peel ved hjelp av en laserskriver.
  • Press-n-Peel legges deretter oppå et rent stykke PC-kort og festes med litt tape.
  • PC Board-bildet overføres deretter fra Press-n-Peel til det tomme PC-kortet ved å føre kortet gjennom en laminator. For meg fungerer 10 pasninger best.
  • Etter at PC-kortet er avkjølt til romtemperatur, løftes Press-n-Peel sakte fra brettet.
  • PC -kortet blir deretter etset ved hjelp av ammoniumpersulfatkrystaller oppløst i varmt vann.
  • Etter etsning fjernes den blå Press-n-Peel og svart toneren ved å rengjøre det etsede PC-kortet med litt aceton.
  • Brettet blir deretter kuttet i størrelse med en Dremel
  • Hull for alle gjennomgående hullkomponenter bores med en 1 mm borekrone.
  • Terminalskruekontaktene bores med en 1,2 mm borekrone.

Trinn 12: Montering av PC -kortet

Montering av PC -kortet
Montering av PC -kortet
Montering av PC -kortet
Montering av PC -kortet
Montering av PC -kortet
Montering av PC -kortet
Montering av PC -kortet
Montering av PC -kortet

Montering utføres ved å legge til de minste komponentene først, og jobbe deg opp til de største komponentene.

Alle komponentene som ble brukt i denne instruksjonsboken, unntatt SIM800 -modulen, ble hentet fra min lokale leverandør. Tenker på dem for alltid å ha lager. Ta en titt på deres sørafrikanske websie:

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

MERK! Først loddet de to hopperne under ATMEGA328p IC

Ordren er som følger:

  • Motstander og diode
  • Nullstillknapp
  • IC -kontakter
  • Spenningsregulator
  • Toppstifter
  • Små kondensatorer
  • Lysdioder
  • Sikringsholderen
  • Terminalblokker
  • Reléer
  • Elektrolytiske kondensatorer

Koble enheten til 12V før du setter inn IC -ene, og test alle spenninger for å være riktige.

Til slutt, dekk kobbersiden av PC -kortet med en klar lakk for å beskytte det mot elementene.

Når lakken har tørket, setter du inn IC -ene, men forlater GSM -modulen til AtMega er programmert.

Trinn 13: Programmering av AtMega328p

Programmering av AtMega328p
Programmering av AtMega328p
Programmering av AtMega328p
Programmering av AtMega328p
Programmering av AtMega328p
Programmering av AtMega328p

# # Fastvareoppgradering til versjon 3.02 # #

Aktivert SMS for å bli sendt til MASTER USER når strømmen er gjenopprettet til enheten

Jeg bruker en Arduino Uno med et programmeringsskjerm for å programmere enheten. For mer informasjon om hvordan du bruker en Arduino Uno som programmerer, se denne instruksjonsboken:

Arduino UNO som AtMega328P programmerer

GSM -modulen må fjernes fra PC -kortet for å få tilgang til programmeringsoverskriften. Vær forsiktig så du ikke skader antennekabelen når du fjerner GSM -modulen.

Koble programmeringskabelen mellom programmereren og enheten ved hjelp av programmeringsoverskriften på PC -kortet., Og last opp skissen til enheten.

Den eksterne 12V -forsyningen er ikke nødvendig for å programmere enheten. PC -kortet får strøm fra Arduino via programmeringskabelen.

Åpne den vedlagte filen i Arduino IDE, og programmer den til enheten.

Etter programmeringen, fjern programmeringskabelen og sett inn GSM -modulen.

Enheten er nå klar til bruk.

Trinn 14: Koble til enheten

Koble til enheten
Koble til enheten
Koble til enheten
Koble til enheten
Koble til enheten
Koble til enheten

Alle tilkoblinger til enheten gjøres via skrueterminalene.

Strømforsyning av enheten

Sørg for at du har satt inn et registrert SIM -kort i GSM -modulen, og at SIM -kortet kan sende og motta SMS -meldinger.

Koble en 12V DC strømforsyning til 12V IN og hvilken som helst av 0V -terminalene. Når den er slått på, tennes den røde LED -en på PC -kortet. På omtrent et minutt skulle GSM -modulen ha koblet seg til mobilnettet. Den røde LED -lampen slås av, og en rød LED på GSM -modulen blinker raskt.

Når dette stadiet er nådd, er enheten klar til å konfigureres.

Inngangstilkoblinger

De digitale inngangene fungerer på 12V. For å slå på en inngang må 12V påføres inngangen. Hvis du fjerner 12V, slås inngangen av.

Utgangstilkoblinger

Hver utgang består av en overgangskontakt. Koble opp hver kontakt etter behov.

Trinn 15: Første oppsett

Førstegangs oppsett
Førstegangs oppsett

Første oppsett av enheten må utføres for å sikre at alle parametere er satt til fabrikkinnstillinger, og SIM -kortet er konfigurert til å godta brukerinformasjon i riktig format.

Siden alle kommandoer er SMS -baserte, trenger du en annen telefon for å utføre oppsettet.

For det første oppsettet må du være på enheten.

Still inn MASTER USER telefonnummeret

Siden bare MASTERBRUKEREN kan konfigurere enheten, må dette trinnet først utføres.

  • Enheten må ha strøm.
  • Trykk på og slipp Reset -knappen, og vent til den røde LED -en på PC -kortet slås av.
  • NET -LED -en på GSM -modulen blinker raskt.
  • Enheten er nå klar til å godta de første oppsettskommandoene. Dette må utføres innen 10 minutter.
  • Send en SMS -melding som inneholder MASTER, beskrivelse til enhetens telefonnummer.
  • Hvis den mottas, blinker den grønne LED -en på PC -kortet to ganger.
  • MASTERBRUKEREN er nå programmert.

Gjenopprett enheten til fabrikkinnstillinger

Etter at MASTER USER er programmert, må enhetens innstillinger settes til fabrikkinnstillingene.

  • Send en SMS -melding med bare CLEARALL til enhetens telefonnummer.
  • Hvis den mottas, blinker den grønne og røde LED -en på PC -kortet alternativt en gang i sekundet. Enheten er gjenopprettet med fabrikkinnstillingene.
  • Alle innstillinger er gjenopprettet til fabrikkinnstillinger.
  • Trykk på og slipp Reset -knappen for å starte enheten på nytt.

Formatering av SIM -kortet

Det siste trinnet er å slette all informasjon som er lagret på SIM -kortet, og konfigurere den for bruk i denne enheten.

  • Trykk på og slipp Reset -knappen, og vent til den røde LED -en på PC -kortet slås av.
  • NET -LED -en på GSM -modulen blinker raskt.
  • Enheten er nå klar til å godta de første oppsettskommandoene. Dette må utføres innen 10 minutter.
  • Send en SMS -melding med bare ERASESIM til enhetens telefonnummer.
  • Hvis den mottas, vil den grønne LED -en på PC -kortet blinke med tretider.

Enheten er nå konfigurert og klar til bruk.

Trinn 16: SMS -kommandoer

SMS -kommandoer
SMS -kommandoer

Det er tre forskjellige typer kommandoer som brukes av enheten. Alle kommandoer sendes via SMS, og er alle i følgende format:

KOMMANDO,,,,,

  • Alle kommandoer, unntatt NORMAL USER -kommandoene, er store og små bokstaver.
  • Parametere er ikke store og små bokstaver.

Innledende oppsettskommandoer

MASTER, navn

Telefonnummeret til SMS -avsenderen brukes som MASTER USER -telefonnummeret. en Beskrivelse for enheten kan legges til her.

RYDD ALT

Tilbakestill enheten til fabrikkinnstillingene

SLETT

Slett alle dataene fra SIM -kortet

NULLSTILLE

Start enheten på nytt

MASTER USER Kommandoer for konfigurering av enheten

UTMODE, c, m, t MERK! ! ! IKKE GJENNOMFØRT

Still inn bestemte kanaler for å ha PULSED, TIMED eller LATCHING utganger. t er tidsvarighet i minutter for TIMED -utganger

PULS, cccc

Sett bestemte kanaler til PULSED -utganger. Hvis den ikke er angitt, vil kanaler bli satt som LATCHING -utganger.

PULSETIME, t Angir varigheten av den pulsede utgangen i sekunder (0.. 10s)

INNGANG, cccc

Angi kanaler som må utløses, og send en SMS -melding når tilstanden endres fra AV til PÅ

INPUTOFF, cccc

Angi kanaler som må utløses, og send en SMS -melding når tilstanden endres fra PÅ til AV

INTIME, c, t

Angir forsinkelsestid for inngang for å oppdage statusendringer i sekunder

INTEXT, ch, navn, on, off

Angi navnet på hver inngangskanal, på tekst og tekst

OUTTEXT, ch, navn, på, av

Sett navnet på hver utgangskanal, på tekst og tekst

Legg til, plassering, nummer, infoutganger, SMS -utganger, innganger

Legg brukeren til SIM -kortet på minneplassen, med utgangs- og inngangskanaler tilordnet brukeren

Del, beliggenhet

Slett brukeren fra SIM -kortets 'plassering'

Kanalnavn

Vil pulsere utdataene med navnet ChannelName

ChannelName, onText, or ChannelName, offText

Slår output på/av med navnet ChannelName og onText/offText

Normale brukerkommandoer for å kontrollere enheten

???? Be om I/O -statusoppdatering. Status SMS vil bli sendt til opphavsmannen.

Kanalnavn

Vil pulsere utdataene med navnet ChannelName

Kanalnavn, onText

Slår utgangen på med navnet ChannelName og statustekst onText

Kanalnavn, avTekst Slår utgangen av med navnet Kanalnavn og statustekst av Tekst

For en mer detaljert beskrivelse av kommandoene, se det vedlagte PDF -dokumentet.

Anbefalt: