Эмулировать Procemouse Pro с Spaceball 4000

Арпрос
Пн 27 августа 2018 г., 3:38
Я приобрел старый сериал Spaceball 4000 3D-мыши на eBay с надеждой использовать MAX3232, чтобы соединить его с черной/синей таблеткой, которая затем подражает общению с космическим мячом через сериал с одной стороны и с ПК через USB Спрятать, подражая более новой модели Spacemouse.

К сожалению, в итоге я повредил свою доску прорыва MAX3232 в процессе. К счастью, у меня был адаптер RS232 до USB, и поэтому я в итоге использовал сценарий Python на своем ноутбуке вместо MAX3232. я.эн., Я подключил к своему ноутбуку Win10 через адаптер RS232-USB и подключил черную таблетку с эмуляционным сценарием Spaceball-Ball-Ball-Spacemous Использовал сценарий Python на ноутбуке, чтобы пройти между двумя серийными соединениями. Вот мой код: https: // github.com/arpruss/mouse3d_stm32f1

Интересно, что на самом деле можно получить некоторое использование из платы STM32F1, не прикрепляя дополнительную электронику, просто подключив STM32F1 к ПК и запустив сценарий. (Мягкий пример джойстика в библиотеке USB Composite делает что -то подобное. Это позволяет вам иметь большую часть функциональности Vjoy без установки каких -либо драйверов.)

Тем не менее, я жду нового подразделения MAX3232, чтобы у меня была менее неловкая настройка.

Изображение

AG123
Вторник 28 августа 2018 13:45
интересный ! Надеюсь, ваш MAX3232 прибудет раньше :)

Арпрос
Ср 29 августа 2018 г., 18:22
Оказывается, много дешевых единиц MAX3232 (у меня было 0 долларов.29 отправлены) фальшивые, и в конечном итоге они терпят неудачу и перегреваются. Это соответствует тому, что случилось с моим подразделением.

Вчера мне удалось выполнить эмуляцию USB в Windows, используя USB/IP (крутой проект, но, увы, последние драйверы не подписаны). Мой код здесь: https: // github.com/arpruss/usb-emulation

AG123
Ср 29 августа 2018 г., 19:05
У меня есть некоторые «дешевые» ebay/aliexpress ICS, многие из них я еще не проверил их, но это выглядело так, как некоторые из них могут быть буквально *фальшивыми *
Я отметил, что некоторые ICS, некоторые из которых я купил на AliexPress, казались дешевле, чем стоимость покупки прямо в веб -e производителя E.глин. Ti, STM и т. Д. Те, кто «работал», оказались синими таблетками / Maple Minis, которые, по -видимому, они могут поставить по ценам ниже, чем цены на «розничную» в Интернете STM или Ti's Web.
Я буквально слышал, что некоторые компоненты восстанавливаются из мусора, просто я не уверен, насколько это правда.

Что касается MAX3232, я задавался вопросом, стоит ли стоит просто использовать какой -то ULN2003 на его месте
https: // en.Википедия.org/wiki/uln2003a
Очевидно, есть китайские местные ткани, которые делают ICS, которые «похожи» на Uln2003, это, скорее всего, «реально», так как это просто дорогие транзисторные массивы. Только это снова мощность может быть подозрительной, e.глин. «дешевые» китайские ICS не могут доставлять на 500 мА -нагрузочных тока.
Китайский Uln2003 идут по ценам, например, 10 штук за доллар или даже 20 штук за доллар
Учитывая, что есть «китайские местные ткани», я подозреваю, что некоторые из «китайских местных ткани» могут попытаться «подделить» марки ICS, в основном более простые
Они могут попытаться достичь тех же разгоновок и пометить ICS как таковые, но сам чип может быть просто кучей транзисторов, расположенных, как те, которые Uln2003
и они маркируют их после названия бренда Skus. Ну, все это просто спекуляции

Но я думаю, что использование ULN2003 вместо MAX3232 может работать, хотя он не соответствует спецификациям. Это позволило бы просто просто поднять выходные контакты в VCC с резистором и подключить их как TX или другие линии исходящих сигналов. Что касается входящего, e.глин. RX это в основном для защиты STM32 от чрезмерных напряжений, и, возможно, некоторые разделители резисторов или диоды Zener могут сделать свое дело, но это будет стоить некоторое дополнительное оборудование и выводы на доске, я.эн. резисторы. Напряжения были бы одним из облов, который Max3232 обрабатывает, если у него нет источника для V+ на уровнях RS232, может быть проще просто получить MAX3232

О, какой -то дополнительный Google превращает это, можно обойтись с 2 транзисторами и резисторами
https: // www.Sparkfun.com/Учебные пособия/215

AG123
Ср 29 августа 2018 г., 19:07
USB IP действительно интересный проект
http: // usbip.Sourceforge.сеть/
Это немного необычно в том, чтобы менять USB таким образом, но, тем не менее, это интересный вариант использования.
Во -первых, это позволило бы использовать USB -устройства «удаленно», можно было бы использовать клавиатуру для компьютера на полвы вдали

Хорошая статья от вас
http: // break-the-system.блог.компонент ... th-no.HTML
Я думаю, что скоро попробую, но я согласен, что использование виртуальной машины - более безопасный / лучший способ попробовать все это
Мы сможем даже моделировать USB -устройство в ОС хоста, работающую в виртуальной машине в Python, прежде чем сделать весь этот код на STM32

Арпрос
Четверг 30 августа 2018 12:57
В итоге я заказал единицу SP2323, включая мужской порт DB-9 от eBay за 3 доллара. По крайней мере, это не будет фальшивым *максимальным.

Мне легче прототипировать USB -устройство на STM, используя библиотеку USBComposite, чем использовать USBIP в Windows, но, возможно, это просто из -за знакомства. И действительно прискорбно, что библиотека USBIP выпускается в двух разновидностях: (а) официальный релиз, который подписан, но сбои, когда устройство отключается, и (б) неофициальная исправленная версия, которая не сбой, но не подписано и требует от меня поворота Off SecureBoot.

Арпрос
Пт 21 сентября 2018 г., 19:28
Я получил свой SP3232, и у меня действительно странная проблема.

Я тестировал с простым эскизом моста USB-сериал на черной таблетке вместе с платой SP3232. Когда я отправляю "м<герметичный>«В Spaceball через Serial1, который должен превратить режим отчета о периодических оси, Spaceball перезагружается так, как будто я отправил его A» Z<герметичный>" (перезагрузить). Когда я отправлю его "z<герметичный>", он ничего не делает. Команда «%», которая повторяет, работает хорошо, а «%m<герметичный>"Эхо. Другие команды, которые я тоже пробовал.

С другой стороны, если я подключаюсь к космическомуболу через дешевый адаптер USB-сериал, все работает нормально. Тот же ноутбук, тот же эмулятор терминала (e.глин., тот в Arduino IDE).

Вне рук, у кого-нибудь есть какие-либо идеи относительно того, почему некоторые передачи, такие как «m<герметичный>", Возможно, искажены (я пробовал много раз-это не одноразовое), но другие, как"%m<герметичный>"работать нормально?

Я делаю это на 9600 8N1, так что определенно в возможностях STM32F1 UART.

Мадиас
Пт 21 сентября 2018 г., 20:12
Если я думаю правильно, ты в 3.3 В / 5 В конфликт.
У вас есть некоторые переключатели, как это? https: // www.aliexpress.com/item/10pcs-l ... 66582.HTML Я успешно выполнял каждый проект с этими мелочами.
Вы также можете проверить код с помощью устройства 5 В, такого как Uno, Micro, Mini...
РЕДАКТИРОВАТЬ: Вы сделали проводку, как эта? https: // os.Mbed.com/teams/openmoco/code ... Связь Может быть, эта схема слишком упрощена? --> https: // www.Google.At/search?Q = MAX3232+ ... 058#imgrc =_

Арпрос
Пт 21 сентября 2018 г., 21:52
Я понял: это было недостаточно при включении 3.3В порт черной таблетки, поэтому он сбрасывается, когда пытался измерить положение мяча. Он работает нормально, когда я держу линию VCC -линии блока SR2323 до 5 В на таблетке. Так что мне просто придется осторожно припаять провод к диоду ввода мощности черной таблетки (он работает, когда я прижимаю к нему вручную). Это один раз, когда у черных таблеток у меня плохое.

Арпрос
Пн 24 сентября 2018 г., 2:50 утра
Я на самом деле получил все это работать с одним из единиц, вероятно, Fake Max3232. (Я думал, что у меня есть SP3232 по почте, но я не смотрел на упаковку достаточно внимательно.)

Оказалось, что было действительно сложно. Вот что, наконец, сработало, чтобы избежать проблемы с перегрузкой с защелкой с подделками.

1. Добавить 10-километровые подтягивания к обоим входам "MAX" 3232. Это уменьшило частоту проблем с защелки.

2. Поместите резистор 50 Ом между USB +V и «MAX» 3232 VCC. Это уменьшило напряжение где -то около 4 В, а также защита от перегрузки. Настоящий MAX3232 работает в 3-5.5 В, но похоже, что подделка страдает от защелки при более высоких напряжениях. Я не мог просто бежать в 3.3V, так как тогда выходное напряжение было слишком низким, чтобы питать космический мяч.

Арпрос
Сб 29 сентября 2018 г., 2:11
Я только что попробовал плату на основе SP3232, которая выглядит так: https: // www.eBay.com/itm/rs232-sp3232-t ... 2608133090
Он работал красиво без изменений и без пайки, приведена в действие 3 таблетки 3.3В.

Арпрос
Сб 29 сентября 2018 г. 22:08
Наконец, вот инструктаж для проекта: https: // www.Инструменты.com/id/spaceb ... B-Адаптер/

Голос изменен