Discussion in "Embedded GSM Development" started by    muahaha_psp    Apr 6, 2010.
Tue Apr 06 2010, 07:18 AM
#1
hi, can i ask a question...i have a circuit that consist from a sim300 gsm module that connected to pic16f877a by using max232. my circuit design is to detect if an sensor is triggered (ir), then the microcontroller will send sms to the user. i have acomplished this feature and my other problem is i cannot send sms to the microcontroller to switch on a relay to trigger a 5v relay that connected to my output (light). can u help me?
Tue Apr 06 2010, 08:09 AM
#2
post your program here for more help.

what are AT Commands you are using for this job...

[Topic moved to Embedded GSM Development Forum]
Tue Apr 06 2010, 08:20 AM
#3
this is my program.

#include <16f877A.h> //ic driver
#use delay(clock=20000000) //clock speed
#fuses hs,noprotect,nowdt,nolvp //ic setting
#use rs232 (baud=115200,xmit=PIN_C6,rcv=PIN_C7,PARITY=N,stream=GSM) //Serial Com Port for GSM

#byte PORTA=5 //define port address
#byte PORTB=6
#byte PORTC=7

#define led1 PIN_A0 //define pin
#define led2 PIN_A1
#define InfraRed PIN_B0
#define buzzer PIN_C0
#define light PIN_C1


//sensor
long timer=0;
int alarm=0;



//GSM register
int GSM_getsms=0;

//Serial register
char rx_buff;
char rx[80];
int rx_set=0;
int rx_cnt=0;

#int_rda //Serial interrupt to collect gsm data
void serial_isr (){

rx_buff=getc(); //collect sms command
if(rx_buff==0x0A){ //start byte
rx_cnt=0; //reset counter
}
rx[rx_cnt]=rx_buff; //move received data to array
rx_cnt++; //counter +1

if(rx[0]==0x0A && rx_buff==0x0D){ //end byte receive
rx[0]=0;
rx_set=1; //valid set data received
}
}

void main () //main program
{

set_tris_a(0x00); //define io pin; 1:input;0:output
set_tris_b(0xFF); //A0-A3:output,B0-B5:input,c0-c2:output
set_tris_c(0x00);

port_b_pullups(true); //enable pull up at port b

setup_port_a(NO_ANALOGS); //no analog signal

PORTA=0; //off all leads
PORTB=1;
PORTC=0; //off all portc output

enable_interrupts(GLOBAL);

fprintf(GSM,"AT+CMGD=1\r"); //Delete message, \r: return key
delay_ms(1000);

do
{
{
if(input(InfraRed)==0){
delay_ms(1000);
fprintf(GSM,"AT+CMGS=\"+60137546293\"");
fputc(0x0D,GSM); // command for enter
delay_ms(1000);
fprintf(GSM,"Infrared Sensor Activated : House Door Opened! ");
fputc(0x1A,GSM); // command for ctrl+Z
delay_ms(1000);
fputc(0x0D,GSM); // command for enter
delay_ms(1000);
output_low(InfraRed); // Switch off InfraRed PORT
fprintf(GSM,"AT+CMGD=1");
delay_ms(1000);
fputc(0x0D,GSM);
delay_ms(1000);
}

if(input(InfraRed)==0){
alarm=1;
}
if(input(InfraRed)==1){
alarm=0;
}
if(input(InfraRed)==0){
output_high(led1);
}
if(input(InfraRed)==1){
output_low(led1);
}
if(alarm==1){
output_high(buzzer);
}
if(alarm==0){
output_low(buzzer);
}


if(rx_set==1){
rx_set=0; //reset

if(rx[3]=='T' && rx[4]=='I'){ //SMS received +CMTI: "SM",1
printf("AT+CMGR=1\r"); //Get SMS
}
if(GSM_getsms==1){ //Get Message
GSM_getsms=0;


if(rx[1]=='1'){ // Light

if(rx[2]=='0'){
output_low(light);
output_low(led2);
}
if(rx[2]=='1'){
output_high(light);
output_high(led2);
}
}
}

delay_ms(2000); //wait for GSM process
printf("AT+CMGD=1\r"); //Free memory
delay_ms(1000);
}

if(rx[3]=='G' && rx[4]=='R'){ //Prepare get SMS +CMGR:
GSM_getsms=1;
}

rx[4]=0; //Free memory
rx[5]=0;
}

timer++;
}while(TRUE);
}



i use ccs programming for this.....the idea is to send sms to trigger certain relay like example to on light bulb,...can anybody help me? about the sms that microcontroller send to user handphone to inform about the sensor triggerd i've already accomplished..only this one keep delaying my work..ur opinion is greatly needed...

Get Social

Information

Powered by e107 Forum System

Conversation

ExperimenterUK
Sun Feb 04 2018, 09:38 PM
Hi Dave. Good to see you.
DavesGarage
Tue Jan 09 2018, 07:55 PM
It's been a few years since I poked around here - Hi all...
ExperimenterUK
Mon Jan 08 2018, 07:19 PM
Hi TPS. it's been a while..
۞ TPS ۞
Sun Jan 07 2018, 06:42 PM
hello
Thu Jan 04 2018, 01:50 PM
sayyad affrid
its AT89S52
Thu Jan 04 2018, 01:50 PM
sayyad affrid
sir, i want embedded c code for ultrasonic sensor having buzzer interfaced with AT9S52
Mon Dec 18 2017, 08:12 PM
zafir
i am making digital voltmeter using AT89C51, ADC and LCD 16x2,,, kindly someone please send me hex file in assembly language
Fri Dec 15 2017, 12:18 PM
mehari
can not find dhtxx.md file in proteus 8.0 can anybody help me please?
sahar7478
Fri Dec 08 2017, 12:47 PM
can i get gsm a6 library? can anybody help? tia
Faiqa
Sat Nov 25 2017, 08:32 AM
Can i get the code of Monitering and controlling of green house effect? ... Can anyone help me ?

Downloads

Comments

justotemon
Sat Feb 17 2018, 07:14 AM
nicolekristen
Fri Feb 16 2018, 12:19 PM
pavithrann
Wed Feb 14 2018, 04:46 PM
Tue Feb 13 2018, 03:18 PM
SDN1964
Sun Feb 11 2018, 12:00 PM
Nickynet
Sat Feb 10 2018, 11:02 PM
paulfjujo
Thu Feb 08 2018, 09:01 AM
holdthedoor264
Tue Feb 06 2018, 06:49 AM

Online

Guests: 56, Members: 0 ...

most ever online: 182184
(Members: , Guests: 182184) on 06 Aug 2010: 05:37 AM

Members: 37963
Newest member: justotemon
Forum Activity
ExperimenterUK Avatar
Posted By ExperimenterUK
Wed Feb 14 2018, 08:43 PM
>strange to don't define the way Write or Read..fo...
paulfjujo Avatar
Posted By paulfjujo
Wed Feb 14 2018, 02:25 PM
hello,Thank for your answer, but today i wrote thi...
ExperimenterUK Avatar
Posted By ExperimenterUK
Tue Feb 13 2018, 09:43 PM
Glad you sorted it.I'm sure you will remember if f...
ExperimenterUK Avatar
Posted By ExperimenterUK
Tue Feb 13 2018, 09:38 PM
>When i initialise UART_Init (9600); i get error=1...
Martinv Avatar
Posted By Martinv
Tue Feb 13 2018, 09:26 PM
Mmmm feel quite silly, but learned a lot. I must ...
ExperimenterUK Avatar
Posted By ExperimenterUK
Tue Feb 13 2018, 08:07 PM
Can you zip and attach your full code.Using a seco...
paulfjujo Avatar
Posted By paulfjujo
Tue Feb 13 2018, 12:28 PM
hello,i tried this litle code with MikroC for 8051...
Martinv Avatar
Posted By Martinv
Tue Feb 13 2018, 09:22 AM
Thanks for the reply. The part of the main loop t...
ExperimenterUK Avatar
Posted By ExperimenterUK
Tue Feb 13 2018, 01:12 AM
Unless "READSMS" has some very long delays I doubt...
paulfjujo Avatar
Posted By paulfjujo
Sun Feb 11 2018, 06:52 PM
hello,The chip is probably locked.Why not build t...