我正在尝试获得一个基于 FT245RL 芯片的 SainSmart USB 继电器板工作并且度过了一段糟糕的时光。我的印象是我可以从命令行控制继电器,例如:
echo -e -n "\xFF\x1\x1" > /dev/ttyUSB1
虽然设备自动安装并且我认为我已经设置了波特率和权限,但在我的 Debian 挤压或 CentOS 5 机器上没有任何反应。SainSmart 的支持毫无价值。
我决定在windows上尝试,所以我安装了驱动程序并用python编写了一个小程序:
import serial
ser = serial.Serial(2) #COM3
ser.write(chr(255) + chr(0) + chr(1))
ser.close
依然没有。也许这是一个硬件问题,所以我安装了一个提供的 Windows 程序。当我单击中继按钮时,它会看到设备并工作。沮丧,我退出了他们的程序,在我的程序中寻找错误(找不到任何错误),但无论如何都要尝试,它可以工作!我编写了一个更大的程序来做各种很酷的事情,很酷的事情会发生,直到我拔掉设备。当我重新插入时,没有任何效果。在我的代码执行任何操作之前,我必须运行并退出继电器控制程序。
我怀疑我必须对 FT_SetBitMode() 之类的 d2xx 驱动程序做一些事情。有没有办法只使用VCP模式?PyUSB 不会安装在我的计算机上,也不适用于 Linux。
我想要的只是一种使用 python 在 Linux 上控制继电器的简单方法。