我是一名物理學家,幾周前我有一個啓示,我可以如何使用我的個人計算機對實驗室實驗進行比通常情況下更好的控制。在我跑出去嘗試這個之前,我想在這些問題上檢查比我有更多專業知識的人的可行性。黑客攻擊計算機硬件做實驗控制
想法是使用計算機上的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