Pular para conteúdo

ESP32 DevKit V1 (ponte BLE→WiFi) — esp32-01

Tipo: gateway Estado: 🟢 em operação desde 2026-10-01 — firmware gravado, ouvindo o hhcc-01 pela tomada perto da aceroleira; falta o envio para a planilha Instalado em: — (não é sensor de planta; fica dentro de casa como infraestrutura, servindo o hhcc-01 e qualquer sensor BLE futuro na varanda do local A) Última atualização: 2026-10-01


1. Compra

Campo Valor
equip_id esp32-01
Modelo exato / SKU "Esp32 Wifi Bluetooth Doit Devkit Com Esp32-wroom-32" (placa DOIT ESP32 DEVKIT V1, chip Espressif ESP32-WROOM-32) — Mercado Livre MLBU2867882022
Fabricante Genérico (chip Espressif; placa sem marca própria, padrão DOIT DevKit V1)
Onde comprou Mercado Livre — https://www.mercadolivre.com.br/esp32-wifi-bluetooth--doit-devkit-com-esp32wroom32/up/MLBU2867882022, vendedor MCCCSHOP (MercadoLíder, +100 mil vendas)
Data da compra 2026-09-20
Preço pago R$ 38,88 (placa) + R$ 7,99 (cabo USB-A→micro-USB, carga e dados) + R$ 19,70 (carregador de parede 5V 1A bivolt) = R$ 66,57 ⚠️ confirmar valor final do pedido
Avaliação prévia docs/produtos-avaliados.md#5 — item 5, veredito ✅

2. O que mede de fato

N/A — não é sensor. É infraestrutura de transporte: escuta o Bluetooth do hhcc-01 (e de sensores futuros na mesma varanda) e republica na rede WiFi de casa, que já alcança o PC. Ver docs/decisoes.md (2026-09-20) para o porquê: o PC sozinho não alcança o sensor pelo Bluetooth direto, e não pode ser movido para perto.

3. Checklist de avaliação — com o produto em mãos

Itens 2, 3 e 6 conferidos com a placa em operação (2026-10-01).

# Item Resultado real
1 Dispositivo ou componente? Componente (kit de desenvolvimento) — mas aqui isso é esperado: é a peça que falta para virar gateway, não um sensor pronto
2 Dado cru sem nuvem do fabricante? ✅ Confirmado 2026-10-01. Firmware ESPHome aberto, compilado no PC (o web.esphome.io previsto antes não compila YAML próprio). Valores crus decodificados no próprio ESP32; destino é planilha própria, sem nuvem de fabricante
3 Sobrevive à varanda? N/A — fica dentro de casa. ✅ Confirmado 2026-10-01: na tomada perto da aceroleira ouve o hhcc-01 continuamente; WiFi −48 dBm
4 Comprimento da sonda N/A — não tem sonda
5 O que mede de fato N/A — ver §2
6 Autonomia / manutenção Alimentação contínua por USB (carregador 5V 1A), sem pilha — zero manutenção de energia. Atualização de firmware por WiFi (OTA) ✅ testada 2026-10-01. ⚠️ Gravação por USB exige modo download manual (BOOT+EN) e driver CH343SER
7 Custo por parâmetro útil N/A — é investimento de infraestrutura (transporte), não uma medida nova

4. Como extrair o dado cru

Não aplicável a este equipamento diretamente — ele só transporta o que o hhcc-01 já produz. Firmware em esphome/plantscare-bridge-01.yaml; destino das leituras: planilha InfoSensorESP32 via google-apps-script/sensor-esp32/. Contexto e protocolo do sensor em si: docs/objetivo-1-captura-celular.md. Arquitetura do transporte BLE→WiFi: docs/captura-dados.md §4.

5. Vínculo com plantas

Planta De Até Observação
— — — Não é sensor de planta. Serve de ponte para o hhcc-01 (instalado na aceroleira-01) e para qualquer sensor BLE futuro na mesma varanda do local A — escuta passiva, sem limite prático de quantos sensores

6. Manutenção

Data O que foi feito Próxima

7. Histórico

Append-only. Registrar também o que decepcionou — é o dado mais útil para a próxima compra.

2026-09-20 — Decisão de compra

Observado: o coletor automático direto (PC ↔ hhcc-01 via bleak) foi implementado e testado ao vivo, mas falhou: o PC não alcança o sensor pelo Bluetooth, e não pode ser movido para perto (ver docs/decisoes.md, 2026-09-20). Avaliado pelo checklist em docs/produtos-avaliados.md item 5: ESP32 genérico como ponte BLE→WiFi, escuta passiva, alimentado por USB. Confirmado que existe tomada coberta em casa dentro do alcance BLE do sensor — sem necessidade de caixa/vedação. Dono decidiu comprar.

Ação: ficha criada em estado ⚪ não recebido, antes da chegada, conforme regra 1 de equipamentos/README.md. Config ESPHome deixada pronta em esphome/plantscare-bridge-01.yaml para gravar assim que a placa chegar.

Pendente: confirmar entrega; gravar o firmware; testar alcance BLE real a partir do local de instalação escolhido; conectar o coletor Python (via aioesphomeapi, API nativa do ESPHome — ainda não implementado) para gravar as leituras no SQLite existente.

2026-10-01 — Kit recebido; correções no firmware antes de gravar

Observado: dono com o kit em mãos (placa + cabo + carregador). Revisando o YAML antes da 1ª gravação, dois erros da versão de 2026-09-20: 1. web.esphome.io não compila YAML próprio — só grava firmware genérico. Caminho trocado para ESPHome em venv local (esphome/.venv, fora do git) + esphome run via USB. 2. xiaomi_hhccjcy01 estava como chave de topo — no ESPHome atual é sensor: - platform: xiaomi_hhccjcy01. Teria falhado na validação.

Ação: YAML corrigido; framework trocado de arduino para esp-idf (BLE + WiFi no Arduino costuma estourar a flash de 4 MB); adicionado sensor wifi_signal para avaliar o ponto de instalação. Senhas de AP/OTA e chave da API geradas localmente em esphome/secrets.yaml (não versionado).

Pendente: gravar via USB; confirmar que o ESP32 entra no WiFi; achar o ponto de tomada onde o hhcc-01 é ouvido; preencher o checklist §3 com resultado real; coletor aioesphomeapi.

2026-10-01 — Cabo do kit não passa dados; chip USB é CH9102 (precisa de driver)

Observado: - Com o cabo do kit, LED vermelho de energia aceso fixo, mas o Windows não enumerava nenhum dispositivo USB. Com outro cabo (do dono, sabidamente de dados), a placa apareceu na hora. ❌ O cabo vendido como "carga e dados" (R$ 7,99) só carrega — anotar para futuras compras: cabo de kit não é confiável, testar antes. - Chip USB-serial da placa é WCH CH9102F (VID_1A86&PID_55D4), não o CP2102 que é comum na DOIT DevKit V1. O Windows 10 não traz driver para ele.

Ação: dono instalou o driver oficial CH343SER (wch-ic.com). Placa reconhecida como USB-Enhanced-SERIAL CH9102 (COM3).

Também: o ESP-IDF recusa instalar quando o esphome é chamado pelo Git Bash ("MSys/Mingw is not supported"). Compilar pelo PowerShell/cmd.

2026-10-01 — Gravado e funcionando: ponte ouve o hhcc-01 ✅

Observado: - Gravação via USB exigiu modo download manual (segurar BOOT, tocar EN, soltar BOOT) — o auto-reset da placa não funciona ("Wrong boot mode detected (0x13)"). Gravado com esptool --before no-reset. Só necessário por USB; daqui em diante é OTA. - 1ª gravação não achou o WiFi: o nome da rede (SSID) nos segredos não era o exato que o roteador anuncia. Lição: copiar o SSID da lista de redes do PC, não de memória; o ESP32 só vê a rede de 2,4 GHz (não a "-5G"). Corrigido em secrets.yaml e regravado. - Chip: ESP32 rev 3.1. ESPHome 2026.9.1, framework esp-idf. Flash 66 %, RAM 54 %. - Instalada na tomada perto da aceroleira-01, alimentada pelo cabo + carregador do kit (o cabo "só carga" serve para alimentação). Escuta remota pela API nativa por 4 min: - WiFi no ponto: −48 dBm (ótimo). - hhcc-01 ouvido continuamente, ~1 leitura por grandeza a cada ~40 s: temperatura 28,2–29,0 °C, umidade 22 %, condutividade 189–191 µS/cm, luz 4.214→3.844 lux (fim de tarde). - ⚠️ Bateria não vem na escuta passiva — limitação do HHCCJCY01. Continuar lendo pelo nRF Connect esporadicamente.

Pendente: envio para a planilha Google via Apps Script (decisão 2026-10-01 em docs/decisoes.md); preencher checklist §3 itens 2/3/6 com o resultado real.

2026-10-01 — 1º envio para a planilha confirmado ✅

Observado: 15 min após o boot, a placa fez o 1º POST; o Apps Script respondeu HTTP 302 e o dono confirmou a linha de plantscare-bridge-01 na aba leituras. Cadeia completa funcionando: hhcc-01 → BLE → esp32-01 → HTTPS → planilha InfoSensorESP32.

  • O 302 aparece no log do ESPHome como [E] HTTP Request failed; Code: 302 — cosmético: é a resposta normal do Apps Script depois de gravar (follow_redirects: false).
  • Durante o envio HTTPS: Dropped 49 BLE events due to buffer overflow. Sem impacto — o sensor repete a cada ~40 s. Observar se vira problema com mais sensores na mesma placa.

Pendente: P32 (planilha → data/ → painel); apagar a linha de teste teste-pc.

2026-10-01 — Sensor foi para a pitanga e saiu do alcance; ponte mudou de lugar ✅

Observado: - Após o hhcc-01 ir para a pitanga-01 (15:00), a ponte parou de ouvi-lo: a planilha seguiu recebendo linhas, mas com idade_leitura_s 699 → 1599 (valor repetido de ~15:19). O coletor da P32 descartou essas linhas, como previsto (> 600 s). - Diagnóstico por OTA (contador de anúncios BLE por minuto): ~1.600–2.400 anúncios/min de outros aparelhos e 0 do hhcc-01 → scan funcionando, sinal do sensor não chegava. - nRF Connect no celular, ao lado da tomada da ponte: Flower care a −95 dBm — limite do BLE. O celular ainda ouve; a antena impressa do ESP32 não. Girar o sensor não resolveu. Mesma distância que a aceroleira, mas o caminho do sinal até o vaso da pitanga é pior. - Dono mudou o ESP32 de lugar: sensor ouvido a cada 1–4 s, −66 a −75 dBm.

Lição: trocar o sensor de vaso pode tirá-lo do alcance mesmo sem mudar a distância. Ao mover, conferir com nRF Connect na posição da ponte (alvo: −85 dBm ou melhor), ou pelo log diag da placa.

Ação: firmware ganhou sensor hhcc-01 sinal BLE (ble_rssi) e uma linha de log por minuto (diag: anúncios totais, do hhcc-01 e último RSSI).

2026-10-01 — Botão "Enviar para planilha agora" + envio 2 min após o boot

Por quê: cada OTA/queda de energia zerava o ciclo de 15 min — à tarde, entre OTAs e a mudança de lugar, a planilha ficou ~45 min sem linha. Agora o envio é um script (enviar_planilha) chamado pelo ciclo de 15 min, por um botão na API e 2 min após o boot.

Resultado: 1º dado válido da pitanga-01 (17:14: umidade 31 %, EC 387 µS/cm, 24,8 °C) foi da planilha ao site público no mesmo minuto, via disparo manual do sensor-sync.yml.