Ho fatto programmazione desktop per un po ', ma voglio iniziare con l'interfaccia con l'hardware. In particolare, vorrei imparare come utilizzare le porte seriali per prendere un evento esterno e avvisare la mia applicazione (quindi, ad esempio, posso accendere una telecamera quando il movimento viene rilevato da un sensore esterno). Per favore dimmi come iniziare, che tipo di sensori, quali libri (o risorse online) sono disponibili. Ho provato Bing e Google, ma ho bisogno di più suggerimenti.Come iniziare con la programmazione dell'interfaccia hardware?
risposta
Se riesci a trovare un vecchio modem online o craigslist che potrebbe essere un buon inizio. Le specifiche di comunicazione seriale per quelle sono abbastanza ben documentate.
Dopodiché avrei iniziato a indagare su ciò che ti interessa: il tuo interesse per il progetto guiderà l'apprendimento e il progresso più di ogni altra cosa IMO.
credo che questo sito ha alcune cose divertenti da provare:
ti consiglierei il libro Linux Device Drivers 3rd Edition
Anche se non ho programmato alcun interfaccia hardware ancora, credo che questo libro ti prepareremo per iniziare l'hacking.
Si dovrebbe ottenere un hardware di acquisizione dati e interfaccia con quello.
non ci sono davvero un sacco di one-size-fits-all suggerimenti per questo. Avrai bisogno di consultare la documentazione del tuo dispositivo, dovrebbe specificare il protocollo di ciò che invierà sulla porta seriale e quali comandi puoi inviare in cambio.
Assicurati di capire cosa significa avere una codifica di testo come ASCII o UTF8. La maggior parte dei dispositivi che inviano e aspettano il testo useranno una codifica ASCII.
Non sono sicuro di quale sistema operativo o lingua utilizzi, ma tieni presente che stai inviando dati binari non elaborati tramite una porta seriale, quindi ad esempio se stai utilizzando C# vorrai avvolgere il tuo seriale porta il flusso di dati con StreamWriter o StreamReader con la corretta codifica del testo.
Se si desidera imparare a utilizzare la porta seriale, procurarsi un altro PC con HyperTerminal (incluso gratuitamente con Windows) e utilizzarlo per inviare e ricevere dati dalla macchina di sviluppo tramite la porta seriale. Questo ti darà un controllo molto manuale su ciò che viene inviato alla tua casella di sviluppo, così puoi avere una certa sicurezza che quello che stai leggendo e scrivendo è corretto. Una volta che hai le nozioni di base sull'I/O seriale, puoi passare alla videocamera/al sensore di movimento/ecc.
Non si parla di quale sistema operativo o ambiente di sviluppo si sta utilizzando, ma in VS 2005/.NET 2.0, esiste effettivamente una classe SerialPort. Se stai eseguendo API raw di Windows, MSDN ha un articolo su http://msdn.microsoft.com/en-us/library/ms810467.aspx che copre le nozioni di base. Se stai usando un altro sistema operativo, mi spiace non essere così familiare (lo so, fischio sibilano su di me).
La cosa più importante è ricordarsi di impostare i parametri di comunicazione su entrambi i lati della connessione allo stesso modo. Ci sono quattro parametri che governano se entrambi i lati possono capirsi: velocità di trasmissione, bit per byte (di solito 8), bit di parità (parità pari, parità dispari, nessuno, o sempre 1 o 0) e bit di stop. HyperTerminal elenca anche un'opzione "Controllo del flusso", consiglio di impostarla su "Nessuno" finché non ti senti a tuo agio. Il controllo del flusso Xon/Xoff è un modo abbastanza comune di mettere in pausa l'altro lato mentre si elabora un buffer di dati.
Compra un microcontrollore e costruire un semplice robot, fresa CNC o qualcosa del genere. Atmel AVR e/o PIC è il più comune da quello che ho capito.
dà anche un sacco di esperienza di elettronica
interfacce seriali sono abbastanza semplici da lavorare. Ma richiedono una sorta di un decodificatore sull'altra estremità (ad esempio un UART.) Un'altra opzione sarebbe utilizzando il parellel port. Il vantaggio di usare una porta parallela è iniziare con una interruzione dei pin I/O. In genere puoi controllare 8 dispositivi con un'interfaccia molto semplice da compilare.
maggior parte delle piattaforme ha dato un modo semplice per accedere alle porte LPT senza troppa fatica e di nuovo sono molto facili da interfacciare.
risultati rapidi per i tutorial ...
LPT Port Info ...
- 1. Iniziare con la programmazione parallela
- 2. Come posso iniziare con la programmazione funzionale?
- 3. Come iniziare la programmazione VOIP?
- 4. Quali sono le buone opzioni per iniziare la programmazione hardware usando i linguaggi di alto livello?
- 5. Come iniziare con la programmazione del kernel di Windows?
- 6. Simulazione hardware con accelerazione GPU?
- 7. Iniziare con Arduino?
- 8. Dove posso iniziare con l'hardware programmabile?
- 9. Come iniziare con andengine
- 10. come iniziare con memcached
- 11. iniziare con jquery datepicker
- 12. Come iniziare con Rspec?
- 13. Come iniziare con PyWin32
- 14. Come iniziare con CouchDB
- 15. Devo iniziare con Python 3.0?
- 16. Come utilizzare la decodifica video con accelerazione hardware su Android?
- 17. Come iniziare con zend framework?
- 18. Come iniziare con Mono curses?
- 19. per iniziare con la scheda java su sim card
- 20. Come iniziare con svn: esterni?
- 21. Come iniziare con swagger-ui
- 22. Come posso iniziare con SharpSVN?
- 23. Dove posso iniziare con la programmazione VBA e macro in Word 2007?
- 24. Quali sono alcune buone risorse per iniziare con la programmazione COBOL?
- 25. come avviare la programmazione a livello di chip
- 26. per iniziare con la struttura di primavera
- 27. FFMPEG con supporto codec hardware
- 28. Come dovrei iniziare a imparare JavaScript, jQuery, ecc.? La mia conoscenza di programmazione è zero
- 29. Per iniziare con GNUStep
- 30. SqlConnection con la programmazione parallela
Computer oggi non hanno porte parallele. Fanno? – atiyar
La maggior parte non, ma questo post in 7 anni ed è ancora possibile utilizzare questi modelli con 'USB per LPT' dispositivi. Meglio ancora ci sono ora centinaia di opzioni per farlo senza LPT. https://www.amazon.com/s/?field-keywords=usb+gpio+module –