Tkinter + Led. Как включить светодиод нажатием на кнопку виджета?
Реализовать следующую задачу для любого ноутбука или стат.компьютера:
- Посредством библиотеки Tkinter создать виджет с одной кнопкой
- Связать событие кнопки с передачей единицы по USB
- Зажечь светодиод
Что уже есть
- Понимание работы библиотеки Tkinter
- Знания в работе с микроконтроллерами stm32 (не понятно, надо ли вообще)
К сожалению, есть полное непонимание того, как связать нажатие кнопки с загоранием светодиода на любом компьютере. Что здесь нужно сделать? Порт какой-то задействовать? Свисток на USB спаять? Это какойто-конвертер?
Данная задача реализована, но с использованием Raspberry Pi. Малинка заточена для работы с такими игрушками. В ней уже реализовано готовое ПО. Это всё не то.
Как этот трюк повторить на обычном железе? Какова последовательность действий?
Подскажите советом, спасибо!
Ответы (1 шт):
Самое простое - это использовать относительно готовое железо, например - конвертеры USB-Serial FT232 и CP210X.
По крайней мере, вам не придется писать прошивку и использовать библиотеки, так как эти железяки управляются стандартным API операционной системы.
У порта RS232, который реализуют через USB данные микросхемы, помимо основных линий передачи данных TX/RX есть вспомогательные, в частности, линия RTS.
Для управления этой линией, имеется функция WinApi
BOOL EscapeCommFunction(
HANDLE hFile,
DWORD dwFunc
);
Включить линию: EscapeCommFunction(hComm, SETRTS);
Выключить линию: EscapeCommFunction(hComm, CLRRTS);