Программируемый недельный таймер

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Ответить
alexsis_76
Сообщения: 1040
Зарегистрирован: 26 авг 2011, 05:09
Откуда: Забайкальский край п Оловянная

Программируемый недельный таймер

Сообщение alexsis_76 » 26 окт 2018, 15:28

Устройство "Программируемый недельный термостат" предназначено для автономного управления температурой в помещении по недельному расписанию, без
вмешательства серверов и всякой высокоуровневой братии, для работы нужен только интернет(в момент включения происходит синхронизация аппаратных часов с
NTP сервером).
web.jpg
web.jpg (348.5 КБ) 207 просмотров
Представляет собой ESP8266 с простым интерфейсом настройки.Термостат работает под управлением датчика температуры BME280 и часов
ds3231. На странице можно настроить по три таймера на один день от понедельника до воскресенья, после нажатия кнопки "Создать" таймер появляется в соответствующем месте, еще не отработавший или работающий таймер можно в любой момент переопределить , между таймерами возможны разрывы времени, допустим таймер закончился в 16:20 а следующий может начаться в 16:55.
Все что нужно это скомпилировать проект из исходников и зашить контроллер, открыть интерфейс и настроить таймеры, по срабатыванию таймера предусмотрено одно действие- включить или выключить нагрузку на пине(может быть переопределен перед компиляцией).
Настраивается компиляция макросами находящимися в header.h
#define BOILER 14 - вывод нагревателя
#define BAUDRATE 9600 -скорость порта
#define DBG_OUTPUT_PORT Serial - номер порта
#define DBG 1 - включение отладочных сообщений на порту
#define NETBIOS 1
#define NETBIOSNAME "Test" - сетевое имя
#define WIFICANNEL 10 -канал wifi
устройство использует NETBIOS имя и динамический адрес, в адресной строке можно набрать http://Test и появится интерфейс устройства, можно даже не знать ip адреса, однако пользователей андройд ждет разочарование - столь могучая ОС не знает NETBIOS, поэтому ip им все таки нужен.
#define MEASURETEMP_MS 6000
#define MEASURESERVER_MS 1
#define MEASURERTC_MS 3000 -периоды задач
Устройство использует псевдомногозадачную(во сказал)среду, определено три задачи, вышеприведенные макросы настраивают периоды выполнения в мс .
static const char ntpServerName[] = "us.pool.ntp.org";
//static const char ntpServerName[] = "time.nist.gov";
//static const char ntpServerName[] = "time-a.timefreq.bldrdoc.gov";
//static const char ntpServerName[] = "time-b.timefreq.bldrdoc.gov";
//static const char ntpServerName[] = "time-c.timefreq.bldrdoc.gov";
const int timeZone = 9;
Тайм зона и NTP сервер для синхронизации времени.
Ну и
const char* ssid = "**********";
const char* password = "*********";
Здесь все традиционно.
для работы необходимо подключение часов и датчика, иначе не будет работать
исходники могут быть скомпилированы в среде 1.8.5 с применением esp8266 2.4.0-rc1, необходимые файлы и библиотеки в архиве.
файловая система 1 мбит, частота 80 мгц.
Настройки термостата находятся в файле Termostat.txt , его можно найти по адресу http://xxx.xxx.xxx.xxx/edit.htm
вы можете его скачать и сохранить на диске, если этот файл залить на пустое устройство(с незаполненной таблицей) то после перезагрузки оно примет настройки из этого файла(таблица заполнится данными из файла).

martiniman
Сообщения: 155
Зарегистрирован: 09 авг 2016, 15:09
Откуда: Сочи

Re: Программируемый недельный таймер

Сообщение martiniman » 26 окт 2018, 16:31

alexsis_76 писал(а):
26 окт 2018, 15:28
устройство использует NETBIOS имя и динамический адрес, в адресной строке можно набрать http://Test и появится интерфейс устройства, можно даже не знать ip адреса, однако пользователей андройд ждет разочарование - столь могучая ОС не знает NETBIOS, поэтому ip им все таки нужен.
Во многих версиях Windows нужно писать так:

Код: Выделить всё

 http://Test.local

alexsis_76
Сообщения: 1040
Зарегистрирован: 26 авг 2011, 05:09
Откуда: Забайкальский край п Оловянная

Re: Программируемый недельный таймер

Сообщение alexsis_76 » 27 окт 2018, 04:28

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

Если не будет хватать библиотек - обращайтесь.
Сейчас на его базе разрабатывается таймер обратного отщета с выдежкой часы,сутки,недели.

Ответить