Если бы я хотел создать простое устройство, которое связывалось бы с моим компьютером, скажем, может быть, выключатель, который мог бы отключить мой компьютер при включении и выключении и подключить его через USB, что было бы самым дешевым и простым способом сделать это?
17
Ответы:
Самый простой? Хватай Arduino и напиши пару строчек Python. Arduino невероятно просты в программировании, не требуют дополнительного оборудования для работы и довольно популярны . Python имеет очень простую последовательную библиотеку и очень прост в написании.
Пример кода
Python: запустить этот скрипт как сервис. Я использую Ubuntu, поэтому в этом скрипте появится всплывающее уведомление о нажатии кнопки на Arduino.
Arduino:
источник
Создайте устройство класса USB Human Interface Device Class. Это тот же класс, которым пользуются клавиатуры, мыши, джойстики, игровые планшеты и тому подобное. Ваш ПК уже имеет полную поддержку драйверов устройств для устройств HID, поэтому доступ к программному обеспечению прост. Множество указателей и даже пример кода можно найти на странице HID Яна Аксельсона . Просмотрите ее сайт, чтобы получить много полезной информации о разработке USB-устройств.
Многие из небольших семейств микропроцессоров могут выполнять HID. Я даже видел это на USB Low Speed с 8-контактным AVR ATtiny полностью в программном обеспечении.
Выберите предпочитаемый вами чип, затем найдите его «обычные ресурсы» для поиска образцов HID.
Другой подход заключается в создании устройства последовательной связи. Существует несколько одночиповых решений от FTDI . FT232R является популярным выбором. Требуются драйверы, но сертифицированные драйверы Windows известны мастеру «Обнаружено новое оборудование», поэтому установка не сложна. После установки у вас есть устройство, которое выглядит как COM-порт. Доступны альтернативные драйверы, которые позволят вам получить доступ к его выводам GPIO и использовать его в более сложных режимах.
Обновление, 2015 год: здесь была ссылка на http://www.lvr.com/hidpage.htm , на которой, по-видимому, гнила ссылка, и новое местоположение было обнаружено благодаря El Marce . Jan's Lakeview Research по-прежнему является отличным источником информации о практическом использовании USB.
источник
Вот очень подробное сообщение в блоге http://msdn.microsoft.com/en-us/devlabs/dd491992 с программным обеспечением для использования PIC18F4550 стоимостью менее 5 долларов США для интерфейса через USB в качестве стандартного устройства HID. Прилагаемое программное обеспечение можно использовать для взаимодействия с любым устройством HID, поэтому, если вам нужен альтернативный чип, программное обеспечение все равно будет работать.
Дополнительным плюсом является то, что в блоге показано, как осуществлять двунаправленную связь, поэтому вы можете не только подключить коммутатор, но и включать и выключать светодиод.
источник
Вот мой простой проект с использованием PIC18F2455, основанный на программном обеспечении USB Брэда Минча. Печатные платы доступны от Olimex.
источник
Если вы не возражаете против микроконтроллера на базе Cortex-M3, взгляните на LPC1343 от NXP . В Digikey всего 6,3 доллара (1 штука). Есть одна очень крутая функция - прошивка для хранения и HID устройства в ПЗУ чипа!
По сравнению с решением с чипом FTDI + микроконтроллер, на один чип меньше :)
источник