一、硬件
1、ESP8266-01S网上资料很多,就不再介绍了。
2、1路继电器模块
1路继电器模块带有2x4母插口直接与ESP-01S连接,自带DC5V外接电源接口,有光电隔离。模块比较小巧。
3、DC5V电源
我调试用的电源是手机充电器加自己用USB线改装的,如需要装入墙壁开关和插座可到陶宝购买220V转5V电源模块。
4、下载器
我用的是ESP LINK,支持自动下载,免去了接线和外接3.3v电源的麻烦。
也可用 USB TO TTL 下载线,接线和电源问题自行解决。
以上硬件除DC5V电源外都来自陶宝,单价不贵几元或十几元钱。在下载包 http://download.csdn.net/download/cppphp/11086449 中有详细的购买链接地址。
二、软件
软件来自 https://github.com/Gruppio/Sonoff-Homekit.git,在此首先对作者表示感谢。但该软件需要进行一定的修改后才能使适配我们的硬件。
1、下载软件并调整目录
# 进入工作目录 devices
cd ~/文档/esp8266/homekit/esp-homekit-devices/devices
# 下载软件
git clone https://github.com/Gruppio/Sonoff-Homekit.git
# 对下载目录及文件进行整理
sudo mv -f Sonoff-Homekit/sonoff_advanced ./
sudo mv -f Sonoff-Homekit/firmware sonoff_advanced
# 删除文件
sudo rm sonoff_advanced/firmware/Sonoff_*.bin
2、编辑 Makefile 文件
# 打开 Makefile 文件
sudo gedit sonoff_advanced/Makefile
编辑前
PROGRAM ?= sonoff
EXTRA_COMPONENTS = \
extras/http-parser \
extras/dhcpserver \
extras/mbedtls \
extras/httpd \
$(abspath ../../components/wifi_config) \
$(abspath ../../components/wolfssl) \
$(abspath ../../components/cJSON) \
$(abspath ../../components/homekit)
FLASH_SIZE ?= 8
FLASH_MODE ?= dout
FLASH_SPEED ?= 40
HOMEKIT_SPI_FLASH_BASE_ADDR ?= 0x7A000
EXTRA_CFLAGS += -I../.. -DHOMEKIT_SHORT_APPLE_UUIDS -DLWIP_HTTPD_CGI=1 -DLWIP_HTTPD_SSI=1 -I./fsdata
include $(SDK_PATH)/common.mk
monitor:
$(FILTEROUTPUT) --port $(ESPPORT) --baud 115200 --elf $(PROGRAM_OUT)
html:
@echo "Generating fsdata.."
cd fsdata && ./makefsdata && cd -
编辑后
PROGRAM ?= sonoff
EXTRA_COMPONENTS = \
extras/http-parser \
extras/dhcpserver \
extras/mbedtls \
extras/httpd \
$(abspath ../../external_libs/wolfssl) \
$(abspath ../../external_libs/cJSON) \
$(abspath ../../external_libs/homekit) \
$(abspath ../../external_libs/wifi_config) \
FLASH_SIZE ?= 8
FLASH_MODE ?= dout
FLASH_SPEED ?= 40
HOMEKIT_SPI_FLASH_BASE_ADDR ?= 0x7A000
EXTRA_CFLAGS += -I../.. -DHOMEKIT_SHORT_APPLE_UUIDS -DLWIP_HTTPD_CGI=1 -DLWIP_HTTPD_SSI=1 -I./fsdata
include $(abspath ../../sdk/esp-open-rtos/common.mk)
monitor:
$(FILTEROUTPUT) --port $(ESPPORT) --baud 115200 --elf $(PROGRAM_OUT)
html:
@echo "Generating fsdata.."
cd fsdata && ./makefsdata && cd -
编剧好后保存退出。还有其它源文件也需要简单修改,这里就不展开了。
3、编译源文件
# 退到 esp-homekit-devices 目录
cd ..
# 编译源文件
make -C devices/sonoff_advanced all
如编译成功应出现类似以下界面
编译好后就可以准备进行烧写了。
4、擦除和烧写 flash
烧写除了需要上面编译好的 sonoff.bin 外,还需要 rboot.bin 和 blank_config.bin 两个文件,有需要的可以到 http://download.csdn.net/download/cppphp/11086449 下载,该软件包是针对我们硬件的完整软件包,下载后按说明直接刷机即可。
详细内容参见前一篇博客《ubuntu 上 ESP8266 HomeKit 实战(一)用 esp-homekit-devices 搭建开发环境》的相关内容。
三、iPad 或者 iPhone 等的连接和设置
刷机完成后,如果是 ESP Link 直接按 reset 键;是 USB TO TTL 则从电脑上拔下,把接线改成运行模式,再插入电脑。
打开 iPhone,进入设置 -> Wi-Fi 看到名为 sonoff-switch-****** 的 SSID
点击连接
连上后会自动打开 WiFi 登陆页面,选择一个可联网的登陆。
登陆成功后,打开家庭APP
点击 “添加配件”
点击 “没有代码或无法扫描?”
点击 红色矩形所围区域
点击 “仍然添加”
输入8位设置代码 “11111111”
等待添加完成
点击 “完成”
这时已经成功添加到家庭APP。把 ESP8266-01 插入 1 路继电器的 8 孔插座,接好 5v 电源和继电器接线,就能用手机对1 路继电器模块进行控制了。 但控制只能在同一 Wi-Fi 下进行,不能远程控制。如何进行远程控制在《ubuntu 上 ESP8266 HomeKit 实战(三)设置 iPad 为家居中枢使 ios 设备进行远程控制》中讲述。
相关博客
《ubuntu 上 ESP8266 HomeKit 实战(一)用 esp-homekit-devices 搭建开发环境》
《ubuntu 上 ESP8266 HomeKit 实战(三)设置 iPad 为家居中枢使 ios 设备具备远程控制能力》
《ubuntu 上 ESP8266 HomeKit 实战(四)1路继电器 + 1个触摸开关》
《ubuntu 上 ESP8266 HomeKit 实战(五)2路继电器》