如果我想制造一个与计算机通信的简单设备,比如说一个开关,它可以在打开和关闭计算机时使其静音并通过USB插入计算机,那么最便宜,最简单的方法是什么?
如果我想制造一个与计算机通信的简单设备,比如说一个开关,它可以在打开和关闭计算机时使其静音并通过USB插入计算机,那么最便宜,最简单的方法是什么?
Answers:
最简单?拿起Arduino并编写几行Python。Arduino非常易于编程,不需要任何其他硬件即可使用,并且非常受欢迎。Python有一个非常简单的串行库,编写起来很轻松。
范例程式码
Python:将此脚本作为服务运行。我正在使用Ubuntu,因此此脚本将弹出一个通知,告诉您何时在Arduino上按下了按钮。
#! /usr/bin/python
import serial
import pynotify
ser = serial.Serial('/dev/ttyUSB0', 9600)
while True:
x = ser.read()
if x == 'b':
# Show notification
n = pynotify.Notification("Arduino", "The button was pressed.")
n.show()
的Arduino:
void setup(){
// Assuming button is active low and on pin 4
pinMode(4, INPUT);
Serial.begin(9600);
}
void loop(){
if(digitalRead(4) == LOW){
Serial.print('b');
}
}
生成一个USB人机接口设备类设备。那是键盘,鼠标,操纵杆,游戏手柄等所用的同一类。您的PC已经具有对HID设备的完整设备驱动程序支持,因此软件访问非常容易。可以在Jan Axelson的HID页面上找到许多指针,甚至是示例代码。浏览她的站点,以获取许多与USB设备开发相关的良好信息。
许多小型微处理器系列都可以执行HID。我什至看到它完全在软件中以ATtiny 8针AVR在USB低速下完成。
选择您喜欢的芯片,然后在其“常用资源”中搜索HID样本。
另一种方法是制造串行通信设备。存在几种来自FTDI的单芯片解决方案。该FT232R是一个受欢迎的选择。需要驱动程序,但是“发现新硬件”向导已知Windows认证的驱动程序,因此安装并不困难。安装后,您将拥有一个看起来像COM端口的设备。可以使用备用驱动程序,使您可以访问其GPIO引脚并在更高级的模式下使用它。
2015年更新:这里有一个指向http://www.lvr.com/hidpage.htm的链接,该链接似乎烂了,并且由于El Marce而发现了新的位置。Jan的Lakeview Research仍然是有关USB实际使用信息的重要来源。
这是一个非常详细的博客文章http://msdn.microsoft.com/zh-cn/devlabs/dd491992,其中包含使用价格低于5美元的PIC18F4550通过USB作为标准HID设备进行接口的软件。提供的软件可用于连接任何HID设备,因此,如果您需要备用芯片,该软件仍然可以使用。
另外一个好处是,该博客文章向您展示了如何进行双向通信,因此不仅可以连接开关,还可以打开和关闭LED。