Captura de dados — caminhos, transportes e infraestrutura¶
Tema macro: como o número sai do sensor e chega até um arquivo seu. Estratégia de aquisição, não produto específico. Roteado a partir do PROJETO.md.
Aqui não entra: avaliação de produto para compra (→
produtos-avaliados.md), equipamento já possuído (→equipamentos/), nem o procedimento do objetivo ativo (→objetivo-1-captura-celular.md).
1. Os quatro caminhos¶
Não são excludentes. A ideia é começar por um e agregar conforme a dor aparecer.
Caminho A — Sensor comercial BLE ← em uso no Objetivo 1¶
Dispositivo pronto, com rádio, pilha e corpo selado. Enterra no vaso e lê.
- ➕ Zero solda, zero montagem, à prova de respingo.
- ➕ Dá para começar só com um celular — nenhum outro hardware.
- ➖ Sonda curta (~5 cm), pilha trocável, alcance BLE 5–15 m com parede.
- Referência do projeto: família HHCC. Detalhes de protocolo em
objetivo-1-captura-celular.md.
Caminho B — DIY com ESP32 + ESPHome¶
Um nó por vaso ou por ambiente.
| Componente | Função | Custo ⚠️ |
|---|---|---|
| ESP32 devkit / ESP32-C3 | WiFi + deep sleep | R$30–60 |
| BH1750 (I²C) | lux 1–65.535 | R$15–30 |
| TSL2591 (I²C) | lux com faixa dinâmica maior (sombra) | R$40–70 |
| AS7341 (I²C) | 11 canais espectrais → PPFD real, sem chutar fator | R$150–280 |
| SHT40 / AHT20 / BME280 | temp + RH do ar → VPD | R$20–60 |
| Sonda capacitiva, inclusive longa | umidade do solo | R$10–40 |
| ADS1115 | ADC externo (o do ESP32 é não-linear) | R$20–35 |
| DS18B20 | temperatura do substrato | R$10–25 |
- ➕ Controle total, dado 100% cru, sonda longa possível, sem pilha se for USB.
- ➕ ESPHome elimina quase toda programação: YAML declarativo, OTA, MQTT nativo. O firmware
se grava via USB sem soldar — mas com ESPHome instalado no PC: o
web.esphome.iosó grava firmware genérico, não compila YAML próprio (descoberto 2026-10-01). - ➖ Exige vedação para chuva direta e calibração manual das sondas analógicas.
- Empurrado para a Fase 3 pela premissa "pronto agora, DIY depois". O gatilho que o justifica é sonda longa ou VPD do ar, não entusiasmo.
Caminho C — Sub-GHz / Ecowitt (distância)¶
Para o que estiver fora do alcance de BLE/WiFi.
- Ecowitt WH51 — umidade de solo, 433/868/915 MHz, alcance de dezenas a centenas de metros, pilha AA de ~1 ano.
- Gateway GW1100/GW2000 expõe API HTTP local e customized upload — dá para apontar para um servidor próprio, sem nuvem.
- Alternativa: RTL-SDR (~R$120 ⚠️) +
rtl_433decodifica dezenas de sensores 433 MHz de qualquer marca, sem gateway. Boa relação exploração/custo.
Caminho D — Improvisado / custo zero¶
- ALS do celular (luxímetro / Photone) — mapear a casa uma vez, por ponto e horário.
- Foto no mesmo enquadramento e horário →
plants/, comparação de cor e crescimento. - Open-Meteo (grátis, sem chave):
shortwave_radiation,precipitation, temperatura e umidade, por hora, para a coordenada de casa. - Teste do palito — profundidade de umidade sem eletrônica nenhuma.
2. Do sensor até o dado cru¶
| Transporte | Como capturar | Ferramenta | Gateway? |
|---|---|---|---|
| BLE — manual, celular | GATT via app explorador | nRF Connect | Não |
| BLE — automático, PC | GATT ou advertising | Python bleak (roda no Windows) |
Não |
| BLE → MQTT | ESP32 escuta e republica | ESPHome xiaomi_hhccjcy01, Theengs Gateway |
ESP32/RPi |
| BLE → HTTP → planilha ✅ em uso | ESP32 escuta e faz POST periódico | ESPHome xiaomi_hhccjcy01 + http_request → Apps Script |
ESP32 (sem cérebro 24/7) |
| WiFi (DIY) | dispositivo publica sozinho | ESPHome + MQTT | Broker |
| Zigbee | coordenador USB | Sonoff ZBDongle-E + Zigbee2MQTT | Dongle |
| Sub-GHz | gateway HTTP local ou SDR | Ecowitt GW1100, rtl_433 |
Sim |
| Nuvem do fabricante | API/scraping | — | ❌ Evitar |
Ponto-chave: qualquer que seja o transporte, tudo converge para o formato canônico
único definido em arquitetura.md. Trocar de sensor não pode quebrar a
análise.
3. BLE e WiFi são rádios independentes¶
Dúvida respondida em 2026-08-02, registrada porque é fonte recorrente de confusão.
"O Raspberry, nessa configuração de WiFi para conectar aos BLEs, é no WiFi de casa? Ou um próprio em que eles se comunicam?"
Nenhum dos dois — são duas redes separadas que não se misturam.
[sensor BLE] ──── Bluetooth LE ────► [celular / PC / Pi] ──── WiFi de casa ────► [internet]
sem WiFi rádio direto, só p/ SSH, Open-Meteo
sem IP sem roteador e dashboard
- O sensor não tem WiFi, não tem IP, não entra na sua rede. Sem senha, sem pareamento de rede. Desligue o roteador e a captura BLE continua funcionando.
- Só ao adicionar um ESP32 ponte o WiFi passa a transportar dado de sensor — e mesmo aí,
apenas na perna
ESP32 → cérebro. A pernasensor → ESP32continua sendo Bluetooth. - ⚠️ No Pi Zero 2 W e Pi 3, WiFi e Bluetooth compartilham chip e antena. Tráfego 2.4 GHz pesado degrada BLE (problema conhecido de coexistência). Contorno: rede em 5 GHz, cabo, ou ESP32 dedicado. Não é motivo para descartar o Pi Zero — é motivo para não se assustar se a leitura falhar durante um download grande.
4. O cérebro 24/7 — decisão adiada de propósito¶
Não comprar nada ainda. Mapa completo, com o esforço real de montagem declarado — o dono tem zero experiência com hardware, então custo sozinho não decide.
| Opção | Custo ⚠️ | Consumo | BLE nativo | Montagem real | Veredito |
|---|---|---|---|---|---|
| Celular | R$0 | — | ✅ | nenhuma | Objetivo 1. Explora bem, não loga (§5) |
| PC atual | R$0 | — | ✅ verificado | nenhuma | esp32-01 → planilha (2026-10-01) |
| Raspberry Pi Zero 2 W | R$250–400 | ~1–2 W (≈R$1/mês) | ✅ | gravar SD pelo Raspberry Pi Imager (já configura WiFi e SSH antes de ligar), encaixar, plugar. Zero solda, zero terminal | ✅ Melhor custo/benefício se a Fase 2 doer |
| Raspberry Pi 4 / 5 | R$500–1.200 | ~3–7 W | ✅ | idêntica ao Zero | Overkill agora |
| Mini-PC / thin client usado | R$300–700 | ~8–15 W | ❌ → dongle USB (~R$30) | ligar, instalar Linux | Mais CPU por real, mais consumo e mais passos |
| Celular Android antigo | R$0 se tiver | ~2 W | ✅ | Termux | ⚠️ Frágil — Android mata background, BLE limitado |
| VPS / nuvem | R$20–50/mês | — | ❌ | — | Não serve — BLE é rádio local |
O gargalo não é o cérebro, é o alcance do rádio¶
BLE atravessa mal parede e laje (~5–15 m na prática). Trocar Pi Zero por Pi 5 não resolve — é física, não CPU. A solução barata desacopla escuta de processamento:
[sensor varanda] ──BLE──► [ESP32 na tomada] ──WiFi/MQTT──► [cérebro] ──► banco
ESP32 custa ~R$40 e só precisa de uma tomada USB perto das plantas.
⚠️ O modo bluetooth_proxy do ESPHome depende do Home Assistant; para stack Python pura
o caminho é o componente xiaomi_hhccjcy01, que decodifica no próprio ESP32.
Implementado em 2026-10-01 sem cérebro 24/7 (decisoes.md): o dono não tem
PC sempre ligado, então o ESP32 faz o papel de "cérebro mínimo" e manda direto para a nuvem
própria (planilha Google):
[hhcc-01] ──BLE──► [esp32-01 na tomada] ──WiFi/HTTPS, 15 min──► [Apps Script] ──► planilha InfoSensorESP32
Config: esphome/plantscare-bridge-01.yaml ·
receptor: google-apps-script/sensor-esp32/.
Limite aceito: sem internet, a leitura daquele intervalo se perde (a placa não guarda).
Regra de decisão — para não comprar por ansiedade¶
| Dor que aparecer | Compra que ela justifica |
|---|---|
| "Ler no celular toda hora é inviável" | Nada — é a Fase 2, no PC que já existe |
| "Perdi dados porque o PC estava desligado" | Raspberry Pi Zero 2 W |
| "O sensor da varanda não conecta" | 1 ESP32 como ponte BLE→MQTT |
| "Quero acompanhar fora de casa" | Dashboard — software, não hardware |
| "Quero sonda longa / VPD do ar" | Aí sim entra o DIY (Caminho B) |
5. Limites do celular como cérebro¶
| Serve muito bem para | Não serve para |
|---|---|
| Explorar e entender o protocolo | Log contínuo |
| Validar que o dado cru é acessível | Calcular DLI (exige série temporal) |
| Capturar amostras pontuais | Rodar de madrugada |
| Mapear luz com o ALS | Curva de secagem completa |
Por quê: Android e iOS matam processo em segundo plano, e não há stack Python BLE
utilizável no celular — bleak precisa de BlueZ/WinRT/CoreBluetooth, e o Termux não dá
acesso ao BlueZ sem root.
Isso não é defeito do plano: é a fronteira natural entre o Objetivo 1 e a Fase 2.
6. Componente × dispositivo — o que o preço esconde¶
Distinção que muda decisão de compra e explica por que "sensor a R$30" não é o que parece.
| Faixa ⚠️ | O que é | Precisa de mais o quê |
|---|---|---|
| R$10–40 | Sonda capacitiva nua (inclusive versões longas), BH1750, AHT20 | Microcontrolador, fonte, ADC, vedação, calibração. Sozinha não é um dispositivo — é um componente com saída analógica |
| R$30–60 | ESP32 devkit | Firmware, fonte, caixa |
| R$80–180 | Sensor BLE pronto (família HHCC) | Nada. Já tem rádio, pilha, corpo selado e firmware |
Um nó DIY completo sai perto de R$150–200 ⚠️ e mede mais que o sensor pronto — inclusive com sonda longa. O custo real não é dinheiro: é vedar bem o suficiente para sobreviver a chuva direta e calibrar a sonda. Por isso o Caminho A vem primeiro: valida a captura sem misturar dois riscos novos ao mesmo tempo.
7. Ambiente disponível (verificado em 2026-08-02)¶
| Item | Estado |
|---|---|
| SO | Windows 10 Pro 19045 |
| Bluetooth | ✅ Intel(R) Wireless Bluetooth + Enumerador LE Bluetooth da Microsoft → BLE OK |
| Python | ✅ 3.13 · Git ✅ 2.55 |
| Repositório | ⚠️ ainda não é repo git (git init pendente) |
bleak roda nativo no Windows via API WinRT. A Fase 2 não exige Raspberry Pi, Linux nem
dongle.