Интеграция термостата на базе SmartLife esp8266 в систему умного дома MajorDomo
14.11.2017
Рассмотрим пример управления термостатом из системы MajorDomo
Изменение температуры происходит при изменении значения переменной therm1, в результате чего выполняется метод thermo_change, который выполняет get запрос формата http://esp8266:0000@*.*.*.*/configtermo?st=1&ln=41&rmin=20&rmax=1&gpio=14 , где
st = номер термостата
ln = номер датчика
rmin = значение температуры
rmax = гистерезис
gpio = номер порта реле
1. Создание объекта Термостат
Создаем объект с названием thermostat, класс к примеру Relays (можно любой другой)
Переходим в свойства созданного объекта
и создаем следующие свойства
Свойство | Значение | Описание |
login | esp8266 | логин к esp8266 |
pass | 0000 | пароль к esp8266 |
ip | 192.168.88.206 | IP адрес в домашней сети |
ln1 | 41 | номер датчика |
therm1 | 20 | значение термостата |
gpio1 | 12 | номер GPIO реле |
st1 | 1 | номер термостата |
Должно получится так
Следующим шагом будет создание метода thermo_change
С кодом:
$login=$this->getProperty("login");
$pass=$this->getProperty("pass");
$ip=$this->getProperty("ip");
$ln1=$this->getProperty("ln1");
$therm1=$this->getProperty("therm1");
$gpio1=$this->getProperty("gpio1");
$st1=$this->getProperty("st1");
getURL('http://'.$login.':'.$pass.'@'.$ip.'/configtermo?st='.$st1.'&ln='.$ln1.'&rmin='.$therm1.'&rmax=1&gpio='.$gpio1,0);
Программирование объектов закончено.
2. Создание меню управления
Готово
Открывайте страницу Меню (ip адрес сервера/menu.html)
И пробуйте менять температуру.
При каждом нажатии + или - будет формироватся get запрос на устройство (пример)
Комментарии
Пока нет комментариев