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

标题: Spark的homekit直连固件 esp-open-sdk编译教程 [打印本页]

作者: TwoOne    时间: 2020-4-24 16:06
标题: Spark的homekit直连固件 esp-open-sdk编译教程
本帖最后由 TwoOne 于 2020-4-24 16:22 编辑

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

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

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

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

[attach]22599[/attach]

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

[attach]22600[/attach]


固件下载(第一次试试回复可见啊):


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

[attach]22594[/attach]

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

[attach]22595[/attach]
随后打开homekit,添加设备,输入代码,会自动发现Spark,输入代码 1111 1111。

[attach]22596[/attach]

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

[attach]22598[/attach]

配置完成后就可以愉快使用了~
[attach]22597[/attach]

Enjoy~


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

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

2、安装相关依赖
  1. sudo apt-get update
复制代码
  1. sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf \
  2.     flex bison texinfo gawk ncurses-dev libexpat-dev python-dev python python-serial \
  3.     sed git unzip bash help2man wget bzip2
复制代码
  1. sudo apt-get install libtool-bin
复制代码


3、克隆esp-open-sdk
  1. cd ~/Download
复制代码
  1. git clone --recursive https://github.com/pfalcon/esp-open-sdk.git
复制代码



4、编译一下
  1. cd /Download/esp-open-sdk
复制代码
  1. make STANDALONE=y
复制代码



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

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

  1. cd ~/Downloads
复制代码
  1. sudo mv -f esp-open-sdk /opt
复制代码



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


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

7、克隆Spark的代码。

  1. cd ~/Documents
复制代码
  1. git clone --recursive https://github.com/LeeLulin/esp-homekit-direct.git
复制代码


8、替换main.c 文件,代码太长了,完整的main.c文件我贴在后面:
[attach]22592[/attach]

9、然后编译就行了
  1. cd Download/esp-homekit-direct
复制代码
  1. make -C devices/switch all
复制代码


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

然后用flash_download_tools_v3.6.5烧录就行了。
按照我的配置即可:
[attach]22593[/attach]

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

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



作者: shan7993    时间: 2020-4-24 16:37
:D:D:D:D:D
作者: sam402    时间: 2020-4-24 17:11
感謝分享
作者: a903497400    时间: 2020-4-24 18:02
留个楼!!!!!1
作者: jow672    时间: 2020-4-24 21:21
感謝分享
作者: sam_tw    时间: 2020-4-25 08:56

感謝分享
作者: peter5858    时间: 2020-4-25 21:07
谢谢反向,楼主不错,加油
作者: liantianji    时间: 2020-4-27 20:33
感謝分享
作者: bynow    时间: 2020-4-28 16:58
感謝分享
作者: zoujian019    时间: 2020-4-29 10:11
编译环境还有其他吗?一定要ubuntu吗?
作者: ljie0168    时间: 2020-4-29 12:42
感謝分享
作者: myhomeha    时间: 2020-4-30 12:19
Jesse ,画PCB用的什么软件 ,自己也来学着DIY下
作者: smdrv    时间: 2020-5-1 10:44
感谢分享!!!!
作者: 芯蓝科技    时间: 2020-5-4 09:48
好东西 谢谢分享
作者: Addref    时间: 2020-5-16 07:51
感谢分享!!!
作者: dcy411075564    时间: 2020-5-30 10:20
感謝分享

作者: 993544899    时间: 2020-10-17 18:14
mac下编译没成功,谢谢分享。

作者: photopicture    时间: 2020-11-2 17:47
感謝分享
作者: liqingbo    时间: 2021-2-17 23:44
持续关注
作者: annr01    时间: 2021-3-1 02:43
感谢分享
作者: hwhtj    时间: 2022-3-2 17:02
谢谢分享!
作者: 隔壁的王叔叔    时间: 2022-5-23 21:12
学习一下,感谢楼主
作者: MM666    时间: 2022-10-12 12:37
谢谢分享
作者: Jiqing612    时间: 2023-3-13 17:02
感谢楼主
作者: zhouyld    时间: 2024-4-10 19:28
这个支持esp-01s吗?

作者: hurley    时间: 2024-10-7 20:14
Xxfx.                 
作者: wumeisuan    时间: 2024-10-20 00:02
感谢分享




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5