вмешательства серверов и всякой высокоуровневой братии, для работы нужен только интернет(в момент включения происходит синхронизация аппаратных часов с
NTP сервером). Представляет собой ESP8266 с простым интерфейсом настройки.Термостат работает под управлением датчика температуры BME280 и часов
ds3231. На странице можно настроить по три таймера на один день от понедельника до воскресенья, после нажатия кнопки "Создать" таймер появляется в соответствующем месте, еще не отработавший или работающий таймер можно в любой момент переопределить , между таймерами возможны разрывы времени, допустим таймер закончился в 16:20 а следующий может начаться в 16:55.
Все что нужно это скомпилировать проект из исходников и зашить контроллер, открыть интерфейс и настроить таймеры, по срабатыванию таймера предусмотрено одно действие- включить или выключить нагрузку на пине(может быть переопределен перед компиляцией).
Настраивается компиляция макросами находящимися в header.h
устройство использует NETBIOS имя и динамический адрес, в адресной строке можно набрать http://Test и появится интерфейс устройства, можно даже не знать ip адреса, однако пользователей андройд ждет разочарование - столь могучая ОС не знает NETBIOS, поэтому ip им все таки нужен.#define BOILER 14 - вывод нагревателя
#define BAUDRATE 9600 -скорость порта
#define DBG_OUTPUT_PORT Serial - номер порта
#define DBG 1 - включение отладочных сообщений на порту
#define NETBIOS 1
#define NETBIOSNAME "Test" - сетевое имя
#define WIFICANNEL 10 -канал wifi
Устройство использует псевдомногозадачную(во сказал)среду, определено три задачи, вышеприведенные макросы настраивают периоды выполнения в мс .#define MEASURETEMP_MS 6000
#define MEASURESERVER_MS 1
#define MEASURERTC_MS 3000 -периоды задач
Тайм зона и NTP сервер для синхронизации времени.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;
Ну и
Здесь все традиционно.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
вы можете его скачать и сохранить на диске, если этот файл залить на пустое устройство(с незаполненной таблицей) то после перезагрузки оно примет настройки из этого файла(таблица заполнится данными из файла).