DIY: USB HID over Bluetooth, делаем любое HID устройство безпроводным
Начало года, у кого как, а у нас новогодняя забава – инвентаризация склада запчастей!
Для инвентаризации используются стандартные USB сканеры штрих кодов, работающие как HID устройства. Чтобы немного облегчить работу парням на складе ну и для собственного опыта решил сделать беспроводной сканер.
Для реализации понадобилось:
MBED приятно удивил, удобная онлайн среда разработки (С/C++), офлайн .NET, MATLAB, LabVIEW, Python, Java, активное комьюнити с кучей полезных и удобных инструментов и т.п.
Основные характеристики:
Для этого проекта функционал MBED явно избыточен, был использован только 1 UART и USB. Единственное неудобство было в том, что пришлось использовать внешний регулятор +5V, в отличие от того-же Arduino Mega/Nano/Uno, где если 5 Вольт есть, то они есть всегда, не зависимо от типа источника питания, но это мелочь.
Соединяем порты UART микроконтроллера с bluetooth. Разъем USB-A соединяем с МК, +5V через регулятор к аккумулятору. Получаем нечто:
Программируем микроконтроллер на прямую передачу HID Data -> UART и готово!
Соединяем все части вместе и получаем вот такой бутерброд
ну или такой
Для инвентаризации используются стандартные USB сканеры штрих кодов, работающие как HID устройства. Чтобы немного облегчить работу парням на складе ну и для собственного опыта решил сделать беспроводной сканер.
Для реализации понадобилось:
- микроконтроллер mbed (NXP LPC1768)
- модуль Bluetooth (Bluegiga WT12)
- аккумулятор Li-Po 2 Cell
- ну и по мелочи: макетная плата, регулятор +5V, разъем USB-A,…
Микроконтроллер.
Давно ждал своего часа MBED, который пылился на полочке уже пару месяцев.MBED приятно удивил, удобная онлайн среда разработки (С/C++), офлайн .NET, MATLAB, LabVIEW, Python, Java, активное комьюнити с кучей полезных и удобных инструментов и т.п.
Основные характеристики:
- Cortex-M3
- 96 MHz ARM, 64 KB SRAM, 512 KB Flash
- Ethernet, USB
- SPI, I2C, UART, CAN
- GPIO, PWM, ADC, DAC
Для этого проекта функционал MBED явно избыточен, был использован только 1 UART и USB. Единственное неудобство было в том, что пришлось использовать внешний регулятор +5V, в отличие от того-же Arduino Mega/Nano/Uno, где если 5 Вольт есть, то они есть всегда, не зависимо от типа источника питания, но это мелочь.
Блютус!
Выбрал модуль Bluegiga WT12 как самый доступный у локальных дистрибьюторов на момент покупки.- Встроенная чип-антенна
- Профили SPP, DUN, HID, OPP, OTA и др.
- Питание 3.3V
- ПО: iWRAP или HCI
Макетная плата
Тут все просто, как два провода соединить, во всех смыслах.Соединяем порты UART микроконтроллера с bluetooth. Разъем USB-A соединяем с МК, +5V через регулятор к аккумулятору. Получаем нечто:
Программинг
Тоже все просто. Настраиваем bluetooth для автономной работы, включаем профиль HID, устанавливаем пароль, прописываем тип устройства (я пользовался вот этим калькулятором, любезно кем-то написанным). Выглядит это примерно так:SET BT NAME DeBarCoder
SET PROFILE HID on
SET BT AUTH * usepass
SET BT CLASS 00540
RESET
Программируем микроконтроллер на прямую передачу HID Data -> UART и готово!
Соединяем все части вместе и получаем вот такой бутерброд
ну или такой
Todo
Сделать USB зарядку аккумулятора, спрятать всё в корпус-уточку, пусть суровые кладовщики порадуются.
0 комментариев