Комментарии 3
Дайте совет пожалуйста. Я хочу сделать на Ардуино совместимой плате адаптер ИБП для ПК.
Использовать буду Digispark.
Подскажите, как работают ИБП через USB? Я имею ввиду со стандартными драйверами Windows. Когда ИБП не нужны дополнительные драйвера. ИБП эмулирует последовательный COM порт или как то еще?
Какой протокол посоветуете?
С USB я пока особо не разбирался. Самому интересен это вопрос. Пока встречал два варианта - эмуляцию COM-порта (редко) и USB-HID (часто). На счёт COM-порта понятно, он под Windows очень капризный и может отвалиться в самый неподходящий момент. А вот USB-HID весьма надёжен. Я как-то смотрел его. Там по сути обычный Megatec передаётся просто именно в режиме HID, довольно просто и удобно. Но это был ИБП со своим ПО. А вот что требуется для Windows точно не знаю.
Под Linux есть протокол NUT, но там какой-то набор драйверов для кучи производителей, надо тоже разбираться:
Я нашел USB UPS под Ардуино, работает с нативными драйверами Linix и Windows.
https://create.arduino.cc/projecthub/abratchik/hid-compliant-ups-with-arduino-75198c
Digispark нет поддержки, он то ли на другой частоте работает, то ли еще в чем то проблема. А вот люди пишут что на Ардуино запускается сразу с первого разу без вниканий в работу. И подключение простое к ардуине.
Если Вы разбираетесь в контроллерах, может подскажите как адаптировать Ардуиновский скетч под Digispark.
Эмулятор ИБП с протоколами Megatec и Voltronic