Подключение usb-девайса с uart к ардуино[-подобной] плате.

Morroc
Offline
Зарегистрирован: 24.10.2016

Задача подключить устройство на stm32 с usb-to-serial к какой нибудь плате, на которой можно наардуинить скетч для управления этим устройством, желательно без бубна. (Не raspberry и т.п. - это будет план Б.)

Может кто сталкивался ? Поиск тонет в otg подключениях к андроидам и эмуляцией hid-устройств.

 
b707
Offline
Зарегистрирован: 26.05.2017

Если там usb-to-serial, то значит есть и сериал, один из вариантов - забыть про usb и соединить девайсы по сериал.
И никакой otg не нужен

Morroc
Offline
Зарегистрирован: 24.10.2016

Ок. Там нет serial ) Не знаю как это правильно назвать. USB втыкается в комп - получаем виртуальный COM-порт. На чем то ардуиноподобном можно такой же финт ушами проделать (т.е. заменить комп) ?

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Morroc пишет:

Ок. Там нет serial ) Не знаю как это правильно назвать. USB втыкается в комп - получаем виртуальный COM-порт. На чем то ардуиноподобном можно такой же финт ушами проделать (т.е. заменить комп) ?

 

В stm32 нет сериал!? Покажите мне такой чип. 

Ну если очень хочется именно заменить комп, то ищите контроллер с поддержкой  USB host. Они есть, но проще будет взять RPi. можно RPi Zero + USB hub

https://www.adafruit.com/product/2885

https://www.adafruit.com/product/2991

 

b707
Offline
Зарегистрирован: 26.05.2017

Morroc пишет:

Ок. Там нет serial ) Не знаю как это правильно назвать. USB втыкается в комп - получаем виртуальный COM-порт.

да не может такого быть.

То что втыкается в комп - это один конец линии, а спрашиваю про другой - тот что уходит к СТМ32 контроллеру. Там эта линия на 100 процентов приходит на пины аппаратного сериал - вот тутда и подключиться вместо внешнего USB

mixail844
Offline
Зарегистрирован: 30.04.2012

b707 пишет:

Morroc пишет:

Ок. Там нет serial ) Не знаю как это правильно назвать. USB втыкается в комп - получаем виртуальный COM-порт.

да не может такого быть.

То что втыкается в комп - это один конец линии, а спрашиваю про другой - тот что уходит к СТМ32 контроллеру. Там эта линия на 100 процентов приходит на пины аппаратного сериал - вот тутда и подключиться вместо внешнего USB

Ээм нет, старшие модели STM32 имеют аппаратный USB и могут имплементировать VCP, HID, MSD.
А ещё некоторые умеют в USB Host.

То что нет хоть какого либо последовательного интерфейса, бред полный.
Может не выведен на плате,ТС же не говорит что у него за плата (может какая то custom) и b707 подразумевает что у ТС Blue pill.

mixail844
Offline
Зарегистрирован: 30.04.2012

Morroc пишет:

Задача подключить устройство на stm32 с usb-to-serial к какой нибудь плате, на которой можно наардуинить скетч для управления этим устройством, желательно без бубна. (Не raspberry и т.п. - это будет план Б.)

Может кто сталкивался ? Поиск тонет в otg подключениях к андроидам и эмуляцией hid-устройств.

 

"этим" это каким? На котором STM32 или второе?
Можете блок диаграму чего вы хотите, фотки, модель плат из которых это делать думаете

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

У ТС задача наоборот, воткнуть устройство на stm32 интерфейсом USB в ардуину без вскрытия первого я так понимаю
Посоветовали выкинуть UART-USB и включить UART-UART

Morroc
Offline
Зарегистрирован: 24.10.2016

mixail844 пишет:

Ээм нет, старшие модели STM32 имеют аппаратный USB и могут имплементировать VCP, HID, MSD. А ещё некоторые умеют в USB Host. То что нет хоть какого либо последовательного интерфейса, бред полный. Может не выведен на плате,ТС же не говорит что у него за плата (может какая то custom) и b707 подразумевает что у ТС Blue pill.

Да, это STM32H743 и USB там безо всяких посредников. Сам девайс не поделка на ардуине с открытым кодом, в этом то и проблема. Физически последовательный интерфейс свободный там имеется, но толку от него как бы нет, обмен реализован только через тот интерфейс, который при подключении к USB компа образует на компе виртуальный порт.

Есть какой то USB Host Shield, куда теоретически можно это подцепить, но похоже народ его давно забросил.

mixail844
Offline
Зарегистрирован: 30.04.2012

У вас какая то плата из серии Nucleo-144? На ней, по мимо самого процессора STM32H743 распаян так же и программатор St-link v2 или v3 при подключении к компу по USB он образует мост [PC] USB <-> ( USART, SWD) [STM32H743] Этим мостом можно STM32H743 и программировать и выводить с STM32H743 через мост информацию на комп. Если микросхема моста прошита правильно, то можно STM32H743 перепрошивать просто кидая прошивку как на флешку подклченную к PC. . Что бы управлять ардуиной таким микроконтроллером STM32H743 , его тоже тоже надо будет прошивать,хотя бы для того что бы он понимал что от него хотят.

Зачем там ардуина? я не понимаю .

Вы можете озвучить задачу приведшую вас к решению в сообщении#1?

Morroc
Offline
Зарегистрирован: 24.10.2016

Задача управлять устройством через интерфейс, образующий виртуальный com-порт при подключении к компу... без компа. Это не плата, это готовый девайс, в нем ничего лишнего, типа st-link, нет. Устройство понимает что от него хотят и управляется с компа, но оно портативное и часто комп не особо в тему, исходников от этой штуки нет, с ними бы и вопрос не возник. Т.е. нужна некая внешняя приставка для расширения возможностей девайса, но ей для работы надо знать определенные текущие данные с девайса. Управлять ардуиной с девайса напрямую не нужно, ардуине достаточно считывать данные (как это делает комп, там совсем ничего хитрого) и делать свои дела в соответствии с ними.

mixail844
Offline
Зарегистрирован: 30.04.2012

Morroc пишет:
Задача управлять устройством через интерфейс, образующий виртуальный com-порт при подключении к компу... без компа. Это не плата, это готовый девайс, в нем ничего лишнего, типа st-link, нет. Устройство понимает что от него хотят и управляется с компа, но оно портативное и часто комп не особо в тему, исходников от этой штуки нет, с ними бы и вопрос не возник. Т.е. нужна некая внешняя приставка для расширения возможностей девайса, но ей для работы надо знать определенные текущие данные с девайса. Управлять ардуиной с девайса напрямую не нужно, ардуине достаточно считывать данные (как это делает комп, там совсем ничего хитрого) и делать свои дела в соответствии с ними.

то есть вам нужен USB Host устройство ? то есть мост типа :
USB Host <-> SPI , USB Host <-> UART.
я не силен, мб вот такое : 
или использовать телефон на андройде + терминал + кабель папа-папа.
ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

а, для андроида USB-OTG

Morroc
Offline
Зарегистрирован: 24.10.2016

USB Host Shield видел, попробую, но его забросили давно в плане кода. С андроида придется еще как то переферией управлять, можно наверное, но громоздко.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Morroc пишет:
Т.е. нужна некая внешняя приставка для расширения возможностей девайса, но ей для работы надо знать определенные текущие данные с девайса.

Так чем вам RPi Zero не подходит? По размеру и цене от ардуино не сильно отличается, но USB host там есть. И с программированием проблем нет. Хоть на С, хоть на Java, хоть на питоне

Morroc
Offline
Зарегистрирован: 24.10.2016

В тумбочке ни одной нет нет, ни разу не щупал, чую возни с ней будет дофига. По цене и размеру наверное пойдет.

 

mixail844
Offline
Зарегистрирован: 30.04.2012

Morroc пишет:
USB Host Shield видел, попробую, но его забросили давно в плане кода. С андроида придется еще как то переферией управлять, можно наверное, но громоздко.

Стандарт USB тоже не каждый вторник и четверг обновляеться.
Если API существующей библиотеки вам подходит, и не глючит, то почему бы не использовать.

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

Morroc
Offline
Зарегистрирован: 24.10.2016

Я смотрел форумы по шилду и что там наваяли - последние обновления несколько лет назад, API некий есть, но он более низкого уровня, чем serial.begin и поехали... как раз возни с USB я и не хочу, без этого есть чем в жизни заняться. На уровне обычного обмена по uart там делов на пару часов максимум - это подходит, но платку шилда я уже заказал, если быстро не взлетит попробую Pi. Просто подумалось вдруг есть готовое среди ардуиноподобных плат с полной поддержкой serial черехз usb host, бывают же иногда приятные сюрпризы :)