12. Protocolo do Host¶
Cada câmara OpenMV é fornecida com uma pilha de protocolo que expõe a câmara como um conjunto de canais de dados com nome para um programa host. O programa host pode ser um script Python no portátil do programador, uma GUI de ambiente de trabalho, outra câmara na outra extremidade de um UART, ou um serviço a correr numa estação de trabalho a monitorizar uma frota de câmaras. A câmara não distingue – o mesmo enquadramento, a mesma maquinaria de fiabilidade, a mesma abstração de canal funciona para todos eles.
Esta é a resposta a duas questões que surgem constantemente assim que um projeto de câmara sai do IDE:
«Como obtenho uma vista em direto do que a câmara vê numa GUI personalizada no meu portátil?»
«Como permito a um operador alterar um limiar ou escolher uma região de interesse em tempo de execução, sem reflashear?»
O módulo protocol do lado da câmara e o pacote openmv-python do lado do host respondem a ambas as questões, permitindo que uma classe Python na câmara exponha um canal que uma classe Python no host possa ler, escrever e reagir a eventos, tudo através de uma única ligação USB ou série.
O capítulo ensina ambos os lados. O código do lado da câmara mostra como registar canais e alimentá-los; o código do lado do host mostra como ligar, listar os canais, extrair dados e enviar comandos de volta. As ferramentas reais incluídas no diretório openmv-projects/tools/ usam exatamente os padrões aqui apresentados.
Enquadramento
Transmissão contínua
Conclusão