Innholdsfortegnelse:
- Trinn 1: Strømforsyning
- Trinn 2: Digitale innganger
- Trinn 3: Digitale utganger
- Trinn 4: Mikrocontroller -oscillator
- Trinn 5: LED -indikatorer
- Trinn 6: Tilbakestill krets for mikroprosessor
- Trinn 7: SIM800L -modul
- Trinn 8: Mikrokontrolleren
- Trinn 9: Optimalisering av SRAM -minne
- Trinn 10: Programvarens serielle bufferstørrelse
- Trinn 11: Lag PC -kortet
- Trinn 12: Montering av PC -kortet
- Trinn 13: Programmering av AtMega328p
- Trinn 14: Koble til enheten
- Trinn 15: Første oppsett
- Trinn 16: SMS -kommandoer
Video: Arduino -basert GSM/SMS fjernkontrollenhet: 16 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
! ! ! 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
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
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
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
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
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
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
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:
PÅ
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 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
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
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
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 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
# # 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
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ø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
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:
Sender sms hvis det oppdages røyk (Arduino+GSM SIM900A: 5 trinn
Sender sms hvis det oppdages røyk (Arduino+GSM SIM900A: Hei alle sammen! I min første instruks skal jeg lage en gassalarm som sender melding til brukeren hvis forurensning oppdages. Dette vil være en enkel prototype ved bruk av Arduino, GSM -modul og elektrokjemisk røykføler. I fremtiden kan dette utvides til
Sender SMS med Arduino -- TC35 GSM -modul: 5 trinn
Sender SMS med Arduino || TC35 GSM -modul: I dette lille prosjektet vil jeg vise deg hvordan du bruker en TC35 GSM -modul riktig og hvordan du bruker den med en Arduino Uno for å sende en SMS med den
Personlig GSM -alarmsystem - SMS -modul SIM900A, Arduino: 3 trinn
Personlig GSM -alarmsystem - SMS -modul SIM900A, Arduino: Et par ganger i måneden tar jeg med min gamle tante til den lokale kirken. Noen ganger tar gudstjenesten mye lengre tid, og sluttiden er vanskelig å forutsi. Så etter noen få halvtimes venting tenkte jeg at det ville være bedre hvis hun kunne advare meg om at tjenesten hadde
SMS -dørsikkerhetssystem ved bruk av GboardPro (GSM Cum Arduino Mega): 4 trinn
SMS -dørsikkerhetssystem ved bruk av GboardPro (GSM Cum Arduino Mega): Dette er et enkelt, men veldig nyttig hjemmesikkerhetsvarsel DIY -prosjekt. Jeg gjorde dette prosjektet på grunn av tyveri på kontoret mitt
Slik bruker du SIM800L til å sende SMS og kontrollere relé via SMS: 3 trinn
Slik bruker du SIM800L til å sende SMS og kontrollere relé via SMS: Beskrivelse: Denne opplæringen viser hvordan du bruker SIM800L til å sende sms og motta sms for å kontrollere relé. SIM800L -modulen er liten i størrelse og kan brukes til å koble til Arduino for å sende sms, motta sms, ringe, motta anrop og annet. I denne opplæringen