本帖最后由 TwoOne 于 2020-4-24 16:22 编辑
这段时间可能会慢慢更新一些技术方面的帖子,但更多还是以成品为主,喜欢折腾的可以跟着我一起折腾。
今天这个帖子算是对上次发布的Spark进行一次固件更新,增加一种玩法。因为不停有朋友问我,能不能支持homekit直连?能不能支持homekit直连?
我心里小声bb,已经有了ha这么好的平台,自动化啥的都能够解决了,再来直连固件那不是开倒车嘛。。而且今天要是做了homekit的固件,过几天还会有小爱的直连固件,猫精的固件,小度的固件
不过既然有需求就试试吧。自己刚好有苹果的设备。索性找了些资料,基于sonoff的homekit直连。修修补补改改写出来了单路的homekit固件。三路的还需大神来一起帮忙看看,自己编程水平差点意思,而且实在是没有时间弄了,这里也抛砖引玉,希望有兴趣的大神来看看。
所以大家想要用这个固件的,请只保留Spark中间的那个继电器,其他的可以空焊,当成一路的来使用。我手里也有一路的PCB板子,到时候我放出来。体积比这个还小一些,单路使用几乎完美了。
固件下载(第一次试试回复可见啊):
使用方法:固件烧录之后,会生成一个Spark打头的SSID,连它!
连好后会自动打开192.168.4.1进行配网。没有自动打开的手动进去即可。
然后选择你家的WiFi,输入密码,join即可。
随后打开homekit,添加设备,输入代码,会自动发现Spark,输入代码 1111 1111。
这一步需要挺长的时间,耐心等待。
在串口中可以看到配对的进程。
配置完成后就可以愉快使用了~
Enjoy~
下面重点讲一下esp8266固件通过esp-open-sdk编译的过程
1、安装ubuntu。这个用虚拟机或者物理机都可以。我使用的版本为Ubuntu x64 18.04.4 LTS
相关教程可百度,这里不赘述了。
2、安装相关依赖
sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf \
flex bison texinfo gawk ncurses-dev libexpat-dev python-dev python python-serial \
sed git unzip bash help2man wget bzip2
sudo apt-get install libtool-bin
3、克隆esp-open-sdk
git clone --recursive https://github.com/pfalcon/esp-open-sdk.git
4、编译一下
cd /Download/esp-open-sdk
5、手动下载相关文件
上一步编译会经历比较长的时间且大概率失败,因为网络问题,一些文件无法完成下载,所以需要手动下载放进去。
进入到这个目录中:Downloads/esp-open-sdk/crosstool-NG/.build/tarballs,可以看到如下的文件,大概率会缺少newlib-2.0.0.tar.gz
去 http://mirrors.kernel.org/sourceware/newlib手动下载后放入即可。
6、配置系统变量。再make STANDALONE=y编译一次,此时应该就没问题没报错了。然后将将 eap-open-sdk 移动到 /opt 目录下
sudo mv -f esp-open-sdk /opt
在系统路径中加入编译器路径
export PATH=$PATH:/opt/esp-open-sdk/xtensa-lx106-elf/bin
此时就可以正式进行编译了。
7、克隆Spark的代码。
git clone --recursive https://github.com/LeeLulin/esp-homekit-direct.git
8、替换main.c 文件,代码太长了,完整的main.c文件我贴在后面:
main.c
(8.54 KB, 下载次数: 15)
9、然后编译就行了
cd Download/esp-homekit-direct
make -C devices/switch all
编译完成会在 /devices/switch/firmware 目录下生成 switch.bin 文件,且已存在 rboot.bin 和 blank_config.bin 两个文件。
然后用flash_download_tools_v3.6.5烧录就行了。
按照我的配置即可:
也可以直接合并bin文件后从0x0位置烧录,大家随意~
合并好的固件我已经上传在上面了,大家回复可见,直接烧录即可。
如果有时间的大神能看看做个三路的固件出来就完美了~
抛砖引玉,呼唤大神!
|