DIY Sensor Wi-Fi, sem programação, sem solda necessária*

4 minute read

Plataformas de software no-code/low-code tornaram possível criar aplicações, escrevendo apenas algumas linhas de código e, em alguns casos, sem código algum! Isso reduz o esforço de desenvolvimento e o tempo de implantação.

Este projeto combina duas ideias: plataforma de software no-code/low-code e um sistema de prototipagem rápida e robusto que não requer soldagem. Nesse sentido, é possível passar de uma ideia para um dispositivo materializado que funcione em um ambiente real em poucas horas.

Sensor Wi-Fi desenvolvido usando ferramentas de prototipagem rápida tanto para software quanto para hardware, operando em condições do mundo real..

Componente chave: ESP 32 D1 MINI

Prototipagem rápida de hardware-software

A seguinte aplicação será construída como exemplo: um termômetro WiFi baseado em ESP32, sensor de temperatura DS18B20 e indicador local I2C. Tudo isso será fechado em uma caixa à prova d’água, montável na parede e alimentado por 5V. Isso será alcançado usando os seguintes projetos:

HARDWARE: Sistema de prototipagem rápida, de código aberto e robusto: MISISTEMITA

SOFTWARE: Testado TASMOTA e também ESPHome.

Lista de materiais
Peças usadas no projeto.
Peças discretas necessárias
Componente Ligação do compra Folha de dados
ESP32 D1 MINI Compre aqui esp32-d1-mini.pdf
Display OLED 0.96 I2C Compre aqui 096-i2c-oled-display.pdf
Sensor temperatura prova dágua DS18B20 Compre aqui ds18b20-waterproof.pdf
Resistor 1/4W 1% TH Compre aqui MGR-SERIES.pdf
Caixa plástica à prova d’água “Sonoff” 100x68x50mm Compre aqui SONOFF-IP66-waterproof-case.pdf
Componentes necessários para construir os módulos necessários de misistemita
Componente Ligação do compra Folha de dados
Espaçador de Nylon de travamento reverso Compre aqui G228.pdf
Parafuso auto-rostante tipo B M2.6 Compre aqui M2.6x5-6-8-12mm.pdf
Borne de parafuso 3.5mm kf350 (2,3 pinos) para PCB. Compre aqui KF350.pdf
Barra De Pinos Fêmea 2.54mm Compre aqui FHA3-S1XX.pdf
Placas de circuito impressas necessárias para construir os módulos necessários do MISISTEMITA
Placas de circuito impressas (PCB) Ligação do compra Arquivos de origem
A06 placa de montagem removível para o caixa de 100 x 68 x 52 mm Compre aqui a06 backplate
B02 3.5mm 2x7 placa borne de parafuso Compre aqui b02 Screw terminal
C12 Placa Borne De Expansão para ESP32 D1 MINI Compre aqui c12 Breakout
C10 Placa Borne De Expansão para display I2C Compre aqui c10 Breakout
Software repositorio
ESPHome download
TASMOTA download

Montagem de hardware

A soldagem não será necessária* se os módulos a serem usados já tiverem sido construídos ou adquiridos antecipadamente. O primeiro passo é localizar as placas na placa de montagem removível, como boa prática, os terminais borna com parafuso devem ser colocados em algum lugar na borda da placa de montagem removível e o mais próximo possível do ponto de entrada do cabo.

Placas colocadas na placa de montagem removível

O segundo passo é conectar os diferentes módulos dependendo do projeto originalmente proposto. Tanto cabos de cobre sólido quanto cabos de cobre multifilares podem ser usados. É recomendável baixar um firmware de teste mínimo para testar a conectividade dos componentes.

Placas colocadas na placa de montagem removível e conectadas com fios

O terceiro passo é remover as conexões externas, posicionar a placa de montagem removível na caixa e fixá-la com parafusos autoroscantes. Passe os cabos de alimentação pelos prensa cabos e reconecte-os à placa.

Placa de montagem removível fixada na caixa e cabos externos reconectados

O último passo consiste em fechar a tampa, ajustar as prensa cabos e instalar na parede.

Tampa fechada, pronta para instalação na parede

Configuração de firmware

Os seguintes pontos não têm a intenção de ser um guia de instalação ou configuração abrangente. Para obter mais informações, consulte a documentação de cada plataforma utilizada (Tasmota e ESPHome). Em resumo, algumas dicas sobre como o sensor foi criado em cada uma delas serão apresentadas.

Tasmota
Firmware de sensor usando Tasmota

A filosofia do Tasmota consiste em um firmware pré-compilado básico que é baixado no dispositivo e uma vez baixado, é personalizado usando templates. O instalador do Tasmota é baseado em um navegador da web, portanto, nenhum software adicional é necessário. Os seguintes parâmetros foram usados:

  • Firmware Base: Display
  • Configuração de template: Pinos da porta I2C, pino do sensor DS18B20
  • Display mode: 0
  • Display type: SSD1306
  • Temperature visualization rule: rule 1 ON DS18B20#Temperature DO Displaytext[zs2y20] %value% C ENDON
ESPHome
Firmware de sensor usando ESPHome

A filosofia do ESPHome consiste em compilar um firmware personalizado usando um arquivo de configuração YAML. Isso significa que o Home Assistant precisa ser instalado e, uma vez em funcionamento, o ESPHome deve ser instalado como um add-on. Após essas duas etapas, já é possível criar sensores. Uma parte do arquivo de configuração é mostrada aqui nas seções mais significativas.

# GPIO setup
dallas:
  - pin: 26
i2c:
  sda: 21
  scl: 22

# Sensor setup
sensor:
  - platform: dallas
    address: 0x8c01131b44162184
    id: outside_temperature
    name: "External temperature"
font:  
  # gfonts://family[@weight]
  - file: "gfonts://Roboto"
    id: roboto
    size: 20
display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    address: 0x3c
    lambda: |-
      it.printf(90, 35, id(roboto), TextAlign::BASELINE_RIGHT , "%.1f °C", id(outside_temperature).state);           
resultado final
hardware:

A montagem do hardware, começando a partir de módulos pré-construídos, levou cerca de uma hora.

firmware:

A configuração do firmware do sensor, usando o Tasmota, levou aproximadamente 10 minutos. Fazer uma alteração na configuração, como em um pino I/O ou em uma regra de visualização, leva cerca de 1 minuto.

A mesma tarefa, usando o ESPHome, levou aproximadamente 2 horas na primeira vez, porque o Home Assistant precisa ser instalado (em um Raspberry Pi ou outro computador). Depois que o ESPHome é instalado, fazer uma alteração na configuração leva cerca de 5 a 10 minutos, dependendo da velocidade do Rpi para a compilação do código.

Em ambas as plataformas, a primeira configuração é com fio (ESP32 conectado a um PC). Depois disso, todas as atualizações são feitas sem fio (OTA).

O único “código” digitado em ambas as plataformas foi o mínimo necessário para visualizar a temperatura no display I2C. Cada plataforma tem sua própria maneira de fazer isso. Em ambos os casos, foi apenas uma única linha.