|
|
Опции темы | Поиск в этой теме | Опции просмотра |
14.08.2016, 14:36 | #1 |
Moderator
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031 |
Автоматические генераторы прошивок для микроконтроллеров
Товарищи программисты, а подскажите пожалуйста возможна ли (теоретически) система автоматизированного программирования avr?
К примеру у меня есть atmega подключенная к serial удаленного mr3020. В веб-интерфейсе я выбираю порт (может быть он и сам определяется) и указываю какие "модули" нужно загрузить на мегу. Опять же для примера выберем: датчик температуры, 3 реле, датчик освещенности, Ик-передатчик. В настройках каждого модуля можно задать индивидуальности: Проименовать каждое реле, и они отобразятся в других модулях. Возможность их срабатывания при получении ключевого значения по serial (опять это слово... например: rele_low_light=on) В настройках модулей датчиков можно выбрать: 1. передачу значения в serial (регулярно/при достижении пороговых значений/по запросу) 2. выполнение действий: включить/выключить реле, отправить сигнал ИК... А может такая система уже есть? |
11.10.2016, 21:42 | #2 | |
Moderator
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031 |
Re: AVR (mega328p)
Цитата:
Последний раз редактировалось Tohin; 11.10.2016 в 21:44. |
|
19.03.2017, 13:35 | #3 |
Moderator
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031 |
Есть еще один сайт. Автоматически генерит прошивки для ESP8266
Работа проста до гениальности (сам еще не пробовал): 1. Ставим галочки, какие датчики железки подключены к модулю, какие сервисы нужны. 2. Скачиваем и прошиваем плату. 3. заходим в веб-интерфейс и указываем к каким ногам что подключено. Жалко, что: 1. Проект зарытый - добавить свои модули проблематично. 2. Нет поддержки atmega328. товарищи Bulavator, Arhat109, stD, NEGr может совместными усилиями соберем что-либо подобное? Я бы тоже хотел поучаствовать, но не уверен, что мои навыки окажутся полезными. |
22.03.2017, 19:34 | #4 |
Moderator
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031 |
Мбда.... Активность поражает.
Ну ок. Начну. Итак есть код функции для управления реле. Я в состоянии написать PHP скрипт, который будет принимать на вход номера пинов (в формате D0, B2...)к которым подключены реле и генерить код функции управления этими реле. Но вот как сочинить организацию взаимодействия я не понимаю. В том смысле, что пропишу я реле, добавлю код фоторезистора, но нужно еще и настроить срабатывание реле при определенных значениях фоторезистора. Еще нужно предусмотреть Debug-режим для каждого "модуля". Для реле - писать в serial текущий статус. Нужна какая то общая модель событий? Или не нужна... в общем - я дилетант, но инициативный. Последний раз редактировалось Tohin; 22.03.2017 в 19:36. |
22.03.2017, 21:12 | #5 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Зачем так все сложно?
Можно же все писать и прошивать в Arduino IDE К тому же есть много готовых библиотек под Arduino IDE |
22.03.2017, 21:37 | #6 |
Moderator
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031 |
Снизить порог вхождения в "Умный дом" = увеличить кол-во пользователей = увеличить потенциальный рынок сбыта = привлечь производителей = расширить ассортимент.
Ксяоми именно это демонстрирует- простая настройка через приложение на телефоне привлекает новых пользователей, позволяет масштабировать производство, снизить издержки = снизить цену. Ардуино аналогично показала то же самое. снижение порога вхождения = расширение круга пользователей. Я хочу еще больше снизить порог вхождения в умный дом, как по цене, так и по знаниям. Предлагаю начать со второго - установка и настройка атмеги с помощью мышки. ИМХОDOS и bash тоже поражали своими возможностями, особенно вкупе с Norton Comander/mc, однако macintosh и Windows показали, что порог вхождения по знаниям увеличивает популярность. и если не жадничать как Apple и снизить цену, то приведет к значительному росту прикладного использования, количества пользователей и сопутствующей инфраструктуры
[свернуть] Последний раз редактировалось Tohin; 22.03.2017 в 21:44. |
22.03.2017, 23:22 | #7 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Ты меня не понял.
Я имел ввиду компилятор |
23.03.2017, 09:10 | #8 |
Senior Member
|
Я хочу сделать контроллер на базе avr вообще без "прошивания". Внутри будет интерпретатор C, который работает по программе, написанной на флешке. В качестве интерпретатора использую picoc, который у меня собрался для ATmega2560 (Arduino Mega2560).
Встала проблема с ОЗУ. Если бы была готовая плата с ATmega2560 (или ATmega128) и внешней ОЗУ, то я мог бы уже пробовать работать с программой из ОЗУ для начала. Поэтому пока приходится пытаться запустить интерпретацию в Proteus. Короче, ковыряюсь пока в коде, делаю драйвера Modbus RTU и TCP, чтобы всё было в одном. Также пытаюсь использовать RTOS, чтобы повысить кпд cpu контроллера. Более менее всё движется, но времени не хватает. Теоретически интерпретатор можно запустить и на Arduino Mega2560, но нужно очень много кода переработать (запихать все строки во флеш). Памяти не хватает из-за того, что все диагностические сообщения и прочие строки заполняют всё ОЗУ. Скорее я наверное свою плату разведу, чем код оптимизирую. Всё равно мне нужна дополнительная периферия (RTC, MAX485, и пр.) Потом сделаю аналог под какой дешёвый ARM. Всё ради быстрой (мгновенной) загрузки и дешёвого контроллера. Прочие контроллеры с Linux на борту никогда такого не смогут, а для простого применения avr за глаза.
__________________
Россия навсегда! |
23.03.2017, 12:01 | #9 |
Senior Member
Регистрация: 03.11.2013
Адрес: Севастополь
Сообщений: 347
Вес репутации: 0 |
Не проще ли "пользователя-новичка" (читай - ламера) заставить составлять его программы на бэйсике ? Все одно, за рамки привычного "считать показания - помигать светодиодом" он не выйдет.
А уж интерпретаторов этого самого бэйсика - валом. Не надо ничего изобретать. Навскидку, есть полный аналог ZX-Spectrum, собранный на двух (трех ?) мегах. Спектрумовский бэйсик + открытые схема/исходники + поддержка SDcard. И самое главное - если сильно надо, можно навесить на него любое дополнительное железо и добавить под него свои команды в интерпретатор. "Чего ж тебе еще надо, собака ?" (с) |
23.03.2017, 12:29 | #10 | |
Senior Member
Регистрация: 22.10.2015
Адрес: Там где сосны и песок
Сообщений: 1,534
Вес репутации: 1601 |
Мысли вслух:
Цитата:
В 00-е ... === Для самостоятельного освоения материала нужно иметь: - навыки разработки плат - навыки разработки схем (возможно, правка каких-то параметров) - навыки программирования микроконтроллеров Коммутируя однофазные домовые сети, иметь понимание - как эти сети устроены - чтение ПУЭ на ночь не помешает. То же касается основ проектирования и монтажа систем водоснабжения, отопления, вентиляции, слаботочка и прочее и прочее и прочее.. Этот будущий "не ламер" - должен одинаково умело владеть - паяльной станцией, осциллографом, паяльником для ПП (водопровод) и перфоратором.. Не говоря уже о том, что пользователем ПК - он должен быть со знанием железа и массы спец.софта... === Так что порог вхождения... Проще предлагать готовые решения, на уровне отдельных узлов - с реальной практической пользой для конечного потребителя (не замер температуры в бачке унитаза и за каждым радиатором отопления). === Онлайн сервис сборки прошивки микроконтроллера - конечно удобнее для "ламера"...
__________________
Читаю ваши мысли по аватару ... Последний раз редактировалось sunny; 23.03.2017 в 13:49. |
|
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3) | |
|
|