9. Redes¶
O controlo de hardware ligou a câmara a um cabo e a um parceiro conhecido no outro extremo. As redes são o que acontece quando o parceiro não está nesse cabo – um portátil na mesma rede Wi-Fi, um sensor noutra sala, um servidor noutro país – e quando o caminho entre os dois endpoints passa por hardware que nenhum dos lados controla.
Dois módulos cobrem o lado Python disto. O módulo network coloca a câmara numa rede em primeiro lugar: juntar-se a uma rede Wi-Fi ou ligar a Ethernet, obter um endereço, preparar a câmara para participar. O módulo socket é o que o código Python abre para enviar e receber bytes quando a ligação está ativa. As páginas seguintes percorrem o que fica entre eles, camada por camada, para que «abrir um socket e escrever bytes» pareça inevitável em vez de magia.
As camadas inferiores
A camada de rede
A camada de transporte
Sockets em Python
Segurança
Um protocolo real: MQTT
Conclusão