我有一个潜在的客户想要一个数据库驱动的应用程序,无论是用Java还是用Python驱动MySQL或PostgreSQL,但我们需要从外部机器获取输入,这样每次外部机器关闭一个微动开关时,数据库中的值减少并显示在应用程序上。
此外,当数据库中的值达到零时,我们要打开外部机器上的灯,直到操作员在GUI中执行某些操作,然后我们要关闭灯。
我的客户提出的解决方案是将微型开关连接到键盘上的一个键上,只是避免使用该键进行任何其他操作(他建议使用F12键),并通过左侧播放声音文件来控制灯光通道启动它,以及正确的通道来阻止它。
这对我来说似乎有点俗气,特别是进入键盘的电线 - 不仅仅是俗气,而且如果操作员意外拔出电线,也是潜在的硬件问题。我更倾向于进入USB端口或可能是内部卡,只是为了保持背面的布线而远离操作员。但由于客户希望出售大量这些产品,他希望降低价格。
我意识到这不是严格的“编程”,而是解决我正在编写的程序中的问题。所以我问你:有没有一台廉价的硬件设备可以做我想做的事情?
答案 0 :(得分:4)
便宜的硬件设备:Arduino
它小巧,便宜,可编程,并且非常容易学习如何编程(几乎是C ++)。它可以与USB或串行接口,具体取决于您获得的电路板。当涉及到需要以某种方式与计算机连接的奇怪项目进行修补时,这是硬件黑客的梦想。你甚至可以连接一个LED,直接通知技术人员到arduino。
优点:完成项目所需的硬件知识非常少。所有用于读取开关和点亮LED的接线都在arduino项目的网站上。
缺点:学习如何将软件与Arduino库连接可能需要一些时间。
答案 1 :(得分:3)
为了扩展Marcelo的答案,如果您想快速制作原型,FTDI确实制作了一个独立的电路板,UB232R,单个数量约为20美元。您可以将CTS引脚用作从设备到PC的输入(带有适当的上拉,例如10K)。
除了其中一个之外,您只需要USB电缆以及将电路板连接到微动开关的方法。 (不确定solderless breadboard是否合适/足够强大,但它是一个快速和肮脏的解决方案,因为UB232R具有DIP8占位面积)没有外部电源,无需制作定制PC板,无需除了您的PC以外的任何其他程序,无需学习基本通信端口服务之外的任何硬件驱动程序,假设您的PC通信库包含读取CTS引脚状态的功能。
对于输出编辑,您可以使用RTS引脚。如果你有比这更多的输入和输出,你会想要更仔细地思考....
答案 2 :(得分:2)
嗯......计算机还带有串行(RS-232 UART)和并行端口吗?我相信这些很容易接线,“协议”(特别是对于PP)太简单甚至无法调用,而且组件也很便宜。
通过使用这些端口连接机器人等的爱好者可以很容易地在网上找到信息。例如:http://www.interfacebus.com/Design_Connector_Parallel_PC_Port.html
但我不知道,也许USB也很简单。
答案 3 :(得分:2)
我使用其中一个USB< - > UART网桥。 Those chips在USB和串行端口(RS232 - 电压电平)信号之间进行转换。它们被视为Windows上的COM端口或Linux上的tty
他们拥有来自串口标准的所有8个信号。您可以使用其中一个输入引脚来获取微动开关,使用输出引脚来驱动蜂鸣器。
是的,这会增加成本,但它们大量便宜。此外,该项目非常简单,如果在网上还没有完成,学生可以在几天内完成。
答案 4 :(得分:1)
http://www.awce.com/gp3.htm - 对VB,C ++,Java,Linux等的良好支持。大量的例子。
答案 5 :(得分:0)
最好的办法是选择一个简单的GPIO加密狗,例如Advantech ADAM范围。
例如,ADAM 6050有一堆输入和输出,明确设计用于连接随机外部设备。它可以使用通用的modbus协议通过TCP / IP连接(手动编码的驱动程序通常不超过几十行)。
对于RS-485型号one-off cost is $110 - 作为经销商/ OEM,您应该能够获得大量的折扣。你也需要一个廉价的壁疣PSU。
虽然可能会有更便宜的“单位”解决方案,但这是一种专业的开箱即用方法,不涉及在PC上破解案例或从芯片/模块构建/修改某些东西任何方式的级别。
不要忘记考虑设计,制造,库存和支持您最终选择的解决方案的成本。