Контроль температуры в загородном доме

Иващенко Тарас
г.Киев

Построил я загородный домик, поскольку в нем не живу, столкнулся с проблемой определения температуры. На стройке живет теща. Вода в систему отопления набрана. Опытным путем определено, что при +8 в доме, трубы на стенах за гипсокартоном начинают промерзать, а при +18 тёща болеть. Вот и возникла идея мониторить температуру удаленно.

После поисков в Интернете на поисковиках, было закуплено 2 девайса: отечественного производства USB-термометр MP707, позволяющий дистанционно через Интернет мониторить показания температуры, и китайский Софт termoHID (thermohid.co.uk/#SEC10).

Рис.1. Внешний вид цифрового USB-термометра MP707.

Софт к обоим прилагался. Китайское творчество было наляписто, но по функционалу немного превосходило наше, но к нашему девайсу можно подключать до 10 датчиков DS18B20. Этот аргумент был решающим.

Сейчас в системе 4 датчика, улица, 1-й этаж, 2-й этаж и чердак. Накоплено год статистики.

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

ПО MP707 умеет записывать результаты измерений в текстовые файлы. Так что долго не думая на ASP был набросан преобразователь файлов в таблицы. Читать такие таблицы оказалось нелегко, а главное трудно заметить момент когда же все таки температура не в норме. Вот тут то пришли на помощь коллеги, и подтолкнули на правильную дорогу. В поле зрения попал javascript Highstock. Как им пользоватся расписано в статьях Highstock: мониторим Премию Рунета и Динамические графики на основе highstock.

После некоторого бдения таблицы на ASP были совмещены с JS. По сути графики получились такие же как и сейчас, но строились по файлам. Через два месяца работы от файлов пришлось отказаться. Обработка файлов длилась невероятно долго. Решение было принято молниеносно — читаем графики из MySQL. ПО MP707 позволяет периодично опрашивать датчики и после выполнять bat файлы. Был написан VBScript которй складирует результаты измерений в MySQL. В скрипте есть преобразование текстовой даты в дату в секундах с 1970, а также проверка на существование записи с таким временем.

Const ForReading = 1

Const TristateUseDefault = -2

Dim FSO

Set FSO = CreateObject(«Scripting.FileSystemObject»)

Dim FilePath

FilePath = «C:\BM1707\bm1707.temp»

set cn = CreateObject(«ADODB.Connection»)

cn.connectionstring = «Driver={MySQL ODBC 5.1 Driver};Server=localhost;DataBase=test; » &_

«USER=usr;PASSWORD=psw;»

If FSO.FileExists(FilePath) Then

Dim file

Set file = FSO.GetFile(FilePath)

Dim TextFileStream

Set TextFileStream = file.OpenAsTextStream(ForReading,TristateUseDefault)

Do While Not TextFileStream.AtEndOfStream

Dim line

line = TextFileStream.ReadLine

curday = Mid(Line,2,2)

curmnth = Mid(Line,5,2)

curyear = Mid(Line,8,4)

curData = Mid(Line,2,10)

curhour = Mid(Line,13,2)

curmin = Mid(Line,16,2)

cursec = Mid(Line,19,2)

curdt = curyear & curmnth & curday & curhour & curmin & cursec

curhour = Cint(curhour)

curmin = Cint(curmin)

cursec = Cint(cursec)

aspdate = CDate(curData)

javadt = ((((aspdate — 25569) * 24 + curhour) * 60 + curmin) * 60 + cursec) * 1000

sqlStr = «SELECT Count( * ) FROM temperatures WHERE javadatetime = » & javadt

res = cn.execute(sqlStr)

if res(0)=»0″ then

line = trim(Mid(Line,24))

cnt = 1

lst = Split(line)

for each str in lst

nm = «»

val = «»

vals = Split(str,»=»)

for each z in vals

if nm = «» then

nm = z

val = Replace(z,»,»,».»)

end if

if (nm <> «») and (val <> «») then

cmdStr = «INSERT INTO temperatures» &_

«(measurementdatetime, thermometerid, value, javadatetime, thermometername)» &_

«VALUES (‘» & curdt & «‘,'» & cnt & «‘,'» & val & «‘,'» & javadt & «‘,'» & nm & «‘)»

cn.execute cmdStr

End If

cnt = cnt + 1

End if

Set TextFileStream = Nothing

End If

Дальше адаптер на PHP который формирует JSON для Highstock.

$rcn = mysql_connect(«localhost»,»usr»,»psw»);

mysql_select_db(«test»);

$termid = » and `thermometerid` = 2″;

$last = «order by `measurementdatetime`»;

$from = «»;

$to = «»;

$funk = «MIN»;

if (isset($_GET)) $termid=» and `thermometerid` = «.$_GET;

if (isset($_GET)) $last=»order by `measurementdatetime` desc, ‘termid’

limit «.$_GET;

if (isset($_GET)) $from=» and `measurementdatetime` >= «.$_GET;

if (isset($_GET)) $to=» and `measurementdatetime` <= «.$_GET;

if (isset($_GET)) $funk=»».$_GET;

$sqlstr = «SELECT MIN(`javadatetime`) as javadatetime, ROUND(«.$funk.»(`value`),1) as value

FROM `temperatures`

WHERE 1 «.$termid.» «.$from.» «.$to.»

group by TO_DAYS(`measurementdatetime`)

«.$last;

$res = mysql_query($sqlstr);

$number = mysql_num_rows($res);

printf(«);

printf(«, «);

printf($row);

printf(«]»);

$first = true;

}

}

printf(«]»);

mysql_close();

Пример вывода графика:

var cnt = 0, seriesOptions = , names = ;

createAll();

function createAll() {

cnt = 0;

$.each(names, function(i, name) {

$.getJSON(‘http://tarasii.dyndns.org/minmax.php?termid=2&funk=’+name, function(data) {

seriesOptions = {name: name, data: data, tooltip: { yDecimals: 1}};

cnt++;

if (cnt == names.length) {

createChart();

}

});

});

}

function createChart() {

window.chart = new Highcharts.StockChart({

chart : { renderTo : ‘container’}, title : { text : ‘Day Temperature Statistics’},

xAxis : { maxZoom : 1 * 24 * 3600000 // fourteen days},

series : seriesOptions

});

}

Недавно опять же колеги натолкнули меня на jQuery gauge widget (спс ASM). Получились аналоговые термометры и часы

function createGauge(inGauge) {

inGauge.jqxLinearGauge({

orientation: ‘vertical’, width: 80, height: 150,

ticksMajor: { size: ‘10%’, interval: 10 },

ticksMinor: { size: ‘5%’, interval: 2.5, style: { ‘stroke-width’: 1, stroke: ‘#aaaaaa’} },

max: 40, min: -40,

pointer: { size: ‘5%’ }, colorScheme: ‘scheme05’,

labels: {position: ‘far’, interval: 20, formatValue: function (value, position) {

if (value === -40) {

return ‘°C’;

}

return value + ‘°’;

}

},

animationDuration: 100

});

};

Скрипт который отправляет результаты на openweathermap

On Error Resume Next

set cn = CreateObject(«ADODB.Connection»)

cn.connectionstring = «Driver={MySQL ODBC 5.1 Driver};Server=localhost;DataBase=test; » &_

«USER=usr;PASSWORD=pwd;»

res = cn.execute(sqlStr)

str = FormatNumber(res(0),1,-1,0,0)

str = Replace(Str,»,»,».»)

Set cn = Nothing

strURL = «http://openweathermap.org/data/post»

strDatatoSend =»user=usr&password=pwd&temp=»&str&»&lat=50.5193&long=30.5915&alt=100″

Dim objHTTP

Set objHTTP = CreateObject(«Microsoft.XMLHTTP») ‘Create XML HTTP object for the Post method

objHTTP.open «POST», strURL, False, «usr», «pwd» ‘Opening the HTTP post method

objHTTP.setRequestHeader «Content-Type», «application/x-www-form-urlencoded»

objHTTP.send strDatatoSend ‘Sending the request

Set objHTTP = Nothing

Пример гаджета для windows7 который показывает температуру со станции openweathermap

Чтение данных происходит скриптом jquery

function updateList() {

$.getJSON(‘http://openweathermap.org/data/2.1/weather/station/46933?type=json&callback=?’, function(json) {

$.each(json, function(i, head) {

if(i==»main»){

curTmp = Math.round((head.temp-273)*10)/10;

if (curTmp>0){

$(‘#main’).html(‘

+’+curTmp+’°C
‘);

}else{

$(‘#main’).html(‘

-‘+curTmp+’°C
‘);

}

}

});

});

}

Немного об оборудовании.

Контроллер MP707 соединен с датчиками DS18B20 витой парой, датчики подключены параллельно. Длина шины около 10 метров.

По началу сервером был нетбук ASUS Eee PC900H под управлением WIN XP.

Спустя некоторое время сервер переехал на материнку miniATX VIA C7-D 1800MHz в старом компьютерном AT-корпусе.

    EctoControl v3.1 Центральный GSM-блок
    Основные функции

    • Возможность подключения широкого спектра проводных и беспроводных датчиков
    • Контроль наличия сети 220В
    • Контроль проникновения, движения, задымления, температуры (в зависимости от комплектации)
    • Контроль протечки воды, утечки газа, уровня жидкости или давления в системе отопления (в зависимости от комплектации)
    • Оповещение в случае любой аварии по SMS или звонком на мобильный телефон
    • Световая и звуковая сигнализация в случае любых критических изменений с возможностью вывода на пульт охраны
    • Активация-снятие охраны с помощью SMS и ключа Toch-memory
    • Отправка данных по запросу
    • Встроенные реле (3шт) для управление электроприборами с помощью sms
    • Управление котлом, поддержание постоянной температуры (gsm термостат)
    • Управление двумя электрическими розетками
    • Видеонаблюдение с сохранением данных в облачном сервисе Ivideon.ru. Доступ к видео через личный кабинет и мобильное приложение Ivideon в несколько кликов.
    • Комнатная IP-камера Hikvision DS-2CD2412F-IW: Wi-Fi, разрешение 1280×960, ИК подсветка, карта памяти
    • Уличная IP-камера Hikvision DS-2CD2532F-IS: Антивандальное исполнение, рабочая температура -30..60 градусов, разрешение 2048×1536, ИК подсветка, карта памяти
    • Работа с протоколом обмена RS-485 (Modbus)

    В базовый комплект входит

    Комплектуется дополниельными датчиками:

    Пример схемы подключения EctoControl

    Используйте все возможности системы с протоколом обмена RS-485 (Modbus):

    • подключение стороннего контроллера или ПК для организации автоматизированного сбора информации с датчиков системы и управления различными устройствами;
    • подключение серийно выпускаемых и широко распространенных счетчиков электрической энергии, тепла и воды для автоматизированного съема показаний
    • Бесплатная Онлайн Панель Управления и мобильное приложение
    • Для загрузки обновления достаточно отправить SMS-команду загрузки прошивки, система обновится самостоятельно (только для EctoControl v3.0 — v3.1, в продаже с августа 2015г.)
    • Любые беспроводные датчики

    Настроить систему EctoControl

  • Настроить под Ваши задачи необходимые функции системы мониторинга можно с помощью наших специалистов, задавая каждый параметр по вашему усмотрению. Вы получите решение даже самых специфических задач контроля и управления!
  • Технические характеристики
    EctoControl
  • Параметры Показатели
    Габариты основного блока
    227 мм х 161 мм х 37 мм
    Максимум телефонов для оповещения
    10 номеров
    строенные каналы реле
    3 независимых канала
    Точность датчиков температуры
    0,5-1°С
    Температура эксплуатации системы
    от -25°С до +50°С
    Температурный диапазон работы температурных датчиков
    от -40°С до +99°С
    Время работы в автономном режиме
    до 24 часов (комплектный аккумулятор) до 7 суток (аккумулятором на 7 Ач)
    Документация
    Гарантийный талон
    Комплектация
    Основной блок EctoControl, внешняя выносная антенна, внешний аккумулятор 1,2Ач, 2 датчика температуры, документация
    Производитель
    Компания Эктострой (Россия)

    Загородный дом
    Контроль температуры и системы отопления
    Вы всегда в курсе, какая температура в Вашем доме, есть ли в доме электричество, нет ли протечек или повышения влажности. В случае любых сбоев, Вы моментально получаете текстовое и голосовое сообщение на мобильный телефон. Немедленно примите меры, чтобы избежать крупных повреждений Вашего дома.
    Управление отоплением, управление котлом
    Подключите систему к котлу или электросети, используйте функцию термостата или ручного управления. Выключайте и включайте приборы отопления, отправляя SMS-команды или через голосовое меню системы EctoControl.
    Безопасность
    Дополнительные датчики движения и дыма отвечают за безопасность помещения. При срабатывании датчиков все заданные номера телефонов получат моментальные уведомление. Используйте светозвуковую сигнализацию для того, чтобы вовремя отпугнуть злоумышленников.
    Серверная комната
    Климатический контроль от перегрева
    Узнайте заранее, когда температура воздуха начнет повышаться, чтобы избежать повреждения серверного оборудования.
    Контроль скачков напряжения
    Установите EctoControl перед источником бесперебойного питания и получайте уведомления о любых сбоях электропитания. Для контроля второго источника используйте дополнительный датчик наличия сети 220В.
    Тревожный сигнал на пульт охраны
    Выведите звуковую светозвуковую сигнализацию на пульт охраны для неотложного реагирования на любые неполадки.
    Управление охлаждением
    Запустите дополнительное охлаждение серверной дистанционно, отправив SMS-команду на EctoCоntrol с подключенным реле управления.
    Склад или холодильная камера
    Высокоточный мониторинг температуры
    Низкая погрешность датчиков температуры системы Ectocontrol позволит решать самые сложные задачи контроля температуры. Датчики одинаково хорошо справляются с измерением положительной и отрицательной температуры.
    Контроль дополнительных параметров помещения
    Подключите необходимые датчики: протечки, движения, влажности, давления в трубе, уровня жидкости и получите полный контроль над складом!
    Тревожный сигнал на пульт охраны
    Выведите звуковую светозвуковую сигнализацию на пульт охраны для неотложного реагирования на любые неполадки.
    Управление электрооборудованием
    Включайте и выключайте любое электрооборудование, используя простые SMS-команды.

  • Cтоимость оборудования и услуг по монтажу EctoControl
  • Вид работ Стоимость, руб.
    Базовый комплект 9900
    Монтаж базового комплекта 1800
    Монтаж дополнительного комплекта датчиков по запросу
    Первичный выезд на обсдледование бесплатно

    Закажите у нас монтаж и настройку Системы EctoControl
    Наша компания официальный представитель производителя оборудования, специалисты прошли обучение, смогут самостоятельно выехать к Вашему объекту на техническое обследование и монтаж. Принимаем заказы и консультируем по телефону.

    Актуальность: 13.04.2018

    Дизайн © 2009-20 www.control-auto.ru ГК «Контроль Авто». Бесплатный звонок по России тел.: 8-800-700-69-68, e-mail: mail@control-auto.ru
    Главная страница | ГЛОНАСС/GPS | ЭРА-ГЛОНАСС | Контроль транспорта | Контроль топлива | Персональные трекеры | Маяки | Тахографы | Карты водителей | Замена блоков СКЗИ | Контроль веса | Контроль температуры | Контроль давления в шинах | Подсчет пассажиров | Видеорегистраторы | Парктроники | Рации и магнитолы | ДОПОГ/ ПОГАТ | Мониторинг домов и объектов | Компания | Партнеры | Вакансии

Дистанционный контроль температуры и управление котлом для удаленных коттеджей, дач с автономным отоплением. Простое решение актуальной задачи с помощью беспроводных температурных датчиков Астра-3731 и прибора Астра-812 Pro (начиная с версии 4_0).

Информация с оборудования доставляется на смартфон собственника. С помощью мобильного приложения Security Hub собственник может включить/выключить контроль температуры и управлять котлом отопления.

Мобильное приложение «Security Hub»

Позволяет решить задачи

1. Поддерживать заданную температуру в помещениях

  • Автоматическое управление котлом по порогу поддержания температуры. Значения порогов задаются в настройках прибора Астра-812 Pro.
  • Дистанционное принудительное переключение режима работы котла из мобильного приложения.

2. Знать текущую температуру в помещении

  • Мониторинг температуры в мобильном приложении.
  • Отображение на дисплее прибора Астра-812 Pro.

3. Предотвратить последствия аварии системы отопления

При чрезмерно высокой или низкой температуре вероятна неисправность оборудования. По достижению критических порогов температуры оповещение отправляется на смартфон собственника. Значения порогов задаются в настройках прибора Астра-812 Pro.

Особенности предлагаемого решения

  • Быстрота монтажа.
  • Отсутствие проводов.
  • Решение для распространенных серий котлов.
  • Возможность расширения функций системы с помощью дополнительных типов датчиков (дыма, движения, открытия двери и окна, утечки воды и др.).

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

В схеме приведен вариант схемотехнического решения на примере распространенных серий котлов.

Применяемый котел должен иметь возможность теплового управления с помощью подключения внешнего комнатного термостата.
Вместо весьма дорогостоящего термостата в решении предлагается использовать специальный беспроводный температурный датчикАстра-3731. Для контроля высоких температур (до +125 °С) к Астра-3731 можно подключить внешний датчик температуры DS 18В20 (не входит в комплект поставки).

В основных настройках котла должно быть установлено до 80% мощности. Котел должен быть переведен в режим включения нагрева при замыкании управляющих контактов внешнего термостата и работать в режиме «Запроса тепла» от внешнего регулятора или термостата.

Управление котлом осуществляется сильноточным релейным выходом Relay 1 прибора Астра-812 Pro при переходе контролируемой температуры среды через предустановленные пороги. Можно задействовать для управления несколько зон контроля со своими размещенными в них извещателями и индивидуальными для них предустановками температуры.

Спецификация оборудования*

Наименование Описание Кол.
Астра-812 Pro Прибор приемно-контрольный охранно-пожарный 1
Астра-GSM (ПАК Астра) Модуль GSM. Устанавливается в корпус Астра-812 Pro. Обеспечивает передачу SMS, речевых сообщений на 8 номеров пользователей, а также взаимодействие с сервером ПАК Астра для мониторинга и управления через мобильное приложение Security Hub и АРМ ПЦО 1
Астра-3731 Извещатель температурный радиоканальный 1**
Астра-712/0 исп. 2А Источник бесперебойного электропитания резервированный 12 В, 2 А 1
Аккумулятор 12В, 7А/ч 1

* Комплект оборудования может быть изменен или дополнен в соответствии с пожеланием заказчика.
** Количество извещателей выбирается в зависимости от числа контролируемых помещений.

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