Прошивка MegaD-328 (релизы, обсуждения, предложения)

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
marsev
Сообщения: 16
Зарегистрирован: 30 апр 2014, 08:33

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение marsev » 30 апр 2014, 09:39

Полностью согласен с kID по поводу добавления поддержки 1wire шины! По моему мнению получилось бы очень красивое техническое решение по подключению датчиков температуры ds18b20 прямо к Мегадевайсу. Организация всей сети "Умного дома" от этого только бы выиграла. Нет необходимости впихивать в прошивку кучу дополнительных функций, связанных с использованием 1wire шины. Достаточно было бы организовать сбор информации о температуре в помещении по команде с сервера. Хотя, чем чёрт не шутит, может и поуправлять с сервера какими-нибудь 1wire устройствами в последствии получится! Тоже очень сожалею о тихом завершении проекта DOCSIMUS. Еще до него подумывал о самостоятельном скрещивании проекта "Умный Дом по Ethernet " с проектом "1-Wire по Ethernet " для получения вышеупомянутого функционала (зная об отрицательном отношении Уважаемого Andrey_B к данной теме). Но для меня, почти не связанного с программированием на С, это было бы большой проблемой. А времени заняться этим как всегда не хватает в связи с активной фазой строительства дома.
Поэтому хочу обратиться с просьбой к Andrey_B - еще раз рассмотреть возможность добавления поддержки 1wire шины в проект
"Умный Дом по Ethernet ". Всё-таки автору прошивки это будет сделать значительно проще, чем "неискушенным горе-программистам" типа меня.

P.S. Давно читаю Ваш сайт об "Умном доме". Многое уже сделано. Изготовлены несколько интерфейсных модулей. Почти готов исполнительный модуль (с претензией на универсальность). Скоро начнется интеграция блоков в систему строящегося дома.
А вот писать в конференцию пока не приходилось. Поэтому хочу выразить, пользуясь случаем, огромное восхищение и благодарность автору сайта за проделанную работу и поддержку единомышленников!

ellab
Сообщения: 35
Зарегистрирован: 11 июн 2013, 16:47

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение ellab » 30 апр 2014, 10:19

Абсолютно согласен! Поддержка DS18B20 превратит Мегадевайс в полнофункциональную систему для умного дома! Сейчас делаю ремонт, есть 2 интерфейсных модуля, сделал блок ВЫХОДОВ, заканчиваю ВХОДОВ. Интерфейсный с исполнительным соединяются вот такой штукой http://www.odduino.com/shop/83/desc/nab ... pont-40sht

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 30 апр 2014, 10:52

Амиги, я понимаю вашу озабоченность по поводу поддержки DS18B20. И может быть даже в какой-то степени ее разделяю.
Но я не уверен, что для реализации такой поддержки хватит оперативной памяти и флэша.
Выхода два. И оба не сказать, что веселые. 1) Переход на другой чип, например atmega2560 2) Модульность прошивки.
Переход на другой чип - это разделение веток разработки. И в конечном итоге сворачивание поддержки atmega328.
Модульность прошивки - это слом стройной идеологии. Непонятные вопросы с обновлением прошивки через сайт. Ну не все же пользователи, как мы с вами, программисты.
Этот вопрос следует изучить.

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Mixman » 30 апр 2014, 11:23

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

Опять же если это все коммерчески выгодно.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 30 апр 2014, 11:36

atmega2560 по производительности такой же как atmega328, но в нем в 4 раза больше SRAM, и в 8 раз больше Flash.
Только и стоит он в 3 раза дороже или в абсолютном исчислении примерно на 200 руб.

alexsis_76

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение alexsis_76 » 30 апр 2014, 12:46

Выхода два
я думаю можно реализовать 3 вариант
избавление микроконтроллера от несвойственных ему функций хранения веб-страниц, высвободится много места в памяти программ
избавление от операций деления, и float
основной потребитель оперативной памяти , буфер передачи , можно попробывать его уменьшить и передавать пакет частями
Непонятные вопросы с обновлением прошивки через сайт
сейчас обкатываю вариант обновления с SD карты , тоже интересный вариант

marsev
Сообщения: 16
Зарегистрирован: 30 апр 2014, 08:33

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение marsev » 30 апр 2014, 13:07

Смена платформы - это слишком глобальный путь. Тем более, что налажен выпуск модулей на Atmega328. А модульность прошивки... Может в этом что то и есть. Многие проекты поддерживают несколько вариантов прошивки. Понимаю, что это дополнительный труд. Но для начала можно попробовать сделать две прошивки: с поддержкой DSens или 1wire. Выпилив DSens может освободиться место для 1wire. Измерять температуру можно с помощью ds18b20, а измерение влажности организовать при помощи АЦП. Пока не видно реального другого применения DSens в конференции (хотя я может и ошибаюсь).

Mixman
Сообщения: 395
Зарегистрирован: 17 фев 2013, 23:49
Откуда: Волгодонск, Ростовская обл.
Контактная информация:

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Mixman » 30 апр 2014, 13:15

Andrey_B писал(а):atmega2560 по производительности такой же как atmega328, но в нем в 4 раза больше SRAM, и в 8 раз больше Flash.
Только и стоит он в 3 раза дороже или в абсолютном исчислении примерно на 200 руб.
Не думаю, что удорожание в 200р негативно скажется на спросе.
А если за +200р в МегаД мы получим 1wire то это даже и выгода (экономия на мастере)

kID
Сообщения: 69
Зарегистрирован: 29 май 2013, 19:36
Откуда: Новосибирск

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение kID » 30 апр 2014, 13:17

А почему надо чем-то жертвовать, ведь в ветке у DOCSIMUSA получилась достаточно функциональная прошивка и все уместилось. Проблема с датчиками DHT скорее тоже идеологического плана и отсутствием дополнительных таймеров. Так что можно обойтись и без нового чипа.
Но если уже совсем плохо с ресурсами то я за модульность прошивки. :roll:
Захотел установил мост ic2 получил 1wire
Поставил перемычку DHT ;)
Вложения
megaD.jpg
megaD.jpg (231.07 КБ) 24211 просмотров

dimonix
Сообщения: 368
Зарегистрирован: 19 фев 2012, 22:01
Откуда: Сколково

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение dimonix » 30 апр 2014, 18:58

сеть 1wire хотя бы для DS1820 нужна однозначно ;) для начала, без перехода на новый контроллер, можно было бы добавить простой шлюз "ethernet - i2c". Т.е. сервер (т.к. он же уже есть) будет заниматься взаимодействием с DS2483 посредством бинарных данных через мегадевайс. Упаковка/распаковка данных шины i2c в пакеты ethernet не должна скушать много озу/пзу. ничего более конкретного не могу предложить, идея пока только "на пальцах".
p.s. проект, конечно, уже "перерос" мегу328. многоножечные чипы типа 2560 с точки зрения платы и пайки не сильно сложнее. по-мне, так SMD плату делать легче - не надо сверлить. а пайка таких корпусов даже быстрее - "микроволной", даже без фена, конечно при наличии хорошего паяльника. т.к. при смене чипа все-равно придется исходники модифицировать, я бы посмотрел в сторону чего-нибудь со встроенным эзернетом.

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение THK » 30 апр 2014, 19:32

marsev писал(а):Еще до него подумывал о самостоятельном скрещивании проекта "Умный Дом по Ethernet " с проектом "1-Wire по Ethernet " для получения вышеупомянутого функционала (зная об отрицательном отношении Уважаемого Andrey_B к данной теме).
Если делать свободно назначаемый пин для 1-Wire (в соответствии с идеологией проекта), то встает вопрос с задержками. Представьте, вы нажимаете клавишу, чтобы включить свет, а в это время начинается преобразование температуры и опрос датчиков...
Долго Вы, а точнее Ваша семья, будете терпеть, что свет в комнате зажигается то сразу, то с ощутимой задержкой? Тоже относится и к общению с сервером.
Остальные варианты требуют доработки схемы устройства и два пина контроллера (на 2 линии i/o будет меньше), к тому же вариант с DS2482 от задержек не спасет (могу ошибаться, кто с ней работал - поправьте).
Вариант экономии оперативной памяти от alexsis_76 интересен.

PS О выборе другого контроллера, ATmega16, 32, 644, 1284 имеют одинаковую цоколевку, а 644 и 1284 максимальную тактовую частоту не 16, а 20 мГц...

PPS Универсальность - это компромисс, а компромисс - это когда плохо всем. :)

alexsis_76

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение alexsis_76 » 30 апр 2014, 19:44

то встает вопрос с задержками
да нет тут никакого вопроса , приказываем датчикам мерить температуру, завадим таймер на 1 с и идем делать свои дела, через секунду забираем измеренную температуру и все , никаких задержек , у меня NetAlarm работает по такой схеме, отклик мгновенный, а так как температура величина сравнительно медленно изменяющаяся мерить можно и пореже
Вариант экономии оперативной памяти от alexsis_76 интересен
вот только шъет программатор под 8 минут 10, этак я еще целый год буду делать :evil:

andvas
Сообщения: 177
Зарегистрирован: 07 ноя 2011, 23:04
Откуда: Россия, Самара
Контактная информация:

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение andvas » 05 май 2014, 21:59

Andrey_B, подскажите насколько возможно предусмотреть в коде обработку adc согласно вот такой схеме?
На схеме R1 - 10 kOm , R2-R4 - 2 kOm ,R6-R9 - 1 kOm, транзисторы любые
Это было бы полезно для любителей (к которым я себя тоже отношу) большего количества входов от одного контроллера.
Вложения
adc.png
adc.png (151.23 КБ) 23817 просмотров

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 06 май 2014, 12:36

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

andvas
Сообщения: 177
Зарегистрирован: 07 ноя 2011, 23:04
Откуда: Россия, Самара
Контактная информация:

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение andvas » 06 май 2014, 14:55

Andrey_B, а ведь точно, можно перенести на сервер просто иногда опрашивая АЦП и делая выводы уже на сервере. Мне просто иногда в одном месте нужно побольше входов, а еще один контроллер уже поставить некуда. А скорость реакции на срабатывания входов не критична. Раз в минуту опросить и то ладно.

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

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение shaman1010 » 15 май 2014, 15:16

alexsis_76 писал(а):
Выхода два
я думаю можно реализовать 3 вариант
избавление микроконтроллера от несвойственных ему функций хранения веб-страниц, высвободится много места в памяти программ
избавление от операций деления, и float
основной потребитель оперативной памяти , буфер передачи , можно попробывать его уменьшить и передавать пакет частями
Мне тоже кажется можно сдвинуться в этом направлении в первую очередь, потом модульность.
Вполне логично сделать отдельную php-страничку, которая будет отображать всю необходимую информацию, полученную от настраиваемого девайса (состояние портов, настройки и т.д.)
Саму php-страничку в обычном режиме прикрутить к серверу (вводим ip устройства и пароль и html отрисовывает полученные от устройства данные). Плюс для простых первоначальных настроек скомпилировать отдельный исполняемый файл, который обработает эту php-страничку без развертывания сервера (такой-себе nano-Denwer). Ну либо сделать что-то на java для кросс-платформенной визуализации настроек.
А в высвобожденные ресурсы добавить именно свойственный микроконтроллеру функционал. И, возможно, ресурсов хватит и для rs485+1wire+dht+18b20+....
Ведь по сути html-интерфейс, отдаваемый контроллером, мы используем только на этапе первоначальных настроек, а потом он не особо и нужен.

alexsis_76

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение alexsis_76 » 15 май 2014, 16:33

И, возможно, ресурсов хватит и для rs485+1wire+dht+18b20+...
хватит хватит ,тут в соседней ветке я прикручиваю фат к девайсу, но пока времени нет, тыак вот стек и сама фат занимают 47% флеша и 48 sram это на меге32, правда стек там совсем другой

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

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение shaman1010 » 15 май 2014, 18:20

alexsis_76 писал(а):
И, возможно, ресурсов хватит и для rs485+1wire+dht+18b20+...
хватит хватит ,тут в соседней ветке я прикручиваю фат к девайсу, но пока времени нет, тыак вот стек и сама фат занимают 47% флеша и 48 sram это на меге32, правда стек там совсем другой
Смотрел, довольно интересно. Но если использовать microsd-карточки, то нужно обязательно хорошо продумывать температурный режим этой самой карточки. Поскольку они очень любят выходить из строя при малейшем сдвиге температуры выше комфортного режима. На некоторых моделях смартфонов с ними беда прям какая-то. Но зато копеечные (до очередного наводнения...).
Но в теории, как я понимаю, можно подцепить spi-flash на 8-16 МБ, чего хватит даже на "взрослую" html-страничку с ajax, canvas, js и другими "страшными словами" :-)
Но, как я понимаю, главной целью прикручивания фат-таблицы является хранение текущих/прошлых значений датчиков, плюс гарантированное дистанционное обновление прошивки ? (сначала пишем ее на флеш, потом уже с флешки обновляемся).

alexsis_76

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение alexsis_76 » 16 май 2014, 03:37

Но, как я понимаю, главной целью прикручивания фат-таблицы
на самом деле все уже давно пркручено и работает http://we.easyelectronics.ru/electro-an ... henie.html но тамошняя фат занимает почти все свободное место в меге 32 , поэтому было принято решение поставить туда фат поменьше, с мегад такая штука не вышла, фат поставил, но вот передавать отдельные сегменты не смог, а так данные читаются пишутся на карту и отдаются по веб,кстати это вдохнуло бы новую жизнь в мегад, проект практически остановился из за нехватки ресурсов контроллера дальше или переход на более вместительный кристалл или глубокая модернизация существующего :?:
Ведь по сути html-интерфейс, отдаваемый контроллером, мы используем только на этапе первоначальных настроек, а потом он не особо и нужен
если есть сервер и к устройству обращаются через него , то и html-интерфейс не нужен согласен с Вами , сервер может предоставить любой интерфейс, между ними(сервером и устройством)нужно использывать udp, освободится много места,нет смысла использывать карту, вся статистика будет храниться на сервере, мои девайсы рассчтывются для работы в отсутствии сервера ,на людей ничего не понимающих в програмировании,не все в восторге от командной строки,для них нужен доходчивый графический интерфейс, желательно динамически обновляемый,все это есть в вышеприведенной ссылке ,но размер, охота все впихнуть в старые девайсы, но для этого надо подумать ;)
плюс гарантированное дистанционное обновление прошивки ? (сначала пишем ее на флеш, потом уже с флешки обновляемся). ;
и это тоже, в примерах чена есть SD бутлоадер

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 16 май 2014, 17:27

http://ab-log.ru/files/File/ip_manager3 ... _beta1.zip

Добавлена возможность получить состояние всех портов одним запросом
Пример: http://192.168.0.14/sec?cmd=all

Ответить