Estou no início de um projeto que envolve a leitura de vários sensores e a fusão dos dados desses sensores. Ao todo, haverá 4 sensores conectados via USB e uma webcam, também conectados via USB.
Um de meus colegas é muito sincero sobre como é bom dividir programas em partes menores e fazer com que eles se comuniquem pela rede. Ele sugere que devemos ter um executável para cada sensor (ou câmera) e, em seguida, um aplicativo de controle central que se comunique com os outros.
Eu intuitivamente não gosto dessa idéia. O colega em questão trabalhou em outro projeto que usava essa abordagem e não tinha problemas com problemas difíceis de rastrear e depurar.
Não parece um projeto muito estatal e me parece um tanto deselegante. Gostaria de escrever uma biblioteca para lidar com cada sensor e talvez executá-los em threads separados.
Também deve ser salientado que os cálculos que precisamos fazer fornecerão atualizações para outro sistema a quase 1000Hz. Adicionar uma camada de comunicação de rede parece adicionar um gargalo em potencial.
Eu estaria interessado em ouvir as opiniões de outras pessoas sobre isso e talvez algumas referências sobre esse tipo de prática.