Sono un fisico, e alcune settimane fa ho avuto una rivelazione su come potrei essere in grado di utilizzare il mio personal computer per ottenere un controllo più preciso sugli esperimenti di laboratorio di quanto non sia in genere. Prima di scappare per provarlo, volevo verificare la fattibilità con persone che hanno più esperienza di me in materia.Hacking hardware del computer per eseguire il controllo degli esperimenti
L'idea è di utilizzare le porte I/O --- VGA, ethernet, jack per altoparlanti, ecc .--- sul computer per parlare direttamente con i sensori e gli attuatori nella configurazione sperimentale. Per esempio. aprire un lato di un cavo Ethernet (con l'altra estremità collegata al computer) e inviare ogni linea a un altro dispositivo. Conoscevo un postdoc che faceva qualcosa di molto simile usando un BeagleBone. Ha scritto un codice assembly che gli ha permesso di sincronizzare tutto con l'orologio interno e ha usato i pin GPIO per dargli un generatore/oscilloscopio ibrido di segnale completamente programmabile. Sembra che la stessa cosa dovrebbe essere possibile con un laptop, e questo avrebbe l'ulteriore vantaggio di poter fare analisi dei dati dallo stesso dispositivo.
La principale difficoltà potenziale che prevedo è che l'hardware su un BeagleBone è stato progettato pensando a questo tipo di I/O, mentre mi aspetto che l'hardware su un laptop sarà probabilmente più difficile da controllare direttamente. So per esempio (da alcune indagini preliminari, http://ask.metafilter.com/125812/Simple-USB-control-how-to-blink-an-LED-via-code) che le porte USB saranno difficili da accedere in questo modo, e VGA è (secondo VGA 15 pin port data read and write using Matlab) impossibile. Non ho trovato nulla sull'utilizzo di altre porte come Ethernet o altoparlanti jack, però.
Quindi la domanda principale è: questa idea sarà fattibile (senza investire molti mesi per ogni nuova variazione dell'hardware), e in tal caso quale tipo di I/O (ethernet, jack per altoparlanti, ecc.) È probabile che essere la migliore scommessa?
domande ausiliari sono:
Dove posso trovare il materiale per imparare come potrei andare circa l'esecuzione di questo piano? Non sono nemmeno sicuro di quali parole chiave inserire su Google.
La facilità con cui posso farlo dipende fortemente dal sistema operativo o dalla marca hardware?
le porte lowly parallele contengono almeno 8 switch veloci (> 64khz) per l'output e 8 "pulsanti" rapidi (sensori corti) per l'input e sono implementati leggendo/scrivendo scrivendo un singolo indirizzo di memoria con un valore di 8 bit, alias un byte. per l'input, puoi incidere un gamepad USB e conduttori di saldatura economici sui contatti della membrana del pulsante, offrendoti un controller di ingresso discreto a 10 canali per meno di $ 20. Le uscite del PC dal – dandavis
sono più difficili, ma le opzioni a basso costo includono luci numlock, altoparlanti, gamepad vibrazione/feedback, LED flash drive USB (disco ping per attivare), espulsione di un cassetto rom, fotosensori e rettangoli lampeggianti su un monitor, e naturalmente : molte cose che compri per il compito (boo). – dandavis
La maggior parte dei PC moderni è molto povera nel reparto I/O semplice e le interfacce (ad esempio USB) tendono ad essere sorprendentemente ad alta latenza. Se si desidera un accoppiamento ravvicinato con il mondo reale, è necessario un processore integrato con GPIO diretto, ad esempio il SOC ARM, sul beaglebone del proprio amico e non un laptop consumer. –