『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 32898|回复: 26

[修仙教程] Spark的homekit直连固件 esp-open-sdk编译教程

[复制链接]

11

主题

220

帖子

3351

积分

元老级技术达人

积分
3351
金钱
3096
HASS币
170

活跃会员教程狂人卓越贡献

发表于 2020-4-24 16:06:14 | 显示全部楼层 |阅读模式
本帖最后由 TwoOne 于 2020-4-24 16:22 编辑

这段时间可能会慢慢更新一些技术方面的帖子,但更多还是以成品为主,喜欢折腾的可以跟着我一起折腾。

今天这个帖子算是对上次发布的Spark进行一次固件更新,增加一种玩法。因为不停有朋友问我,能不能支持homekit直连?能不能支持homekit直连?

我心里小声bb,已经有了ha这么好的平台,自动化啥的都能够解决了,再来直连固件那不是开倒车嘛。。而且今天要是做了homekit的固件,过几天还会有小爱的直连固件,猫精的固件,小度的固件

不过既然有需求就试试吧。自己刚好有苹果的设备。索性找了些资料,基于sonoff的homekit直连。修修补补改改写出来了单路的homekit固件。三路的还需大神来一起帮忙看看,自己编程水平差点意思,而且实在是没有时间弄了,这里也抛砖引玉,希望有兴趣的大神来看看。

bdaed7a22c74cd3ea4fc3e18ed6fcae.jpg

所以大家想要用这个固件的,请只保留Spark中间的那个继电器,其他的可以空焊,当成一路的来使用。我手里也有一路的PCB板子,到时候我放出来。体积比这个还小一些,单路使用几乎完美了。

QQ图片20200424160236.jpg


固件下载(第一次试试回复可见啊):
游客,如果您要查看本帖隐藏内容请回复


使用方法:固件烧录之后,会生成一个Spark打头的SSID,连它!

2c0ce9c3b93c7403b08ade44e6febf7.jpg

连好后会自动打开192.168.4.1进行配网。没有自动打开的手动进去即可。
然后选择你家的WiFi,输入密码,join即可。

5c91b1e6a725864ca25972cf017a627.jpg
随后打开homekit,添加设备,输入代码,会自动发现Spark,输入代码 1111 1111。

0ef613fbdb79fbeb7d68f5e2884168a.jpg

这一步需要挺长的时间,耐心等待。
在串口中可以看到配对的进程。

微信截图_20200424150454.png

配置完成后就可以愉快使用了~
35cd9db16e49132f31a8dca89ec333b.jpg

Enjoy~


下面重点讲一下esp8266固件通过esp-open-sdk编译的过程

1、安装ubuntu。这个用虚拟机或者物理机都可以。我使用的版本为Ubuntu x64 18.04.4 LTS
相关教程可百度,这里不赘述了。

2、安装相关依赖
sudo apt-get update
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
cd ~/Download
git clone --recursive https://github.com/pfalcon/esp-open-sdk.git



4、编译一下
cd /Download/esp-open-sdk
make STANDALONE=y



5、手动下载相关文件
上一步编译会经历比较长的时间且大概率失败,因为网络问题,一些文件无法完成下载,所以需要手动下载放进去。
进入到这个目录中:Downloads/esp-open-sdk/crosstool-NG/.build/tarballs,可以看到如下的文件,大概率会缺少newlib-2.0.0.tar.gz
http://mirrors.kernel.org/sourceware/newlib手动下载后放入即可。
微信截图_20200424153609.png

6、配置系统变量。再make STANDALONE=y编译一次,此时应该就没问题没报错了。然后将将 eap-open-sdk 移动到 /opt 目录下

cd ~/Downloads
sudo mv -f esp-open-sdk /opt



在系统路径中加入编译器路径


export PATH=$PATH:/opt/esp-open-sdk/xtensa-lx106-elf/bin
此时就可以正式进行编译了。

7、克隆Spark的代码。

cd ~/Documents
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烧录就行了。
按照我的配置即可:
微信截图_20200424155212.png

也可以直接合并bin文件后从0x0位置烧录,大家随意~

合并好的固件我已经上传在上面了,大家回复可见,直接烧录即可。
如果有时间的大神能看看做个三路的固件出来就完美了~
抛砖引玉,呼唤大神!


评分

参与人数 3金钱 +30 HASS币 +20 收起 理由
whxciotw + 5 墙都不扶,就服楼主!
hanwei0708 + 5 专门注册账号来顶你!
+ 20 + 20 专门注册账号来顶你!

查看全部评分

回复

使用道具 举报

0

主题

4

帖子

38

积分

新手上路

Rank: 1

积分
38
金钱
34
HASS币
0
发表于 2020-4-24 16:37:06 | 显示全部楼层
:D:D:D:D:D
回复

使用道具 举报

0

主题

76

帖子

910

积分

高级会员

Rank: 4

积分
910
金钱
834
HASS币
0
发表于 2020-4-24 17:11:44 | 显示全部楼层
感謝分享
回复

使用道具 举报

6

主题

269

帖子

1074

积分

论坛积极会员

积分
1074
金钱
804
HASS币
0
发表于 2020-4-24 18:02:06 | 显示全部楼层
留个楼!!!!!1
回复

使用道具 举报

0

主题

240

帖子

4354

积分

论坛元老

Rank: 8Rank: 8

积分
4354
金钱
4114
HASS币
0
发表于 2020-4-24 21:21:14 | 显示全部楼层
感謝分享
回复

使用道具 举报

2

主题

109

帖子

3584

积分

论坛元老

Rank: 8Rank: 8

积分
3584
金钱
3475
HASS币
0
发表于 2020-4-25 08:56:12 | 显示全部楼层

感謝分享
回复

使用道具 举报

8

主题

382

帖子

1779

积分

金牌会员

Rank: 6Rank: 6

积分
1779
金钱
1397
HASS币
0
发表于 2020-4-25 21:07:54 | 显示全部楼层
谢谢反向,楼主不错,加油
回复

使用道具 举报

6

主题

243

帖子

1864

积分

金牌会员

Rank: 6Rank: 6

积分
1864
金钱
1621
HASS币
0
发表于 2020-4-27 20:33:20 | 显示全部楼层
感謝分享
回复

使用道具 举报

12

主题

145

帖子

1183

积分

金牌会员

Rank: 6Rank: 6

积分
1183
金钱
1038
HASS币
0
发表于 2020-4-28 16:58:46 | 显示全部楼层
感謝分享
回复

使用道具 举报

20

主题

310

帖子

1481

积分

金牌会员

Rank: 6Rank: 6

积分
1481
金钱
1171
HASS币
0
发表于 2020-4-29 10:11:15 | 显示全部楼层
编译环境还有其他吗?一定要ubuntu吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 10:12 , Processed in 0.190676 second(s), 42 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表