Need ur hjælpe i min GSM-modem projekt

Y

yahya_shokr

Guest
Kære venner,

Der er mange diskussioner om AFSENDENDE SMS VIA MOBILTELEFON

Lad os nu tale om MODTAGENDE sms og yde et RELAY med 8051 ANSVAR.

NU> Jeg forsøger at forbinde mit 8051 UC wz den T28 Ericsson mobiltelefon til at foretage et smart system, der kan styre mange enheder er afhængige af GSM-netværk allerede er installeret i mit land, og også jeg vælger mobiltelefonen ikke et GSM-modul årsag jeg kan have en mobil billigere at GSM-modul og mobiltelefonen er et venligt enheden til enhver bruger

bare jeg vil sende et ubegrænset antal hjælp af SMS til T28 telefon, tilsluttet til UC så kan jeg læse, at SMS og gøre den rækkefølge jeg skal gøre ved hjælp af relæer eller enhver ting ellers sluttet til UC også

Hvis nogle man har gjort noget ..OM DENNE BRUG 'AT-kommandoer,
kan du dele den

---> Svar og deler kun -----> 8051 med mobiltelefon
(Ikke med GSM-modul og FBUS)

venter på nogle ekspert til at bryde tavsheden om dette emne.
mine resultater indtil nu, er nedenfor.

- reciving sms i tekst-mode er ikke klarer jobbet.at gøre relae med sms.

- Kan være kraftigt behov for at anvende PDU mode.

venligst kommentere og vise vejen Det kan hjælpe en masse forum medlemmer.

- Yahya

 
Hej

Jeg har gjort et projekt, hvor jeg læser sms fra en Nokia 3310 mobil, og brugte den til nogle formål.Men jeg gjort brug af FBUS-protokollen, til at kommunikere med mobiltelefonen.

Nogle grundlæggende oplysninger om, at du kan finde på følgende link:

http://www.embedtronics.com/nokia/fbus.html

Hilsen

Sreejith

 
Du har bedt om flere spørgsmål i denne regard.SO, jeg vil svare én efter én

1.Jeg favor din ide at bruge gamle mobiltelefon i stedet for GSM-modem som gamle mobiltelefon vil koste dig mindre end GSM-modem eller OEM GSM modul og GSM-modem kan ikke være let tilgængelige i lokale marked.
Men sammenknytning mobiltelefon med microcontroller har sine egne problemer, vanskeligheder og komplikationer, at du er nødt til at tage før de går til denne idé, som du ville have til at forstå-protokollen til at få mobiltelefon kommunikere med microcontroller.
GSM-modem med RS-232 kompatibelt interface er ganske nemt at interface med microcontroller og de fleste af GSM modemer støtte næsten alle AT-kommandoer og mobiltelefon kan ikke støtte alle AT-kommandoer.
I det meste arbejde på sammenknytning af GSM-modem med microcontroller og styre det via AT-kommandoer.

Enhver måder om dit problem jeg er stødt på to løsninger:

i.Du kan bruge USB til seriel konverter kabel, så mobile kan
forbundet med USB til seriel konverter cable.However, denne funktion
skal undersøges og praktisk analyseres som jeg har opfattet
denne idé er baseret på mine simulering ved hjælp af Bluetooth-seriel
kommunikationslink.
ii.Alternativt kan du se efter en gammel mobiltelefon gerne Motorola
C168i som kan være direkte forbundet med microcontroller og
understøtter AT kommandoer som godt.
2.Jeg har lavet en simulering i Proteus VSM, der styrer mobiltelefon forbundet med seriel port på min PC via AT-kommandoer via COMPIM Proteus model.
Jeg har brugt dobbelt SIM Kinesisk mobil NKTEL N-66 til dette formål, og det støtter næsten alle AT-kommandoer.
Mobiltelefonen er forbundet med
pc'en via Bluetooth-enhed sluttet til min pc og kommunikerer med bluetooth enhed via seriel kommunikation trådløse forbindelse er etableret af blåt tand sluttet til min pc med blå tand i min mobile.This Bluetooth til trådløs Bluetooth-seriel communcation forbindelse mellem PC og mobil telefon fungerer som en GSM-modem (bygget inde mobiltelefon),
der er forbundet med
pc'en via en kabelforbundet RS-232 link.

3.Jeg har brugt følgende kommando:

AT CMGL = "REC ulæst" <CR>Denne kommandoer læser ulæste beskeder fra mobiltelefonen og skifter LED off som pr kommando kode i nye SMS modtaget i mobiltelefon.
kan du slutte relæ i stedet for mobile lysdioder.
Dette er et meget grundlæggende eller rå form af simulation at demonstrere, hvordan den relæer kan betjenes via SMS bruger mobile phone.There kan scores af andre måder at gøre dette.Koden for denne simulering er:Code:/ / ICC-AVR Application Builder: 6/22/2009 9:22:22 AM

/ / Mål: M32

/ / Crystal: 7.3728Mhz# include <iom32v.h>

# include <macros.h>usignerede CHAR SMSFlag = 0, SMSReadFlag = 0, ButtonPressed = 0;

usignerede int timer0_counter = 0;

usignerede int i = 0, j = 0, K = 0;usignerede CHAR Flag1 = 0, flag2 = 0, flag3 = 0, flag4 = 0, flag5 = 0, flag6 = 0;usignerede CHAR inputBuffer [500];usignerede CHAR cmd_cmgf [] = "AT CMGF = 1 \ r";

usignerede CHAR cmd_cmgl [] = "AT CMGL = \" ALLE \ "";

usignerede CHAR cReturn [] = "\ r";

usignerede CHAR cmd_cmgs [] = "AT CMGS = \" 923005281046 \ "";

usignerede CHAR cmd_AT [] = "AT \ r";

usignerede CHAR cmd_cgmm [] = "AT CGMM \ r";usignerede CHAR testMessage [] = "Hello! dette er Test Message !!!";usignerede CHAR ctrlZ = 0x1A;

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

void delay_1uSec (usignerede int);void delay_1uSec (usignerede int m) / / ca m * 1uSec Delay

(

for (j = 0; j <m; j )

(

for (k = 0; k <8 k )

ASM ( "NOP");

)

)

//************************************************ **********************************************//void port_init (void)

(

PORTA = 0x00;

DDRA = 0x00;

PORTB = 0x01;

DDRB = 0x00;

PORTC = 0x00;

DDRC = 0x0F;

PORTD = 0x00;

DDRD = 0x00;

)/ / TIMER0 initialisere - prescale: 8

/ / Ønskede værdi: 8KHz

/ / Faktiske værdi: 8.014KHz (0,2%)

void timer0_init (void)

(

TCCR0 = 0x00; / / stop

TCNT0 = 0x8D / / sæt count

OCR0 = 0x73; / / sæt sammenligne

TCCR0 = 0x02; / / starte timeren

)# pragma interrupt_handler timer0_ovf_isr: 12

void timer0_ovf_isr (void)

(

TCNT0 = 0x8D / / reload modværdi

timer0_counter ;/ / if (ButtonPressed == 1)

/ / PORTC = 0x0F | PORTC;)/ / UART0 initialisere

/ / Ønskede baudhastighed: 57600

/ * ************************************************ ************************ * /void uart0_init (void)

(

UCSRB = 0x00; / / deaktivere mens fastsættelsen baudhastighed

UCSRA = 0x00;

UCSRC = bit (URSEL) | 0x06;

UBRRL = 0x07; / / sæt baudhastighed lo

UBRRH = 0x00; / / sæt baudhastighed hi

UCSRB = 0x18;

)///////////////////////// UART data modtage rutinemæssige ///////////////////// /////

usignerede CHAR ReceiveByte (void)

(

while (! (UCSRA & bit (RXC)));

tilbagevenden Udr;

)

///////////////////////// UART data fremsender rutinemæssige ///////////////////// /////

void SEND_CHAR_UART (CHAR ch)

(

while (! (UCSRA & bit (UDRE)));

Udr = ch;

)

//*----------------------------------------------- -----------------------------*//

void SendStr (char * ch)

(

while (* ch! = 0x00)

SEND_CHAR_UART (* CH );

)

/*------------------------------------*// / kalder denne rutine at initialisere alle periferienheder

void init_devices (void)

(

/ / stop omstrejfende interrupts indtil der er nedsat

CLI () / / deaktivere alle interrupts

port_init ();

timer0_init ();

uart0_init ();MCUCR = 0x00;

GICR = 0x00;

TIMSK = 0x01; / / timeren afbryder kilder

SEI () / / genaktivere interrupts

/ / alle enheder er nu initialiseret

)

/ /

void Main (void)

(

init_devices ();

/ / indsætte dine funktionelle kode her ...//*************************************

/ / Set Text Mode

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

for (i = 0; i <sizeof (cmd_cmgf) i )

SEND_CHAR_UART (cmd_cmgf );

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

for (i = 0; i <sizeof (cmd_AT) i )

SEND_CHAR_UART (cmd_AT );

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

for (i = 0; i <sizeof (cmd_cgmm) i )

SEND_CHAR_UART (cmd_cgmm );

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

delay_1uSec (90000);/ / AT CMGL = "alle"/ / SEND_CHAR_UART ( 'A');

/ / SEND_CHAR_UART ( 'T');

/ / SEND_CHAR_UART (' ');

/ / SEND_CHAR_UART ( 'C');

/ / SEND_CHAR_UART ( 'M');

/ / SEND_CHAR_UART ( 'G');

/ / SEND_CHAR_UART ( 'L');

/ / SEND_CHAR_UART ('=');

/ / SEND_CHAR_UART ('"');

/ / SEND_CHAR_UART ( 'A');

/ / SEND_CHAR_UART ( 'L');

/ / SEND_CHAR_UART ( 'L');

/ / SEND_CHAR_UART ('"');/ / for (i = 0; i <sizeof (cReturn) i )

/ / SEND_CHAR_UART (cReturn );//***************************************

delay_1uSec (90000);

delay_1uSec (90000);

/ / AT CMGS = " 923005281046"

/ / SEND_CHAR_UART ( 'A');

/ / SEND_CHAR_UART ( 'T');

/ / SEND_CHAR_UART (' ');

/ / SEND_CHAR_UART ( 'C');

/ / SEND_CHAR_UART ( 'M');

/ / SEND_CHAR_UART ( 'G');

/ / SEND_CHAR_UART ( 'S');

/ / SEND_CHAR_UART ('=');

/ / SEND_CHAR_UART ('"');

/ / SEND_CHAR_UART (' ');

/ / SEND_CHAR_UART ('9 ');

/ / SEND_CHAR_UART ('2 ');

/ / SEND_CHAR_UART ('3 ');

/ / SEND_CHAR_UART ('0 ');

/ / SEND_CHAR_UART ('0 ');

/ / SEND_CHAR_UART ('5 ');

/ / SEND_CHAR_UART ('2 ');

/ / SEND_CHAR_UART ('8 ');

/ / SEND_CHAR_UART ('1 ');

/ / SEND_CHAR_UART ('0 ');

/ / SEND_CHAR_UART ('4 ');

/ / SEND_CHAR_UART ('6 ');

/ / SEND_CHAR_UART ('"');/ / SEND_CHAR_UART (13); / / Carriage Return/ / delay_1uSec (90000);/ / for (i = 0; i <sizeof (testMessage) i )

/ / SEND_CHAR_UART (testMessage );/ / SEND_CHAR_UART (26); / / CTRL-Z/ / delay_1uSec (90000);

/ ///***************************************delay_1uSec (90000);SEND_CHAR_UART ( 'A');

SEND_CHAR_UART ( 'T');

SEND_CHAR_UART (' ');

SEND_CHAR_UART ( 'C');

SEND_CHAR_UART ( 'M');

SEND_CHAR_UART ( 'G');

SEND_CHAR_UART ( 'L');

SEND_CHAR_UART ('=');

SEND_CHAR_UART ('"');SEND_CHAR_UART ( 'R');

SEND_CHAR_UART ( 'E');

SEND_CHAR_UART ( 'C');

SEND_CHAR_UART ( '');

SEND_CHAR_UART ( 'U');

SEND_CHAR_UART ( 'N');

SEND_CHAR_UART ( 'R');

SEND_CHAR_UART ( 'E');

SEND_CHAR_UART ( 'A');

SEND_CHAR_UART ( 'D');

SEND_CHAR_UART ('"');SEND_CHAR_UART (13); / / Carriage Returndelay_1uSec (90000);j = 0;

mens (1)

(

inputBuffer [j] = ReceiveByte ();if (inputBuffer [j ]=='@')

Flag1 = 1;hvis ((inputBuffer [j ]=='@')&& (Flag1 == 1))

flag2 = 1;hvis ((inputBuffer [j ]=='@')&& (flag2 == 1))

flag3 = 1;hvis ((inputBuffer [j] == 'O') & & (flag3 == 1))

flag4 = 1;hvis ((inputBuffer [j] == 'F') & & (flag4 == 1))

flag5 = 1;hvis ((inputBuffer [j] == 'F') & & (flag5 == 1))

flag6 = 1;j ;if (flag6 == 1)

break;)delay_1uSec (90000);if (flag6 == 1)

(

PORTC | = 0x0F;Flag1 = 0;

flag2 = 0;

flag3 = 0;

flag4 = 0;

flag5 = 0;

flag6 = 0;

)delay_1uSec (90000);

/ / delay_1uSec (90000);

/ / delay_1uSec (90000);PORTC = PORTC &0x00;mens (1)

())
 
takket eng.Yasir men jeg vil huske dig om, at jeg er nødt til at bruge
8.051 familie og også i cant find enhver anden telefon arbejde wz serielle port men Ericsson T28

 
yahya_shokr wrote:

takket eng.
Yasir men jeg vil huske dig om, at jeg er nødt til at bruge 8.051 familie og også i cant find enhver anden telefon arbejde wz serielle port men Ericsson T28
 

Welcome to EDABoard.com

Sponsor

Back
Top