Sono all'inizio di un progetto che implica la lettura di diversi sensori e la fusione dei dati da questi sensori insieme. Complessivamente ci saranno 4 sensori collegati via USB e una webcam, anch'essi collegati via USB.
Uno dei miei colleghi è molto chiaro su quanto sia bello dividere i programmi in parti più piccole e farli comunicare attraverso la rete. Suggerisce che dovremmo avere un eseguibile per ogni sensore (o telecamera) e quindi un'applicazione di controllo centrale che comunichi con gli altri.
intuitivamente non mi piace questa idea. Il collega in questione ha lavorato a un altro progetto che utilizzava questo approccio e non aveva problemi di risoluzione difficili da rintracciare e correggere.
Non sembra un progetto molto statico e mi sembra piuttosto inelegante. Vorrei scrivere una libreria per trattare ogni sensore e magari eseguirli in thread separati.
Va anche sottolineato che i calcoli che dobbiamo fare forniranno aggiornamenti ad un altro sistema a quasi 1000Hz. L'aggiunta di un livello di comunicazioni di rete sembra aggiungere un potenziale collo di bottiglia.
Sarei interessato a sentire le opinioni di altre persone su questo e forse alcuni riferimenti a questo tipo di pratica.