Я пытаюсь получить релейную плату SainSmart USB на базе чипа FT245RL, работающую и ужасно работающую. У меня сложилось впечатление, что я могу управлять реле из командной строки с помощью чего-то вроде:
echo -e -n "\xFF\x1\x1" > /dev/ttyUSB1
Хотя устройство монтируется автоматически, и я думаю, что у меня настроены скорость передачи данных и разрешения, на моих машинах Debian сжатия или CentOS 5 ничего не происходит. Поддержка SainSmart бесполезна.
Решил попробовать на windows, поэтому установил драйвера и написал небольшую программку на питоне:
import serial
ser = serial.Serial(2) #COM3
ser.write(chr(255) + chr(0) + chr(1))
ser.close
Еще ничего. Возможно, это аппаратная проблема, поэтому я устанавливаю предоставленную программу Windows. Он видит устройство и работает, когда я нажимаю на кнопки реле. Обескураженный, я выхожу из их программы, ищу ошибки в своей (не могу их найти), но все равно пробую, и она работает! Я пишу гораздо большую программу, чтобы делать всевозможные классные вещи, и классные вещи происходят до тех пор, пока я не отключу устройство. При повторном подключении ничего не работает. Я должен запустить и выйти из программы управления реле, прежде чем мой код что-то сделает.
Я подозреваю, что мне нужно что-то делать с драйверами d2xx, такими как FT_SetBitMode(). Есть ли способ просто использовать режим VCP? PyUSB не устанавливается на мой компьютер и недоступен для Linux.
Все, что мне нужно, это простой способ управления реле в Linux с помощью python.