使用 esp8266 直连 HomeKit(二)编译和烧录固件

Lulin Lv2

写在前面

使用 esp8266 直连 HomeKit 控制继电器,使用了两个开源项目:

  1. esp-homekit-devices
  2. Sonoff-Homekit

这两个项目使用起来不方便,因此我进行了整合:esp-homekit-devices

0. 下载

cd ~/Documents

git clone --recursive https://github.com/LeeLulin/esp-homekit-direct.git

1. 编译固件

cd esp-homekit-direct

make -C devices/switch all

注:本项目实例为 esp8266-01s ,如果使用其它型号,则需要修改 esp-homekit-direct/devices/switch/main.c 中的引脚定义:

1
2
3
4
5
6
7
8
// The GPIO pin that is connected to last pin of the programming strip of the Sonoff Basic.
const int pin_gpio = 14;
// The GPIO pin that is connected to the relay on the Sonoff Basic.
const int relay_gpio = 12;
// The GPIO pin that is connected to the LED on the Sonoff Basic.
const int led_gpio = 13;
// The GPIO pin that is oconnected to the button on the Sonoff Basic.
const int button_gpio = 0;

编译完成会在 /devices/switch/firmware 目录下生成 switch.bin 文件,且已存在 rboot.binblank_config.bin 两个文件

2. 烧录固件

Ubuntu

0. 连接电脑

esp8266-01s 通过 USB转串口 烧录器连接到电脑

查看端口号:

ls -l /dev/ttyUSB*

我的是 ttyUSB0

修改权限:

sudo chmod 777 /dev/ttyUSB0

1. 擦除 Flash

esptool.py --port /dev/ttyUSB0 erase_flash

2. 烧录固件

擦除 Flash 之后需要重新插拔一下 esp8266-01s

cd /devices/switch/firmware

esptool.py -p /dev/ttyUSB0 -b 115200 write_flash -fs 8m -fm dout -ff 40m 0x0 rboot.bin 0x1000 blank_config.bin 0x2000 switch.bin

Windows

1. 安装python

2. 安装esptool

pip install esptool

3. 移动固件

/devices/switch/firmware 目录下的三个文件:rboot.bin blank_config.bin switch.bin 复制到python根目录下

4. 清空 Flash

esptool.py -p [端口] earse_flash
例:esptool.py -p COM4 earse_flash

5. 烧录固件

Windows烧录固件有两种方式:使用 ESPFlashDownLoadTool 工具 或者 esptool.py

这里使用 esptool.py:

esptool.py -p [端口] -b 115200 write_flash -fs 1MB -fm dout -ff 40m 0x0 rboot.bin 0x1000 blank_config.bin 0x2000 switch.bin




  • Title: 使用 esp8266 直连 HomeKit(二)编译和烧录固件
  • Author: Lulin
  • Created at : 2020-03-15 17:11:20
  • Updated at : 2022-06-21 08:42:40
  • Link: https://blog.lllin.top/2020/03/15/esp-homekit-02/
  • License: This work is licensed under CC BY-NC-SA 4.0.
 Comments
On this page
使用 esp8266 直连 HomeKit(二)编译和烧录固件