Protocolo

CoAP

O escopo do CoAP cobre requisições e observação de recursos em dispositivos restritos; não é um protocolo de rádio nem um modelo completo de automação. Definido pela RFC 7252, usa UDP, métodos GET, POST, PUT e DELETE, mensagens confirmáveis e URIs coap://. Integra sensores IPv6, 6LoWPAN e Thread com overhead menor que HTTP. Produtos como implementações LwM2M o utilizam, mas NAT, firewalls e segurança DTLS/OSCORE exigem planejamento.


📖Definição aprofundada

CoAP é um protocolo de aplicação projetado pelo IETF para dispositivos e redes com recursos limitados. Adota o modelo de recursos da web: clientes acessam URIs e utilizam métodos semelhantes a HTTP, mas o transporte padrão é UDP, com cabeçalhos compactos e mecanismos próprios de confiabilidade. Mensagens confirmáveis recebem ACK; mensagens não confirmáveis reduzem overhead quando pequenas perdas são aceitáveis. A extensão Observe permite que o servidor envie atualizações quando um recurso muda, evitando polling constante. CoAP combina bem com IPv6, 6LoWPAN e Thread e pode ser traduzido por proxies para HTTP. A simplicidade, porém, transfere responsabilidades para a aplicação: segurança, controle de congestionamento, descoberta e passagem por NAT precisam ser tratados de forma explícita.

Arquitetura e Funcionamento
Modelo REST restrito
GET, POST, PUT e DELETE operam sobre recursos identificados por URIs coap:// ou coaps://.
UDP compacto
Cabeçalho base de 4 bytes reduz overhead em redes de baixa potência.
Confiabilidade seletiva
Mensagens confirmáveis usam retransmissão e ACK; as não confirmáveis priorizam baixo custo.
Observe
Clientes registram interesse e recebem notificações quando o recurso muda.
Análise Técnica
✓ Vantagens
  • Overhead menor que HTTP/TCP para sensores restritos
  • Modelo de recursos familiar a desenvolvedores web
  • Integração natural com IPv6, 6LoWPAN e Thread
  • Suporta multicast e observação eficiente de estados
✗ Desvantagens
  • UDP pode ser bloqueado ou tratado de forma diferente por NATs e firewalls
  • Segurança com DTLS ou OSCORE aumenta complexidade de implantação
  • Ecossistema residencial direto é menor que MQTT e HTTP
  • Mensagens grandes exigem extensão de blocos e mais trocas
💡 Cenário Prático: Telemetria leve em rede IPv6
Um sensor ambiental em rede 6LoWPAN pode expor /temperature e /humidity por CoAP. O controlador registra Observe e recebe apenas mudanças relevantes, reduzindo rádio e consumo. Um proxy traduz os recursos para HTTP ou MQTT usado pela plataforma doméstica. Para comunicação entre VLANs ou pela internet, é necessário planejar regras UDP, autenticação e criptografia; simplesmente abrir a porta do dispositivo não é uma prática segura.