Температура по смс ардуино: Контролируем температуру по SMS (Arduino Nano + Neoway M660) / Хабр

Содержание

Бюджетный GSM термометр на Arduino Nano

Внимание! Команды выделенные жирным шрифтом могут быть выполнены только с основного номера, так как отвечают за конфигурацию устройства. Команды можно отправлять через смс сообщения или вводить в командной строке монитора порта Arduino IDE.

Команды управления не чувствительны к регистру:
AddPhone — Добавить номер телефона. Всего может быть добавлено не более 9 номеров + 1 основной номер который автоматически сохраняется в память при первом звонке на устройство после сброса на заводские установки командами ResetPhone, FullResetили MemTest. То есть кто первый позвонил на устройство после его сброса на заводские установки тот и «главный», этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс.
Пример команды:

AddPhone:2+71234567891risp
AddPhone:3+71234567892s
AddPhone:4+71234567893sp
AddPhone:5+71234567894r

Синтаксис команды:

AddPhone — команда
: — разделитель
5 — записать в пятую ячейку памяти
+71234567890 — номер телефона
s — Параметр «SMS» — будет отправлено sms сообщение при срабатывании датчиков
r — Параметр «Ring» — будет совершен голосовой вызов при срабатывании датчиков
p — Параметр «Power» — будет отправлено sms сообщение при включении/отключении внешнего питания
i — Параметр «Info» — будет отправлено sms сообщение о включении или отключении оповещения при изменении температуры
При отсутствии параметров «s», «r», «p»,«i» телефон заносится в память, но никак не используется.


DeletePhone — Удалить номер телефона.
Пример команды:
DeletePhone:+71234567891

Синтаксис команды:

DeletePhone — команда
: — разделитель
+71234567891 — номер телефона


EditMainPhone — Изменить параметры «s», «r», «p», «i» основного телефона, этот номер занесён в первую ячейку памяти.
Пример команды:
EditMainPhone:spri

Синтаксис команды:

EditMainPhone — команда
: — разделитель
srpi — параметры


RingTime — Длительность тревожного голосового вызова, параметр может иметь значение от 10 до 255 секунд.
Пример команды:
RingTime:40

Синтаксис команды:

RingTime — команда
: — разделитель
40 — длительность вызова составит 40 секунд, после чего будет вызван следующий абонент.


ModemID — Принудительная установка модели используемого модема. Возможные значения: 0 — автоопределение модема, 1 — M590, 2 — SIM800l, 3 — A6_Mini.
Пример команды:
ModemID:2

Синтаксис команды:

ModemID — команда
: — разделитель
2 — ID модема.


NetCheckTime — Интервал проверки регистрации модема в сети оператора в минутах, параметр может иметь значение от 1 до 60 минут. При значении 0 проверка отключена.
Пример команды:
NetCheckTime:10

Синтаксис команды:

NetCheckTime — команда
: — разделитель
10 — каждые 10 минут будет производиться поочерёдная проверка уровня сигнала сети или проверка регистрации модема в домашней сети оператора, то есть весь цикл проверки будет занимать 20 минут. В случае отсутствия сигнала или регистрации в домашней сети модем будет перезагружен.


TempCheckTime — Интервал автоматического обновления температуры, параметр может иметь значение от 1 до 60 минут.
Пример команды:
TempCheckTime:10

Синтаксис команды:

TempCheckTime — команда
: — разделитель
10 — каждые 10 минут будет производиться снятие показаний с датчика температуры.


LowTemp — Нижний порог температуры при достижении которого будет отправлено оповещение. Параметр может иметь значение от -50 до 125 и не может превышать или равняться значению параметра HighTemp.
Пример команды:
LowTemp:25

Синтаксис команды:

LowTemp — команда
: — разделитель
25 — температура


HighTemp — Верхний порог температуры при достижении которого будет отправлено оповещение. Параметр может иметь значение от -50 до 125 и не может быть меньше или равняться значению параметра LowTemp.
Пример команды:
HighTemp:60

Синтаксис команды:

HighTemp — команда
: — разделитель
60 — температура


WatchPowerTime — Время в минутах по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания. Если внешнее питание будет восстановлено до истечения установленного времени, то сообщение не будет отправлено.
Пример команды:
WatchPowerTime:5

Синтаксис команды:

WatchPowerTime — команда
: — разделитель
5 — 5 минут до отправки смс сообщения


WatchPowerOn1 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания будет отправлено при условии что включено оповещение при изменении температуры (GuardOn).

WatchPowerOn2 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания в любом случае будет отправлено

WatchPowerOff — выключить контроль внешнего питания

BalanceNum — Изменение номера запроса баланса и обработка длины ответа запроса. Значение по умолчанию для Beeline: #100#L22.
Пример команды:

BalanceNum:#103#L24

Синтаксис команды:

BalanceNum — команда
: — разделитель
#103# — номер запроса баланса
L24 — Длина (len) пересылаемого ответа 24 символа, обрезаем спам из запроса баланса.


Reboot — перезагрузка устройства (только Arduino)

ResetConfig — сброс настроек на заводские установки

ResetPhone — удаление из памяти всех телефонных номеров

FullReset — сброс настроек, удаление из памяти всех телефонных номеров, восстановление значения по умолчанию команды BalanceNum.

GuardOn — включить оповещение при изменении температуры
GuardOff — выключить оповещение при изменении температуры

Info — проверить состояние, в ответ на это сообщение будет отправлено sms с информацией о текущей температуре, нижней и верхней границах контроля температуры, о частоте автоматического обновления температуры, и о том с какого номера было включено или выключено оповещение при изменении температуры и текущее состояние.

TestOn — включается тестовый режим.
TestOff — выключается тестовый режим.

LedOff — выключает светодиод режима ожидания.
LedOn — включает светодиод режима ожидания.

Money — запроса баланса.

ClearSms — Удалить из памяти все sms

ListPhone — вывод в монитор порта списка сохранённых в памяти телефонов

Memtest — тест энергонезависимой памяти устройства, все настройки устройства будут сброшены, аналогично команде FullReset.

ListConfig — вывод в монитор порта текущей конфигурации устройства.

Температурный датчик с оповещением через СМС на робоплатформе Ардуино
Инфоурок › Информатика ›Научные работы›Температурный датчик с оповещением через СМС на робоплатформе Ардуино

Курс профессиональной переподготовки

Учитель информатики

Курс профессиональной переподготовки

Учитель математики и информатики

Курс повышения квалификации

Найдите материал к любому уроку,
указав свой предмет (категорию), класс, учебник и тему:

Выберите категорию: Все категорииАлгебраАнглийский языкАстрономияБиологияВнеурочная деятельностьВсеобщая историяГеографияГеометрияДиректору, завучуДоп. образованиеДошкольное образованиеЕстествознаниеИЗО, МХКИностранные языкиИнформатикаИстория РоссииКлассному руководителюКоррекционное обучениеЛитератураЛитературное чтениеЛогопедия, ДефектологияМатематикаМузыкаНачальные классыНемецкий языкОБЖОбществознаниеОкружающий мирПриродоведениеРелигиоведениеРодная литератураРодной языкРусский языкСоциальному педагогуТехнологияУкраинский языкФизикаФизическая культураФилософияФранцузский языкХимияЧерчениеШкольному психологуЭкологияДругое

Выберите класс: Все классыДошкольники1 класс2 класс3 класс4 класс5 класс6 класс7 класс8 класс9 класс10 класс11 класс

Выберите учебник: Все учебники

Выберите тему: Все темы

также Вы можете выбрать тип материала:

loading

Общая информация

Номер материала: ДБ-028821

Похожие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Бюджетный GSM термометр на Arduino Nano

Внимание! Команды выделенные жирным шрифтом могут быть выполнены только с основного номера, так как отвечают за конфигурацию устройства. Команды можно отправлять через смс сообщения или вводить в командной строке монитора порта Arduino IDE.

Команды управления не чувствительны к регистру:
AddPhone — Добавить номер телефона. Всего может быть добавлено не более 9 номеров + 1 основной номер который автоматически сохраняется в память при первом звонке на устройство после сброса на заводские установки командами ResetPhone, FullResetили MemTest. То есть кто первый позвонил на устройство после его сброса на заводские установки тот и «главный», этот номер заносится в первую ячейку памяти и его невозможно изменить или удалить через смс.
Пример команды:

AddPhone:2+71234567891risp

AddPhone:3+71234567892s

AddPhone:4+71234567893sp

AddPhone:5+71234567894r

Синтаксис команды:

AddPhone — команда
: — разделитель
5 — записать в пятую ячейку памяти
+71234567890 — номер телефона
s — Параметр «SMS» — будет отправлено sms сообщение при срабатывании датчиков
r — Параметр «Ring» — будет совершен голосовой вызов при срабатывании датчиков
p — Параметр «Power» — будет отправлено sms сообщение при включении/отключении внешнего питания
i — Параметр «Info» — будет отправлено sms сообщение при постановке или снятии с охраны
При отсутствии параметров «s», «r», «p»,«i» телефон заносится в память, но никак не используется.

DeletePhone — Удалить номер телефона.
Пример команды:

DeletePhone:+71234567891

Синтаксис команды:

DeletePhone — команда
: — разделитель
+71234567891 — номер телефона

EditMainPhone — Изменить параметры «s», «r», «p», «i» основного телефона, этот номер занесён в первую ячейку памяти.
Пример команды:

EditMainPhone:spri

Синтаксис команды:

EditMainPhone — команда
: — разделитель
srpi — параметры

RingTime — Длительность тревожного голосового вызова, параметр может иметь значение от 10 до 255 секунд.
Пример команды:

RingTime:40

Синтаксис команды:

RingTime — команда
: — разделитель
40 — длительность вызова составит 40 секунд, после чего будет вызван следующий абонент.

ModemID — Принудительная установка модели используемого модема. Возможные значения: 0 — автоопределение модема, 1 — M590, 2 — SIM800l, 3 — A6_Mini.
Пример команды:

ModemID:2

Синтаксис команды:

ModemID — команда
: — разделитель
2 — ID модема.

NetCheckTime — Интервал проверки регистрации модема в сети оператора в минутах, параметр может иметь значение от 1 до 60 минут. При значении 0 проверка отключена.
Пример команды:

NetCheckTime:10

Синтаксис команды:

NetCheckTime — команда
: — разделитель
10 — каждые 10 минут будет производиться поочерёдная проверка уровня сигнала сети или проверка регистрации модема в домашней сети оператора, то есть весь цикл проверки будет занимать 20 минут. В случае отсутствия сигнала или регистрации в домашней сети модем будет перезагружен.

TempCheckTime — Интервал автоматического обновления температуры, параметр может иметь значение от 1 до 60 минут.
Пример команды:

TempCheckTime:10

Синтаксис команды:

TempCheckTime — команда
: — разделитель
10 — каждые 10 минут будет производиться снятие показаний с датчика температуры.

LowTemp — Нижний порог температуры при достижении которого будет отправлено оповещение. Параметр может иметь значение от -50 до 125 и не может превышать или равняться значению параметра HighTemp.
Пример команды:

LowTemp:25

Синтаксис команды:

LowTemp — команда
: — разделитель
25 — температура

HighTemp — Верхний порог температуры при достижении которого будет отправлено оповещение. Параметр может иметь значение от -50 до 125 и не может быть меньше или равняться значению параметра LowTemp.
Пример команды:

HighTemp:60

Синтаксис команды:

HighTemp — команда
: — разделитель
60 — температура

WatchPowerTime — Время в минутах по истечении которого будет отправлено смс сообщение об отключении внешнего источника питания. Если внешнее питание будет восстановлено до истечения установленного времени, то сообщение не будет отправлено.
Пример команды:

WatchPowerTime:5

Синтаксис команды:

WatchPowerTime — команда
: — разделитель
5 — 5 минут до отправки смс сообщения

WatchPowerOn1 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания будет отправлено при условии что включено оповещение при изменении температуры (GuardOn).

WatchPowerOn2 — включить контроль внешнего питания, смс сообщение об отключении внешнего питания в любом случае будет отправлено

WatchPowerOff — выключить контроль внешнего питания

BalanceNum — Изменение номера запроса баланса и обработка длины ответа запроса. Значение по умолчанию для Beeline: #100#L22.
Пример команды:

BalanceNum:#103#L24

Синтаксис команды:

BalanceNum — команда
: — разделитель
#103# — номер запроса баланса
L24 — Длина (len) пересылаемого ответа 24 символа, обрезаем спам из запроса баланса.

Reboot — перезагрузка устройства (только Arduino)

ResetConfig — сброс настроек на заводские установки

ResetPhone — удаление из памяти всех телефонных номеров

FullReset — сброс настроек, удаление из памяти всех телефонных номеров, восстановление значения по умолчанию команды BalanceNum.

GuardOn — включить оповещение при изменении температуры
GuardOff — выключить оповещение при изменении температуры

Info — проверить состояние, в ответ на это сообщение будет отправлено sms с информацией о текущей температуре, нижней и верхней границах контроля температуры, о частоте автоматического обновления температуры, и о том с какого номера было включено или выключено оповещение при изменении температуры и текущее состояние.

TestOn — включается тестовый режим.
TestOff — выключается тестовый режим.

LedOff — выключает светодиод режима ожидания.
LedOn — включает светодиод режима ожидания.

Money — запроса баланса.

ClearSms — Удалить из памяти все sms

ListPhone — вывод в монитор порта списка сохранённых в памяти телефонов

Memtest — тест энергонезависимой памяти устройства, все настройки устройства будут сброшены, аналогично команде FullReset.

ListConfig — вывод в монитор порта текущей конфигурации устройства.

Аналоговый датчик температуры TMP36, Подключение к Arduino

Датчик температуры на выходе которого формируется напряжение пропорционально температуре по шкале Цельсия. Датчик функционально схож с LM35 но не является его полным аналогом.

Характеристики датчика:

  • Диапазон температур: −40°C — +125°C
  • Точность температуры: типичная, в диапазоне -40°C … +125°C, ±2°C , при температуре 25°C: ±1°C.
  • Линейность: ±0.5°C.
  • Разрешение: 10.0 mV/°C
  • Напряжение на выходе при 25°C: 750мВ.
  • Напряжение питания: 2,7В — 5,5В.

Купить:

на Али: тут.


Особенности работы с датчиком:

Как и у похожего аналогового датчика LM35, на выходе формируется напряжение пропорционально температуре по шкале Цельсия, величина напряжения также 10.0 mV на 1°C, но в отличии от LM35, где отсчет начинается от 0°C и при 25°C датчик формирует напряжение 250mV, TMP36 ведет отсчет от -50°C, а при 25°C на выходе датчика будет 750mV.

TMP36 лишен основного недостатка LM35 при совместном использовании с Arduino, невозможность измерения отрицательных температур, но недостатки все таки пристукивают. При использовании встроенного в микроконтроллер источника опорного напряжения 1,1 вольт, максимальная температура датчика ограниченна 60°C но это всё еще пригодно для домашних или уличных термометров.

Крайне не рекомендуется использовать в качестве опорного напряжения для АЦП, напряжение питания или напряжение от встроенного стабилизатора на 3,3 вольта, подключенное на вход AREF, стабильность тех напряжений крайне низкая, что будет негативно сказываться на точности показаний датчика. Правильным решением будет использование встроенного источника опорного, а если верхняя граница в 60°C не достаточна, либо внешний источник опорного, например MAX6125, либо использовать другой, более подходящий, датчик температуры.


Схема подключения датчика:

Аналогична LM35.


Софт:

Датчик не требует сторонних библиотек, код с использованием встроенного источника опорного ниже. Код актуален для плат на контроллере ATmega328.

 /// истоки тут https://learn.adafruit.com/tmp36-temperature-sensor/using-a-temp-sensor
 
#define sensorPin A0                            // вход датчика
 
void setup()
{
  Serial.begin(9600);   
  // включаем встроенный источник опорного 1,1 вольт
  analogReference(INTERNAL);         
}
 
void loop()                      
{
 //забераем данные с аналогового входа
 int reading = analogRead(sensorPin);  
 
 // конвертируем в вольты с учетом встроенного источника опорного
 float voltage = (reading * 1.1) / 1024.0; 
 
 // переводим в градусы
 float temperatureC = (voltage - 0.5) * 100 ;  
                                                
  // отправляем в монитор порта
 Serial.print(voltage); 
 Serial.println(" volts");                                              
 Serial.print(temperatureC); 
 Serial.println(" degrees C"); 
 
 delay(1000);                                 //ждем секунду
}

код из видео с двумя датчиками.

float tempC;
int reading;
 
void setup()
{
  analogReference(INTERNAL);        // включаем внутрений источник опорного 1,1 вольт
  Serial.begin(9600);
}

void loop()
{
        // получаем значение с аналогового входа A0
  int reading = analogRead(A0);  
  float voltage = (reading * 1.1) / 1024.0;
  float temperatureC = (voltage - 0.5) * 100 ;
  
  tempC = analogRead(A1) / 9.31;          // переводим в цельсии 
  
  Serial.print(" LM35: ");
  Serial.print(tempC);            // отправляем в монитор порта
  Serial.print("  TMP36: ");
  Serial.println(temperatureC);            
    
  delay(1000);                     // ждем секунду
}



Видео:


Arduino Температурная SMS-сигнализация - 3G GSM Система теплового контроля | Сообщество RobotShop
Начать Войти в систему Меню
  • Панель приборов
  • Форумы
  • Уроки
  • Роботы
  • Блоги
  • Новости
  • лидеров
  • Магазин
  • Поддержка
Начать Войти в систему

идти

  • Бытовая робототехника
    • Бытовая робототехника
    • внутренний
    • трутень
    • Газонокосилка
    • Личный транспорт
    • Забота о животных
      • Забота о животных
      • Помет-робот
    • Очистители бассейна
    • Отзывы
    • спорт
    • Telepresence
    • игрушки
    • Транспорт
    • вакуум
      • вакуум
      • Ultimate Roomba Ресурсный Центр
    • Носимые технологии
  • GoRobotics >> Образование
    • GoRobotics >> Образование
    • Соревнования
    • Динамические инструменты
    • Проекты и комплекты робототехники
.

Arduino-Temp Temp Control через SMS

Надежный и доступный интернет все еще остается роскошью в отдаленных районах. загородный дом [колейника] не просто отдаленный; зимой температура опускается до -30С, это практически Арктика. Его решение для управления термостатом издалека состояло в том, чтобы воспользоваться преимуществами сети GSM и внедрить контроллер отопителя на основе SMS. Устройство обычно работает в «антифризном режиме», но отправка простого текстового сообщения перед посещением приводит к тому, что нагреватель поднимает его до более удобной настройки для вашего прибытия.Ежедневные журналы сообщают о состоянии системы, и при падении температуры ниже установленного предела срабатывает предупреждение, что указывает на возможные неисправности нагревателя.

В сборке используется Freeduino в паре с внешним GSM-модемом для связи и ЖК-дисплей для отображения текущего состояния и меню, доступ к которым пользователи получают с помощью трех кнопок на боковой панели рамки. Колейк подключил два датчика температуры: один прямо к щиту Фридуйно, а второй снаружи дома. После того, как датчики температуры обнаружат отклонение от заданного значения или по SMS-инструкции, Freeduino начнет нагревать реле через реле 5 В, подключенное к домашнему котлу.Перейдите на страницу Instructables, на которую ведут ссылки, для ознакомления с перечнем материалов, схемами и кодом. Модем Siemens GSM в этой сборке не о чем беспокоиться, но будьте осторожны, если вы попытаетесь воспроизвести этот проект с экраном Arduino GSM, или ваш дом может действительно нагреться до .

,

9 Arduino-совместимых температурных датчиков

Чтение температуры с помощью Arduino - очень полезная задача. Существует множество датчиков температуры с различными функциями, которые вы можете использовать в своих проектах. В этой статье мы собрали подборку из 9 доступных датчиков температуры, совместимых с Arduino и другими платами разработки (например, ESP32 или ESP8266).

1. DHT11

DHT11 - это цифровой датчик температуры, который измеряет температуру и относительную влажность.

Эти датчики содержат микросхему, которая выполняет аналого-цифровое преобразование и выдает цифровой сигнал с указанием температуры и влажности. Это делает их очень простыми в использовании с любым микроконтроллером, включая Arduino.

В следующей таблице приведены наиболее важные характеристики датчика температуры DHT11.

,

Управление лампой 12 В через СМС с Arduino

В этом руководстве мы покажем вам, как вы можете управлять лампой 12 В с помощью SMS, используя Arduino UNO, релейный модуль и экран SIM900 GSM.

Прежде чем приступить к изучению этого руководства, мы рекомендуем следующие ресурсы:

Сначала посмотрите видео демонстрацию

Обзор проекта

Этот проект использует экран SIM900 GSM для получения и отправки SMS с Arduino.Этот проект направлен на:

  • включите лампу 12 В при отправке SMS-сообщения на Arduino с текстом «ON»
  • выключите лампу 12 В при отправке SMS-сообщения на Arduino с текстом «OFF»
  • Вы можете запросить состояние лампы, отправив SMS-сообщение на Arduino с текстом «STATE», Arduino должен ответить обратно с текстом «лампа включена» или «лампа выключена»

Требуемые запчасти

В этом проекте вам необходимо подключить Arduino к экрану GSM и к модулю реле, подключенному к лампе 12 В.Вот полный список деталей, необходимых для этого проекта (нажмите на ссылку ниже, чтобы найти лучшую цену на Maker Advisor):

,

Отправить ответ

avatar
  Подписаться  
Уведомление о