Возможно ли сделать подключаемые плагины для Arduino?

com
Offline
Зарегистрирован: 06.09.2013

задача - подключить кнопку к микроконтроллеру

стандартный вариант:

берем кнопку, подсоединяем один контакт к питанию, другой - к пину контроллера, добавляем резистор, правим код - все работает. на все про все - 3 минуты, из которых 2 - поиски резистора.

 

прогрессивный нановариант:

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

я правильно сформулировал? да по вам сколково плачет!

почему-то вспомнилось из шефнера

Цитата:

  - А у Пети дела хорошо идут? - спросила Люся.
   - Дела что надо. Он недавно сконструировал МУКУ-1. Это светлое дерзание технической мысли.
   - А что это за МУКА?
   - Это Механический Универсальный Консервооткрывающий Агрегат - вот  это что! Теперь домашние хозяйки  и  холостяки  будут  избавлены  от  возни  с открыванием консервов.
   -  У  тебя  нет  этого  агрегата?  -  спросила  Люся.  -  Интересно  бы посмотреть.
   - У меня его нет и не будет. Он ведь должен весить пять тонн, под  него нужен бетонный фундамент. И стоить он будет четыреста тысяч новыми.
   - Какая же хозяйка сможет купить эту МУКУ? - удивилась Люся.
   - Господи, какая же ты непонятливая! - воскликнула Светлана.  -  Каждой хозяйке и не надо покупать этот агрегат. Его одного на весь город  хватит. Он будет установлен где-нибудь в центре города, скажем на Невском.  И  там будет оборудован ЕГКОЦ - Единый  Городской  Консервооткрывательный  Центр. Это очень удобно. Вот, скажем, пришли к тебе гости, надо  для  них  шпроты открыть. Не надо ни консервного ножа,  ни  физических  усилий.  Ты  просто берешь свою консервную банку, быстренько выходишь на улицу, едешь в ЕГКОЦ. Там сдаешь  банку  приемщице,  платишь  пять  копеек  новыми  и  получаешь квитанцию. Приемщица наклеивает на банку ярлычок и ставит ее на  конвейер. А  ты  идешь  себе  в  зал  ожидания,  садишься  в   кресло   и   смотришь короткометражный  фильм  на  консервную  тему.  Вскоре  тебя  вызывают   к окошечку, ты предъявляешь квитанцию, получаешь открытую банку  и  спокойно едешь домой на Васильевский. Удобно, правда?

Draghkon
Offline
Зарегистрирован: 17.09.2013

com

Да, вобщемто все правильно сформулировали;)

Немного гипертрофировано, конечно..

Но кликать мышкой умеет каждый, а писать код умеет не каждый, большинство даже не станет слушать что это на 2 минуты, услышав слова КОД и ПРОГРАММИРОВАНИЕ

К тому же, это вы описали так сказать расширенную, инжинерную версию. А в версии лайт, можно зашить в GUI уже готовую логику для конкретного применения кнопки, останется только выбрать из списка например.

Так что это действительно удобно)

Клапауций
Offline
Зарегистрирован: 10.02.2013

Draghkon пишет:

А в версии лайт...

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

teodor4ik
Offline
Зарегистрирован: 04.11.2013

com пишет:

прогрессивный нановариант:

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

Вам тоже дать ссыль на веру и з-вейв? Оно почти так и работает. Я здесь только облекаю мысль ТС-а в хотя-бы теоретически реализуемую форму.

com пишет:

я правильно сформулировал? да по вам сколково плачет!

Знаю, однажды за это с работы попросили. Надо было просчитать НЕПРАВИЛЬНЫЙ вариант разводки труб и стояков в с-ме общедомового отопления предложенный клиентом (его не устраивала сложность предложенного проэкта), и доказать его неправильность в цифрах. Я вместо этого пересчитал его вариант и довел до рабочего состояния с минимальными изменениями. На зло, начальник не знал этого и попросил показать ему результат при клиенте, не уточнив мне кто это тут сидит и зачем. В общем не в лучшем свете он предстал, а я ушел, как "особо вумный".

com пишет:

почему-то вспомнилось из шефнера

можно поподробнее... я б почитал...

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

teodor4ik пишет:

Вам тоже дать ссыль на веру и з-вейв? Оно почти так и работает. Я здесь только облекаю мысль ТС-а в хотя-бы теоретически реализуемую форму.

так вы пытаетесь изобрести новую "веру и з-вейв"? или вы не понимаете как оно там работает? и не впиливаете что там к каждому новому устройству прикручен свой МК?

Клапауций
Offline
Зарегистрирован: 10.02.2013

Puhlyaviy пишет:

так вы пытаетесь изобрести новую "веру и з-вейв"? или вы не понимаете как оно там работает? и не впиливаете что там к каждому новому устройству прикручен свой МК?

ты всё пропустил - так оно и будет, каждая кнопка и светодиод будут со своим процессором

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Клапауций пишет:

ты всё пропустил - так оно и будет, каждая кнопка и светодиод будут со своим процессором

крута.  а каждый МК со своим блоком питания? тоесть каждая кнопка будет размером со стол?

Клапауций
Offline
Зарегистрирован: 10.02.2013

Puhlyaviy пишет:

крута.  а каждый МК со своим блоком питания? тоесть каждая кнопка будет размером со стол?

зарядки будут беспроводные - высыпаешь горсть шариков из кармана на стол, оно самособирается согласно профиля твоей энцефалограммы, строит беспроводный интерфейс оно-твой мосг и всё...

axill
Offline
Зарегистрирован: 05.09.2011

а нанотехнологии где? обязаны быть

teodor4ik
Offline
Зарегистрирован: 04.11.2013

Уже смешались кони, люди...

Puhlyaviy пишет:

Клапауций пишет:

ты всё пропустил - так оно и будет, каждая кнопка и светодиод будут со своим процессором

крута. а каждый МК со своим блоком питания? тоесть каждая кнопка будет размером со стол?

Простите мой французкий. Блядь... сколько размера займет тинька или та же 88? А жрать она будеть... Оооо.... провода к ней тянуть надо, пипетс минимум 3.5мм2. 5в/20-50мА бп это просто нереального размера.

axill пишет:

а нанотехнологии где? обязаны быть

А не вы ли уважаемый сомневались не взять ли nrf24e01 т.к. у него уже есть свой МК на борту дабы юзать его как ISP для МК в выключателях? А не, то прописать либы nrf24 d в бутлоадер МК выключателя?

Puhlyaviy пишет:

так вы пытаетесь изобрести новую "веру и з-вейв"? или вы не понимаете как оно там работает? и не впиливаете что там к каждому новому устройству прикручен свой МК?

Именно это я и пытаюсь вдолбить ТС-у весь тред. Хотя некоторые просто уверены что оно тогда буит со стол размером.

olegab
Offline
Зарегистрирован: 09.04.2013

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

 Устройства могут быть как "умные" со свои контроллером и неким протоколом "плаг-н-плэй", так и "тупые"без контроллера, но всеравно какой-то механизм идентификации им приделать нужно.

Высоуровневая логика-тема отдельного разговора, там сделать можно практически все что захочется.

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

....

Учитывая вышеизложенное, имеет смысл вешать на каждое устройство ардуину, возможны случаи с несколькими устройствами на одной ардуине, добавлять какой нибудь коммуникационный интерфейс и разработат протоко общения с компом.

axill
Offline
Зарегистрирован: 05.09.2011

teodor4ik пишет:
А не вы ли уважаемый сомневались не взять ли nrf24e01 т.к. у него уже есть свой МК на борту дабы юзать его как ISP для МК в выключателях? А не, то прописать либы nrf24 d в бутлоадер МК выключателя?

ну да, я участвовал в том шабаше. И?

olegab пишет:

Если в проекте появился всегда стоящий рядом с ардуино комп

Если рядом есть комп, то не надо вообще ничего городить, МК использовтаь только для того, чтобы сделать чуть более умную нежели тупую переферию и всем рулить с компа. По тех заданию мы окутаны проводами так зачем городить огород? Уже писал об этом в начале обсуждения. С тех пор исписано пару блокнотов, но я никак не догоню в чем сыр-бор :) Автор вбил себе в голову какую-то идеи которая нафиг не нужна для той задачи, которую он озвучил. Толи витает в облаках, толи что-то не договаривает

teodor4ik
Offline
Зарегистрирован: 04.11.2013

axill пишет:

ну да, я участвовал в том шабаше. И?

И лез в нанотехнологии... (не подкалываю есличо)

axill пишет:

... я никак не догоню в чем сыр-бор :) Автор вбил себе в голову какую-то идеи которая нафиг не нужна для той задачи, которую он озвучил. Толи витает в облаках, толи что-то не договаривает

Это я виноват... Поддержал ТСа в ПРИНЦИПИАЛЬНОЙ возможности нагородить то чего он хочет без привязки к рациональности и компетентности. Приплел веру, как пример подобной реализации... И понеслась...

Кстати чего конкретно хотел автор, я так и не допер. Но закралась мысль о том что я когда рылся по дилэкстриму в поисках фотодиода мне везде в глаза тыкали "for arduino". Далее я таки полез смотреть чито это такое? Показалось - круто... ставлю сенсоршилд, в него вагон сенсоров копипаста и усьо... у мну ВСЕ работает само по себе... А тут на те... статусы ног прописывай, туда не ставь - там то, сьда не лезь, там резистор такой, тут сякой... Либы кури, бо они кривые. А те что не кривые - работают не так. А как ХЗ. Чего только с жпсом натрахался, пока не выкинул все либы нахрен, там и без них нормально все. А Я ХОЧУ ТКНУТЬ ЧТОБЫ РАБОТАЛО.

olegab
Offline
Зарегистрирован: 09.04.2013

Цитата:
Автор вбил себе в голову какую-то идеи которая нафиг не нужна для той задачи, которую он озвучил

Автор видимо хочет спроектировать масштабируемую и универсальную архитетуру на платформе ардуино, идея хорошая

 

Для решения вопросов производительности и ограниченности ресурсов ардуино - можно просто добавлять новые ардуины в систему. Т.е. разработать некое ардуино шасси. При загрузке в комп нового"плагина", комп проверяет можно ли устройство безболезненно подключить к системе, если да - выдает пины которым подключиться, компилирует и загружает скетч, если нет либо с учетом уже задействованных библиотек возможны проблемы с производительностью - требует от пользователя купить еще одну ардуину и воткнуть в шасси

teodor4ik
Offline
Зарегистрирован: 04.11.2013

axill пишет:

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

ОК я за. В 2002 защищался по применимости CAN в а/м (ессно купил, но все-же почитал перед. Спасибо преподам, они до сих пор на микросхемотехнике обвязывают КТ155). Там все тоже окутано проводами, но их значительно меньше. Опять же контроллер кана, это МК с парой входов/выходов АЦП/ЦАП-ов и проводным интерфейсом. Правда там логика и адресация железная. Но я вообще о том что в принципе так мы и провода съэкономить могем.

teodor4ik
Offline
Зарегистрирован: 04.11.2013

olegab пишет:

Автор видимо хочет спроектировать масштабируемую и универсальную архитетуру на платформе ардуино, идея хорошая

 

Для решения вопросов производительности и ограниченности ресурсов ардуино - можно просто добавлять новые ардуины в систему. Т.е. разработать некое ардуино шасси. При загрузке в комп нового"плагина", комп проверяет можно ли устройство безболезненно подключить к системе, если да - выдает пины которым подключиться, компилирует и загружает скетч, если нет либо с учетом уже задействованных библиотек возможны проблемы с производительностью - требует от пользователя купить еще одну ардуину и воткнуть в шасси

Как соединяем? UART или SPI? привинченные модули (сенсоры/исполнители) как-то самоидентифируются, или строго втыкать куда скажут? Прога на компе - компилит скетч, ребутит с-му и уходит спать, или что-то все же делает еще в процессе?

 

Блин. Сколько людей, столько и мнений. Я этот вариант вообще не рассматривал. Аж захотелось купить 10 8-16 (за 8$ видел на ебее) и запилить их на одну плату. 

olegab
Offline
Зарегистрирован: 09.04.2013

Ключевой момент в такой схеме -провода, SPI по проводам далеко не передашь, поэтому если устройство работает по SPI конечно нужен какой-то доп. Интерфейс или контроллер. Остальные устройства могут быть достаточно "тупыми", у меня например, пир датчик работает просто по 5ти метровой экранированной витой паре, вместе с датчиком температурыи влажности. Для защиты от дурака какой-то механизм идентификации нужен ... Но он всеравно не спасет при неправильном подключении

Комп - сервер системы, мониторит ардуины, ведет логи, хостит вебинтерфейс 

teodor4ik
Offline
Зарегистрирован: 04.11.2013

https://www.sparkfun.com/products/11712

И шлюз, и комп, и веб... Ubuntu на борту...

olegab
Offline
Зарегистрирован: 09.04.2013

И как вы собираетесь компилировать под это чудо библиотеки, которые например напрямую работают с портами?

teodor4ik
Offline
Зарегистрирован: 04.11.2013

спаркфановцы утверждают что можна :)