Dependências de bibliotecas do sketch

Quais bibliotecas Arduino o firmware da sonda espera, armadilhas de versão e como reproduzir um build que funciona.

Vista de cima de uma placa microcontroladora Arduino Uno azul sobre fundo branco
Placas compatíveis com Arduino rodam o sketch que lê as sondas e publica o JSON. Foto: Wikimedia Commons contributor. CC0

O sketch da garagem não é autossuficiente: ele usa drivers DHT da Adafruit ou da comunidade, a biblioteca LiquidCrystal padrão e a pilha Ethernet legada para shields W5100. Saltos de versão principal dessas bibliotecas já quebraram construtores e nomes de enum em montagens anteriores. Documentar as dependências torna possível refazer o build daqui a cinco anos, quando o notebook original já não existir.

Caixas de dependência ligando as bibliotecas DHT, LiquidCrystal e Ethernet ao sketch principal
As principais bibliotecas de terceiros cuidam do protocolo do sensor, do controle do LCD e da E/S de rede do W5100.

Bibliotecas principais

  • DHT sensor library: leituras de fio único com proteções de temporização.
  • LiquidCrystal: modo LCD paralelo de 4 bits usado localmente.
  • Ethernet. Pilha compatível com W5100 para servir HTTP.

Fluxo de instalação

  1. Use o Library Manager ou o ZIP do fornecedor, anotando as versões fixadas no README do seu repositório.
  2. Compile um exemplo conhecido de cada biblioteca antes de integrá-la ao sketch da sonda.
  3. Depois de atualizações, confira de novo o layout do LCD e o esquema JSON.

Alternativa com PlatformIO

O PlatformIO fixa as versões em platformio.ini: excelente para a reprodutibilidade. Os dois caminhos começam pela configuração da Arduino IDE. Detalhes do comportamento do sensor: visão geral do DHT22.