ESP8266 MegaD api

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Haus
Сообщения: 227
Зарегистрирован: 28 апр 2015, 13:13

Re: ESP8266 MegaD api

Сообщение Haus » 10 фев 2017, 13:59

Если честно пока не вижу надобности и пользы от ESP+MQTT в ioBroker в данном виде, вот если бы ESP публиковала все свои порты и обновляла изменения. Что касаемо действий, после как запущен MQTT в ioBroker я пере запускал ESP происходит подписка на mqtt.0.esp (id=esp в моём случае) получаем "OK", в этот же топик вместо "OK" вбиваю 5:1 или 5:0 порт P5 переключается дальше не копал пока.
Кнопкой (входом) управлять не получится, вот статус её нужен для vis.

Alex1808
Сообщения: 45
Зарегистрирован: 09 авг 2016, 20:00

Re: ESP8266 MegaD api

Сообщение Alex1808 » 10 фев 2017, 15:31

Haus писал(а):Если честно пока не вижу надобности и пользы от ESP+MQTT в ioBroker в данном виде, вот если бы ESP публиковала все свои порты и обновляла изменения. Что касаемо действий, после как запущен MQTT в ioBroker я пере запускал ESP происходит подписка на mqtt.0.esp (id=esp в моём случае) получаем "OK", в этот же топик вместо "OK" вбиваю 5:1 или 5:0 порт P5 переключается дальше не копал пока.
Кнопкой (входом) управлять не получится, вот статус её нужен для vis.
Ясно. Спасибо за разъяснение!

Я то думал что сконфигурированные порты должно прописаться в топиках и выдавать состояние.. :?

Shmit
Сообщения: 28
Зарегистрирован: 24 фев 2017, 15:52

Re: ESP8266 MegaD api

Сообщение Shmit » 24 фев 2017, 21:32

Подскажите, можно сделать отправку на сервер меньше 10с , или сразу после изменения состояния gpio,как в оригинальной MegaD.
Еще один вопрос,можно как то сделать ,чтобы по MQTT отправлялся статус,что бы управлять выключателем на стене и в MajorDomo.

anapogo
Сообщения: 80
Зарегистрирован: 18 окт 2011, 18:05
Откуда: Житомир

Re: ESP8266 MegaD api

Сообщение anapogo » 11 мар 2017, 13:13

llams, только сейчас обнаружил, что MCP23017 подключается к 0 и 2 GPIO. получается DS-шина в пролете. Может DS-шину перенести на другой GPIO?

Haus
Сообщения: 227
Зарегистрирован: 28 апр 2015, 13:13

Re: ESP8266 MegaD api

Сообщение Haus » 11 мар 2017, 13:44

anapogo писал(а):llams, только сейчас обнаружил, что MCP23017 подключается к 0 и 2 GPIO. получается DS-шина в пролете. Может DS-шину перенести на другой GPIO?
DS-шина P0(gpio5)
I2C(MCP23017)-шина P7(gpio0), P8(gpio2)

anapogo
Сообщения: 80
Зарегистрирован: 18 окт 2011, 18:05
Откуда: Житомир

Re: ESP8266 MegaD api

Сообщение anapogo » 11 мар 2017, 17:25

Прошу прощения недоглядел.
А еще вопрос:
При срабатывании входа - вызывается скрипт на сервере, скажем input.php.
Так в поле Net:, для соответствующего входа, нужно вписать IP-сервера/input.php, а параметры
ESP сама подставит или нужно писать всю строку (с параметрами). Тогда как различить на какое переключение вход сработал 0->1 или 1->0?
И если "ESP сама подставит", то как будет в конечном итоге выглядеть строка запроса на сервер?

Haus
Сообщения: 227
Зарегистрирован: 28 апр 2015, 13:13

Re: ESP8266 MegaD api

Сообщение Haus » 11 мар 2017, 20:50

anapogo писал(а):Прошу прощения недоглядел.
А еще вопрос:
При срабатывании входа - вызывается скрипт на сервере, скажем input.php.
Так в поле Net:, для соответствующего входа, нужно вписать IP-сервера/input.php, а параметры
ESP сама подставит или нужно писать всю строку (с параметрами). Тогда как различить на какое переключение вход сработал 0->1 или 1->0?
И если "ESP сама подставит", то как будет в конечном итоге выглядеть строка запроса на сервер?
В разделе Config - SRV прописываете в Srv: IP сервера и в Scr: скрипт на сервере
Поле Net: больше подходит для передачи другому устройству команды в зависимости от настройки.

Здесь всё это расписано viewtopic.php?f=1&t=1130

anapogo
Сообщения: 80
Зарегистрирован: 18 окт 2011, 18:05
Откуда: Житомир

Re: ESP8266 MegaD api

Сообщение anapogo » 11 мар 2017, 22:16

Извините, но там, где "всё это расписано viewtopic.php?f=1&t=1130" (перечитывал раз 10 точно), я однозначного ответа не нашел...
хотя и сам программист :-) и тут http://www.ab-log.ru/smart-house/ethernet/megad-328-api
т.е. я так понимаю скрипт на сервере только один "В разделе Config - SRV"
(и он отрабатывает раз в 10*х секунд?)
а как быть если нужна мгновенная реакция?
- сработал охранный датчик и нужно включить запись с камеры?
ну хорошо, как будет в конечном итоге выглядеть строка запроса на сервер?
мне ведь ее нужно разобрать в php по косточкам, и в зависимости от параметров отреагировать...
типа http://192.168.0.250/megad.php?pt=5&m=1 ?
т.е. "pt=5&m=1" добавляет ESP?
что значит тогда поле loop: 1 *10s, запрос пойдет в худшем случае через 10 секунд?
как-же тогда люди выключателями светом управляют?

Haus
Сообщения: 227
Зарегистрирован: 28 апр 2015, 13:13

Re: ESP8266 MegaD api

Сообщение Haus » 11 мар 2017, 22:51

anapogo писал(а):Извините, но там, где "всё это расписано viewtopic.php?f=1&t=1130" (перечитывал раз 10 точно), я однозначного ответа не нашел...
хотя и сам программист :-) и тут http://www.ab-log.ru/smart-house/ethernet/megad-328-api
т.е. я так понимаю скрипт на сервере только один "В разделе Config - SRV"
Да
anapogo писал(а):(и он отрабатывает раз в 10*х секунд?)
а как быть если нужна мгновенная реакция?
- сработал охранный датчик и нужно включить запись с камеры?
Тут я не понял, информация уходит сразу после срабатывания входа
anapogo писал(а):ну хорошо, как будет в конечном итоге выглядеть строка запроса на сервер?
мне ведь ее нужно разобрать в php по косточкам, и в зависимости от параметров отреагировать...
типа http://192.168.0.250/megad.php?pt=5&m=1 ?
т.е. "pt=5&m=1" добавляет ESP?
anapogo писал(а):как-же тогда люди выключателями светом управляют?

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

Параметры, передаваемые устройством на сервер.
Параметр "pt"
В соответствии с внутренними настройка, устройство отправляет на сервер информацию об активном порте
http://[IP-адрес сервера]/[имя скрипта]?pt=[номер порта]
Пример
http://192.168.0.250/megad.php?pt=5

Скрипте megad.php значение параметра pt доступно через массив $_GET
Пример
<?
if ( $_GET['pt'] == "4" )
echo "7:2";
?>

Устройство после отправки номера порта ожидает от сервера команды. В указанном выше примере сервер передает устройству команду на переключение порта 7. Формат команды полностью соответствует формату записи сценария.

Параметр "m"
Этот параметр определяет по какому событию произошла отправка пакета на сервер. Если контакт замыкается, то на сервер отправляется сообщение без параметра "m". Если контакт размыкается, то значение параметр "m" равно "1"
Пример (произошло размыкание контакта, подключенного ко входу №5)
http://192.168.0.250/megad.php?pt=5&m=1
Скачайте Андрея Demo http://ab-log.ru/files/File/ab-log-demo2.zip там есть примеры megad.php

anapogo
Сообщения: 80
Зарегистрирован: 18 окт 2011, 18:05
Откуда: Житомир

Re: ESP8266 MegaD api

Сообщение anapogo » 11 мар 2017, 23:44

Так я с "Андрея Demo" и начинал - нифига не понял, может просто хотел быстро... там только IN-OUT...
потом попробовал IOBROKER... тоже, проблемы с установкой (сервер-то слабенький, лет 15)
остановился на MajorDoMo
с Нового года крутится круглосуточно, графики строит, (на Винде) :-)
Вложения
Screenshot (5).png
Screenshot (5).png (40.8 КБ) 3910 просмотров
Screenshot (1).png
Screenshot (1).png (27.46 КБ) 3910 просмотров
Screenshot (2).png
Screenshot (2).png (374.24 КБ) 3910 просмотров
Последний раз редактировалось anapogo 12 мар 2017, 06:17, всего редактировалось 6 раз.

anapogo
Сообщения: 80
Зарегистрирован: 18 окт 2011, 18:05
Откуда: Житомир

Re: ESP8266 MegaD api

Сообщение anapogo » 12 мар 2017, 03:45

и за это все, конечно огромное спасибО llams, без Вас я-бы этим не занялся....

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: ESP8266 MegaD api

Сообщение empenoso » 14 мар 2017, 16:46

Подскажите пожалуйста, а на Sonoff MegaD api можно прошить?

Alex1808
Сообщения: 45
Зарегистрирован: 09 авг 2016, 20:00

Re: ESP8266 MegaD api

Сообщение Alex1808 » 14 мар 2017, 17:17

empenoso писал(а):Подскажите пожалуйста, а на Sonoff MegaD api можно прошить?
конечно.

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: ESP8266 MegaD api

Сообщение empenoso » 14 мар 2017, 18:16

Alex1808 писал(а):
empenoso писал(а):Подскажите пожалуйста, а на Sonoff MegaD api можно прошить?
конечно.
А что-то вроде инструкции для новичков как именно это сделать где можно посмотреть?

SolarW
Сообщения: 176
Зарегистрирован: 01 авг 2016, 00:32

Re: ESP8266 MegaD api

Сообщение SolarW » 14 мар 2017, 19:45

empenoso писал(а):А что-то вроде инструкции для новичков как именно это сделать где можно посмотреть?
Вот эти инструкции по прошивке вполне подойдут скорее всего:
https://wifi-iot.com/p/wiki/129/ru/
https://wifi-iot.com/p/wiki/140/ru/
Только прошивку брать из этой темы соответственно и пропустить части связанные с WiFi-IoT.

P.S. Главное забыл!!! В момент прошивки не надо запитывать модуль от 220, лучше с USB-UART запитать (правильно).
Иначе возможны нехорошие последствия!!!

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: ESP8266 MegaD api

Сообщение empenoso » 15 мар 2017, 17:16

Я извиняюсь за простой вопрос - опыта пока нет:
припаял штырьки, подключаю к компьютеру, но ничего не видит, в чем причина может быть?
node1.jpg
node1.jpg (57.15 КБ) 3752 просмотра
IMG_20170315_173233.jpg
IMG_20170315_173233.jpg (361.9 КБ) 3752 просмотра
Мигает RX на программаторе, но ничего не происходит.
node.jpg
node.jpg (53.82 КБ) 3752 просмотра

SolarW
Сообщения: 176
Зарегистрирован: 01 авг 2016, 00:32

Re: ESP8266 MegaD api

Сообщение SolarW » 15 мар 2017, 18:50

1. TX который на USB-UART должен идти на RX модуля (ну и RX на TX соответственно)
2. Чтобы модуль перешёл в режим прошивки при включении питания надо держать нажатой кнопку.
3. Ну и с питанием аккуратней - с USB-UART на модуль должно уходить то, что модуль ожидает увидеть, 3.3 или 5в.
Ежели подать 5 где ожидает 3.3 - сгорит скорее всего.
Да и сами уровни TTL с USB-UART должны соответствовать.

Изображение

Я такой вот железкой шью.

Если все соответствует - то после нажатия кнопки на первой закладке стартует прошивка.

https://tronixlabs.com.au/cables/usb/us ... australia/ - про такой переходник как у меня
http://www.ebay.com/itm/FTDI-Basic-Brea ... 0907184616 - у вашего с другой стороны тоже вроде есть переключатель уровней на 3.3в

empenoso
Сообщения: 1039
Зарегистрирован: 11 ноя 2015, 08:03
Откуда: Пермь

Re: ESP8266 MegaD api

Сообщение empenoso » 15 мар 2017, 21:00

SolarW писал(а):1. TX который на USB-UART должен идти на RX модуля (ну и RX на TX соответственно)
2. Чтобы модуль перешёл в режим прошивки при включении питания надо держать нажатой кнопку.
3. Ну и с питанием аккуратней - с USB-UART на модуль должно уходить то, что модуль ожидает увидеть, 3.3 или 5в.
Ежели подать 5 где ожидает 3.3 - сгорит скорее всего.
Да и сами уровни TTL с USB-UART должны соответствовать.

Я такой вот железкой шью.

Если все соответствует - то после нажатия кнопки на первой закладке стартует прошивка.

https://tronixlabs.com.au/cables/usb/us ... australia/ - про такой переходник как у меня
http://www.ebay.com/itm/FTDI-Basic-Brea ... 0907184616 - у вашего с другой стороны тоже вроде есть переключатель уровней на 3.3в
Спасибо! RX - TX у меня местами перепутано было и программу оказывается от имени администратора запускать надо было :D

SolarW
Сообщения: 176
Зарегистрирован: 01 авг 2016, 00:32

Re: RE: Re: ESP8266 MegaD api

Сообщение SolarW » 15 мар 2017, 23:11

empenoso писал(а):Спасибо! RX - TX у меня местами перепутано было и программу оказывается от имени администратора запускать надо было :D
Зашилось?

nevkon
Сообщения: 268
Зарегистрирован: 23 апр 2014, 14:48

Re: ESP8266 MegaD api

Сообщение nevkon » 16 мар 2017, 10:01

Чтобы не приходилось жать ресет можно еще подключить DTR на пин ресета, тогда переход в режим прошивки будет переходить автоматом.

Ответить