Контролируем температуру по sms (arduino nano + neoway m660)

Контролируем температуру по sms (arduino nano + neoway m660)

По-моему, SMS – хороший метод что-нибудь включить/отключить на расстоянии.Особенно обогреватель.Тем более зимний период.В то время, когда так хочется поскорее в тепло!Итак, отечественные действующие лица:

  • плата Arduino Nano
  • отладочная плата с GSM-модулем Neoway M660
  • температурный датчик LM35
  • источник питания 12 В
  • реле твердотельное
  • провода, дискретные компоненты

В качестве GSM-модема употреблялась отладочная плата GSM-модуля Neoway M660. Это путь мельчайшего сопротивления, поскольку не требуется думать о подключении антенны и SIM-карты, а стоит она недорого.По большому счету Neoway M660 примечателен тем, что имеет мало выводов, расположенных по краям (корпус типа «почтовая марка») на громадном расстоянии друг от друга, так что для макетирования – самое то.Модуль управляется по UART посредством AT-команд (описание AT-команд M660).
Смотрите кроме этого: Fly Era Nano 6: простое ответ

Компания Fly заявила о выходе нового бюджетного смартфона Fly Era Nano 6. Новинка владеет нужным комплектом функций и станет хорошим выбором для тех, кто предпочитает простые в применении аппараты. Помимо этого, эта модель подойдет в качестве первого смартфона,смартфона для ребенка либо дополнительного телефона для работы. Устройство взяло сенсорный TFT-дисплей с диагональю 4,5 дюйма и разрешением854×480 пикселей, двухъядерный процессор MediaTek MT6572AW с тактовой частотой 1,3 ГГц, 5-мегапиксельную основнуюкамеруи аккумулятор емкостью 1 600 мАч.

Питание семь дней NanoArduino Nano будем запитывать от маленького блока питания 12 В через контакт Vin.Питание GSM-модуляПосле некоторых раздумий решено было запитать плату GSM от платы Nano через USB-разъем.В мануале Neoway_M660_Module_Hardware_User_Guide (http://wless.ru/files/в/течении/Neoway_M660_Module_Hardware_User_Guide_V3_4.pdf) сообщено, что при наличии в цепи питания конденсатора емкостью 1000 на данный момент требование к источнику питания по току – 0,6А (при напряжении 3,9 В). На отладочной плате M660 и её USB-хвостике в сумме стоит 940 мкФ.

Микросхема AMS1117 на плате Arduino Nano отдает на выход 5 В и 1 А, потребление платы Nano со всеми потрохами и подключенным температурным датчиком при Vin равном 12В – около 24 мА. Так что думаем, что с едой схемы всё ОК.Согласование уровней UARTУровень сигналов Nano – 5 В, интерфейс UART M660 – 2,8 В (напряжение не должно быть больше 3,1 В). Для согласования уровней используем схему из данной статьи.Вывод 13 (радостное число!) модуля – выход 2,8 В (большой ток 5 мА), специально предназначен для питания согласователей уровней. Легко припаиваемся к контакту 13 модуля, второй финиш – к схеме преобразователя уровней.Отправка SMS сообщенийДля отправки SMS в текстовом режиме нам необходимо:

  1. AT+CMGS=\«80123456789\»\r – ввести команду с номером телефона (80123456789 в данном примере).
  2. Затем модуль обязан вывести приглашение «» ввести текст SMS, что мы и должны сделать.
  3. Ввод текста обязан заканчиваться байтом 0x1A.
  4. Neoway M660 отвечает OK — сообщение послано!!!

Прием SMS сообщенийДля приема SMS в текстовом режиме нам необходимо:

  1. AT+CMGF=1\r – включить текстовый режим, в случае если имеется сомнения, что он включен.
  2. Определиться, необходимо ли нам сохранять SMS на SIM-карте либо в памяти модуля либо достаточно их на UART. Для этого имеется команда AT+CNMI. Так как мы не желали сохранять SMS в памяти, то применяли эту команду с этими параметрами: AT+CNMI=3,2,2,0,1\r

В то время, когда принятая SMS пересылается на UART в текстовом режиме, она складывается из двух строчек:

  1. +CMT: «70123456789»\r\n – в первой строке содержится номер отправителя
  2. Text of the message\r\n – во второй – текст сообщения.

Сперва наблюдаем, с какого именно номера пришло сообщение, позже – что именно пришло. Комфортно.Измерение температурыДля измерения температуры употреблялся датчик LM35. Датчик выдаёт напряжение, пропорциональное градусам Цельсия, 10мВ/?C. Легко и комфортно.

Напряжение питания сенсора – от 4 до 30 В.В случае если в Arduino включить внутренний источник опорного напряжения 1,1 В (для этого в setup() необходимо прописать analogReference(INTERNAL);), то градусы Цельсия возможно вычислить по несложной формуле: ГРАДУСЫ ЦЕЛЬСИЯ = СЧИТАННОЕ ЗНАЧЕНИЕ х 0,107.Считанное значение – то, которое приобретаем из функции analogRead():val = analogRead(analogPin);Английские рассуждения на тему LM35 и Arduino: http://playground.arduino.cc/Main/LM35HigherResolutionВ начале тестирования датчик температуры был размещен на долгих ногах над платой Arduino и показывал 28 – 29 °С при температуре окружающего воздуха 25 °С. Я уже начал паниковать, что сделал что-то не так, но когда датчик был вынесен подальше от платы – показания стали соответствовать действительности.

Кстати, как выяснилось, около пола температура окружающей среды на 1,5 – 2 градуса ниже, чем на столе.Как это выглядитВ разложенном виде всё это выглядит приблизительно так:В несложном варианте возможно отправлять SMS-команды на включение/выключение обогрева, приобретать отчеты о состоянии обогревателя (вкл/выкл) и измеренной температуре.Кстати, не смотря на то, что на реле написано, что оно начинает срабатывать при напряжении на входе 3В, от пяти вольт оно срабатывало ненадежно (имело возможность не сходу сработать, отключаться и опять включаться). Исходя из этого питание реле было переделано от входного источника 12В – в этом случае неприятностей увидено не было.Что ещё возможно сделать?

  • возможно запрограммировать, к примеру, отправку сообщений при аномальном увеличении либо понижении температуры либо странной скорости её трансформации
  • возможно соединяться по GPRS с каким-нибудь сервером, что будет хранить информацию об трансформации температуры за последние 20 лет, строить прекрасные графики и выявлять скрытые закономерности
  • наконец, для деревенских домов с дровяными печками рекомендуется подключить устройство к роботу, подбрасывающему дрова в печь
  • ожидаю ваших вариантов)

Случайная статья:

Nevereverland / Nano


Похожие статьи:

Комментирование и размещение ссылок запрещено.

Обсуждение закрыто.