Прошивка MegaD-328 (релизы, обсуждения, предложения)
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Полностью согласен с kID по поводу добавления поддержки 1wire шины! По моему мнению получилось бы очень красивое техническое решение по подключению датчиков температуры ds18b20 прямо к Мегадевайсу. Организация всей сети "Умного дома" от этого только бы выиграла. Нет необходимости впихивать в прошивку кучу дополнительных функций, связанных с использованием 1wire шины. Достаточно было бы организовать сбор информации о температуре в помещении по команде с сервера. Хотя, чем чёрт не шутит, может и поуправлять с сервера какими-нибудь 1wire устройствами в последствии получится! Тоже очень сожалею о тихом завершении проекта DOCSIMUS. Еще до него подумывал о самостоятельном скрещивании проекта "Умный Дом по Ethernet " с проектом "1-Wire по Ethernet " для получения вышеупомянутого функционала (зная об отрицательном отношении Уважаемого Andrey_B к данной теме). Но для меня, почти не связанного с программированием на С, это было бы большой проблемой. А времени заняться этим как всегда не хватает в связи с активной фазой строительства дома.
Поэтому хочу обратиться с просьбой к Andrey_B - еще раз рассмотреть возможность добавления поддержки 1wire шины в проект
"Умный Дом по Ethernet ". Всё-таки автору прошивки это будет сделать значительно проще, чем "неискушенным горе-программистам" типа меня.
P.S. Давно читаю Ваш сайт об "Умном доме". Многое уже сделано. Изготовлены несколько интерфейсных модулей. Почти готов исполнительный модуль (с претензией на универсальность). Скоро начнется интеграция блоков в систему строящегося дома.
А вот писать в конференцию пока не приходилось. Поэтому хочу выразить, пользуясь случаем, огромное восхищение и благодарность автору сайта за проделанную работу и поддержку единомышленников!
Поэтому хочу обратиться с просьбой к Andrey_B - еще раз рассмотреть возможность добавления поддержки 1wire шины в проект
"Умный Дом по Ethernet ". Всё-таки автору прошивки это будет сделать значительно проще, чем "неискушенным горе-программистам" типа меня.
P.S. Давно читаю Ваш сайт об "Умном доме". Многое уже сделано. Изготовлены несколько интерфейсных модулей. Почти готов исполнительный модуль (с претензией на универсальность). Скоро начнется интеграция блоков в систему строящегося дома.
А вот писать в конференцию пока не приходилось. Поэтому хочу выразить, пользуясь случаем, огромное восхищение и благодарность автору сайта за проделанную работу и поддержку единомышленников!
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Абсолютно согласен! Поддержка DS18B20 превратит Мегадевайс в полнофункциональную систему для умного дома! Сейчас делаю ремонт, есть 2 интерфейсных модуля, сделал блок ВЫХОДОВ, заканчиваю ВХОДОВ. Интерфейсный с исполнительным соединяются вот такой штукой http://www.odduino.com/shop/83/desc/nab ... pont-40sht
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Амиги, я понимаю вашу озабоченность по поводу поддержки DS18B20. И может быть даже в какой-то степени ее разделяю.
Но я не уверен, что для реализации такой поддержки хватит оперативной памяти и флэша.
Выхода два. И оба не сказать, что веселые. 1) Переход на другой чип, например atmega2560 2) Модульность прошивки.
Переход на другой чип - это разделение веток разработки. И в конечном итоге сворачивание поддержки atmega328.
Модульность прошивки - это слом стройной идеологии. Непонятные вопросы с обновлением прошивки через сайт. Ну не все же пользователи, как мы с вами, программисты.
Этот вопрос следует изучить.
Но я не уверен, что для реализации такой поддержки хватит оперативной памяти и флэша.
Выхода два. И оба не сказать, что веселые. 1) Переход на другой чип, например atmega2560 2) Модульность прошивки.
Переход на другой чип - это разделение веток разработки. И в конечном итоге сворачивание поддержки atmega328.
Модульность прошивки - это слом стройной идеологии. Непонятные вопросы с обновлением прошивки через сайт. Ну не все же пользователи, как мы с вами, программисты.
Этот вопрос следует изучить.
-
- Сообщения: 395
- Зарегистрирован: 17 фев 2013, 23:49
- Откуда: Волгодонск, Ростовская обл.
- Контактная информация:
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Я так понял, что новый чип более мощнее? Если его стоимость в разумных пределах, то мне кажется, что надо переходить на него, потому как все чаще читаю, что ряд функций невозможно сделать из-за ограничений чипа.
Опять же если это все коммерчески выгодно.
Опять же если это все коммерчески выгодно.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
atmega2560 по производительности такой же как atmega328, но в нем в 4 раза больше SRAM, и в 8 раз больше Flash.
Только и стоит он в 3 раза дороже или в абсолютном исчислении примерно на 200 руб.
Только и стоит он в 3 раза дороже или в абсолютном исчислении примерно на 200 руб.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
я думаю можно реализовать 3 вариантВыхода два
избавление микроконтроллера от несвойственных ему функций хранения веб-страниц, высвободится много места в памяти программ
избавление от операций деления, и float
основной потребитель оперативной памяти , буфер передачи , можно попробывать его уменьшить и передавать пакет частями
сейчас обкатываю вариант обновления с SD карты , тоже интересный вариантНепонятные вопросы с обновлением прошивки через сайт
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Смена платформы - это слишком глобальный путь. Тем более, что налажен выпуск модулей на Atmega328. А модульность прошивки... Может в этом что то и есть. Многие проекты поддерживают несколько вариантов прошивки. Понимаю, что это дополнительный труд. Но для начала можно попробовать сделать две прошивки: с поддержкой DSens или 1wire. Выпилив DSens может освободиться место для 1wire. Измерять температуру можно с помощью ds18b20, а измерение влажности организовать при помощи АЦП. Пока не видно реального другого применения DSens в конференции (хотя я может и ошибаюсь).
-
- Сообщения: 395
- Зарегистрирован: 17 фев 2013, 23:49
- Откуда: Волгодонск, Ростовская обл.
- Контактная информация:
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Не думаю, что удорожание в 200р негативно скажется на спросе.Andrey_B писал(а):atmega2560 по производительности такой же как atmega328, но в нем в 4 раза больше SRAM, и в 8 раз больше Flash.
Только и стоит он в 3 раза дороже или в абсолютном исчислении примерно на 200 руб.
А если за +200р в МегаД мы получим 1wire то это даже и выгода (экономия на мастере)
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
А почему надо чем-то жертвовать, ведь в ветке у DOCSIMUSA получилась достаточно функциональная прошивка и все уместилось. Проблема с датчиками DHT скорее тоже идеологического плана и отсутствием дополнительных таймеров. Так что можно обойтись и без нового чипа.
Но если уже совсем плохо с ресурсами то я за модульность прошивки.
Захотел установил мост ic2 получил 1wire
Поставил перемычку DHT
Но если уже совсем плохо с ресурсами то я за модульность прошивки.
Захотел установил мост ic2 получил 1wire
Поставил перемычку DHT
- Вложения
-
- megaD.jpg (231.07 КБ) 24342 просмотра
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
сеть 1wire хотя бы для DS1820 нужна однозначно для начала, без перехода на новый контроллер, можно было бы добавить простой шлюз "ethernet - i2c". Т.е. сервер (т.к. он же уже есть) будет заниматься взаимодействием с DS2483 посредством бинарных данных через мегадевайс. Упаковка/распаковка данных шины i2c в пакеты ethernet не должна скушать много озу/пзу. ничего более конкретного не могу предложить, идея пока только "на пальцах".
p.s. проект, конечно, уже "перерос" мегу328. многоножечные чипы типа 2560 с точки зрения платы и пайки не сильно сложнее. по-мне, так SMD плату делать легче - не надо сверлить. а пайка таких корпусов даже быстрее - "микроволной", даже без фена, конечно при наличии хорошего паяльника. т.к. при смене чипа все-равно придется исходники модифицировать, я бы посмотрел в сторону чего-нибудь со встроенным эзернетом.
p.s. проект, конечно, уже "перерос" мегу328. многоножечные чипы типа 2560 с точки зрения платы и пайки не сильно сложнее. по-мне, так SMD плату делать легче - не надо сверлить. а пайка таких корпусов даже быстрее - "микроволной", даже без фена, конечно при наличии хорошего паяльника. т.к. при смене чипа все-равно придется исходники модифицировать, я бы посмотрел в сторону чего-нибудь со встроенным эзернетом.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Если делать свободно назначаемый пин для 1-Wire (в соответствии с идеологией проекта), то встает вопрос с задержками. Представьте, вы нажимаете клавишу, чтобы включить свет, а в это время начинается преобразование температуры и опрос датчиков...marsev писал(а):Еще до него подумывал о самостоятельном скрещивании проекта "Умный Дом по Ethernet " с проектом "1-Wire по Ethernet " для получения вышеупомянутого функционала (зная об отрицательном отношении Уважаемого Andrey_B к данной теме).
Долго Вы, а точнее Ваша семья, будете терпеть, что свет в комнате зажигается то сразу, то с ощутимой задержкой? Тоже относится и к общению с сервером.
Остальные варианты требуют доработки схемы устройства и два пина контроллера (на 2 линии i/o будет меньше), к тому же вариант с DS2482 от задержек не спасет (могу ошибаться, кто с ней работал - поправьте).
Вариант экономии оперативной памяти от alexsis_76 интересен.
PS О выборе другого контроллера, ATmega16, 32, 644, 1284 имеют одинаковую цоколевку, а 644 и 1284 максимальную тактовую частоту не 16, а 20 мГц...
PPS Универсальность - это компромисс, а компромисс - это когда плохо всем.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
да нет тут никакого вопроса , приказываем датчикам мерить температуру, завадим таймер на 1 с и идем делать свои дела, через секунду забираем измеренную температуру и все , никаких задержек , у меня NetAlarm работает по такой схеме, отклик мгновенный, а так как температура величина сравнительно медленно изменяющаяся мерить можно и порежето встает вопрос с задержками
вот только шъет программатор под 8 минут 10, этак я еще целый год буду делатьВариант экономии оперативной памяти от alexsis_76 интересен
-
- Сообщения: 177
- Зарегистрирован: 07 ноя 2011, 23:04
- Откуда: Россия, Самара
- Контактная информация:
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Andrey_B, подскажите насколько возможно предусмотреть в коде обработку adc согласно вот такой схеме?
На схеме R1 - 10 kOm , R2-R4 - 2 kOm ,R6-R9 - 1 kOm, транзисторы любые
Это было бы полезно для любителей (к которым я себя тоже отношу) большего количества входов от одного контроллера.
На схеме R1 - 10 kOm , R2-R4 - 2 kOm ,R6-R9 - 1 kOm, транзисторы любые
Это было бы полезно для любителей (к которым я себя тоже отношу) большего количества входов от одного контроллера.
- Вложения
-
- adc.png (151.23 КБ) 23948 просмотров
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
andvas, реализовать "это" в прошивке вряд ли возможно по идеологическим соображениям. Да и нецелесообразно. Постоянный опрос "медленного" АЦП - сомневаюсь, что это необходимо?
Но для некоторых узких задач реализацию такой штуки можно перенести на сервер, не перегружая при этом прошивку.
Но для некоторых узких задач реализацию такой штуки можно перенести на сервер, не перегружая при этом прошивку.
-
- Сообщения: 177
- Зарегистрирован: 07 ноя 2011, 23:04
- Откуда: Россия, Самара
- Контактная информация:
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Andrey_B, а ведь точно, можно перенести на сервер просто иногда опрашивая АЦП и делая выводы уже на сервере. Мне просто иногда в одном месте нужно побольше входов, а еще один контроллер уже поставить некуда. А скорость реакции на срабатывания входов не критична. Раз в минуту опросить и то ладно.
-
- Сообщения: 142
- Зарегистрирован: 12 ноя 2013, 00:34
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Мне тоже кажется можно сдвинуться в этом направлении в первую очередь, потом модульность.alexsis_76 писал(а):я думаю можно реализовать 3 вариантВыхода два
избавление микроконтроллера от несвойственных ему функций хранения веб-страниц, высвободится много места в памяти программ
избавление от операций деления, и float
основной потребитель оперативной памяти , буфер передачи , можно попробывать его уменьшить и передавать пакет частями
Вполне логично сделать отдельную php-страничку, которая будет отображать всю необходимую информацию, полученную от настраиваемого девайса (состояние портов, настройки и т.д.)
Саму php-страничку в обычном режиме прикрутить к серверу (вводим ip устройства и пароль и html отрисовывает полученные от устройства данные). Плюс для простых первоначальных настроек скомпилировать отдельный исполняемый файл, который обработает эту php-страничку без развертывания сервера (такой-себе nano-Denwer). Ну либо сделать что-то на java для кросс-платформенной визуализации настроек.
А в высвобожденные ресурсы добавить именно свойственный микроконтроллеру функционал. И, возможно, ресурсов хватит и для rs485+1wire+dht+18b20+....
Ведь по сути html-интерфейс, отдаваемый контроллером, мы используем только на этапе первоначальных настроек, а потом он не особо и нужен.
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
хватит хватит ,тут в соседней ветке я прикручиваю фат к девайсу, но пока времени нет, тыак вот стек и сама фат занимают 47% флеша и 48 sram это на меге32, правда стек там совсем другойИ, возможно, ресурсов хватит и для rs485+1wire+dht+18b20+...
-
- Сообщения: 142
- Зарегистрирован: 12 ноя 2013, 00:34
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
Смотрел, довольно интересно. Но если использовать microsd-карточки, то нужно обязательно хорошо продумывать температурный режим этой самой карточки. Поскольку они очень любят выходить из строя при малейшем сдвиге температуры выше комфортного режима. На некоторых моделях смартфонов с ними беда прям какая-то. Но зато копеечные (до очередного наводнения...).alexsis_76 писал(а):хватит хватит ,тут в соседней ветке я прикручиваю фат к девайсу, но пока времени нет, тыак вот стек и сама фат занимают 47% флеша и 48 sram это на меге32, правда стек там совсем другойИ, возможно, ресурсов хватит и для rs485+1wire+dht+18b20+...
Но в теории, как я понимаю, можно подцепить spi-flash на 8-16 МБ, чего хватит даже на "взрослую" html-страничку с ajax, canvas, js и другими "страшными словами"
Но, как я понимаю, главной целью прикручивания фат-таблицы является хранение текущих/прошлых значений датчиков, плюс гарантированное дистанционное обновление прошивки ? (сначала пишем ее на флеш, потом уже с флешки обновляемся).
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
на самом деле все уже давно пркручено и работает http://we.easyelectronics.ru/electro-an ... henie.html но тамошняя фат занимает почти все свободное место в меге 32 , поэтому было принято решение поставить туда фат поменьше, с мегад такая штука не вышла, фат поставил, но вот передавать отдельные сегменты не смог, а так данные читаются пишутся на карту и отдаются по веб,кстати это вдохнуло бы новую жизнь в мегад, проект практически остановился из за нехватки ресурсов контроллера дальше или переход на более вместительный кристалл или глубокая модернизация существующегоНо, как я понимаю, главной целью прикручивания фат-таблицы
если есть сервер и к устройству обращаются через него , то и html-интерфейс не нужен согласен с Вами , сервер может предоставить любой интерфейс, между ними(сервером и устройством)нужно использывать udp, освободится много места,нет смысла использывать карту, вся статистика будет храниться на сервере, мои девайсы рассчтывются для работы в отсутствии сервера ,на людей ничего не понимающих в програмировании,не все в восторге от командной строки,для них нужен доходчивый графический интерфейс, желательно динамически обновляемый,все это есть в вышеприведенной ссылке ,но размер, охота все впихнуть в старые девайсы, но для этого надо подуматьВедь по сути html-интерфейс, отдаваемый контроллером, мы используем только на этапе первоначальных настроек, а потом он не особо и нужен
и это тоже, в примерах чена есть SD бутлоадерплюс гарантированное дистанционное обновление прошивки ? (сначала пишем ее на флеш, потом уже с флешки обновляемся). ;
Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)
http://ab-log.ru/files/File/ip_manager3 ... _beta1.zip
Добавлена возможность получить состояние всех портов одним запросом
Пример: http://192.168.0.14/sec?cmd=all
Добавлена возможность получить состояние всех портов одним запросом
Пример: http://192.168.0.14/sec?cmd=all