LINUX.ORG.RU

Как постучать из tty в Arduino

 ,


0

1

В общем, судьба решила за меня, что пришло самое время обмазаться simulIDE, и строгануть на нем кое-чего общественно полезного, для arduino.

Частью задачи, возможно, становится обеспечение общения меня (а в перспективе и каких-нибудь приложений) с ардуинкой, через терминал.

Метод научного тыка показал, что «монитор COM-порта» в который оно (виртуальный контроллер) вещает – в симуляторе вызывается и благополучно рапортует о происходящем в прошивке. А вот как туда (сейчас в виртуальную а потом и в реальную микруху) постучать, я не знаю.

В ютупе посмотрел: общественность склонна подключаться к виртуальным контроллерам через виртуальные последовательные порты (айтемы симуляции, наряду с микрухой контроллера), для которых указывают в настройках всякие /tmp/ttyS1

Но я ни ухом ни рылом, как оно работает. Как метод тупого повторения наблюдаемых действий, так и метод тыка оказались бесполезны и скучны.

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

А пока оставляю здесь эту жалобу на судьбу, с чаянием, что не я первый и не я последний встрял в такую ситуацию, и может быть ЛОР подскажет мне талмуды более узко ориентированные на мою проблему, или может быть непосредственно, сам, не слишком скупо и не слишком щедро пояснит, в чем эта проблема состоит.



Последнее исправление: Csandriel_x64 (всего исправлений: 2)

Просто почитай, наберись азов. Когда поймёшь, что ты реально хочешь сделать, решение само придет ибо это просто.

А пока ты пытаешься «постучать в микруху», решения нет и не будет ибо это магия и волшебство, а не технология и ее инструменты.

usermod
()

Для ардуино же шёл ArduioIDE. Там монитор порта, там есть строка ввода и кнопка отправить.

/tmp/ttyS1

Что то вы совсем не то посмотрели. Большинсво плат с МК типа ардуино имеют аппаратный, а не виртуальный UART и специализированную микросхему, USB<->UART. Драйвер в ядре создаёт файл-устройсво, /dev/ttyUSB0 или /dev/ttyACM0, о чём сообщается в dmesg при подключении. И эти com-порты реальные, аппаратные, а не виртуальные. И user-space программы (minicom, picocom, screen) с ним работают точно так же, как с /dev/ttyS1. Если погуглить ″minicom arduino″ вылезет достаточно примеров. Или просто примеры использования minicom погуглить.

А если вам интерестно/непонятно, как на уровне UART биты/байты передаются, то про UART и гуглите. А лезть в драверы ядра, как там байт по usb в эту м/с USB<->UART, не надо.

mky ★★★★★
()
Ответ на: комментарий от mky

Спасибо. Кое-что вы для меня прояснили. Стало быть файлы аппаратного подключения создаются сами.

Для ардуино же шёл ArduioIDE.

Ага. Но я на мышах тренируюсь. Пока китайцы или кто-нибудь еще добрый выдаст мне аппаратное, мучаю виртуальное устройство. Нашел для обучения simulIDE. Народ хвалит, как-будто. Сам доволен. Но пока затык вот.

В очередном упражнении курса-для-чайников-за-7-секунд нужно отправить на «монитор порта» некие буковки. Их есть у меня, но пока не получается отправить.

Вот-с. Стало быть буду выяснять, какие файлы и где создает для подключения к «устройству» эта программулина.

Csandriel_x64
() автор топика
Последнее исправление: Csandriel_x64 (всего исправлений: 1)

Оп пришел, пристыженый и задумчивый.

Кароч, каждому пню полезно знать, что «серийный порт» и «серийный терминал» это не одно и то же, в принципе. И для simulIDE, в частности, это совершенно разные вещи.

На сколько я понимаю ситуацию к моменту: имея дело с аппаратной ардуинкой можно «открыть монитор порта» и писать в обе стороны, по скольку «серийный терминал» существует аппаратно, и это, по ходу, наш комп с IDE-шкой. А в симуляторе надо внести в схему айтем, «серийный терминал». Подключить его на tx/rx виртуальной микрухи, открыть, и писать туда. Вот.

А что я в ютупе смотрел про манипуляции с «серийныйм портом», который вешается на некие файлы типа /tmp/ttyS1, а потом с ним общаются через picocom, подтягивая еще какие-то /tmp/ttyS2, – оно то ли сильно злая ересь вида «гланды через ухо», то ли извращение, нацеленное на единообразное общение как с хардверным так и с эмулированным контроллером. Мне такие изыски пока не по вкусу.

Csandriel_x64
() автор топика
Последнее исправление: Csandriel_x64 (всего исправлений: 2)

В лазарусе есть компонент TLazSerial Работает отлично и в этом вашем линуксе и в оффтопике С абдуренкой общение организуется легко - хоть получай от нее данные - хоть посылай ей что-то…

anonymous
()
Ответ на: комментарий от anonymous

на алике китайский клон абдуринки 100 рублей

Оно да, но мне еще предстоит приобщиться к цивилизации. Выбрать банк, в нашем лесу, который может в международные карточки… И все такое. Потом, пока приедет, как раз научусь чему-нибудь. Наверное.

Csandriel_x64
() автор топика