• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Отправка СМС с информацией о температуре окружающей среды по запросу на X.COM GSM SIM800C и M5Stack.

31 октября, 2021

В данном примере используются:

M5stack core: http://ali.pub/4snj9n

X.COM gsm module m5stack: http://alii.pub/62yjgf

BME280: http://alii.pub/5yjrsz

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.

 

Для чего нужен данный пример:

Я подумал, что иногда необходимо мониторить показания температуры или влажности. И иногда это необходимо там, где нет интернета. Например в какой-нибудь теплице на даче.

И таким образом и родился данный пример.

Пример основан на библиотеке MODEMKA_Driver которую можно скачать отсюда: https://github.com/dsiberia9s/MODEMKA_Driver

Или отсюда на случай если библиотека кардинально поменяется и мой скетч перестанет с ней работать: https://disk.yandex.ru/d/wiJsXe2AlT6WwA

Скетч произошел из примера СМС оповещение по датчику движения. С которым можно ознакомиться тут:

Отправка SMS сообщения по движению на SIM800C и M5Stack

Датчиком температуры будет выступать датчик BME280.

Подключается датчик BME280 по шине i2c. По этому нужно соединить пины SCL и SDA датчика BME280 с такими же пинами Контроллера ESP32.

GSM модулем я буду использовать как и в прошлом примере X.COM GSM модуль. Он получился на мой взгляд очень удачный и не требует “танцев с бубном” в подключении и в питании. Да и в связке с M5stack получается аккуратное законченное устройство.

Работа программы:

Программа будет работать следующим образом:

Мы должны позвонить на номер телефона симкарты которая вставлена в GSM модуль. Возьмется трубка и через 2 секунды сбросится. Далее программа сверяет если это был номер телефона звонившего и он указан в скетче, то отправляет СМС с текстом температуры на номер который указан в скетче.

А если мы позвоним с другого номера то произойдет все тоже самое, возьмется трубка на 2 секунды, но программа сверит номера телефонов, поймет что данного номера нет в программе и отправлять смс не будет, так как не выполнено условие.

Код программы:

Программу(скетч) скачать можно отсюда: https://disk.yandex.ru/d/tN3pnEOx6ZziMQ

После того как скачали программу ниже опишу важные строчки которые можно изменить под себя:

Библиотеки:

#include <Wire.h> // Подключаем библиотеку Wire
#include <Adafruit_Sensor.h> // Подключаем библиотеку Adafruit_Sensor – эту библиотеку можно найти в стандартных библиотеках в программе Arduino IDE
#include <Adafruit_BME280.h> // Подключаем библиотеку Adafruit_BME280 – эту библиотеку можно найти в стандартных библиотеках в программе Arduino IDE

Объявление пинов:

#define TX_PIN 16 // TX пин esp32
#define RX_PIN 17 // RX пин ESP32
#define BAUDRATE 115200// Скорость COM порта
#define RESET_PIN -1 // -1 if not using

Номер телефона и текст сообщения:

#define PHONE_NUMBER “+7920000000” //Номер телефона на который отправлять сообщение
#define MESSAGE (“Temperature: ” + String(bme.readTemperature()) + ” C”) //Текст смс сообщения

В данном тексте сообщения будет отправляться только температура. Например если Вам нужна температура влажность и давление то текст смс сообщения будет выглядеть так:

#define MESSAGE (“Temperature: ” + String(bme.readTemperature()) + ” C” + “Humidity: ” + String(bme.readHumidity()) + “%” + “Pressure: ” + String(bme.readPressure()) + “Pa”)

 

Функция отправки СМС:

void call_handler(String phone) {

Serial.println(“[J] ” + phone);
COM_GSM.accept();
COM_GSM.DTMF(“123”);
COM_GSM.decline();
if (phone == “+79200000000”) { // Тут указывается номер с которого будем запрашивать смски
Serial.println(“motion”);
COM_GSM.SMS(PHONE_NUMBER, MESSAGE); //отправка сообщения
delay(10000);
}

Если Вы  позвоните с другого номера, не с того который указан в этой функции, то смс Вам не придет.

if (!bme.begin(0x76)) { // Инициализация датчика BME280
Serial.println(“Could not find a valid BME280!”); // Печать сообщения об ошибки
while (1);
}

Ну а в данной функции задается адрес i2c датчика в моем случае 0x76 ( хотя обычно BME280 все имеют такой адрес, но везде бывают исключения, если что меняется он тут.)

 

Ну и под конец видео демонстрации работы:

Primary Sidebar

Поиск

Новые записи

  • Автоматизация перезагрузки устройства по команде Ping.
  • Разблокирование и добавление шлюза Xiaomi gateway 3 в Home Assistant для управления Bluetooth устройствами из экосистемы Xiaomi Home (mihome)
  • Интеграция для локального управления (без интернета) ик пультом Tuya работающим по wifi из Home Assistant
  • Транслируем показания с Уличного Bluetooth Датчика температуры по BTHome на дисплей датчика температуры XIaomi LYWSD03MMC
  • Заставляем Bluetooth датчики температуры tuya и xiaomi отправлять данные по Zigbee в Home Assistant.

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·