Альтернативные прошивки MegaD
Альтернативные прошивки MegaD
Создание и обсуждение альтернативных прошивок для оригинальной MegaD и иных ее реализаций.
Решил создать новую тему, чтобы другие не засорять))).
Разрабатываю прошивку на базе оригинальной 3.25b1. Конструирую 1-Ware. Думаю отдать под нее 2 порта .
А еще... а еще web-интерфейс в перспективе (внешний) с новым API.
В данный момент мучаю поиск устройств 1-Ware в сети...
P.S. Стоит ли делать внешний web-интерфейс? Будет много желающих - сделаю)))
Решил создать новую тему, чтобы другие не засорять))).
Разрабатываю прошивку на базе оригинальной 3.25b1. Конструирую 1-Ware. Думаю отдать под нее 2 порта .
А еще... а еще web-интерфейс в перспективе (внешний) с новым API.
В данный момент мучаю поиск устройств 1-Ware в сети...
P.S. Стоит ли делать внешний web-интерфейс? Будет много желающих - сделаю)))
Re: Альтернативные прошивки MegaD
возьмите за основу Application Note 187. 1-Wire Search Algorithm там исходный код есть , рабочий , все ищет , работает на меге почти без переделокВ данный момент мучаю поиск устройств 1-Ware в сети...
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Альтернативные прошивки MegaD
Внешний интерфейс - хранящийся в отдельной EEPROMке? Тогда я за! Место освободится, можно ещё функций напихать...
Насчет функций пожелание - хочется расширить функционал Action - во первых увеличить длину полей, а во вторых - увеличить их количество - просто "Action", как сейчас, "Netaction" - тоже сохранить, но и добавить "Action always" - выполняющиеся даже если есть связь с сервером, и "NetAction slawe" - выполняющееся если не доступен сервер.
Насчет функций пожелание - хочется расширить функционал Action - во первых увеличить длину полей, а во вторых - увеличить их количество - просто "Action", как сейчас, "Netaction" - тоже сохранить, но и добавить "Action always" - выполняющиеся даже если есть связь с сервером, и "NetAction slawe" - выполняющееся если не доступен сервер.
Re: Альтернативные прошивки MegaD
В контроллере хочу оставить только UDP и убрать HTML. Web - интерфейс будет отдельным и становиться будет на комп (лучше на сервер).kod.begemot писал(а):Внешний интерфейс - хранящийся в отдельной EEPROMке? Тогда я за! Место освободится, можно ещё функций напихать...
Насчет функций пожелание - хочется расширить функционал Action - во первых увеличить длину полей, а во вторых - увеличить их количество - просто "Action", как сейчас, "Netaction" - тоже сохранить, но и добавить "Action always" - выполняющиеся даже если есть связь с сервером, и "NetAction slawe" - выполняющееся если не доступен сервер.
Плюсы:
-не тратим память на файловую систему в случае EEPROM,
-вся валидация форм ввода будет осуществляться "сайтом",
-освободится куча места (т.к. МК не будет заниматься ни каким "графическим" выводом) по разные новые плюшки))).
-интерфейс станет динамичным.
Re: Альтернативные прошивки MegaD
А какая схемотехника планируется для Вашей реализации? Два транзистора как в варианте THK (кстати у меня заработало только с биполярниками) или вариант DOCSIMUSA на шине I2C через DS2482S. (мне кажется более надежным вариантом, хоть и дороже)GruNT писал(а): Разрабатываю прошивку на базе оригинальной 3.25b1. Конструирую 1-Ware. Думаю отдать под нее 2 порта .
Re: Альтернативные прошивки MegaD
Пока что реализация программной части на оригинальном железе megaD (схемы). Щас работаю в протеусе на порте PC0 без всякой обвязки. Уже есть сканирование и запоминание в EEPROM списка обнаруженных устройств, работает определений температуры для ds18d20. Хочу сделать чтоб была поддержка всех плюшек портов и на 1-ware тоже, но мало памяти. Проведя оптимизацию (писал в теме: Прошивка MegaD-328 (релизы, обсуждения, предложения) ) с добавленными функциями, занято 94,7 %. Видать придется во внешний интерфейс уходить.
DS2482S - заинтриговала, особенно DS2482S-800, вот только цена кусается (420р. для 800). Попробую, посмотрим что получиться. Плату нарисовал для корпуса D3MG. МК'ы - все SMD. Трансформатор внешний. Плата двухсторонняя. Хотелось пока что определиться с функциями чтоб не переделывать плату потом. .
DS2482S - заинтриговала, особенно DS2482S-800, вот только цена кусается (420р. для 800). Попробую, посмотрим что получиться. Плату нарисовал для корпуса D3MG. МК'ы - все SMD. Трансформатор внешний. Плата двухсторонняя. Хотелось пока что определиться с функциями чтоб не переделывать плату потом. .
Re: Альтернативные прошивки MegaD
Ну ds2482s-800 это конечно перебор - целый "сервер" 1-wire
А ее маленький собрат позволит избавиться от головной боли с уровнями и таймингами, попутно чуть разгрузив основную мегу.
По поводу платы, наверно видели мою реализацию в корпусе D2MG viewtopic.php?f=1&t=6&start=1880#p13500
и хотя чуток тесновато, но иногда одно сэкономленное место здорово помогает
А ее маленький собрат позволит избавиться от головной боли с уровнями и таймингами, попутно чуть разгрузив основную мегу.
По поводу платы, наверно видели мою реализацию в корпусе D2MG viewtopic.php?f=1&t=6&start=1880#p13500
и хотя чуток тесновато, но иногда одно сэкономленное место здорово помогает
Re: Альтернативные прошивки MegaD
Да, да! Видел))) Собственно из-за нее так и сделал. Вот только поставил разъем IDC-20 вместо IDC-40. И стоит он сверху. Сбоку не рискнул, т.к. не вариант что исполнительный модуль будет сбоку и что вообще он 1 будет)))kID писал(а):Ну ds2482s-800 это конечно перебор - целый "сервер" 1-wire
А ее маленький собрат позволит избавиться от головной боли с уровнями и таймингами, попутно чуть разгрузив основную мегу.
По поводу платы, наверно видели мою реализацию в корпусе D2MG viewtopic.php?f=1&t=6&start=1880#p13500
и хотя чуток тесновато, но иногда одно сэкономленное место здорово помогает
P.S. Где так платы делаете? На заводе что-ли)))?
Re: Альтернативные прошивки MegaD
Всемогущий Китай, отправляешь герберы и через месяц печатки в руках.
По поводу исполнительного модуля - я исходно планировал делать много маленьких модулей а шину делать проходную через все, но пока родился только один большой. Но в скорости планирую его значительно прорядить, оставив только 3 симмисторных канала, те что PWM, остальными при помощи PL2003 щелкать релюшками или SSR.
По поводу исполнительного модуля - я исходно планировал делать много маленьких модулей а шину делать проходную через все, но пока родился только один большой. Но в скорости планирую его значительно прорядить, оставив только 3 симмисторных канала, те что PWM, остальными при помощи PL2003 щелкать релюшками или SSR.
Re: Альтернативные прошивки MegaD
ЫЫЫ. Где заказывали именно????))) Пайка ваша?kID писал(а):Всемогущий Китай, отправляешь герберы и через месяц печатки в руках.
По поводу исполнительного модуля - я исходно планировал делать много маленьких модулей а шину делать проходную через все, но пока родился только один большой. Но в скорости планирую его значительно прорядить, оставив только 3 симмисторных канала, те что PWM, остальными при помощи PL2003 щелкать релюшками или SSR.
У меня вообще идея есть глобального характера))). А что если сделать модули общающиеся по какому нибудь собственному протоколу? На одной atmega тогда вообще хоть 1000 каналов сделать можно. Отдельно блок входов, отдельно блок выходов. Внутри каждого какой нибудь самый дешевый mega и регистры, регистры и еще раз регистры +релюхи и еще что там захочется)). Командует парадом MegaD (у него есть LAN). Собственно у него также и настраивается что какой порт делать будет (из этой 1000!). А там если протокол есть, то хоть дисплеи хоть драйвера двигателей цепляй (отдельные модули естественно).
Сервер дает команду MegaD, а тот смотрит что же за модуль может такую команду выполнить и дает команду модулю. Тот считывает/выставляет и говорит Mega'е что якобы все - закончил все делать, а та ему... ну раз все, так я серверу докладываю что "ОК" (или вызываю другой модуль)! Едем дальше)))
Кстати ваша шина бы в этом варианте точно пригодилась)))
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Альтернативные прошивки MegaD
А мне всё-же кажется что изначальная концепция (много MegaD общаются по сети и между собой) более перспективна и расширяема.
Я для себя потихоньку добавляю некое подобие PoE в старенький 3COM - подаю на "лишние" пары 24 вольта. Меги планирую тоже собирать с отдельным трансом и разъёмом, из которого нетрудно эти 24 вольта изъять. Витую пару можно кинуть куда угодно. И можно располагать близко к месту применения. Можно же собирать модули ввода/вывода и 0I/14O или 14I/0O, а связь между ними держать по сети. Только вот тогда ну очень пригодятся расширенные Actions'ы (о чем я писал ранее), с ними система, на мой взгляд, будет максимально близка к идеалу.
Я для себя потихоньку добавляю некое подобие PoE в старенький 3COM - подаю на "лишние" пары 24 вольта. Меги планирую тоже собирать с отдельным трансом и разъёмом, из которого нетрудно эти 24 вольта изъять. Витую пару можно кинуть куда угодно. И можно располагать близко к месту применения. Можно же собирать модули ввода/вывода и 0I/14O или 14I/0O, а связь между ними держать по сети. Только вот тогда ну очень пригодятся расширенные Actions'ы (о чем я писал ранее), с ними система, на мой взгляд, будет максимально близка к идеалу.
-
- Сообщения: 516
- Зарегистрирован: 20 окт 2012, 12:40
- Откуда: Мюнхен
Re: Альтернативные прошивки MegaD
Да, мысли сходятся.
Через пару дней выложу обновленную версию. Так-же используется стек по мотивам LifeLover'a. Но с динамическим выделением памяти, и капитальным рефакторингом.
GruNT Может просто присобачите туда 1Wire? А то у меня на него стойкая аллергия.
Кстати что подразумевается под 1Wire ? Полный спектр, или только DS18B20 ?
Немного картин с выставки, что должно быть в распредящике
Все что вы только собираетесь сделать, у нас уже реализовано.GruNT писал(а):В контроллере хочу оставить только UDP и убрать HTML. Web - интерфейс будет отдельным и становиться будет на комп (лучше на сервер)
Через пару дней выложу обновленную версию. Так-же используется стек по мотивам LifeLover'a. Но с динамическим выделением памяти, и капитальным рефакторингом.
GruNT Может просто присобачите туда 1Wire? А то у меня на него стойкая аллергия.
Кстати что подразумевается под 1Wire ? Полный спектр, или только DS18B20 ?
Немного картин с выставки, что должно быть в распредящике
Re: Альтернативные прошивки MegaD
comparator, как-то непатриотично менять Augustiner, Paulaner, Hofbr?u, Spaten, Franziskaner, Andechs, Ayinger на продукт из Bad Blankenburg (Тюрингия).
Извините, не удержался...
Извините, не удержался...
-
- Сообщения: 77
- Зарегистрирован: 22 ноя 2013, 03:17
Re: Альтернативные прошивки MegaD
UDP - довольно нестандартная штука для передачи данных. Чем удобен http? Один file_get_contents и имеешь результат. И так не только на php, но и на куче других языков. Да хоть на баше wget. Точно так же в обратную сторону. LAMP в руки - и все. Ставится одной командой.
Поэтому я бы предпочел иметь api на http.
А поддержки ds18b20 на megad мне очень не хватает. Причем даже в самом простом варианте - 1 штука 18b20 на 1 пин меги. Причем там можно сделать интересно - мегад получает запрос, сначала считывает текущее значение и потом посылает команду на преобразование. Таким образом, опросив дважды с промежутком 2 секунды гарантированно получишь текущую температуру, а для API - всего добавление типа цифрового датчика.
Поэтому я бы предпочел иметь api на http.
А поддержки ds18b20 на megad мне очень не хватает. Причем даже в самом простом варианте - 1 штука 18b20 на 1 пин меги. Причем там можно сделать интересно - мегад получает запрос, сначала считывает текущее значение и потом посылает команду на преобразование. Таким образом, опросив дважды с промежутком 2 секунды гарантированно получишь текущую температуру, а для API - всего добавление типа цифрового датчика.
Re: Альтернативные прошивки MegaD
http://pcb.hqew.net/calculator.html судя по сайту и отзывам можно заказать и полностью собранные платы. Но сам не пробовал, собирал сам.GruNT писал(а): ЫЫЫ. Где заказывали именно????))) Пайка ваша?
Это уже другое устройство. Сам мегадевайс это законченная конструкция со своей идеологией (единственное что ему не хватает это поддержки 1-wire)GruNT писал(а): У меня вообще идея есть глобального характера))). А что если сделать модули общающиеся по какому нибудь собственному протоколу? На одной atmega тогда вообще хоть 1000 каналов сделать можно. Отдельно блок входов, отдельно блок выходов. Внутри каждого какой нибудь самый дешевый mega и регистры, регистры и еще раз регистры +релюхи и еще что там захочется)). Командует парадом MegaD (у него есть LAN). Собственно у него также и настраивается что какой порт делать будет (из этой 1000!). А там если протокол есть, то хоть дисплеи хоть драйвера двигателей цепляй (отдельные модули естественно).
Re: Альтернативные прошивки MegaD
comparator писал(а):Кстати что подразумевается под 1Wire ? Полный спектр, или только DS18B20 ?
И так. Планирую полную поддержку. На данный момент уже определяются ds18s20, ds18b20, ds1990 (botton). Atmega включает сканирование сети при нажатии соответствующей кнопки в интерфейсе порта.Sergey Borovkov писал(а):А поддержки ds18b20 на megad мне очень не хватает. Причем даже в самом простом варианте - 1 штука 18b20 на 1 пин меги. Причем там можно сделать интересно - мегад получает запрос, сначала считывает текущее значение и потом посылает команду на преобразование. Таким образом, опросив дважды с промежутком 2 секунды гарантированно получишь текущую температуру, а для API - всего добавление типа цифрового датчика.
Найденные устройства сохраняются в EEPROM в виде массива. Для датчиков температуры раз в секунду идет измерение температуры и запись показаний в EEPROM. При вызове (?1w=t) возвращает массив температур всех датчиков с ихними адресами))). В перспективе создание запросов для получения значений отдельно взятых датчиков. Для других устройств 1 ware в зависимости от их назначения хочу сделать похожий алгоритм работы. В итоге все значения всегда будут в eeprom (alarm,temp,status). Сервер получает данные с устройства без задержек))))
Re: Альтернативные прошивки MegaD
Вы правы. Но вопрос в отказе от встроенного интерфейса назрел как никогда((Sergey Borovkov писал(а):UDP - довольно нестандартная штука для передачи данных. Чем удобен http? Один file_get_contents и имеешь результат. И так не только на php, но и на куче других языков. Да хоть на баше wget. Точно так же в обратную сторону. LAMP в руки - и все. Ставится одной командой.
Поэтому я бы предпочел иметь api на http.
Принимаю предложения по дизайну будущего Web-интерфейса (в виде микросайта). Я в данный момент склоняюсь к вертикальному списку портов в формате "аккордеон". При нажатии мыши на вкладку порта, панель с настройками порта выезжает снизу. Цвет вкладок зависит от наличия ШИМ и АЦП. Правая часть вкладки указывает вид порта, статус порта и его значение. Обновление данных раз в 1 сек. Дабы страница весила меньше, все постараюсь уместить в одном html файле)))). А ну да... раз php не будет (дабы работало это творение без сервера) придется юзать cookes.
Жду предложений и идей.
Re: Альтернативные прошивки MegaD
Как то у меня была на меге 8 прошивка "часы" где каждую секунду сохранялись показания в EEPROM.GruNT писал(а): В итоге все значения всегда будут в eeprom (alarm,temp,status).
То и года не жила. Заявленные 100000 раз быстро уходили.
Re: Альтернативные прошивки MegaD
т.е. вы все таки решили запихать страницу в EEPROM ?Жду предложений и идей.
а зачем хранить текущее значение температуры в EEPROM ?В итоге все значения всегда будут в eeprom
Re: Альтернативные прошивки MegaD
asteroid писал(а):Как то у меня была на меге 8 прошивка "часы" где каждую секунду сохранялись показания в EEPROM.GruNT писал(а): В итоге все значения всегда будут в eeprom (alarm,temp,status).
То и года не жила. Заявленные 100000 раз быстро уходили.
Вы правы))). Не подумал....Значит хранение тогда отпадает. Хотел чтоб без задержек опрос был. Планирую до 10 устройств вешать.alexsis_76 писал(а):а зачем хранить текущее значение температуры в EEPROM ?
Нет. Страница будет на компе. Запустил... Ввел ip и настраивай как хочешь. Все будет динамически с Ajax на одной странице.alexsis_76 писал(а): т.е. вы все таки решили запихать страницу в EEPROM ?
Внешняя память я считаю-это усложнение. Все равно по сути настраивать часто что-то не придется. Один раз сделал и забыл.
К тому же с динамической HTML будет намного удобнее работать, а все введенные ip (если устройство в сети не одно) будут
храниться в cookes. Между устройствами можно будет переключаться)))). Ну и оформление красивое...
Думаю что объем страницы получиться большой для atmega (я читал что больше одного пакета она сейчас не пересылает).