我是一名物理学家,几周前我有一个启示,我可以如何使用我的个人计算机对实验室实验进行比通常情况下更好的控制。在我跑出去尝试这个之前,我想在这些问题上检查比我有更多专业知识的人的可行性。黑客攻击计算机硬件做实验控制
想法是使用计算机上的I/O端口--- VGA,以太网,扬声器插孔等直接与实验设置中的传感器和执行器对话。例如。切断以太网电缆的一端(另一端连接到计算机)并将每条线路发送到不同的设备。我知道一个使用BeagleBone做了非常相似的博士后。他编写了一些汇编代码,让他可以与内部时钟同步所有内容,并使用GPIO引脚有效地为他提供一个完全可编程的混合信号发生器/示波器。用笔记本电脑看起来应该是同样的事情,而且这样做会有额外的好处,您可以使用同一台设备进行数据分析。
我预见到的主要潜在困难是BeagleBone上的硬件设计时考虑了这种I/O,而我期望笔记本电脑上的硬件可能难以直接控制。我知道例如(从一些初步调查,http://ask.metafilter.com/125812/Simple-USB-control-how-to-blink-an-LED-via-code)USB端口将很难这样访问,并且VGA是(根据VGA 15 pin port data read and write using Matlab)不可能。不过,我还没有发现任何有关使用其他端口如以太网或扬声器插孔的信息。因此主要的问题是:这个想法是否可行(对硬件的每个新变体都不需要花费数月时间),如果是这样的话,哪种类型的I/O(以太网,扬声器插口等)可能会是最好的选择?
辅助的问题是:
我在哪里可以找到的材料来学习我怎么可能去执行这个计划?我甚至不确定在Google上插入什么关键字。
我能做到这一点的难易程度取决于操作系统或硬件品牌吗?
低并行端口包含至少8个用于输出的快速(> 64khz)开关和8个用于输入的快速“按钮”(短传感器),并且通过读/写写入具有8位值的单个存储器地址来实现,又名一个字节。对于输入,您可以将廉价的USB游戏手柄和焊接引线固定在按钮膜触点上,为您提供价格低于20美元的快速10通道离散量输入控制器。 – dandavis 2014-10-27 03:11:19
个人电脑的输出更难,但便宜的选择包括numlock指示灯,扬声器,振动/反馈游戏手柄,USB闪存驱动器指示灯(ping磁盘启动),弹出rom驱动器托盘,光电传感器和显示器上的闪烁矩形,当然:你为这项任务购买了很多东西(嘘)。 – dandavis 2014-10-27 03:21:58
大多数现代PC在简单IO部门都非常差,他们拥有的接口(如USB)往往会出现惊人的高延迟。如果你想要与真实世界紧密耦合,你需要一个带有直接GPIO的嵌入式处理器,比如朋友的beaglebone上的ARM SOC,而不是消费类笔记本电脑。 – 2014-10-27 05:23:26