Smart Home Project Idea with SIM 800L Module
Make home automation project with sim800l
Components and supplies
1
Arduino UNO
1
Gboard Pro 800 SIM800 GSM / GPRS Module 3.3v ATmega2560 Mainboard For Arduino Starter
1
5 mm LED: Red
1
Resistor 100 ohm
Tools and machines
1
Soldering iron (generic)
1
Mastech MS8217 Autorange Digital Multimeter
1
Solder Wire, Lead Free
Project description
Code
Codes
arduino
1#include <SoftwareSerial.h> 2#include <Sim800l_EM.h> 3Sim800l Sim800l; 4unsigned long bauds = 9600; 5 6String SMScontain; // SMS contain only 7String SMSsender; // SMS sender's Name 8String text; // Detail SMS 9String ReadTXT ="Test" ; 10int NUMSMS; //SMS storage 11long MSGlen; 12uint8_t SMS_QTY; 13String dt; 14uint8_t index=1; 15bool error; 16String ReadMsg; 17int Switch_1 = 4;// Out Put Pins 18int Switch_2 = 5;// Out Put Pins 19int Switch_3 = 6;// Out Put Pins 20int Switch_4 = 7;// Out Put Pins 21int Switch_5 = 8;// Out Put Pins 22 23 24void setup(){ 25 Serial.begin(bauds); 26pinMode(Switch_1,OUTPUT); 27pinMode(Switch_2,OUTPUT); 28pinMode(Switch_3,OUTPUT); 29pinMode(Switch_4,OUTPUT); 30pinMode(Switch_5,OUTPUT); 31 32 33 Sim800l.begin(); 34 delay(5000); 35 Serial.print("Ready to Work"); 36} 37 38 39void loop(){ 40//------------------------------------------------------------- 41// Get SMS storage amount ------------------------------------- 42//------------------------------------------------------------- 43Sim800l.AT(); 44delay(500); 45//Serial.read(); 46 47int NUMSMS = Sim800l.getCountsms(); 48//SMScontain = Sim800l.readMSG(8); 49//delay(500); 50Serial.println(NUMSMS); 51if (NUMSMS !=0 ){ 52 53//------------------------------------------------------------- 54 55 SMScontain = Sim800l.readMSG(index); // Filter SMS contain 56 SMScontain.trim(); 57 text = SMScontain; 58 delay(1000); 59 ReadTXT = text; 60 61//----------------------------------------------- 62 //=============================================== 63 if (text.length() > 0){ // GET SENDER NUMBER 64 //=============================================== 65 66 SMSsender = Sim800l.getNumberSms(index); 67 SMSsender =SMSsender.substring(0,12); 68 SMSsender.trim(); 69 //Serial.println(SMSsender.length() ); 70 //Serial.println(text); 71 Sim800l.delAllSms(); 72 // SMSsender = "+12345678910" // If you want to get fead back to a perticular number 73//----------------------------------------------- 74// FILTER MSG CONTAIN---------------------------- 75//----------------------------------------------- 76 77if (SMScontain.length() > 0){ 78Serial.print("SMSsender: "); 79Serial.println(SMSsender); 80Serial.print("SMS : "); 81Serial.println(SMScontain); 82} 83//---------------------------------------------- 84 85} //=============================================== 86 87} // END ------------------------------------> 88 89 90//************************************************* 91//ON OFF by SMS Switch 1---------------------------------- 92//************************************************* 93 94if (SMScontain == "ON 1"){ 95digitalWrite(Switch_1,HIGH); 96error=Sim800l.sendSms(SMSsender,"Switch 01 ON"); // Active if you want a feadback 97delay(500);} 98else if (SMScontain == "OFF 1"){ 99digitalWrite(Switch_1,LOW); 100error=Sim800l.sendSms(SMSsender,"Switch 01 OFF"); // Active if you want a feadback 101delay(500);} 102//************************************************* 103//************************************************* 104//ON OFF by SMS Switch 2---------------------------------- 105//************************************************* 106 107if (SMScontain == "ON 2"){ 108digitalWrite(Switch_2,HIGH); 109error=Sim800l.sendSms(SMSsender,"Switch 02 ON"); // Active if you want a feadback 110delay(500);} 111else if (SMScontain == "OFF 2"){ 112digitalWrite(Switch_2,LOW); 113error=Sim800l.sendSms(SMSsender,"Switch 02 OFF"); // Active if you want a feadback 114delay(500);} 115//************************************************* 116 117//************************************************* 118//ON OFF by SMS Switch 3---------------------------------- 119//************************************************* 120 121if (SMScontain == "ON 3"){ 122digitalWrite(Switch_3,HIGH); 123error=Sim800l.sendSms(SMSsender,"Switch 03 ON"); // Active if you want a feadback 124delay(500);} 125else if (SMScontain == "OFF 3"){ 126digitalWrite(Switch_3,LOW); 127error=Sim800l.sendSms(SMSsender,"Switch 03 OFF"); // Active if you want a feadback 128delay(500);} 129//************************************************* 130 131//************************************************* 132//ON OFF by SMS Switch 4---------------------------------- 133//************************************************* 134 135if (SMScontain == "ON 4"){ 136digitalWrite(Switch_4,HIGH); 137error=Sim800l.sendSms(SMSsender,"Switch 04 ON"); // Active if you want a feadback 138delay(500);} 139else if (SMScontain == "OFF 4"){ 140digitalWrite(Switch_4,LOW); 141error=Sim800l.sendSms(SMSsender,"Switch 04 OFF"); // Active if you want a feadback 142delay(500);} 143//************************************************* 144 145 146//************************************************* 147//ON OFF by SMS Switch 5---------------------------------- 148//************************************************* 149 150if (SMScontain == "ON 5"){ 151digitalWrite(Switch_5,HIGH);//error=Sim800l.sendSms(SMSsender,"Switch 05 ON"); // Active if you want a feadback 152delay(500);} 153else if (SMScontain == "OFF 5"){ 154digitalWrite(Switch_5,LOW); 155error=Sim800l.sendSms(SMSsender,"Switch 05 OFF"); // Active if you want a feadback 156delay(500);} 157//************************************************* 158 159//************************************************* 160//ON OFF by SMS all---------------------------------- 161//************************************************* 162 163if (SMScontain == "ON ALL"){ 164digitalWrite(Switch_1,HIGH); 165digitalWrite(Switch_2,HIGH); 166digitalWrite(Switch_3,HIGH); 167digitalWrite(Switch_4,HIGH); 168digitalWrite(Switch_5,HIGH); 169error=Sim800l.sendSms(SMSsender,"ALL Switch ON"); // Active if you want a feadback 170delay(500);} 171else if (SMScontain == "OFF ALL"){ 172digitalWrite(Switch_1,LOW); 173digitalWrite(Switch_2,LOW); 174digitalWrite(Switch_3,LOW); 175digitalWrite(Switch_4,LOW); 176digitalWrite(Switch_5,LOW); 177error=Sim800l.sendSms(SMSsender,"ALL Switch OFF"); // Active if you want a feadback 178delay(500);} 179//************************************************* 180 181//Clear Data 182SMSsender =""; 183SMScontain=""; 184text=""; 185if (NUMSMS >1){ 186Sim800l.delAllSms();} 187 188} //END Void Loop 189
Downloadable files
Circuit
Circuit

Circuit
Circuit

Comments
Only logged in users can leave comments