ESP8266 MegaD api

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 17 дек 2016, 16:52

Очередная версия:
Все изменения по шине для DS
- возможность определения количества датчиков на шине, максимум 10 штук поле Count,
- возможность сохранения порядка датчиков,

С первого взгляда реализация покажется странной и сложной, но с моей точки зрения такой подход более логичен при дальнейшем накручивании функционала термостата на шину 1-Wire.
1.JPG
1.JPG (19.18 КБ) 3603 просмотра
Для регистрации датчика нужно указать его номер на шине. После этого он появится под данным номером в списке на первой закладке.
2.JPG
2.JPG (26.72 КБ) 3603 просмотра
MegaESP_0.34b2-4m.zip
(231.72 КБ) 145 скачиваний

alexsis_76

Re: ESP8266 MegaD api

Сообщение alexsis_76 » 18 дек 2016, 02:46

Для регистрации датчика нужно указать его номер на шине. После этого он появится под данным номером в списке на первой закладке.
а зачем такие сложности с адресами?берешь любой датчик и говоришь что это первый,затем следующий-2 и т.д,для этого вовсе не обязательно знать их номера.

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 18 дек 2016, 04:19

alexsis_76 писал(а):
Для регистрации датчика нужно указать его номер на шине. После этого он появится под данным номером в списке на первой закладке.
а зачем такие сложности с адресами?берешь любой датчик и говоришь что это первый,затем следующий-2 и т.д,для этого вовсе не обязательно знать их номера.
Причин несколько:
1 - собрали сеть, подключили датчики, месяц все проработало и один из них сдох, нумерация сбилась и началась свистопляска в показаниях. Тот который должен был снимать значение температуры с тёплого пола вдруг стал отдавать уличную температуру и т.д.
2 - с сетью все нормально, все работает, но вот решили добавить новый датчик, и куда он попадёт? В начало? В конец? Или между остальными? Придётся перестраивать всё заново.
3 - пожалуй самый интересный пункт. Имеем 10 ячеек под датчики и, допустим, списки по 16 Act и NetAct на которые можно ссылаться произвольно из любой ячейки под датчик. Тогда можно сделать следующее:
- к одному датчику можно привязать до 10 событий для выполнения одного и того же или разные Act, NetAct записав один адрес датчика в разные ячейки,
- к разным датчикам по определённому событию подключить одно и тоже действие Act или NetAct.

Может кто переубедит?

alexsis_76

Re: ESP8266 MegaD api

Сообщение alexsis_76 » 18 дек 2016, 06:23

собрали сеть, подключили датчики, месяц все проработало и один из них сдох, нумерация сбилась и началась свистопляска в показаниях. Тот который должен был снимать значение температуры с тёплого пола вдруг стал отдавать уличную температуру и т.д
.ну почему же ,вот у меня например термостат(пока недоделанный),входим в процедуру калибровки,подсоединяем датчик (любой)его номер не имеет значения да этого и не нужно,поиск ,устройство находит датчик ,он становится первым(первым он будет всегда) и так далее,если кто то отвалится,например 2 то просто не будет показаний у второго,остальные останутся на месте(1 и 3),ничего никуда не сбивается,затем датчикам можно дать осмысленные имена(датчик на улице тот который на северной стороне)это требует небольшой правки файла дескрипторов на карте(без перепрошивки устройства).
2 - с сетью все нормально, все работает, но вот решили добавить новый датчик, и куда он попадёт?
в конец,или можно переконфигурировать.
для наблюдения на странице есть градусники,они связаны скриптом с устройством,температура динамически отображается на них,все изменения и настройки динамически отображаются на странице.
а подключить можно все было бы желание.

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 18 дек 2016, 09:52

...входим в процедуру калибровки,подсоединяем датчик (любой)его номер не имеет значения да этого и не нужно,поиск ,устройство находит датчик ,он становится первым(первым он будет всегда) и так далее,если кто то отвалится,например 2 то просто не будет показаний у второго,остальные останутся на месте(1 и 3)...
В целом, как я понял, процедура аналогична, устройство хранит адреса датчиков и опрашивает только их, а поиск новых осуществляется только в режиме настройки... Собственно так и есть, разница только в том, что:
- есть список адресов всех устройств на шине, порядок подключения датчиков не имеет никакого значения, даже в момент настройки,
- можно один датчик привязать к нескольким ячейкам (наверно можно их назвать термостатами).
...а подключить можно все было бы желание.
Это точно, информации по протоколам и шинам очень много, нужно немного подумать, вникнуть и все получится. :-) Но в данном проекте я пытаюсь реализовать максимальный функционал устройства, которое позволит работать с различными датчиками и микросхемами не прибегая к необходимости, что то под себя "дописывать" конечным пользователям.

alexsis_76

Re: ESP8266 MegaD api

Сообщение alexsis_76 » 18 дек 2016, 10:16

Это точно, информации по протоколам и шинам очень много, нужно немного подумать, вникнуть и все получится. :-) Но в данном проекте я пытаюсь реализовать максимальный функционал устройства, которое позволит работать с различными датчиками и микросхемами не прибегая к необходимости, что то под себя "дописывать" конечным пользователям.
по моему это тупик,по мере добавления нового функционала вы получаете раздувание кода,в конце концов это приведет к разбуханию и невозможности дальнейшего сопровождения кода(вы просто потеряете контроль над всем этим) из за сложных связей в программе будут появляться странные глюки,я в свое время потоптался по этим граблям,если хотите универсальности посмотрите в сторону скриптовых движков.
- есть список адресов всех устройств на шине, порядок подключения датчиков не имеет никакого значения, даже в момент настройки,
сравните
я говорю устройству что я хочу иметь первым этот датчик,второй этот и т.д,меня не интересует какие у них номера и все прочее,пусть он сам этим занимается,
сдесь же мне надо знать номер датчика,причем надо сначала для себя уяснить где именно находится например 28...01,а где 28...02.

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 18 дек 2016, 10:57

по моему это тупик,по мере добавления нового функционала вы получаете раздувание кода,в конце концов это приведет к разбуханию и невозможности дальнейшего сопровождения кода....
Пожалуй соглашусь. Всему есть мера, именно поэтому конечное устройство ориентированно на выполнение исключительно "грязной" работы. Никаких красивостей, графиков, показометров не будет. По поводу скриптовых движков, для меня тёмный лес. Но за наставления спасибо.
я говорю устройству что я хочу иметь первым этот датчик,второй этот и т.д,меня не интересует какие у них номера и все прочее,пусть он сам этим занимается,
сдесь же мне надо знать номер датчика,причем надо сначала для себя уяснить где именно находится например 28...01,а где 28...02.
Честно говоря не вижу разницы. Нет разницы в порядке следования, хоть звёздочкой. Решили для себя, что первый этот, а второй тот, так и будет всегда.
Разница только в подходе к добавлению устройств на шину, видим весь список и можем один и тот же датчик использовать в разных термостатах.
Я так понимаю, вам не понятен смысл вывода всего списка устройств по команде List, а не только незарегистрированных?

alexsis_76

Re: ESP8266 MegaD api

Сообщение alexsis_76 » 18 дек 2016, 11:15

Никаких красивостей
а зря,информативно,эстетично,вот у вас наверное что бы посмотреть изменение температуры нужно перезагрузить страницу,а со скриптами изменение температуры,состояния входов выходов и т.д. тут же отображаются на странице и наконец просто красиво.
Честно говоря не вижу разницы. Нет разницы в порядке следования, хоть звёздочкой. Решили для себя, что первый этот, а второй тот, так и будет всегда.
ну да, просто удобнее.
Я так понимаю, вам не понятен смысл вывода всего списка устройств по команде List, а не только незарегистрированных?
да нет в принципе понятно.
вот взгляните на полуфабрикат
http://ab-log.ru/forum/viewtopic.php?f= ... &start=340

AvaloncheG
Сообщения: 54
Зарегистрирован: 27 фев 2015, 01:06

Re: ESP8266 MegaD api

Сообщение AvaloncheG » 19 дек 2016, 20:29

llams писал(а):Устройство определяет наличие и количество датчиков во время старта.
А как это понимать? Что если если у меня датчики определяются с разным интервалом, какой то не потеряется?

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 20 дек 2016, 02:07

AvaloncheG писал(а):
llams писал(а):Устройство определяет наличие и количество датчиков во время старта.
А как это понимать?....не потеряется?
В последней версии алгоритм немного другой.
ESP опрашивает только зарегистрированные датчики.
Поиск датчика происходит только в момент нажатия "List", на этой же закладке производится регистрация.

AvaloncheG
Сообщения: 54
Зарегистрирован: 27 фев 2015, 01:06

Re: ESP8266 MegaD api

Сообщение AvaloncheG » 20 дек 2016, 22:27

А можно гистерезис и на АЦП навесить?)

karimm
Сообщения: 86
Зарегистрирован: 09 авг 2011, 03:54

Re: ESP8266 MegaD api

Сообщение karimm » 21 дек 2016, 02:42

AvaloncheG писал(а):А можно гистерезис и на АЦП навесить?)
Поддерживаю!

lsar
Сообщения: 12
Зарегистрирован: 11 янв 2016, 23:03

Re: ESP8266 MegaD api

Сообщение lsar » 26 дек 2016, 19:55

Здравствуйте! пытаю прошивку;) Че то не работает WS281x на моей ленте WS281b, обычные светодиоды горят при простой настройке на выход. Пытался добавить устройство в MajorDomo- не получилось. Или прошивка не дружит с модулем MegaD. надо городить свои скрипты?

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

Re: ESP8266 MegaD api

Сообщение anapogo » 27 дек 2016, 05:57

llams писал(а):Очередная версия:
Все изменения по шине для DS
- возможность определения количества датчиков на шине, максимум 10 штук поле Count,
- возможность сохранения порядка датчиков,
MegaESP_0.34b2-4m.zip
а версий "для меньше памяти" типа
MegaESP_0.33-1m.zip
MegaESP_0.33-512k.zip
MegaESP_0.33-ESP-01.zip
больше не будет?

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 27 дек 2016, 09:41

anapogo писал(а):
llams писал(а):Очередная версия:
Все изменения по шине для DS
- возможность определения количества датчиков на шине, максимум 10 штук поле Count,
- возможность сохранения порядка датчиков,
MegaESP_0.34b2-4m.zip
а версий "для меньше памяти" типа
MegaESP_0.33-1m.zip
MegaESP_0.33-512k.zip
MegaESP_0.33-ESP-01.zip
больше не будет?
Будет. Лень собирать беты для всех. Вым шина 1-wire нужна?

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

Re: ESP8266 MegaD api

Сообщение anapogo » 27 дек 2016, 12:23

Именно она на 80% и нужна, но если после бетты хоть иногда будут версии "для меньше памяти", то можно каждую не собирать... Я думал, уже достигнут предел памяти...
И еще, нельзя-ли обьединить закладки Wi-Fi и IP в одну, а то получается квест при конфигурировании:
даже для себя целую инструкцию написал :-)
прошил
устройство создаст открытую Wi-Fi сеть SID: ESPap.
подключиться к этой сети, заходим изменив Iр ноутбука с 192.168.1.ххх на 192.168.4.ххх
http://192.168.4.1/, если все верно откроется страничка Config.
меняем Ip cfg: DHCP СТОИТ ПО УМОЛЧАНИЮ - не трогаем
ставим Wi-Fi SSID: TPLINK_Dххххх PIN:123 Save - отваливается
заходим на роутер http://192.168.1.ххх/ Network - LAN - и смотрим !Р для новой точки ESP_CF7BF2 где CF7BF2 - 3 последние цифры МАК-адреса
меняем !р нотика назад на 192.168.1.ххх
и заходим уже через роутер на http://192.168.1.107/sec/
и только тогда ставим статику и нужный Iр
Ip cfg:Static EspIp: 192.168.1.124 Mask: 255.255.255.0 DGW:192.168.1.ххх
PIN:123 Save
после рестарта заходим уже через роутер на http://192.168.1.124/sec/
как Вам такое конфигурирование?
а если-бы все было на одной вкладке -то все делалось-бы значительно проще...
либо можно убрать автоматический рестарт после PIN:123 Save...

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 28 дек 2016, 04:28

anapogo писал(а):И еще, нельзя-ли обьединить закладки Wi-Fi и IP в одну...
Трудно не согласиться, но нужно попробовать. Т.к. длина SSID и пароля в сумме может быть 100 байт + IP + маска + шлюз... и того как минимум 150 в одном запросе. Проверю, как будет работать, сообщу.

arbuzmaster
Сообщения: 254
Зарегистрирован: 15 июл 2013, 23:43
Откуда: Астрахань

Re: ESP8266 MegaD api

Сообщение arbuzmaster » 01 янв 2017, 15:56

Помогите пожалуйста решить проблему! После установки в Аналоговом канале времени обновления в 0 значение, модуль пропал из WiFi сете, то есть если его перезагрузить по питанию то он несколько раз пингуется, а затем пропадает

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

From 192.168.0.18 icmp_seq=9 Destination Host Unreachable
From 192.168.0.18 icmp_seq=10 Destination Host Unreachable
From 192.168.0.18 icmp_seq=11 Destination Host Unreachable
From 192.168.0.18 icmp_seq=12 Destination Host Unreachable
From 192.168.0.18 icmp_seq=13 Destination Host Unreachable
From 192.168.0.18 icmp_seq=14 Destination Host Unreachable
From 192.168.0.18 icmp_seq=15 Destination Host Unreachable
64 bytes from 192.168.0.28: icmp_seq=16 ttl=128 time=1842 ms
64 bytes from 192.168.0.28: icmp_seq=17 ttl=128 time=834 ms
64 bytes from 192.168.0.28: icmp_seq=18 ttl=128 time=2.92 ms
64 bytes from 192.168.0.28: icmp_seq=19 ttl=128 time=7.69 ms
64 bytes from 192.168.0.28: icmp_seq=20 ttl=128 time=7.78 ms
64 bytes from 192.168.0.28: icmp_seq=21 ttl=128 time=11.9 ms
64 bytes from 192.168.0.28: icmp_seq=22 ttl=128 time=6.07 ms
64 bytes from 192.168.0.28: icmp_seq=23 ttl=128 time=8.54 ms
64 bytes from 192.168.0.28: icmp_seq=24 ttl=128 time=11.5 ms
64 bytes from 192.168.0.28: icmp_seq=25 ttl=128 time=6.12 ms
64 bytes from 192.168.0.28: icmp_seq=26 ttl=128 time=5.79 ms
Как я понял настройки мешают нормальной работе модуля, я попробовал залить в модуль нулевую прошивку, а затем самую новую бетта версию, но по видимому настройки не удалились и картина повторяется снова, после перезагрузки по питанию он несколько раз пингуется, а затем пропадает! Что делать, как почистить область памяти с настройками?
Последний раз редактировалось arbuzmaster 01 янв 2017, 16:35, всего редактировалось 1 раз.

llams
Сообщения: 192
Зарегистрирован: 23 ноя 2015, 04:20

Re: ESP8266 MegaD api

Сообщение llams » 01 янв 2017, 16:15

arbuzmaster писал(а):Помогите пожалуйста решить проблему! После установки в Аналоговом канале времени обновления в 0 значение, модуль пропал из WiFi сети...
Пробуйте эту.
MegaESP_0.34b3-4m.zip
(232.47 КБ) 113 скачиваний

arbuzmaster
Сообщения: 254
Зарегистрирован: 15 июл 2013, 23:43
Откуда: Астрахань

Re: ESP8266 MegaD api

Сообщение arbuzmaster » 01 янв 2017, 16:26

llams Спасибо! Проблему решил так: python esptool.py --port /dev/ttyUSB0 --baud 115200 erase_flash ,затем залил прошивку повторно!
Получается, что в P9 - ADC нельзя ставить Ноль Period: 0 *0.1s ?

Ответить