Умный дом Ethernet + 1-Wire + Bootloader

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
DOCSIMUS
Сообщения: 184
Зарегистрирован: 07 сен 2013, 01:02

Умный дом Ethernet + 1-Wire + Bootloader

Сообщение DOCSIMUS » 18 янв 2014, 21:45

Основная прошивка
ver.3.53 от 15.03.2015

последние изменения:
работа над ошибками...
добавлен режим входа P&r - отличие от P&R: отсылает сообщение серверу по нажатию и отпусканию, сообщая дополнительно, что включен этот режим (pm=Pr), но при отсутствии ответа сервера выполняет команды по умолчанию только по нажатию
устройству можно отослать в параметре cmd до 7 команд, но в самом устройстве в поле Action сохранить по прежнему можно только 3
небольшие изменения в API
shec.zip
(88.11 КБ) 524 скачивания
Последний раз редактировалось DOCSIMUS 15 мар 2015, 21:46, всего редактировалось 24 раза.

DOCSIMUS
Сообщения: 184
Зарегистрирован: 07 сен 2013, 01:02

Re: Умный дом + 1-Wire + Bootloader

Сообщение DOCSIMUS » 18 янв 2014, 21:45

Bootloader

Прошивка ver.2.3 от 31.01.2014
Fuses: Low:E0, High:D8, Ext:FE
BL.zip
(33.26 КБ) 664 скачивания
последние изменения:
небольшие изменения в алгоритме работы, для повышения стабильности связи (надеюсь)

SHFlasher ver.2.3 от 31.01.2014
SHFlasher.zip.001.zip
(240.16 КБ) 657 скачиваний
SHFlasher.zip.002.zip
(185.96 КБ) 637 скачиваний
Схема
shec_scheme.zip
(77.61 КБ) 707 скачиваний
Последний раз редактировалось DOCSIMUS 19 ноя 2014, 15:14, всего редактировалось 9 раз.

shaman1010
Сообщения: 142
Зарегистрирован: 12 ноя 2013, 00:34

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение shaman1010 » 18 янв 2014, 23:09

И снова привет :-)
1) подряд два действия Download не работают (сначала фирмварь, потом епром. или наоборот). Во втором действии после выбора файла для сохранения выскакивает EEPROM download ERROR!
2) разъясни логику работы кнопок Connect и Stop connecting. При нажатии на Connect - управление, судя по всему, передается основной программе. Все пункты во флешере становятся недоступны. При нажатии Stop connecting - высвобождаются пункты, т.е. можно опять шить/читать.
Или это замена кнопки Start Device в прошлой версии? Тогда что делает Start Device в этой версии?

DOCSIMUS
Сообщения: 184
Зарегистрирован: 07 сен 2013, 01:02

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение DOCSIMUS » 18 янв 2014, 23:16

shaman1010 писал(а): 2) разъясни логику работы кнопок Connect и Stop connecting. При нажатии на Connect - управление, судя по всему, передается основной программе. Все пункты во флешере становятся недоступны. При нажатии Stop connecting - высвобождаются пункты, т.е. можно опять шить/читать.
Или это замена кнопки Start Device в прошлой версии? Тогда что делает Start Device в этой версии?
сам не пойму логику :)
просто, если Connect нажать, и флэшер начинает слать пакеты буту, а бут молчит, то прекратить эти посылки никак невозможно
сделал кнопку stop - немного спорно, согласен
Start Device - делает то же, что и делал - старт устройства (основной прошивки) без выключения питания

shaman1010
Сообщения: 142
Зарегистрирован: 12 ноя 2013, 00:34

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение shaman1010 » 18 янв 2014, 23:42

DOCSIMUS писал(а):
shaman1010 писал(а):сам не пойму логику :)
Сделай так:
После прошивки девайса и епрома нажми Скачать фирмварь (сохрани), потом Скачать епром (будет ошибка) а потом "Connect" - и... управление передается основной программе кристалла :-) p.s. можешь потом еще Stop Connecting и Start Device понажимать - много интересного обнаружишь :-)
DOCSIMUS писал(а):то прекратить эти посылки никак невозможно
может использовать общий таймаут, как вариант?

DOCSIMUS
Сообщения: 184
Зарегистрирован: 07 сен 2013, 01:02

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение DOCSIMUS » 19 янв 2014, 01:54

вроде исправил

shaman1010
Сообщения: 142
Зарегистрирован: 12 ноя 2013, 00:34

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение shaman1010 » 19 янв 2014, 04:10

DOCSIMUS писал(а):вроде исправил
С точки зрения исполнения своей главной цели - уже все работает, как ожидаешь.
Единственный момент, который я еще заметил:
после запуска устройства из флешера кнопкой "Start device" - обратно словить его флешером (отправив в бутлоадер из веб-мордочки) уже не удается, нужно перезапускать флешер.

Ну и для полного счастья добавить бы возможность изменения MAC-адреса и маски.

(А если останется желание и энтузиазм - то и групповая работа с устройствами, т.е. запустил флешер, отправил всех по TCP в бутлоадер, отметил галками, какие девайсы обновлять и отправил им всем новую фирмварь одновременно, или поочередно)

Т.е. по сути во флешере остался один мелкий баг...

И еще вопрос - сложно ли флешер перевести на TCP вместо UDP-? Потому как UDP все-таки не гарантирует доставку (на сейчас, например, мне не удается с первого раза залить прошивку через связку: ноут WiFi-роутер1 WiFi-роутер2 Eth-девайс, но при исключении из цепочки WiFi все льется с пол-пинка. UDP из QoS убраны, поскольку даже с наивысшим приоритетом 520-го порта результат хуже, т.к. многое зависит от радиочастотной среды).

А вообще - респект тебе и уважуха, как говорится.

DOCSIMUS
Сообщения: 184
Зарегистрирован: 07 сен 2013, 01:02

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение DOCSIMUS » 19 янв 2014, 11:05

shaman1010 писал(а): Единственный момент, который я еще заметил:
после запуска устройства из флешера кнопкой "Start device" - обратно словить его флешером (отправив в бутлоадер из веб-мордочки) уже не удается, нужно перезапускать флешер.
это уже поправил
чуть позже выложу, а то вдруг еще что обнаружится
shaman1010 писал(а): Ну и для полного счастья добавить бы возможность изменения MAC-адреса и маски.
можно
маску не сложно, хотя насколько я помню в оригинальной прошивке она вообще не конфигурируется
с MACом чуть сложнее, т.к. в оригинальной прошивке (ну и в этой) он генерится - по-моему 2 последних байта IP пишется в 2 последних байта MAC
shaman1010 писал(а): (А если останется желание и энтузиазм - то и групповая работа с устройствами, т.е. запустил флешер, отправил всех по TCP в бутлоадер, отметил галками, какие девайсы обновлять и отправил им всем новую фирмварь одновременно, или поочередно)
желание остается, а времени мало - время - деньги, которых у нас нет, как говорил классик
про групповуху думал, но тут много вопросов, а ответов мало
всех по TCP в бутлоадер можно, только откуда флэшер знает IP всех устройств?
всех по UDP можно, только они все начнут одновременно отвечать, как флэшер определит от кого ответ?
идея то была изначально использовать броадкаст, а так уже никакого броадкаста
можно конечно, попринимать от всех IP по UDP и далее уже общаться по TCP, но тут я уже не уверен, а хватит ли места в буте
так что это совершенно другой уже проект
И еще вопрос - сложно ли флешер перевести на TCP вместо UDP-? Потому как UDP все-таки не гарантирует доставку (на сейчас, например, мне не удается с первого раза залить прошивку через связку: ноут WiFi-роутер1 WiFi-роутер2 Eth-девайс, но при исключении из цепочки WiFi все льется с пол-пинка. UDP из QoS убраны, поскольку даже с наивысшим приоритетом 520-го порта результат хуже, т.к. многое зависит от радиочастотной среды).
это фактический новый вариант бута при условии, что вообще места в буте для этого хватит

shaman1010
Сообщения: 142
Зарегистрирован: 12 ноя 2013, 00:34

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение shaman1010 » 19 янв 2014, 12:19

DOCSIMUS писал(а):маску не сложно, хотя насколько я помню в оригинальной прошивке она вообще не конфигурируется
с MACом чуть сложнее, т.к. в оригинальной прошивке (ну и в этой) он генерится - по-моему 2 последних байта IP пишется в 2 последних байта MAC
Я имел ввиду настройку MAC-адреса уже конечного устройства. Здесь у тебя красивое решение с фиксированным адресом для IP, по сути с MAC-ом и маской если поступить так-же, то все получится достаточно красиво. MAC бутлоадера, без групповой работы, в общем-то не особо нужен. А вот MAC-и конечных устройств, находящихся в одном сегменте должны отличаться, и желательно их видеть, чтоб можно было фиьтры в промежуточных маршрутизаторах настраивать. По сути флешер изначально по умолчанию может предлагать свой, сгенерированный по какому-либо принципу MAC-адрес (привязываясь либо к последним сегментам, либо ко всему ip-шнику. т.е. первые 2 байта сделать статичными, а последние 4 - преобразовывать из ip4).
DOCSIMUS писал(а):это фактический новый вариант бута при условии, что вообще места в буте для этого хватит
...и что-то подсказывает, что не хватит...
DOCSIMUS писал(а):про групповуху думал

прям пошлость на языке вертится :-D
DOCSIMUS писал(а): только откуда флэшер знает IP всех устройств?

Самый банальный вариант, чтоб не лезть в основную прошивку - отдельный txt-файл со списком (их-же не будет 250 штук)
Правильный - заставить фирмварь отзываться на какой-либо TCP-запрос.
DOCSIMUS писал(а):всех по UDP можно, только они все начнут одновременно отвечать, как флэшер определит от кого ответ?

Нет, как раз всех по UDP нельзя, поскольку каша получится.
DOCSIMUS писал(а):можно конечно, попринимать от всех IP по UDP и далее уже общаться по TCP, но тут я уже не уверен, а хватит ли места в буте
так что это совершенно другой уже проект

ну вот как-то так :-)

DOCSIMUS
Сообщения: 184
Зарегистрирован: 07 сен 2013, 01:02

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение DOCSIMUS » 19 янв 2014, 22:18

а много ли владельцев MegaD используют DSEN?

shaman1010
Сообщения: 142
Зарегистрирован: 12 ноя 2013, 00:34

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение shaman1010 » 19 янв 2014, 23:22

DOCSIMUS писал(а):а много ли владельцев MegaD используют DSEN?
Я использую, а с чем вопрос связан?

DOCSIMUS
Сообщения: 184
Зарегистрирован: 07 сен 2013, 01:02

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение DOCSIMUS » 20 янв 2014, 00:10

shaman1010 писал(а):
DOCSIMUS писал(а):а много ли владельцев MegaD используют DSEN?
Я использую, а с чем вопрос связан?
не на чем отлаживать
датчиков нет
в протеусе модели нет

shaman1010
Сообщения: 142
Зарегистрирован: 12 ноя 2013, 00:34

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение shaman1010 » 20 янв 2014, 00:13

DOCSIMUS писал(а):не на чем отлаживать
датчиков нет
Могу тебе в Украине отправить безвозмездно пару (DHT-11 и DHT-22)

DOCSIMUS
Сообщения: 184
Зарегистрирован: 07 сен 2013, 01:02

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение DOCSIMUS » 20 янв 2014, 00:28

shaman1010 писал(а):
DOCSIMUS писал(а):не на чем отлаживать
датчиков нет
Могу тебе в Украине отправить безвозмездно пару (DHT-11 и DHT-22)
спасибо :) я и сам купить могу - не проблема
просто думал, может никто не пользуется и они не нужны

Urbas81
Сообщения: 313
Зарегистрирован: 28 авг 2012, 14:22

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение Urbas81 » 20 янв 2014, 00:44

Я тоже использую, пока просто измеряю влажность в ванной, хочу подключить управление вентиляцией. А че, код с Megad не ложиться?

DOCSIMUS
Сообщения: 184
Зарегистрирован: 07 сен 2013, 01:02

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение DOCSIMUS » 20 янв 2014, 00:55

Urbas81 писал(а):Я тоже использую, пока просто измеряю влажность в ванной, хочу подключить управление вентиляцией. А че, код с Megad не ложиться?
да нет, ложится
места уже нет совсем
а аналоговый датчик влажности не лучше?
мне вообще для себя - чем хорошо dht? только тем, что он объединяет и влажность и температуру?

Urbas81
Сообщения: 313
Зарегистрирован: 28 авг 2012, 14:22

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение Urbas81 » 20 янв 2014, 01:40

DOCSIMUS писал(а): мне вообще для себя - чем хорошо dht? только тем, что он объединяет и влажность и температуру?
Например ценой, dht-11 я купил за 25 грн. всякие hih и тому подобные на порядок дороже.

shaman1010
Сообщения: 142
Зарегистрирован: 12 ноя 2013, 00:34

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение shaman1010 » 20 янв 2014, 10:20

DOCSIMUS писал(а):а аналоговый датчик влажности не лучше?
мне вообще для себя - чем хорошо dht? только тем, что он объединяет и влажность и температуру?
Аналоговые требуют калибровки (в домашних условиях не очень удобно), а из доступных/раскрученных цифровых - 18B20,DHT11,DHT22. Плюс готовые библиотеки под них. Цена/доступность/раскрученность - вот и все, собственно.
DOCSIMUS писал(а):не на чем отлаживать
Кстати, сам код DSEN, возможно, и работает. Проблема где-то с передачей номера порта.
Как пример:
Устанавливаем P7, как OUT:
http://IP/sec/?wg=7
выводит это:
Back
Port: P7/ON
ON OFF
Type:
Default state:

А если запросить:
http://IP/sec/?g=7
получаем это:
ONOFF1023T:-15/H:13

Т.е. заведомо неверно.

shaman1010
Сообщения: 142
Зарегистрирован: 12 ноя 2013, 00:34

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение shaman1010 » 21 янв 2014, 17:11

Варнинги при компиляции основной программы убираются правкой pt.h
Вот здесь берем b/core/sys/pt.h
или руками... Хотя здесь по цифрам более свежая версия, но #define PT_BEGIN(pt), из-за которого ругается компилятор оставлен в старом виде...
Ошибка при выборе Dsen (я описывал раньше), если кто еще не поправил - в main.c, строки 160 (должно быть: _null,) и 162 (должно быть: _one,)

Ау, коллеги, здесь есть кто-нибудь?

Urbas81
Сообщения: 313
Зарегистрирован: 28 авг 2012, 14:22

Re: Умный дом Ethernet + 1-Wire + Bootloader

Сообщение Urbas81 » 21 янв 2014, 17:24

shaman1010 писал(а): Ау, коллеги, здесь есть кто-нибудь?
Я регулярно мониторю тему :D никак не выкрою время пробовать все в железе, уже спаял i2c-1wire, надеюсь все узлы заработают как надо.

Ответить