Circuits4you.com

GSM-modeemi, puhelimet tarjoaa edullisen, pitkän kantaman, langattoman viestintäkanavan sulautetuille, mikrokontrolleripohjaisille sovelluksille, jotka tarvitsevat liitettävyyttä korkean datanopeuden sijaan. Koneet, kuten teollisuuden jääkaapit, pakastimet, LVI-laitteet, valvonta-ja myyntiautomaatit, ajoneuvojen huolto, varoitusjärjestelmä, turvajärjestelmä, kaukosäädin jne. voisi hyötyä siitä, että on liitetty GSM-modeemiin.

tässä opetusohjelmassa kuvataan, miten AVR: ää käytetään GSM-modeemin ohjaamiseen AT-komennoilla. Modeemin ja isännän välinen käyttöliittymä on tekstuaalinen protokolla, jota kutsutaan AT-komennoiksi. Nämä komennot mahdollistavat GSM-modeemin asennuksen, soittamisen, tekstiviestin jne. Tämä erityinen sovellus yhdistää AVR ATmega8 ja SIM300, SIM900 moduuli käyttäen RS232 yhteys. Useimmissa GSM-modeemeissa on sama AT-komento.

sisältö

* GSM-modeemia valittaessa huomioon otettavat seikat
* liitäntä GSM-modeemeihin.
* komentosarjan käyttöönotto.
• PDU string compression and dekompression.
* TEKSTIVIESTILÄHETYS, miten lähetetään ja vastaanotetaan.

tyypit GSM-modeemit

monia GSM-modeemeja on saatavilla markkinoilla Simcom SIM300, SIM900 ja Quectel M10. Tarkastellaanpa sen ominaisuuksia

Points to consider while selecting while selecting GSM Modem

There are may GSM modems available in market these are SIM300, SIM900 and SIM900A, Quectel M10 is much reliable and a little bit Call. SIM300 on vanhempi modeemi nyt se on tulossa ehdoton.

  1. Virransyöttötarve
  2. käytettävissä oleva liitäntä UART(TTL) tai RS232
  3. koko
  4. Hinta
  5. ääniliitäntä (MIC / SPK)

Virransyöttövaatimus

useimmat GSM-modeemit tarvitsevat toimiakseen 4.2 V: n ja ne ovat yhteensopivia 5V: n ja 3.3 V: n kanssa jotkut modeemit ovat saatavilla myös 3.3 V: ssä.valitse mikrokontrollerivaatimuksesta riippuen oikea modeemi. GSM-modeemi vaatii enemmän virtaa tekstiviestien lähettämisen, puhelun soittamisen ja verkkoon rekisteröitymisen aikana. Muista aina käyttää 2 Amp: n virtalähdettä. Useimmat uudet ihmiset tekevät virheitä valitsemalla oikea virtalähde tämä aiheuttaa ongelmia tai modeemin nollaus lähetettäessä SMS.

Available interface UART (TTL) or RS232

koska käytämme AVR ATmega8: aa, suosimme TTL UART-liitäntää. Useimmissa GSM-modeemeissa on RS232-ja UART (TTL) – liitäntä.

harvassa GSM-modeemissa on myös USB-liitäntä, kun liität GSM-modeemin tietokoneeseen, käytä USB-liitäntää. Se poistaa tarpeen USB serial muunnin ja harvat modeemit ovat USB powered joten ei tarvitse ulkoista virtalähdettä.

koko, Hinta

kunkin modeemin koko ja hinta vaihtelevat sen mukaan, miten valmistaja käyttää ulkoisia komponentteja.

ääniliitäntä (MIC/SPK)

ääniliitäntä vaaditaan, jos käytät GSM-modeemia puhelujen soittamiseen tai liittymistä DTMF-dekooderiin IVRS-järjestelmän tekemiseksi.

GSM-modeemin rajapinta

ennen kuin yhdistämme ATmega8: n GSM-modeemin kanssa, katsotaan erilaisia GSM-modeemeja. Nämä kaikki GSM-modeemit ovat GPRS-valmiuksia erillistä GPRS-modeemia ei tarvita.

kuten näette tässä Quectel M10 GSM-modeemissa, meillä ei ole pääsyä TTL (Rx, Tx) – yhteyteen, tarvitsemme RS232-Tasomuuntimen, joka on rakennettu MAX232: lla.

Kekteli M10
Kekteli M10

SIM300 on absoluuttinen emme välttämättä saa tätä markkinoille. Se käyttää LM317 lineaarinen säädin tehdä sen virtalähde, on parempi olla DC-DC-muunnin tai kytkentä säädin parhaat tulokset.

SIM300-modeemi
SIM300-modeemi

aiomme käyttää tätä GSM-modeemia. Se on ottaa TTL Rx, Tx Lähtö . GSM-modeemin liittäminen mikrokontrolleriin on vain näiden RX -, Tx-linjojen liittäminen mikrokontrollereihin UART.

SIM900A GSM-modeemi
SIM900A GSM-modeemi

GSM-modeemiyhteydet ATmega8

GSM-modeemi-liitännät
GSM-modeemi-liitännät

komennoilla

GSM-modeemien asennukseen ja ohjaukseen käyttämä protokolla perustuu at-käskyjoukkoon. GSM-modeemin tietyt komennot mukautetaan GSM-modeemin tarjoamiin palveluihin, kuten tekstiviesteihin, tiettyyn puhelinnumeroon soittamiseen, muistipaikkojen poistamiseen jne. Koska tämän opetusohjelman päätavoitteena on näyttää, miten tekstiviestejä lähetetään ja vastaanotetaan, vain KOMENTOJOUKON osajoukko on toteutettava. European Telecommunication Standard Institute (ETSI) GSM 07.05 määrittelee GSM-yhteensopivien modeemien KOMENTOLIITTYMÄN. Tässä opetusohjelmassa valitaan joitakin valittuja komentoja, jotka esitetään lyhyesti tässä osiossa. Tämä komentoalajoukko mahdollistaa modeemin tekstiviestien lähettämisen ja vastaanottamisen.

komentoja voi kokeilla liittämällä GSM-modeemin johonkin tietokoneen COM-porttiin. Käytä hyper-päätettä tai mitä tahansa Sarjapääteohjelmistoa antaaksesi komentoja GSM-modeemille.

komento kuvaus
kohdassa tarkista, toimivatko sarjaliitäntä ja GSM-modeemi.
ATE0 Sammuta kaiku, vähemmän liikennettä sarjaradalla.
+ CMTI uuden saapuvan tekstiviestin näyttö.
+ CPM Tekstiviestimuistin valinta.
AT + CMGF SMS string format, miten ne pakataan.
kohdassa + CMGR Lue uusi viesti tietystä muistipaikasta.
AT + CMGS Lähetä viesti tietylle vastaanottajalle.
kohdassa + CMGD poista viesti.

Status (AT)

” AT ” – komento on tilapyyntö, jota käytetään testattaessa, onko yhteensopiva modeemi kytketty ja toimiiko sarjaliitäntä oikein.

Command: ”AT”
Response: ”OK”
Connected and working
Response: ”Virhe ”
Sarjarivi OK modeemin virhe

kaiku pois (ATE0)

” ate0 ” – komentoa käytetään tiedonsiirron configointiin. Oletuksena GSM-modeemit on asetettu kaikumaan kaikki vastaanotetut komennot takaisin kuittauksella.

kaiku pois päältä, ”ATE0″, modeemi olisi vastannut” OK ”suoritettaessa”AT”. Echo off-komento vähentää liikennettä sarjaradalla. ”ATE1” – komento mahdollistaa Echon uudelleen.

ate0

pidä kaiku aina pois ”ATE0”: sta sarjaviestinnän yksinkertaistamiseksi ohjaimella.

AT + CMGF Select SMS Message Format

komentoa ”at + CMGF” käytetään tekstiviestien Tulo-ja tulostusmuodon määrittämiseen. Käytössä on kaksi tilaa:

• PDU-tila: tekstiviestien lukeminen ja lähettäminen tapahtuu erityisessä koodatussa muodossa.

* Tekstitila: tekstiviestien lukeminen ja lähettäminen tapahtuu selkotekstinä.

aseta se aina tekstitilaan yksinkertaisuuden vuoksi

AT + CMGF=1

0 on PDU-tila, 1 on Tekstitila.

Lukuviesti (AT+CMGR)

komentoa ”AT+CMGR” käytetään viestin lukemiseen tietystä muistipaikasta. Suoritus ” AT + CMGR ”palauttaa viestin valittuun muistiin.

esimerkiksi lukeminen paikasta 1

AT + CMGR=1

Kirjoita viesti muistiin(AT+CMGW)

tämä komento antaa käyttäjälle mahdollisuuden lähettää tekstiviestejä.

AT + CMGW=1 / / kirjoittaa viestin paikkaan 1

Lähetä tekstiviesti varastosta (AT+CMSS)

lähettää tallennetun tekstiviestin.

AT+CMSS=1 //Send SMS from location 1

SMS Sending using AVR Microcontroller Code

in your main() aliohjelma initialize serial and call sendSMS() to send 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);}

Sendsms () to senduino

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);}

Now it is clear that nyt voimme lähettää tekstiviestejä Arduino-ja AVR-mikrokontrollerilla, jossa on yksinkertainen sarjaliitäntä GSM-modeemilla.

Vastaa

Sähköpostiosoitettasi ei julkaista.