Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Управление arduino  (Прочитано 13686 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Rasskazow

  • Автор темы
  • Участник
  • *
  • Сообщений: 142
    • Просмотр профиля
Управление arduino
« : 25 Августа 2013, 11:27:33 »
Здравсте всем !
Купил arduino uno для изучения и построения умного дома.
Что хочу - хочу чтоб через консоль управлять всякими релюшками, датчиками и т.д., но вот не задача, не знаю как !
Загружать скетч в arduino и мигать диодами я научился, включать-выключать релюшку тоже научился.
Вот пример скетча:
(Нажмите, чтобы показать/скрыть)

Не знаю как управлять этим всем через консоль. Помогите пожалуйста наставить меня на путь истинный )!
Покажите как допустим включить лампочку командой echo "включить_диод" > /туда/то/сюда/то
Или примерами на русскоязычных сайтах, а то в английских ни фига не понятно.

Пользователь решил продолжить мысль 25 Августа 2013, 11:36:45:
UDP: Сейчас arduino подключения через usb-кабель. В будущем хочу подключить bluetooth шилд.
Идея вообще такая, всем управляет системник с ubuntu посылая команды в arduino и опрашивая датчики подключенные к arduino.
Но, при необходимости изменить какие-то параметры, допустим включить свет, на iphone дергать выключатель и параметры были бы изменены.
« Последнее редактирование: 25 Августа 2013, 11:36:45 от Rasskazow »

Оффлайн vasyl

  • Старожил
  • *
  • Сообщений: 1724
    • Просмотр профиля
Re: Управление arduino
« Ответ #1 : 25 Августа 2013, 17:11:27 »
sudo apt-get install arduino
Ubuntu Mate 16.04 + Windows 10

Оффлайн Rasskazow

  • Автор темы
  • Участник
  • *
  • Сообщений: 142
    • Просмотр профиля
Re: Управление arduino
« Ответ #2 : 27 Августа 2013, 05:31:04 »
 :2funny:
Arduino IDE я установил сразу.
Но вкурить как управлять через консоль не могу  :-\

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Управление arduino
« Ответ #3 : 27 Августа 2013, 11:03:28 »
Rasskazow, я конечно не очень разбираюсь с Arduino (у меня пока это в далеких планах), но у вас ИМХО какой-то клин на терминале и легкое недопонимание, что такое Arduino.

Arduino - это не расширитель портов + драйвер приводов компа.
Arduino - это контроллер, самостоятельно выполняющий контроль над своими исполнительными устройствами. Там по идее нет интерактивного режима - загрузил управляющую программу в контроллер - она там работает, может еще воспринимать вход с коммуникационного порта и как то на этот вход реагировать (если такое поведение запрограммировано в управляющей программе).
« Последнее редактирование: 27 Августа 2013, 11:13:37 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн vselax

  • Активист
  • *
  • Сообщений: 309
    • Просмотр профиля
Re: Управление arduino
« Ответ #4 : 27 Августа 2013, 15:08:41 »
Нужно написать программку для arduino, которая будет обмениваться данными через COM порт, пусть и виртуальный. А с COM`ом, на первых порах, можно через minicom поработать. А уже потом использовать либо скрипты на BASH, либо C. Кстати, какой там микроконтроллер?

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Управление arduino
« Ответ #5 : 27 Августа 2013, 15:36:49 »
vselax, вся суть arduino в том, что там могут быть разные контроллеры, но есть общая среда разработки/язык для их программирования.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн vselax

  • Активист
  • *
  • Сообщений: 309
    • Просмотр профиля
Re: Управление arduino
« Ответ #6 : 27 Августа 2013, 16:21:25 »
Может лучше от ардуино взять платку, взять ее схемку и запрограммировать контроллер чем-нибудь стандартным? Ну зачем учить эту ардуину? Ну врубишь ее, начнешь добавлять чего-нибудь, а потом окажется нужным присобачить микруху которой нет в ее составе. Что делать? А стандартными средствами все проще. И ничего не прячет от тебя сам контроллер, все по-настоящему.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Управление arduino
« Ответ #7 : 27 Августа 2013, 16:55:12 »
vselax, с просто контроллером все просто, но требует определенных знаний. Arduino - это попытка все это упростить - более высокоуровневый язык программирования, простое программирование (в контроллер изначально залита минимальная программуля, которая умеет по ком-порту принять прошивку и запустить ее.
Почти все (или даже просто все) входы/выходы контроллера выведены на контакты (по типу макетки), и дальше что навесить - ваше дело. Вся набивка платы контроллера - это обвязка микроконтроллера и порт программирования (COM или USB, который - то же COM эмулирует.
Есть и готовые платы расширения (шильды), которые могут подключаться каскадно (типа как на общую шину).
А вот среда разработки - позволяет отвязаться (до определенной степени) от типа железа. Да и язык там неплохо заточен для управления RT процессами и оторван от уровня абстракции внутренних регистров контроллера/работы со стеком и т.п. особенности внутренней архитектуры контроллера (все что важно - число и типы портов ввода/вывода).

Но не буду вам тут восхвалять Arduino - это по сути конструктор для школьника, но позволяет относительно просто реализовать многие довольно серьезные штуки (от умных домов, до роботов). Склепать это напрямую на контроллере - тоже можно (и это будет оптимальнее как по размерам так и, возможно, по производительности), но такое решение требует чуть больше навыков и знаний (начиная от умения делать платы, находить нужные элементы, паять, до знания особенностей внутренней архитектуры разных контроллеров и, порой, умения программировать на ассемблере, да и программатор нужен).
« Последнее редактирование: 27 Августа 2013, 17:01:55 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн vselax

  • Активист
  • *
  • Сообщений: 309
    • Просмотр профиля
Re: Управление arduino
« Ответ #8 : 27 Августа 2013, 17:26:53 »
Цитировать
в контроллер изначально залита минимальная программуля, которая умеет по ком-порту принять прошивку и запустить ее
Это плохо. А что если сгорит контроллер? А если нужно перешить фьюзы? Там ведь AVR кажется? Все же я считаю, что от arduino больше вреда чем пользы. Человек его более-менее освоит и будет вынужден всю жизнь бороться с его ограничениями, пытаясь приспособить имеющиеся наработки к узким местам системы. Подумайте только, вот уже что-то готово и нужно чего-нибудь добавить, а оно туда плохо ложится, "ну не очень то этот ардуино подходит для этого". И что, выкинуть наработки? Все сначала? Ладно, допустим мы сразу хотим после ардуино пересесть на голое железо. Имеющиеся наработки туда легко перенесутся? А если проект удачен и им хочется поторговать?  :)
Кстати, для умного дома я бы выбрал ethernet, он есть в ардуино? Если да, то здесь он может и пригодиться, но есть и интересные решения от microchip`а. А управление платкой через COM или USB не особо практично (и длина не велика, и риск повреждения статикой со стороны управляемого объекта). Нужна гальваническая развязка.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Управление arduino
« Ответ #9 : 27 Августа 2013, 18:02:40 »
vselax, я ни сколько не спорю с вашими доводами. Но вы подходите с позиции УЖЕ знающего/умеющего многое. А вот с позиции "школьника" - Arduino это простой и легкий старт.

Еthernet там есть в одном варианте прямо в контроллере, и есть шильдом.
Ну а кроме того мне плохо понятны ваши слова "ну не очень то этот Arduino подходит для этого"? Для всего для чего подходят схемы с микроконтроллерами подойдет и Arduino. Некоторые ограничения - есть, безусловно, но за удобства - чем-то нужно платить.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн vselax

  • Активист
  • *
  • Сообщений: 309
    • Просмотр профиля
Re: Управление arduino
« Ответ #10 : 27 Августа 2013, 18:19:56 »
Цитировать
Ну а кроме того мне плохо понятны ваши слова "ну не очень то этот Arduino подходит для этого"?
Просто опасения такой ситуации. Сам не знаю что там может возникнуть, но считаю что над этим необходимо задумываться. А учится, как мне кажется, проще на макетной платке под DIP корпуса без пайки. Потребуется сетевой адаптор, программатор, контроллер в DIP`е (AVR`ки такие вполне бывают) моток одножильного провода, кварц, ногастые резисторы и светодиоды. А дальше - все что угодно, по вкусу. Дешево, просто, универсально. Компилятор и прошивальшик есть в репах и вполне себе работают. И без плясок с бубном. А сбереженные деньги лучше пустить на недорогой цифровой осциллограф, вот он то уж точно необходим.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Управление arduino
« Ответ #11 : 27 Августа 2013, 18:41:10 »
И опять не спорю (особенно про осциллограф).

Но мир катится прочь от оптимальных решений к более простым и Arduino - просто реализация этого принципа в сфере микроконтроллерных систем.

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

А если есть желание сэкономить - есть киты или даже просто схемы - собирай или делай вообще все своими руками - выбор - есть.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн vselax

  • Активист
  • *
  • Сообщений: 309
    • Просмотр профиля
Re: Управление arduino
« Ответ #12 : 28 Августа 2013, 10:54:41 »
Все же осцил нужен, иначе с шинами и разными времянками просто не совладать (в большинстве случаев). Аудио вход не использовал, не очень понятно что там с отображением постоянки, а она очень нужна для отладки цифровых схем. Да и частота семплинга у звуковухи очень низкая. Эх, раньше помнится мечтал об аналоговом осциллографе, а теперь уже и цифровой необходим. Благо они сейчас стали куда более доступными. А без него даже SPI завести бывает не просто, чуть не туда битик поставил и все не работает или шибко глючит.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Управление arduino
« Ответ #13 : 28 Августа 2013, 11:01:42 »
vselax, через саунд постоянка - никак :-\ ... хотя некоторые умельцы влезали в схемы саунд-входа и коротили там входную емкость для получения постоянки. И с частотой дискретизации - вы абсолютно правы - слишком низкая. Но речь то была об удешевлении.
(Нажмите, чтобы показать/скрыть)
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Rasskazow

  • Автор темы
  • Участник
  • *
  • Сообщений: 142
    • Просмотр профиля
Re: Управление arduino
« Ответ #14 : 28 Августа 2013, 19:29:47 »
Rasskazow, я конечно не очень разбираюсь с Arduino (у меня пока это в далеких планах), но у вас ИМХО какой-то клин на терминале и легкое недопонимание, что такое Arduino.

Arduino - это не расширитель портов + драйвер приводов компа.
Arduino - это контроллер, самостоятельно выполняющий контроль над своими исполнительными устройствами. Там по идее нет интерактивного режима - загрузил управляющую программу в контроллер - она там работает, может еще воспринимать вход с коммуникационного порта и как то на этот вход реагировать (если такое поведение запрограммировано в управляющей программе).

Ну как это нет интерактивного режима ?
Как тогда управляют роботами на arduino по блютузу или wi-fi.
Я не пойму просто как это работает.
В голове нет точной схемы что куда и как подавать.

Пользователь решил продолжить мысль 28 Августа 2013, 19:31:32:
Нужно написать программку для arduino, которая будет обмениваться данными через COM порт, пусть и виртуальный. А с COM`ом, на первых порах, можно через minicom поработать. А уже потом использовать либо скрипты на BASH, либо C. Кстати, какой там микроконтроллер?
Там atmega 328
« Последнее редактирование: 28 Августа 2013, 19:31:32 от Rasskazow »

 

Страница сгенерирована за 0.068 секунд. Запросов: 25.