В системах безопасности и домашней автоматизации порой необходимо быстро оповещать владельца о возникновении какой-либо ситуации. Для этого отлично подходят оповещения с помощью sms-сообщений, которые можно отправлять с GSM-модуля. И о реализации такой отправки будет рассказано в данном материале.

В нашем проекте мы рассмотрим отправку SMS-сообщения с GSM модуля SIM 800C на мобильный телефон с помощью Arduino.
В данном случае для простоты подключения мы будем использовать шилд GSM SIM 800 C Shield. Поскольку это шилд, то есть плата расширения, мы можем разместить ее прямо на плате Arduino Uno, как показано на следующем изображении.

Вставьте SIM-карту в держатель, предусмотренный в модуле GSM, а затем зафиксируйте держатель SIM-карты, как показано далее.


Затем подайте питание на модуль GSM.
В программе нам нужно указать номер телефона, на который нам следует отправить сообщение. Для этого модуля не нужно указывать код страны перед номером телефона. Если у вас возникла проблема с отправкой SMS, вы можете добавить код страны.
Исходный код программы для Arduino следующий:
#include <SoftwareSerial.h>
#include "Adafruit_FONA.h"
#define FONA_RX 2
#define FONA_TX 3
#define FONA_RST 4
#define FONA_RI_INTERRUPT 0
char sendto[21] = "70xxxxxxxx"; // Введите здесь свой номер мобильного телефона. Исключите код страны
char message[141] = "Hello";
String techtrends;
SoftwareSerial fonaSS = SoftwareSerial(FONA_TX, FONA_RX);
Adafruit_FONA fona = Adafruit_FONA(FONA_RST);
void setup() {
Serial.begin(115200);
Serial.println(F("FONA incoming call example"));
Serial.println(F("Initializing....(May take 3 seconds)"));
delay(5000);
fonaSS.begin(4800);
if (! fona.begin(fonaSS)) { // также можно попробовать ввести fona.begin(Serial1)
Serial.println(F("Couldn't find FONA"));
while (1);
}
Serial.println(F("FONA is OK"));
fona.print ("AT+CSMP=17,167,0,0\r");
fona.sendSMS(sendto, message);
delay(1000);
}
void loop()
{
delay(10000);
}
© digitrode.ru