Skip to content
Embedded World – Anything about Embedded Systems design and development
  • About
  • Embedded
  • Android
  • Project Ideas
    • Embedded Projects
    • MATLAB Projects
    • DSP Projects
  • Search Parts
  • Web

Using Arduino with SIM900/SIM800 for receiving SMS commands

October 22, 2021 Blog

The logic is quite simple, We just look for consecutive occurrence of commads like @C1, @C2 or CMD. Whenever the if condition is satisfied the code can take an action like turning ON or OFF a device which might be useful in building automation application for example.

This code is applicable for SIM800,SIM808,SIM908,SIM800C,SIM800H,SIM900A etc all modules as AT commands remain the same.

For more in depth explanation of the concept or live demo look at this video,

 


  ARDUINO CODE: 
     unsigned char Buff[250];   unsigned char BuffIndex;   void setup()   {     Serial.begin(9600);     Serial.println("GSM Tutorial, Valetron Systems @raviyp.com ");     delay(3000);     Serial.println("AT+CMGF=1");     delay(3000);     Serial.println("AT+CNMI=2,2,0,0,0");     memset(Buff, ' ', 250); // Initialize the string     BuffIndex=5;   }         void loop()   {         while(1)       {           if(Serial.available()>0)           {               Buff[BuffIndex] = Serial.read();                          if( (Buff[BuffIndex-2] == '@') && (Buff[BuffIndex-1] == 'C') && (Buff[BuffIndex] == '1'))               {                   Serial.println("Command 1");               }               if( (Buff[BuffIndex-2] == '@') && (Buff[BuffIndex-1] == 'C') && (Buff[BuffIndex] == '2'))               {                   Serial.println("Command 2");               }               if( (Buff[BuffIndex-2] == 'C') && (Buff[BuffIndex-1] == 'M') && (Buff[BuffIndex] == 'D'))               {                   Serial.println("Command CMD");               }                                     BuffIndex++;               if(BuffIndex>250)               {                   BuffIndex=5;               }           }       }           }

Also see:

  • SIM800 series Bluetooth AT commands
  • Footprint compatible 2G, 3G, 4G modules for using in your M2M designs
  • 868 MHz frequency is not license free in India – LoRa in India
  • SIM900/SIM800 not working – Possible reasons – Tips n Tricks

 

 

Post navigation

Previous: Getting your electronics product manufactured in India
Next: Designing a Low cost GSM/GPS tracker – Introduction – Part 1

Recent Posts

  • 5G deployment opportunities for developers
  • Designing optimized embedded systems
  • Microcontroller testing and game tactics
  • Choosing the right gsm module for IoT
  • Evolution of GSM and 5G communication
Copyright © 2022 Valetron Systems