
A lâmpada de mesa Xiaomi é um dispositivo IoT moderno, que usa o microcontrolador ESP8266. Este projeto fornece uma substituição de firmware de código aberto esta lâmpada. Ele fornece funcionalidade básica:
Não fornece nenhum recurso de IoT no momento. Mas quem precisa de recursos de IoT de uma lâmpada de mesa?!
Você pode abrir a lâmpada desaparafusando os três parafusos na parte inferior da lâmpada (sob os Feets de borracha). Então você pode ver isso. O PCB principal deve ficar assim:

O hardware basicamente consiste em um módulo ESP8266, alguns reguladores e um codificador rotativo. O ESP8266 controla dois reguladores de comutação via PWM para definir o brilho dos LEDs frios e quentes. Por alguma razão, o esptool.py detecta o ESP8266 como ESP8285, até por causa de um chip flash externo.
U0RX , U0TX , GPIO0 e GND na PCB principal.U0RX , U0TX e GND ao adaptador serial USB, puxe GPIO0 para GND .Antes de começar, você pode fazer backup do firmware original. Cuidado, este backup contém configurações como suas credenciais WiFi! Verifique o tamanho do flash (caso haja outras variantes).
esptool.py --port /dev/ttyUSB0 read_flash 0x00000 0x200000 image.bin
Você pode escrever o backup de volta com:
esptool.py --port /dev/ttyUSB0 write_flash 0x00000 image.bin
Instale a variável Esp-Open-SDK, Caminho de configuração (por exemplo export PATH=/opt/esp-open-sdk/xtensa-lx106-elf/bin:$PATH )
Construa o firmware:
mkdir bin
cd bin
cmake ../src/
make
Flash o firmware:
make flash
P: Por que você compra uma lâmpada de mesa de IoT?
R: Gosto do design da lâmpada, mas não da comunicação com os servidores da Internet de terceiros.
P: Você pode adicionar recursos de IoT ao seu firmware?
R: Não estou pessoalmente interessado nos recursos. Sinta -se à vontade para abrir um pedido de tração.