gsm-modemet, telefoner, gir en lavpris, lang rekkevidde, trådløs kommunikasjonskanal for innebygde, mikrokontrollerbaserte applikasjoner som trenger tilkobling i stedet for høye datahastigheter. Maskiner som industrielle kjøleskap, frysere, HVAC, overvåking og salgsautomater, kjøretøy service, varslingssystem, sikkerhetssystem, fjernkontroll etc. kan ha nytte av å være koblet til ET GSM-modem.
denne veiledningen beskriver hvordan du bruker EN AVR til å styre ET gsm-modem ved hjelp av at-kommandoer. Grensesnittet mellom modem og vert er en tekstlig protokoll kalt At-Kommandoer. Disse kommandoene aktivere GSM modem oppsett, oppringing, tekstmeldinger etc. Denne spesielle applikasjonen kobler en Avr ATmega8 OG SIM300, SIM900-modul ved hjelp AV EN RS232-tilkobling. DE FLESTE GSM-modemer har samme at-kommandoer.
Innhold
* Poeng å vurdere når du velger GSM-modem
* Grensesnitt TIL GSM-modemer•
* Implementering av At-Command-sett.
* PDU streng komprimering og dekompresjon.
• SMS-overføring, hvordan du sender og mottar.
Typer GSM-Modemer
det er mange GSM-modemer er tilgjengelige I markedet Simcom SIM300, SIM900 OG Quectel M10. lar gjennomgang på funksjonene
Poeng å vurdere når du velger GSM Modem
det er MAI GSM modemer tilgjengelig i markedet DISSE ER SIM300, SIM900 OG SIM900A, Quectel M10 er mye pålitelig og litt kostbart. SIM300 er eldre modem nå blir det absolutt.
- Krav Til Strømforsyning
- Tilgjengelig grensesnitt UART (TTL) eller RS232
- Størrelse
- Pris
- lydgrensesnitt (MIKROFON / SPK)
Strømforsyning Krav
De FLESTE gsm-modem krever 4.2 V å operere, og de er kompatible MED 5V og 3.3 v noen modemer er også tilgjengelig i 3.3 V. avhengig av microcontroller kravet velge riktig modem. GSM-modem krever mer strøm mens du sender SMS, ringer og under registrering på nettverket. Husk alltid bruk 2 Amp Strømforsyning. De fleste nye mennesker gjør feil i å velge riktig strømforsyning dette vil føre til problem eller modem reset mens du sender SMS.
Tilgjengelig grensesnitt UART (TTL) eller RS232
Som vi bruker Avr ATmega8, foretrekker VI TTL UART-Grensesnitt. De FLESTE Gsm-Modem har RS232 Og UART (TTL) Grensesnitt.
Få GSM-Modem kommer OGSÅ MED USB-Grensesnitt når DU kobler GSM-Modem TIL PC-BRUK USB-Grensesnitt. Det eliminerer BEHOVET FOR USB til seriell omformer og få modemer ER USB-drevet, så det er ikke behov for ekstern strømforsyning.
Størrelse, Pris
Størrelse og pris på hvert modem varierer basert på produsentens bruk av eksterne komponenter.
Audio Interface (MIC/SPK)
Audio interface er nødvendig hvis du bruker GSM-Modem til å ringe eller til grensesnitt MED DTMF dekoder for Å lage IVRS system.
GSM Modem Grensesnitt
før vi kobler Ut ATmega8 MED GSM modem kan ta en titt på ulike GSM-Modemer. Disse ALLE GSM-modem har gprs evne det er ikke behov for separat gprs modem.
Som du ser i Dette Quectel M10 GSM-modemet, har Vi ikke tilgang til ttl (Rx, Tx) – tilkobling vi trenger RS232 Nivåomformer konstruert VED HJELP AV MAX232.

SIM300 er absolutt vi kan ikke få dette i markedet. Den bruker lm317 lineær regulator for å gjøre strømforsyningen, det er bedre Å ha DC-DC-omformer eller bryteregulator for best resultat.

Vi skal bruke DETTE gsm-modemet. Det har TTL Rx, Tx-Utgang . Grensesnitt AV GSM-Modem med mikrokontroller er bare å koble disse Rx, Tx linjer Med Mikrokontrollere UART.

Gsm-Modemtilkoblinger Med ATmega8

At-Kommandoer
protokollen som brukes av gsm-modemer FOR OPPSETT OG KONTROLL, er basert på at-kommandosettet. Gsm-modem spesifikke kommandoer er tilpasset tjenestene som tilbys AV ET GSM-modem som: tekstmeldinger, ringe et Gitt Telefonnummer, slette minnesteder etc. Siden hovedmålet for denne opplæringen er å vise hvordan du sender og mottar tekstmeldinger, må bare en delmengde AV At-Command-settet implementeres. European Telecommunication Standard Institute (Etsi) GSM 07.05 definerer At-Command-grensesnittet for GSM-kompatible modemer. I denne opplæringen noen utvalgte kommandoer er valgt, og presenteres kort i denne delen. Denne kommandoen delsett vil gjøre det mulig for modemet å sende OG motta SMS-meldinger.
kommandoene kan prøves ut ved å koble ET GSM-modem til EN AV PCENS COM-porter. Bruk hyper terminal Eller Seriell Terminal Programvare for å gi at-kommandoer TIL GSM-Modem.
Kommando | Beskrivelse |
På | Sjekk om serielt grensesnitt og GSM-modem fungerer. |
ATE0 | Slå av ekko, mindre trafikk på seriell linje. |
PÅ + CMTI | Visning av ny innkommende SMS. |
AT + CPMS | Valg AV SMS-minne. |
PÅ + CMGF | SMS strengformat, hvordan de komprimeres. |
På + CMGR | Les ny melding fra en gitt minneplassering. |
AT + CMGS | Send melding til en gitt mottaker. |
På + CMGD | Slett melding. |
Status (AT)
kommandoen «AT» er en statusforespørsel som brukes til å teste om et kompatibelt modem er tilkoblet og at det serielle grensesnittet fungerer som det skal.
Kommando: «AT»
Svar:»OK»
Tilkoblet og arbeider
Svar: «FEIL»
SERIELL linje OK modemfeil
Ekko av (ATE0)
KOMMANDOEN» ATE0 » brukes til å konfigurere kommunikasjonen. SOM standard er GSM-modemer satt til å ekko alle mottatte kommandoer tilbake med en bekreftelse.
med echo off, «ATE0″, ville modemet ha svart» OK «når det ble utført»AT». Echo off-kommandoen vil redusere trafikken på seriell linje. KOMMANDOEN» ATE1 » vil aktivere ekko igjen.
ATE0
hold alltid ekko av «ATE0» for å forenkle seriell kommunikasjon med kontrolleren.
AT+CMGF Velg SMS-Meldingsformat
kommandoen «AT + CMGF» brukes til å angi inngangs-og utdataformat FOR SMS-meldinger. To moduser er tilgjengelige:
• Tekstmodus: lesing OG sending AV SMS gjøres i ren tekst.
Sett alltid Den Til Tekstmodus for enkelhet
VED+CMGF=1
0 ER PDU-modus, 1 er tekstmodus.
Les Melding (AT+CMGR)
kommandoen» AT+CMGR » brukes til å lese en melding fra en gitt minneplassering. Utførelse av «AT + CMGR» returnerer en melding på fra valgt minne .
for eksempel lesing fra plassering 1
AT+CMGR=1
Skriv Melding til minne (AT + CMGW)
denne kommandoen lar brukeren sende SMS-meldinger.
AT+CMGW=1 //Skriver melding til plassering 1
Send SMS-Melding Fra Lagring (AT+CMSS)
Sender lagret sms.
AT+CMSS=1 //Send SMS fra sted 1
Sms Sending ved Hjelp Av Avr Microcontroller Code
i din hoved() subrutine initialiser seriell og ring sendSMS() for å sende SMS
void sendSMS(){ senddata("AT+CMGD=1"); USART_Transmit(13); USART_Transmit(10); delay_ms(1000); senddata("AT+CMGF=1"); USART_Transmit(13); USART_Transmit(10); delay_ms(1000); senddata("AT+CMGW="); USART_Transmit(34); senddata("+919812345678"); //Enter Your Mobile number USART_Transmit(34); USART_Transmit(13); USART_Transmit(10); delay_ms(1000); senddata("Alert: Fire Detected"); USART_Transmit(13); USART_Transmit(10); delay_ms(1000); USART_Transmit(26); //Cntrl+Z delay_ms(1000); delay_ms(1000); senddata("AT+CMSS=1"); USART_Transmit(13); USART_Transmit(10); delay_ms(1000);}void delay_ms(unsigned int de){unsigned int rr,rr1; for (rr=0;rr<de;rr++) { for(rr1=0;rr1<30;rr1++) //395 { asm("nop"); } }}void USART_Transmit(char data ){ UDR = data; /* Wait for empty transmit buffer */ while ( !( UCSRA & (1<<UDRE)) ) ; /* Put data into buffer, sends the data */}void senddata(char string){ int len,count; len = strlen(string); for (count=0;count<len;count++) { USART_Transmit(string); }}void USART_Init(){/* Set baud rate */ UBRRH = 0x00; //12, 9600 Baud At 1MHz UBRRL =12; //Set double speed enabled UCSRA |= (1<<U2X);/* Enable receiver and transmitter */ UCSRB = (1<<RXEN)|(1<<TXEN);/* Set frame format: 8data, 2stop bit */ UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);//Set interrupt on RX// UCSRB |= (1<<RXCIE);}
Sende SMS ved Hjelp Av Arduino
void setup() { Serial.begin(9600);}void loop() { sendSMS(); //Send SMS delay(5000); //Wait for few seconds}void sendSMS(){ Serial.println("AT+CMGD=1"); //Delete privious sent SMS delay(1000); Serial.println("AT+CMGF=1"); //Set SMS configuration delay(1000); Serial.print("AT+CMGW="); //Write New SMS Serial.write(34); //Double quotes ASCII Code Serial.print("+9198--------"); //Enter Your Mobile number Serial.write(34); Serial.println(); //Send Crrige return delay(1000); Serial.println("Your message here"); //SMS Message to be sent delay(1000); Serial.write(26); //Cntrl+Z character code delay(1000); delay(1000); Serial.println("AT+CMSS=1"); //Send SMS from memory location 1 delay(4000);}
nå er DET klart at nå kan vi sende sms med arduino OG AVR MICROCONTROLLER Med Enkelt SERIELT grensesnitt med gsm-modem.