12. Protocolo de Host¶
Toda câmera OpenMV vem com uma pilha de protocolo que expõe a câmera como um conjunto de canais de dados nomeados para um programa host. O programa host pode ser um script Python no notebook do desenvolvedor, uma GUI desktop, outra câmera na outra ponta de um UART, ou um serviço rodando em uma estação de trabalho monitorando uma frota de câmeras. A câmera não se importa com qual – o mesmo enquadramento, o mesmo maquinário de confiabilidade, a mesma abstração de canal funciona para todos eles.
Esta é a resposta para duas perguntas que surgem constantemente assim que um projeto de câmera deixa a IDE:
“Como faço para obter uma visualização ao vivo do que a câmera vê em uma GUI personalizada no meu notebook?”
“Como permito que um operador altere um limiar ou escolha uma região de interesse em tempo de execução, sem reprogramar?”
O módulo protocol no lado da câmera e o pacote openmv-python no lado do host respondem a ambas as perguntas, deixando uma classe Python na câmera expor um canal do qual uma classe Python no host pode ler, no qual pode escrever e a cujos eventos pode reagir, tudo por uma única conexão USB ou serial.
O capítulo ensina os dois lados. O código do lado da câmera mostra como registrar canais e alimentá-los; o código do lado do host mostra como conectar, listar os canais, puxar dados e enviar comandos de volta. Ferramentas reais que são distribuídas no diretório openmv-projects/tools/ usam exatamente os padrões mostrados aqui.
Enquadramento
Conclusão