Запрос показаний датчика по SMS с использованием Arduino и SIM800L

Запрос показаний датчика по SMS с использованием Arduino и SIM800L

В этом проекте рассмотрим как запрашивать данные датчика через SMS с использованием Arduino. В качестве примера запросим температуру, влажность и атмосферное давление с датчика BME280. Для отправки и получения SMS будем использовать модуль SIM800L и плату Arduino.

Запрос показаний датчика по SMS с использованием Arduino и SIM800L

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Модуль GSM, GPRS на чипе SIM800L x 1 шт.
► Датчик атмосферного давления, влажности и температуры BME280 x 1 шт. 
► Преобразователь напряжения LM2596, DC 3.2-40B на DC 1.38-35B, 3А, Step-Down x 1 шт. 
► Провод DuPont 10x, 2.54 мм, 20 см, F-M, Female — Male x 1 шт.

Алгоритм программы прост, при отправки SMS-сообщение «DATA» плата Arduino отвечает последними показаниями температуры, влажности и атмосферного давления, при необходимости код можно изменить, для отправки показаний в заданном интервале.

Подключение:
Для стабильно работы модуля SIM800L необходим источник питания с рабочим током 2А, подойдет преобразователь напряжения LM2596 с настроенным выходным напряжением 4.3 В (можно воспользоваться модулем MINI360). 

Запрос показаний датчика по SMS с использованием Arduino и SIM800L

Первым делом подготавливаем модуль SIM800L, припаиваем контакты и антенну, затем устанавливаем SIM карту любого оператора. Теперь подключаем вывод Tx на модуле к выводу 3 на Arduino. Вывод Rx нельзя подключать напрямую, так как цифровой вывод Arduino UNO использует 5В, а модуль SIM800L использует 3,3В. Необходимо сигнал Tx, поступающий от Arduino UNO, понизить до 3,3В, чтобы не спалить модуль SIM800L. Самый простой способ, это воспользоватся делителем напряжения на резисторах. Подключаем резистор на 10 кОм между выводом Rx (SIM800L) и выводом 2 (Arduino) и второй резистор на 10 кОм между выводом Rx (SIM800L) и GND. Теперь осталось подключить питание модуля, в примере используется стабилизатор напряжения на LM2596. 
Осталось подключить датчик BME280, SCL и SDA подключаем к выводам A5 и A4, затем необходимо подключить питание VCC и GND к плате ARDUINO.

Скачать скетч

Открываем окно «Мониторинг порта», устанавливаем скорость «9600 и «NL»(Новая строка)». При отправки SMS с любого телефона DATA в ответ приходит SMS с температурой, влажностью и атмосферном давлением. состоянии.

Запрос показаний датчика по SMS с использованием Arduino и SIM800L

Описание скетча:
Скетч начинается с включения библиотеки «SoftwareSerial.h», «Wire.h», «Adafruit_Sensor.h», «Adafruit_BME280.h» последние две библиотеки не входят в среду разработки Arduino IDE, необходимо скачать их и установить.

Далее, указываем вывода к которым подключены Tx и Rx модуля SIM800L, указываем что BME280 работает по шине I2C и создаем переменные для хранения данных incomingByte, inputString, t, p, h

В функции void setup(), инициализируем последовательный связь между Arduino и модулем SIM800L на скорости 9600 бод и указываем адрес модуля BME280

Командой while зацикливаем программу до связи с SIM800L. Если модуль обнаружен, отправляем команду «AT+CMGF=1» для установки текстового режим и отправляем команду «AT+CMGL=\»REC UNREAD\».

В основной части программы, проверяем нет ли сообщений « if(mySerial.available())», если сообщение есть, считываем данные пока полностью не закончиться сообщение.

Меняем все буквы на заглавные

Сравниваем получено сообщение и если оно совпадает отправляем показания.

Последняя функция просто отправляем сообщение об состоянии.

Ссылки
 Библиотека Adafruit BME280 Library
 Библиотека Adafruit Unified Sensor

Купить на Aliexpress
  Контроллер Arduino UNO R3
  Модуль GSM, GPRS на чипе SIM800L
  Комплект проводов DuPont, 2,54 мм, 20 см
  Преобразователь напряжения LM2596, DC 3.2-40B на DC 1.38-35B, 3А, Step-Down
  Преобразователь напряжения LM2596 с вольтметром, DC 4-40B на DC 1.38-35B, 3А, Step-Down
 BME280 — датчик атмосферного давления, влажности и температуры

Купить в Самаре и области
  Купить контроллер Arduino UNO R3
  Модуль GSM, GPRS на чипе SIM800L
  Купить комплект проводов DuPont, 2,54 мм, 20 см
  Преобразователь напряжения LM2596, DC 3.2-40B на DC 1.38-35B, 3А, Step-Down
  Преобразователь напряжения LM2596 с вольтметром, DC 4-40B на DC 1.38-35B, 3А, Step-Down
 BME280 — датчик атмосферного давления, влажности и температуры

Читайте также:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *