Альтернативные прошивки MegaD

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
alexsis_76

Re: Альтернативные прошивки MegaD

Сообщение alexsis_76 » 19 янв 2017, 02:58

возьмите проект Arduino Mega Server и малины не надо
ну Вы и сравнили,где mega,а где broadcom.
если что то и делать с человеческим лицом, то только в проекте MegaESP, там и проц. умолишенный и памяти 4b
дело не столько в проце и количестве памяти ,сколько в
умении реализовать программно какие нибудь более менее сложные алгоритмы ,на ардуино конечно проще(и сложней одновременно),но и она не намного уходит от той же меги2561,попробуйте реализовать например на MegaESP с его процом. умолишенным и памятью 4b алгоритм включения устройства каждый день с 6.00 до 7.30 ,в субботу с 8.30 до 9.00, в воскресение не включать совсем,если температура опускается ниже -10, можно конечно но это потребует больших усилий,не говоря уже о чем то более сложном,при традиционном подходе это будет убийственно долго.

foolhome
Сообщения: 164
Зарегистрирован: 18 окт 2014, 21:39
Откуда: Minsk

Re: Альтернативные прошивки MegaD

Сообщение foolhome » 19 янв 2017, 09:58

ну Вы и сравнили,где mega,а где broadcom.
А зачем палить из пушки по воробьям? В домашней автоматизации нет задач с сложными математическими расчетами и супер пупер алгоритмами.
алгоритм включения устройства каждый день с 6.00 до 7.30 ,в субботу с 8.30 до 9.00, в воскресение не включать совсем,если температура опускается ниже -10,
Это делается легко, недельный будильник с условием, я уже неоднократно пытался донести до наших писателей идею реализации виртуальных портов, но пока все помешаны на серверах, это бесполезно.
Возьмите пример простого недельного термостата (термостат NEST в расчет не берем), внутри нет мини ПК аля расбери, он и не нужен там.
Какие основные условия в домашней автоматизации?
1. Время суток: день, ночь, утро, вечер
2. Охрана: Все ушли, кто то в доме, охрана периметра (3-4 условия)
В основном и все, да даже если и больше все это реализуется через виртуальный порт (если бы они были) и будильник в 2561 уже есть.

Как?: темп упала меньше -10, меняем состояние виртуального порта
срабатывает будильник, выполняем ту акцию (ACT) соответствующую состоянию.

Просто полей ACT должно быть множество 8-10-16 шт, и все, если не нужны лишние действия, ну не дергайте виртуальный порт или пропиши во всех полях одно и тоже действие.

alexsis_76

Re: Альтернативные прошивки MegaD

Сообщение alexsis_76 » 19 янв 2017, 10:36

А зачем палить из пушки по воробьям? В домашней автоматизации нет задач с сложными математическими расчетами и супер пупер алгоритмами.
:)
я вот например хотел подключить камеру для наблюдения,у меня был всего один способ,тащить 386,заводить на нем апач и все это дело включать,согласитесь не самый лучший вариант,
MegaESP с его процом. умолишенным и памятью 4b это дело не тянула,теперь я взял апельсин и подключил камеру к нему и все работает,сервер можно написать на питоне,ради интереса пробовал , нажатие кнопки веб интерфейса позволяет управлять портами апельсина,без проблем,не надо ставить ни какие модули,внутри все есть,все это заняло около двух десятков строк.
Как?: темп упала меньше -10, меняем состояние виртуального порта
срабатывает будильник, выполняем ту акцию (ACT) соответствующую состоянию.

Просто полей ACT должно быть множество 8-10-16 шт, и все, если не нужны лишние действия, ну не дергайте виртуальный порт или пропиши во всех полях одно и тоже действие.
а Вы сами пробовали писать подобное?

foolhome
Сообщения: 164
Зарегистрирован: 18 окт 2014, 21:39
Откуда: Minsk

Re: Альтернативные прошивки MegaD

Сообщение foolhome » 19 янв 2017, 11:42

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

alexsis_76

Re: Альтернативные прошивки MegaD

Сообщение alexsis_76 » 19 янв 2017, 11:57

ну нельзя путать Мягкое с Теплым, это совершенно другая задача и передача видео потока не нужна в рамках микроконтроллера для автоматизации
ну почему же не нужна,уверяю Вас что если бы мега2561 обладала таким свойством это бы очень повышало ее привлекательность.В этом смысле апельсин это такой же контроллер только побыстрее,он напоминает компьютер,но внутри это все же контроллер,такой же как мега.
Да, я на любительском уровне писал на ассемблере для PIC, язык нулей и единиц
угу написание всего этого на ассемблере напоминает рытье зубилом тоннеля под Ламаншем,он в итоге будет прорыт но какой ценой.

Victor_S
Сообщения: 106
Зарегистрирован: 09 дек 2014, 16:57

Re: Альтернативные прошивки MegaD

Сообщение Victor_S » 19 янв 2017, 13:19

Вообще-то интерес к альтернативным прошивкам и решениям, конечно же есть...:)
Попробую тут изложить некоторые свои соображения на данную тему, благо как раз подходящее место для подобного обсуждения.
Я уже пару лет занимаюсь темой "умного дома". При чем именно Дома, а не однушки, или таунхауса со всеми удобствами в городе, где народу приходится придумывать себе вопросы для автоматизации. Мой "объект" - участок 35 соток под ПМЖ в деревне, где из всех коммуникаций только электричество, за которое еще нужно побороться(в смысле его жуткого качества и стабильности) и 3g интернет нестабильно и на внешнюю антенну с усилителем... В таких условиях либо штат обслуживающего персонала, либо автоматика становятся не просто игрушкой, а насущной необходимостью(ну если жить хочется комфортно, без отрыва от цивилизации).
За это время я успел попробовать много чего, и 1wire ,и мегаД328, и ардуинки , и другие подобные им устройства, и esp, и маршрутизаторы(openWRT) и одноплатники(linux), ну и конечно же "сервера"(мажордомо, iobroker). Прошел путь от "автоматизировать все", до "выкинуть нафиг всю автоматику"...:)
Сейчас потихоньку начались складываться в голове какие-то "пазлы"...:) Очень хотелось бы их обсудить, как общие подходы, так и конкретные реализации. Сразу все мысли сформулировать сложно, поэтому, если тема не заглохнет, буду уточнять различные моменты по ходу дискуссии.
Итак, как говорится, ближе к телу...:)
Проект МегаД2561 лично для меня потерял всякий интерес, поэтому касаться его не буду. Вначале предлагаю поговорить о МегаД328. Лично я считаю данный проект вполне себе заслуживающий долгой и массовой жизни(с определенными оговорками).
Давайте посмотрим для чего же реально и в массовом количестве нужно данное устройство, а для чего его использовать неоправданно или бессмысленно.
1. Аналоговые порты. Как "бонусные", так и реальные. Что мы к ним собираемся подключать и как использовать? Первое что приходит на ум - датчики газов и освещенности. Сколько таких датчиков на "объект" нужно? 3-5 максимум(датчик природного или сжиженного газа на кухне, CO у печки или камина, ну и освещенность на улице). Что нас интересует? Конкретные точные данные в определенный единицах или просто переход через некоторый уровень "попугаев"?
В первом случае Мега нам не помощник, ибо тут нужно ее рядом с датчиками ставить, а не в щиток, да и использовать ее нужно только для данных портов используя специальные режимы микроконтроллера.
Но ведь у всех этих датчиков имеется и цифровой выход, который мы просто можем настроить на конкретный порог чувствительности и обрабатывать обычным цифровым входом, протащив провод в щиток к "стандартной" Меге. ИМХО, большего в разрезе дома и не нужно...
2. Поддержка DHT. Я уже затрагивал этот вопрос в другой теме, немного повторюсь.
а) с этих датчиков мы можем только лишь получить показания, как либо обработать их самим устройством возможности нет.
б) сами датчики крайне не точные и недолговечные.
в) параметр относительной влажности не дает никакой информации для автоматизации процессов.
Где и для каких целей их имеет смысл использовать(да и то не dht, а других более качественны датчиков относительной влажности)? У себя один использую в метеостанции, второй в парилке. Оба чисто для информативных целей, никакой автоматики на их основе. Ну может еще в погребе имеет смысл поставить с теми же целями...
Прервусь пожалуй, а то длинные посты читать сложно...

alexsis_76

Re: Альтернативные прошивки MegaD

Сообщение alexsis_76 » 19 янв 2017, 14:23

Ecли у кого то ностальгия по меге328,можно переписать ее,она будет существовать в виде питоновских скриптов,будет иметь тот же функционал и будет неотличима от оригинала,приобретет модульность,написать и запустить модуль на питоне в разы проще чем на си,меня сейчас в первую очередь интересует работа с камерой,но то что я пробовал работоспособно,интересно как там со стабильностью и скоростью питонвского сервера .
В связи с упрощением процесса написания,можно создать довольно интересную конструкцию,пока просматривается один недостаток,полное отсутствие аналоговых портов,но это можно поправить с помощью внешнего ацп.

Victor_S
Сообщения: 106
Зарегистрирован: 09 дек 2014, 16:57

Re: Альтернативные прошивки MegaD

Сообщение Victor_S » 19 янв 2017, 15:10

alexsis_76 , "кесарю кесарево, а слесарю слесарево..." :)
Меня умиляет когда одни пытаются на микроконтроллере сервер поднимать, а другие микропроцессором ноги дергать. Каждой железке свое место и своя задача, и в одно целое с помощью того же mqtt их собрать в кучку можно...
Любопытства ради, для чего Вам аналоговые порты нужны в автоматизации дома?

alexsis_76

Re: Альтернативные прошивки MegaD

Сообщение alexsis_76 » 19 янв 2017, 15:34

а другие микропроцессором ноги дергать
это сделать нельзя потому что у микропроцессора нет ног которыми можно дергать(отсутствует gpio)
h3 это микроконтроллер,такой же как мега2560,а если точнее система на кристалле,поставьте на мегу какую нибудь ось и и тоже получите систему на кристалле.
Любопытства ради, для чего Вам аналоговые порты нужны в автоматизации дома?
ну для приличия пару штук быть должно.

Victor_S
Сообщения: 106
Зарегистрирован: 09 дек 2014, 16:57

Re: Альтернативные прошивки MegaD

Сообщение Victor_S » 19 янв 2017, 15:43

alexsis_76, не обижайтесь пожалуйста, но у Вас еще пока "каша" в голове... С опытом это пройдет. Попробуйте от макеток перейти к какому-нибудь конкретному прикладному проекту.

alexsis_76

Re: Альтернативные прошивки MegaD

Сообщение alexsis_76 » 19 янв 2017, 16:07

но у Вас еще пока "каша" в голове
из чего позвольте стросить

foolhome
Сообщения: 164
Зарегистрирован: 18 окт 2014, 21:39
Откуда: Minsk

Re: Альтернативные прошивки MegaD

Сообщение foolhome » 19 янв 2017, 20:24

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

alexsis_76

Re: Альтернативные прошивки MegaD

Сообщение alexsis_76 » 20 янв 2017, 14:39

чуть чуть функционала добавьте в мегад и буден она моргать лампочкой и не надо больше ни какого танца с бубнами
угу,а кто его добавлять-то будет?

Victor_S
Сообщения: 106
Зарегистрирован: 09 дек 2014, 16:57

Re: Альтернативные прошивки MegaD

Сообщение Victor_S » 20 янв 2017, 15:09

foolhome писал(а): Аналоговый порт - аналоговый датчик температуры (причем любой какой валяется в закромах), освещенности, положения да и физическая клавиатура может пригодиться
Ну с датчиками температуры, ИМХО, ds1820 валяется чаще всего, да и стоит копейки. Зачем и в каком количестве нужны именно аналоговые датчики освещенности дома? Для каких конкретных целей и как часто нужен именно аналоговый датчик положения? И что за клавиатура на аналоговый порт?
Я ничуть не стебусь... Как писал выше, сам начинал с мыслью автоматизировать все и вся с запасом. С опытом эксплуатации, начинаешь отчетливо понимать, что во всем нужно руководствоваться принципом разумной достаточности...;) Иначе рискуете либо никогда не закончить проект, либо получить кучу проблем вместо облегчения.
Конечно можно, к примеру, во всех проходных зонах повесить датчики движения и датчики освещенности, завести все это дело в шкаф и подключить к Меге, которая будет транслировать данные с датчиков на сервер, который в свою очередь будет обрабатывать и хранить эту информацию, и затем отправлять команды той же Меге на включение/выключение лампочки. Вопрос зачем? Что полезного мы можем извлечь из такой схемы? Мне говорят, ну датчики движения могут исполнять заодно и функцию охранных, а по степени освещенности и времени суток мы можем регулировать яркость подсветки. Теоретически вроде все верно. Но давайте посмотрим на все это с практической стороны. Чтобы охранный датчик движения зафиксировал нарушителя тот вначале должен "отметиться" на датчиках охраны периметра(герконы на дверях, окнах, воротах, рольставнях...). А если мы зафиксировали нарушение периметра, то какая разница где, когда и сколько раз нарушитель прошел мимо нашего датчика движения? Чай не стратегический объект... Ну а серьезную охранную систему никто не станет строить ни на дешевых датчиках движения, ни на Мегах...
Теперь об освещенности. Если мы имеем проходную зону и ее нужно освещать только для прохода при недостаточной освещенности, то какая разница какой день недели или время суток. Данная зона всегда должна быть достаточно освещена для безопасного прохода человека при его появлении. Если в данной зоне нужно выполнять и другие действия, просто устанавливается дополнительный светильник с выключателем. Стало быть нужно один раз настроить чувствительность датчика и комфортный уровень освещенности . А раз условия не меняются, зачем все это гонять через сервер?
Самый дешевый китайский датчик движения, установленный локально решит все наши вопросы.
К чему я веду... На данный момент МегаД напоминает швейцарский нож...:) Красиво, много всяких фенечек. Круто показать другу, но если им только хлеб резать нужно, то дорого и неудобно. Очень много функций реализованных в Меге, надуманы и не нужны в массовом использовании, а базовые не доведены до конца "в виду отсутствия ресурсов". Собственно Мегу Мегой делает лишь прошивка, аппаратно это обычная ардуинка, которую в Китае можно взять рублей за 400(в полном аналоге и с доставкой). Имеет ли смысл в таком случае гнаться за непременным использованием абсолютно всех ее аппаратных возможностей? ИМХО, нет. Не хватает портов - поставь еще одну рядом, нужна какая-то экзотическая возможность - поищи готовый скетч, или сам напиши, ардуинка же... Но базовый(наиболее востребованный) функционал, хотелось бы все же видеть "профессионально" написанным и отлаженным.
Почему сам не напишу, а "распинаюсь" на форуме? Банально, нехватка времени...Чутка бы пораньше этой темой увлечься...С другой стороны, по себе знаю, бывает и время есть и тема для хобби интересная, идей не хватает...А тут можно приятное с полезным совместить...:) В общем, единомышленников ищу.
Но не только в этом смысл моих постов. Хочу до конца понять для себя общую структуру построения "умного дома", и ее возможную реализацию. А для этого хочется обсуждения с людьми уже поимевшими определенный практический опыт и владеющими знаниями больше моего...Я ведь могу элементарно не знать чего-то или просто заблуждаться, присоединяйтесь к дискуссии...:)

alexsis_76

Re: Альтернативные прошивки MegaD

Сообщение alexsis_76 » 20 янв 2017, 15:56

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

Victor_S
Сообщения: 106
Зарегистрирован: 09 дек 2014, 16:57

Re: Альтернативные прошивки MegaD

Сообщение Victor_S » 20 янв 2017, 16:24

Андрей изначально изложил свою концепцию устройства и четко ей следует, тут упрекнуть его не в чем...:)
Мне же видится именно другой принцип построения взаимоотношений контроллера и сервера. Мне не нравится, что серверу нужно постоянно "няньчиться" с Мегой. Сейчас Мега ну ни шагу без сервера сделать не может...:) Щелкнули выключателем, а Мега, хоть у нее и есть инструкция включить определенный порт, все равно спрашивает сервера - а точно мне лампочку включить или нет? И ждет разрешения от сервера(или таймаут выжидает). Вот эти нелепые задержки на элементарные операции здорово раздражают, да и сервер лишний раз "напрягают" по ерунде, и сетку...

foolhome
Сообщения: 164
Зарегистрирован: 18 окт 2014, 21:39
Откуда: Minsk

Re: Альтернативные прошивки MegaD

Сообщение foolhome » 20 янв 2017, 16:30

Ну с датчиками температуры, ИМХО, ds1820 валяется чаще всего, да и стоит копейки.
вот как раз наоборот, аналоговых с десяток, а DS под руками не было, опишу ситуацию где необходим аналоговый, я сейчас занимаюсь автоматизацией своего камина, у него есть возможность закипания теплоносителя, для того чтоб этого не происходило стоит электро клапан который делает подмес холодного теплоносителя все это работает от DS, если DS сдохнет и подвесит шину, аналоговый выступает в роли аварийного срабатывания для подстраховки.
Зачем и в каком количестве нужны именно аналоговые датчики освещенности дома?
1-4 шт, от банального автоматическое включение подсветки, дома, дорожек, до определения солнца и закрытия штор, жалюзей или что там у кого.
Для каких конкретных целей и как часто нужен именно аналоговый датчик положения?
положение заслонки, воздуховод, вентиляция
И что за клавиатура на аналоговый порт?
посмотри ветку viewtopic.php?f=1&t=1130&start=400 для того чтоб включить клапан наполнения камина, кнопка сделана прямо на корпусе устройства и подключена к ADC в связи с отсутствием лишних портов, удобно нажал, камин заполняется, если бы были вариации от ситуации на входе ADC, то можно было бы включить несколько кнопок 5-10.

alexsis_76

Re: Альтернативные прошивки MegaD

Сообщение alexsis_76 » 20 янв 2017, 16:35

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

можно попросить Андрея сделать автоконфигуратор прошивки,тогда можете сами добавлять или удалять не нужные фрагменты кода

x13dev
Сообщения: 396
Зарегистрирован: 22 окт 2012, 11:40
Откуда: Бавария

Re: Альтернативные прошивки MegaD

Сообщение x13dev » 20 янв 2017, 17:14

alexsis_76 писал(а):если хотите гибкости нужно посмотреть в сторону интерпретируемых языков,встраиваемых устройств на основе операционных систем с поддежкой интерпретаторов.
У нас в проекте Javascript компилируется в байт-код, а байт-код уже исполняется на устройстве. Только для этого на STM 32-bit пришлось перейти.
Я себе термостат для батареи на таком сделал, Нужно-то TMP35 на аналоговый вход и ШИМом управляется термоголовка. Внутри ПИД и уставка получается с сервера.
Вот только сложно это всё, проще на Arduino:

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

LedOn();
Sleep(250);
LedOff();

alexsis_76

Re: Альтернативные прошивки MegaD

Сообщение alexsis_76 » 20 янв 2017, 17:20

У нас в проекте Javascript компилируется в байт-код, а байт-код уже исполняется на устройстве
да я так тоже пробовал,муторно это,я имел ввиду настоящие интерпретаторы,питон,перл и т д поэтому нужно хорошее железо,я вот хотел видеонаблюдение по интернету,пол дня времени и готово.

Ответить