GSM датчики температуры. GSM термометры и сигнализации с термо датчиками

Отделка и интерьер

В данной статье представлен проект автономной погодной станции, работающей в режиме реального времени. Устройство собирает аналоговые или цифровые данные и отсылает их на веб-сервер посредством GPRS-канала связи. Если приспособить для нее солнечную батарею и аккумулятор, то станцию можно сделать полностью автономной. Устройство поддерживает 3 аналоговых или цифровых входа. Сердцем схемы является микроконтроллер PIC16F877A. Микроконтроллер также взаимодействует с GSM/GPRS модулем SIM900 или SIM300 , который располагается на обратной стороне печатной платы.
Изначально, устройство проектировалось для измерения ветрового потока, чтобы в дальнейшем собрать базу данных по мощности ветрового потока для разных местоположений. В дальнейшем это позволит выбрать наиболее оптимальное месторасположение ветрогенератора .

Данные на веб-сервер передаются при помощи обычного GET запроса. Это наиболее простой метод передачи данных. На github находятся исходники кода, в них нет ничего сложного.

Принципиальная схема GSM-модуля:

В качестве GSM-модуля я выбрал популярный SIM900/300. Он подключается при помощи UART и взаимодействие с ним происходит при помощи AT-команд. Напряжение питание модуля составляет 3.6В. К модулю подключается внешняя антенна. В модуль встроен контроллер зарядного устройства, что очень полезно при использовании аккумуляторов и солнечной панели или ветрогенератора для их подзарядки.
В схеме используется индикаторный светодиод LED1, который показывает статус GSM (мигает). Включение/выключение модуля производится кнопкой S3.

Примечание 1. Во время разработки проекта, модуль SIM300 перестал выпускаться и его заменили более новым SIM900. Приведённая выше схема разработана для SIM300, для модуля SIM900 будут убраны некоторые элементы между модулем и SIM-картой (см. даташиты).

Примечание 2. Переключатель S3 предназначен для включения/выключения GSM-модуля, однако он может быть заменен транзистором, подсоединенным к выводу микроконтроллера. Это позволит включать или выключать GSM-модуль командой с МК. Это более правильное схемотехническое решение.

Примечание 3. Модуль работает правильно при напряжении >4В, приложенному к пину Vbat.

Схема погодной станции с МК PIC 16F877A:

Итак, основной является микроконтроллер PIC 16F877A работающий на частоте 16МГц. МК питается Vbat как и GSM-модуль. Пины RA0,1,2 используются как аналоговые входы. Входное напряжение с данных пинов преобразовывается при помощи внутр. АЦП с Vref=3.1В, которое получается при помощи стабилитрона на 3.1В. На разъемы входов также выводится Vbat и GND для питания внешних датчиков (при необходимости). Транзистор Q3 (BC547) используется для ШИМ-управления яркостью LCD-экрана. Кнопка S4 используется для сброса микроконтроллера, а R1 как подтягивающий pull-up резистор. В устройстве также используется разъем PIC-ICSP для обеспечения возможности внутрисхемного программирования.

16×2 экранчик LCD HD44780:

LCD-экран используется для отображение статусной информации. В схеме используется переключатель Power-LCD для выключения подсветки экрана, что экономит энергопотребление схемы. Также, выход с переключателя подключается к микроконтроллеру LCD-INT, чтобы МК знал когда LCD включается (в микроконтроллере происходит процедура инициализации LCD для вывода на него информации). Благодаря этому, можно отключать и подключать LCD-модуль во время работы основной схемы погодной станции.

Немного фотографий устройства:

Проект на github (последняя версия прошивки, файлы печатных плат, PDF и др.)

Температурные датчики применяются в составе охранных сигнализаций или систем типа "Умный дом". Основная их функция – контроль температуры в помещении. Купить GSM датчик температуры следует тогда, когда появляется необходимость сбора информации и отправки ее на центральный прибор сигнализации. В системах "Умный дом" прибор позволяет узнавать информацию о климате внутри помещения, что влияет на автоматическое включения или выключения электроприборов. GSM-контроль помещения, неотъемлемой частью которого является сигнализация с термодатчиками, позволяет максимально эффективно экономить время и деньги владельца. Достаточно приобрести и установить SIM-карту, и подключить датчик к электрической розетке.

Для чего нужны GSM термометры?

  • Для удаленного управления всеми типами нагревательных приборов (электрические, газовые или твердотопливные котлы);
  • Для контроля обогревателей (кондиционер, инфракрасные обогреватели, теплые полы и другие);
  • Для сбора информации о температуре и влажности воздуха.

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

Почему стоит купить GSM термометр и сигнализацию с термодатчиками?

  • Возможность в любое время получить всю информацию о температурном режиме. Большинство моделей могут контролироваться через приложения на Android/iOS, что дает возможность в режиме реального времени собрать данные и использовать их;
  • Прибор может выполнять десятки задач в автоматическом или полуавтоматическом режимах, избавляя пользователя от необходимости вручную контролировать температурные и климатические переменные;
  • Цена на GSM датчик температуры кажется совсем низкой, если учитывать все возможные пути экономии электроэнергии, воды, газа, которые достигаются использованием устройства;
  • В случае достижения температуры критической отметки (которую Вы сами настраиваете) датчик сообщит об этом путем отправки СМС сообщения. Кроме того, настройка и контроль прибора может осуществляться с помощью СМС-команд.

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


Принцип работы приложения - запускаем на телефоне с ос android, подключаемся к плате arduino по блютузу и, нажимая на иконки, получаем отображение различных данных.

Принцип работы метеостанции простой. При получении с телефона 1, опрашиваем датчик температуры DS18B20, который размещен на улице и отправляем данные на телефон, при получении 2, опрашиваем датчик температуры DS18B20, который размещен в комнате и отправляем данные на телефон. При получении 3, опрашиваем датчик BMP085, а при получении 4 - опрашиваем датчик влажности и тоже отправляем данные.

Сразу отвечу на вопрос «почему отображение данных на мобильном телефоне?». Мне так удобнее, тем более что я экономлю на покупке дисплея, на покупке кнопок и внутреннюю память микроконтроллера. Лень все-таки двигатель прогресса.

Скриншоты с экрана мобильного телефона

Измерение температуры на улице в градусах Цельсия:

Измерение температуры в комнате в градусах Цельсия:

Измерение атмосферного давления на улице в мм. рт. ст.:

Измерение влажности воздуха в %

Ну а теперь после небольшого обзора работы перейдем к технической части проекта.

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

Схема подключения датчиков температуры DS18B20

Датчики температуры необходимо подключать параллельно.

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

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

Схема подключения модуля bluetooth HC-05:


После удачного подключения всех датчиков загружаем скетч,

Скетч

#include #include #include #include #include #include #include #define ONE_WIRE_BUS 4 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); DeviceAddress Thermometer1 = { 0x28, 0x00, 0x54, 0xB6, 0x04, 0x00, 0x00, 0x92 }; DeviceAddress Thermometer3 = { 0x28, 0x94, 0xAC, 0xDF, 0x02, 0x00, 0x00, 0xB5 }; BMP085 dps = BMP085(); long Temperature = 0, Pressure = 0, Altitude = 0; DHT dht(8, DHT11); char incomingByte; int x=0; void setup() { sensors.begin(); sensors.setResolution(Thermometer1, 10); sensors.setResolution(Thermometer3, 10); Wire.begin(); dps.init(MODE_ULTRA_HIGHRES, 21000, true); dht.begin(); Serial.begin(9600); } void printTemperature(DeviceAddress deviceAddress) { float tempC = sensors.getTempC(deviceAddress); Serial.println(tempC,1); } void loop(){ sensors.requestTemperatures(); dps.getPressure(&Pressure); int h = dht.readHumidity(); float t = dht.readTemperature(); if (Serial.available() > 0) { incomingByte = Serial.read(); if(incomingByte == "1") { x=2; } if(incomingByte == "2") { x=1; } if(incomingByte == "3") { x=3; } if(incomingByte == "4") { x=4; } } delay(100); switch (x) { case 1: printTemperature(Thermometer1); break; case 2: printTemperature(Thermometer3); break; case 3: Serial.println(Pressure/133.3,1); break; case 4: Serial.println(h); break; } }


Приложение для телефона WSAB работает на ОС андроид 2.3 и выше,