Sim800l Delete All Sms

Tell the Arduino to send you a specified sensor data to your phone all via SMS. Used DHT11+MLX90614 for example

  • 3,240 views
  • 3 comments
  • 3 respects

Components and supplies

Arduino UNO
×1
SIM800L EVB
×1
MLX90614
×1
DHT11 Temperature & Humidity Sensor (3 pins)
×1

Apps and online services

The PP3 battery you are trying to use is far from powerful enough to run a SIM800L. It's barely powerful enough to run an Arduino by itself for more than a couple of hours if you're lucky. The SIM800L, as the datasheet tells us, must be powered by a supply which can provide at least 2A. The power supply range of SIM800L is from 3.4V to 4.4V. The +CMGL AT command also allows you to retrieve all SMS messages stored in the message storage area. Following is an example for illustrating the difference between +CMGR and +CMGL. Suppose you want to use your computer / PC to read a text message from the message storage area and you know the index at which the SMS text message is located.

About this project


All
Tutorial video - explaining all

Sponsored by: DigitSpace
Product used: SIM800L Module Replace SIM900A GSM GPRS 5V Serial with Antenna


Hello there, this is my third tutorial concerning SIM800L EVB version, make sure to take a look at previous ones, to not make this one long:

So here in this tutorial, I'm going to use the same module 'SIM800L EVB version' with Arduino Uno board, and I took for example 'DHT11' and 'MLX90614 contactless thermal sensor'.

And the idea is that I'm going to ask the Arduino via SMS to send me either the DHT values or the MLX values via SMS too, the project is relatively easy, the tricky part was to detect a substring withing the SMS content to be able to decide wheter the user asks for DHT values or MLX values.

HALT !!!

The Sim card used shouldn't be locked with a pin code otherwise use the AT commands to do it, and make sure you have enough credit to be able to send SMS... depends on your network provider.

This is the module I'm using:

And as said before the module works with AT commands, we saw some of them on the previous tutorials.

And for the power I'm using A Lithium Battery with A Buck converter:

Test 1

So the test #1 consist of just reading a SMS sent from the phone, and display it on the serial monitor.

Wiring

The wiring 1 can be found below, it's the basic wiring of the module, it's practical for all kind of tests.

Libraries

No special libraries are required here just the default SoftwareSerial.

Code

Code 1 can be found below.

The code is really easy first in the 'Setup()' we just send some 'AT commands' to make the module on the receiving text mode and set the way those SMS received should be handled.

And on the loop there is a classic communication function that permits the communication between the Arduino IDE Serial Monitor and Sim800L 'send/receive' between them

The functions used can be found in the code, but if you want to check them closely here's the document:

Result

Test 2

On the test#2 we will add DHT11 sensor and MLX90614 contactless thermal sensor... I used these two just as an example you can use whatever you want.

And in the code I integrated a part where I read the SMS received and check for the keywords 'DHT' or 'MLX'... and here of course you can replace it by your own or make a whole command i.e:'Send DHT data'.... to sum up with just look for a substring within a string :D

Wiring

The wiring 2 can be found below, we have just add the DHT11 and MLX90614

Libraries

Two libraries should be add (Because of the modules) depending on what you are using.

Code

Code 2 can be found below.

So in this code we:

  • Set the module to receiving SMS mode
  • Set the way to handle the SMS
  • If something is received -> Transmit to Arduino
  • Arduino will check for the 'Keywords' (DHT or MLX)
  • If one of them is found -> check which one
  • Make the reading
  • Send the Data to the programmed phone number

Result

The use of the serial monitor is optional, the device can work without it, here used just to troubleshoot in case of a problem or to check the state.

The method we used is just to look for a specified keyword within the message, doesn't care what's being sent with it

Go further

You can improve the way to detect the keywords in the SMS sent, it will be useful to do other projects that will be more interesting.

You can do multiple readings before sending the SMS to be more precise.

Send error SMS in case the sensor is not working properly.

Check the code and if you have a better method for this share it with us, Thanks.

That's all folks.

Code

With comments to help you.
With comments to help you

Schematics

Author

SurtrTech
  • 20 projects
  • 103 followers

Published on

January 18, 2020
Write a comment

Members who respect this project

and 2 others

See similar projects
you might like

Table of contents

Write a comment

Introduction to SIM800L

There are so many GSM modules that came to market right now. And SIM800L almost the cheapest. It cost under 10$ and has the same feature as other. So, this module is a great one.

This module works just like another module, it uses AT Command to communicate with arduino and has the same command. You can download the AT command list it uses here.


Just like another GSM module like SIM900A that we’ve wrote the tutorial here. This is of course use serial communication to communicate with arduino. So we need Tx and Rx here.

Arduino and SIM800L Wiring Diagram

arduino and SIM800L wiring diagramConnect your arduino and SIM800L like above. But this seems like to be wrong. Because in the datasheet it says that VCC must be at 4.4V maximum. But in last version of this module, it works given 5V for it’s VCC.
if it is doesn’t work for you can try to drop the VCC to not more than 4.4V. You can use buck converter, or the simplest way just use a diode. I will prefer use only a diode because it simplicity. So, wiring diagram become like below :

The Code

Sending a message:

In this example, we made two function that is SendMessage() and _readSerial(). SendMessage() to send message and _readSerial() to read the answer from SIM800L.

Sim800l Delete All Sms Free

To make a call you can create another function and call that function from your loop. And this is the function :

Sim800l Delete All Sms Message



I mixed up the code to send and receive sms and make a call. Every task in a function. So it has three function, SendMessage(), ReceiveMessage() and Call(). In this code you just type in serial monitor “s” to send, “r” to receive SMS, and “c” to make a call.

Sim800l Delete All Sms App

And that’s all the code. That is easty Isn’t it? And if you need a tutorial on how to send data over GPRS with this module, wait our next tutorial.
Watch also complete video tutorial below :