Remote Home Monitoring System with SMS Interface

General Project Description

This project is a remote home security/monitoring system with SMS interface. It incorporates a motion sensor that detects movement when the system is activate and alerts a user using SMS.It also takes a 180 degrees pan picture and stores it in an SD card after starting an alarm. The user is also alerted in case of a fire which is detected by the temperature sensor. The user can send commands such as:

  • Get Status
  • Turn off lights
  • Get Temperature
  • Take Picture
  • Set Temperature
  • Turn off alarm
  • Turn off heater etc.

The project also includes an Android application that can be used as a substitute to SMS interface if the user has an Android smartphone. Similar functionality can be developed for iOS. However, the SMS interface was primarily incorporated to allow users without a smartphone to take advantage of its feature.

Team Members

  • Kunal Patel
  • Tanvir Iqbal
  • Se Hoon Son
  • Abhishek Shah

Equipment Used/Connections

  • Small breadboard
  • 4 AA Batteries for Power Supply: 6V
ComponentConnection TypePower
mbedN/A6V
SMS modulep13, p14 (RS232)6V
Motion sensorp20 (AnalogIn)6V
SHT15 Temperature sensorp9, p103.3V
Text LCD displayp15, p16, p17, p18, p19, p216V
SD card readerp5, p6, p7 (SPI), p8 (CS)3.3V
DC Servop226V
Camerap28, p273.3V
LED Lightsp29, p30N/A
Speaker(through Voltage reg)p236V

Functionality

The Remote Home Monitoring System uses a Phidget P/N 1111 motion detection cameras to detect movement. The SM5100-B SMS module along with an evaluation board allows to setup an SMS functionality. For this case, a t-mobile simcard was used. Any other simcard can be used as long as the appropriate frequency band is set. The SD card which operates on SPI protocol stores the picture in the case that motion is detected and the system is activated. Besides taking the picture and notifying the user of an intrusion alert, an alarm is set off as well. The user can then remotely choose to turn the alarm off. The project incorporates and SHTx temperature and humidity sensor as well as a text LDC that together acts as a place holder of a thermostat. The user can remotely turn heater on/off as well as set a particular temperature. The temperature sensor is also used to detect fire or other high temperature cases to notify the user of any such hazard.

Problems Encountered

  • Motion detection range is limited.
  • Does not include MMS
  • Cellular network dependent
  • Delay between commands

Pictures & Video Demo

/media/uploads/kpatel70/untitled.png

/media/uploads/kpatel70/untitled1.png

/media/uploads/kpatel70/untitled2.png

Code

Here is the associated libraries and main program for the project

Import program4180_Project

Georgia Tech ECE 4180 Final Project

Below is the code for the sample program.

#include "project_defines.hpp"

int main()
{
    setup_devices();
    calibrate_ir();
    while(1) {
        led4 = !led4;
        adjust_temperature();
        if(activate && check_movement()){
            pc.printf("\nIntrution Alert: Current ir sensor average %f\n", current_avg);
            wait(1);
            char message[50];
            sprintf(message, "Intrusion Alert!! Picture # %d captured", index);
            send_sms(message);
            take_picture();
            play_sound(); 
        }
        read_message();
        if(message_received){
            handle_message();
            wait(2);
        }
        wait(0.1);
    }
}


4 comments on Remote Home Monitoring System with SMS Interface:

27 Jun 2014

can you please help me in developing code for interfacing a GSM module? I am really trying hard for it, but with no proper results.

13 Jul 2014

@Bharadwaj: Look at my project_defines.hpp. The GSM module is basically seen as a MODSERIAL device. The variable name for the GSM module is "sms". This is the code for sending the SMS:

void send_sms(char * message) { led3 = 1; pc.printf("Sending SMS\n"); wait(0.25); sms.printf("AT+CMGF=1%c", 13); wait(.25); sms.printf("AT+CMGS=\"%s\"%c", mobile_number, 13); wait(0.25); sms.printf("%s%c", message ,26); while(!sms.txBufferEmpty()) { } wait(0.5); led3 = 0; }

This is the code for receiving:

void receive_sms() { wait(0.25); sms.printf("AT+CMGF=1%c", 13); wait(0.25); sms.printf("AT+CMGL=\"ALL\"%c", 13); sms.printf("AT+CMGL=\"REC UNREAD\"%c", 13); while(!sms.txBufferEmpty()) { } }

10 Dec 2015

please send the block diagram of this project and how to connect the microcontroller connections.how connect the camera on mobile. give the replay urgent

10 Dec 2015

Gadige Lakshman wrote:

please send the block diagram of this project and how to connect the microcontroller connections.how connect the camera on mobile. give the replay urgent

Please log in to post comments.