Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03
O que é Sonoff?
Sonoff é uma linha de dispositivos para Smart Home desenvolvida pela ITEAD. Um dos dispositivos mais flexíveis e baratos dessa linha são Sonoff Basic e Sonoff Dual. Esses são switches habilitados para Wi-Fi baseados em um ótimo chip, ESP8266. Embora a infraestrutura Sonoff possa funcionar muito bem para usuários básicos, outros podem querer invadir esse hardware e executar seu próprio código nele. O hardware dos Sonoff Smart Switches é incrível, considerando seu baixo preço:
- ESP8266 com flash de 1 MB
- Adaptador de energia integrado 220V AC
- Relé 10A (ou dois no Sonoff Dual)
- LED integrado (ou dois no Sonoff Dual)
- Botão Onboard
Se você deseja ter controle total sobre este hardware usando sua linguagem de programação favorita, este tutorial é para você.
Etapa 1: hackear o hardware
ESP8266 é programado por meio da porta serial. Tanto o Sonoff Basic quanto o Sonoff Dual o possuem no PCD.
Você pode precisar soldar um conector de pino no PCB para conectar facilmente um adaptador USB-UART.
Etapa 2: preparando-se para hackear o software
Eu amo Python, então vou usar o firmware MicroPython. Você também pode usar qualquer SDK compatível. Vamos prosseguir com o flash MicroPython em vez do firmware Sonoff proprietário:
Instale o pacote esptool python que facilita a atualização do ESP8266:
pip instalar esptool
Baixe o firmware MicroPython estável mais recente na página de downloads do MicroPython. Conecte um adaptador USB-UART à placa. Por segurança, é recomendado alimentar a placa a partir do adaptador em vez da tomada 220V AC. Observe que você só pode usar 3,3 V, se você conectar o chip ESP8266 a uma fonte de alimentação de 5 V, ele morrerá.
Inicialize o ESP8266 no Modo Flash. Você pode fazer isso puxando para baixo o pino GPIO0 enquanto liga o dispositivo:
- No Sonoff Basic, o GPIO0 é simplesmente um botão. Conecte o adaptador USB-UART ao seu PC enquanto pressiona o botão e você está no Modo Flash.
- No Sonoff Dual, as coisas estão um pouco mais difíceis. Você precisa causar um curto-circuito em dois blocos do PCB enquanto alimenta a placa. Os pads necessários são mostrados na imagem acima. Use uma pinça ou solde um pequeno fio entre eles.
Quando o ESP8266 está no Modo Flash, o LED da placa não deve piscar.
Certifique-se de que você pode acessar a porta serial aberta pelo adaptador USB-UART. No Linux é provavelmente / dev / ttyUSB0, no Mac você deve pesquisar algo como “usbserial” ou “usbmodem” na saída do comando ls / dev / cu. * Ou ls / dev / tty. *, No Windows deve ser COM3 ou mais alto. Instale os drivers do adaptador USB-UART, se necessário.
Apague o flash usando o esptool. Substitua o / dev / ttyUSB0 por sua porta, se necessário:
esptool.py --port / dev / ttyUSB0 erase_flash
Pode ser necessário executar esptool.py como superusuário para acessar a porta serial.
Etapa 3: piscando
Se o apagamento for bem-sucedido, desligue a placa, inicialize o ESP8266 no Modo Flash novamente e atualize o firmware:
esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash --flash_size = detectar 0 esp8266-20170823-v1.9.2.bin
Se o flash foi bem sucedido, corte a alimentação da placa, conecte-a novamente sem pressionar o botão e abra a porta serial em um terminal. No Linux e Mac você pode usar screen / dev / ttyUSB0 115200 (substitua / dev / ttyUSB0 pela sua porta se necessário), no Windows você pode usar PuTTY (a taxa de transmissão padrão é 115200). Depois de conectar, pressione Enter, e se você vir três colchetes angulares do shell Python, então tudo funciona!
>> >>> help () Bem-vindo ao MicroPython! Para documentos online, visite https://docs.micropython.org/en/latest/esp8266/. Para obter informações de diagnóstico para incluir em relatórios de bug, execute 'import port_diag'. Configuração de WiFi básica: import network sta_if = network. WLAN (network. STA_IF); sta_if.active (True) sta_if.scan () # Procure pontos de acesso disponíveis sta_if.connect ("", "") # Conecte a um AP sta_if.isconnected () # Verifique se a conexão foi bem-sucedida # Altere o nome / senha do AP do ESP8266: ap_if = network. WLAN (network. AP_IF) ap_if.config (essid = "", authmode = network. AUTH_WPA_WPA2_PSK, password = "") Comandos de controle: CTRL-A - em uma linha em branco, entre no modo REPL bruto CTRL- B - em uma linha em branco, entrar no modo REPL normal CTRL-C - interromper um programa em execução CTRL-D - em uma linha em branco, fazer uma reinicialização suave da placa CTRL-E - em uma linha em branco, inserir colar modo Para obter mais ajuda sobre um objeto específico, digite help (obj) >>>
No próximo instrutível, descreveremos como interagir com a plataforma Cloud4RPi por meio de um protocolo MQTT.
Recomendado:
Como atualizar ou programar o firmware ESP8266 AT usando o ESP8266 Flasher e o programador, módulo IOT Wifi: 6 etapas
Como fazer o Flash ou programar o firmware ESP8266 AT usando o ESP8266 Flasher e o Programador, Módulo IOT Wifi: Descrição: Este módulo é um adaptador / programador USB para módulos ESP8266 do tipo ESP-01 ou ESP-01S. É convenientemente equipado com um coletor fêmea 2x4P de 2,54 mm para conectar o ESP01. Também quebra todos os pinos do ESP-01 por meio de um macho 2x4P 2,54mm h
Use o firmware Homie para conduzir o módulo de interruptor Sonoff (baseado em ESP8266): 5 etapas (com imagens)
Use o firmware Homie para conduzir o módulo de switch Sonoff (baseado em ESP8266): Este é um acompanhamento instrutível, escrevi este um pouco depois de " Construindo Dispositivos Homie para IoT ou Automação Doméstica ". O último estava se concentrando no monitoramento básico (DHT22, DS18B20, leve) em torno das placas D1 Mini. Desta vez, gostaria de mostrar como
Como controlar o switch inteligente básico Sonoff baseado em ESP8266 com um smartphone: 4 etapas (com imagens)
Como controlar o interruptor inteligente básico Sonoff baseado em ESP8266 com um smartphone: Sonoff é uma linha de dispositivos para casa inteligente desenvolvida pela ITEAD. Um dos dispositivos mais flexíveis e baratos dessa linha são Sonoff Basic. É um switch habilitado para Wi-Fi baseado em um ótimo chip, ESP8266. Este artigo descreve como configurar o Cl
Como atualizar o firmware em um clone USBasp barato: 9 etapas
Como atualizar o firmware em um clone USBasp barato: Este é um pequeno guia para atualizar o novo firmware em um clone USBasp como o meu. Este guia foi escrito especificamente para o clone USBasp visto nas fotos, no entanto, ele ainda deve funcionar com outros. A fiação é mostrada na etapa 5, há um TL; DR em
Como atualizar o firmware em um PCB universal: 4 etapas
Como atualizar o firmware em um PCB universal: O projeto PCB universal (UPCB para abreviar) foi iniciado para permitir um único controlador de jogo, especialmente bastões de combate, em tantos consoles diferentes quanto possível. Informações sobre o projeto podem ser encontradas no seguinte tópico em Shoryuken.com