本文一共6022字,58图,需用时15分,请随意阅读。
前言
这是本人写关于Homeassistant的第二篇文章,拖了很久一直想把坑填完,先暂时把USB摄像头内容删掉了,因为网络的原因,下载一些包经常失败,不过后面进度应该就快了。M1内容的话,HACHINA大佬的配置在我这边没办法实现,还是无法收取M1的数据,所以内网劫持这个方法我就放弃了,恰好手头上又买来了TC1和JLink刷机线,所以就一并把M1也刷了。
刷机方法需要搭建MQTT,因为新版的Homeassistant弃用了自身的mqtt功能,0.93版本之前的自带mqtt的。所以本文也会讲到如何搭建MQTT,这也是新手会遇到的大坑。
Homekit实现起来非常简单,Homeassistant应该已经自带Homebridge了,如果需要远程控Homekit控制家里的电子设备,就需要Homepod、Apple TV或iPad作为家庭中枢一直放在家里,后文会讲到。N1新手请先参看前序文章。
本文TC1和M1的固件均来自GitHub大神Zip Zhang,未经其允许,本文不提供下载,请自行到GitHub下载,在此感谢Zip Zhang对斐讯产品的支持。
目录:
一、TC1刷机激活
1.1 TC1拆机
1.2 TC1刷机
1.3 TC1配网激活
二、M1刷机
2.1 M1劫持接入(本人测试未成功)
2.2 M1拆机
2.3 M1刷机
2.4 M1配网
三、MQTT搭建
3.1 Docker搭建emqx并配置
3.2 armbian搭建mosquitto并配置
3.3 zControl连入mqtt服务
四、TC1、M1接入Homeassistant
五、Homekit配置
六、总结
一、TC1刷机激活
TC1目前无法通过劫持来连入Home assistant,只能通过刷机,固件是Github上的作者a2633063所做,目前稳定在1.0.2版本,具体固件下载和刷机步骤请参考原作者,这里不做介绍,因为版本不同,可能会略有改动。原作者提供的是A1版本的固件,A2版本的可以参考其他作者,刷机更麻烦一点。
为了避免争议,本文不提供固件,请到原作者GitHub下载。
1.1 TC1拆机
作为踩坑大使,笔者当然要为你们摸清路子,拆解刷机主要的坑有:
坑1:T9螺丝,请一定要确认好自己有T9螺丝刀,一般螺丝刀小工具会包含,另外螺丝中间会有一个细柱,只需要用细的螺丝刀把它翘断即可,不需要中空的T9螺丝刀。
六角星这种
去掉螺丝后,还有卡扣固定住插排的,需要用力振动下来,亲测这两个位置,底下不要垫太乱的东西,用手锤的时候请在上面垫厚一点的衣服,不然有点疼。一般锤两下就搞定。
握拳捶这两个地方,把卡扣振开
为避免部分商家卖错货,请确认一下这个芯片,MXCHIP的才是A1版本。
认准芯片
盒子底部也有
1.2 TC1刷机
这款J-Link下载器可用(已测试)。
购买的J-Link下载器带的接线颜色可能会有误,请一定要确认好接地和3.3V。
坑2:一定要确认刷机接线,商家发送的Jlink刷机线有可能红色为地,黑色为3.3V,请确认触点顺序。
确认好线序
最好是通过焊接的方式,用手摁住非常吃力,因为差不多要一分钟左右时间,一动,很容易失败。
坑3:没有电烙铁工具的,可以手摁着排针,刷机过程大约60s左右,一定不要动,不然很容易刷机失败。手不稳的还是把排针焊接上去。(使用电烙铁一定要注意安全)
手摁着挺累的,不能抖
这是我第二个TC1,直接焊接的。当然焊接其实也不简单,不容易植锡,可能表面有油污。
注意:不要按我下图的颜色顺序,我改过的。
焊接的
设置部分,请按照下图或GitHub官方设置。
设置参数
然后Browse选择GitHub大神的all.bin固件,然后点Start,如果没连接好,会直接报错。
选择固件后点Start
刷到100%后还需要验证固件。
验证固件
出现Verify Success(软件作者少了一个c)
刷机成功会提示Verify Sucess
如果中途连接失败,需要重新开始刷固件,按网友的经验来看刷不坏。
1.3 TC1配网激活
坑4:刷机成功后,请按照原作者Github上的方法进行配网,不要看别人文章的,旧的方法不适用于新的固件。(需要下载安卓软件zControl)
这是目前1.0.2版本的配网模式
连接zTC1热点
配网界面,输入wifi名称和密码,下一步即可。
配网界面
配网成功会有提示的。
配网后,可通过zControl连接TC1。zControl下载地址:https://www.coolapk.com/apk/com.zyc.zcontrol,目前版本1.1.0。
左上角三横进入设置,选择增加设备。
增加设备
选择获取局域网设备,请确保安装zControl软件的手机和TC1在同一个局域网。
获取局域网设备
然后可以看到zTC1,点击确认即可。
udp广播
未激活状态是无法使用控制插口功能的。
未激活
点击右上角铅笔图标,查看mac地址,复制这个mac地址,除了激活,后续连入homeassistant也需要用到。
复制mac地址
坑5:激活码需要加作者QQ自动发放,前提是要先得到MAC地址,配网后在zControl软件右上角铅笔图标内可以看到,按照作者格式发过去,会自动发回激活码。注意MAC地址要小写,另外不要用ios的QQ发,用windows桌面版。激活后,就可以通过zControl软件控制插排啦。
点击激活状态,输入激活码,就可以激活TC1啦,现在你就可以通过zControl控制TC1啦。
二、M1刷机
M1本人之前在Homeassistant老版本曾直接劫持连入成功过,但新版本一直报错用户列表为空。HACHINA大佬说可行,并给出了配置,我直接用其配置文件覆盖也不行,遂放弃了,直接刷机,有兴趣的朋友可以测试下。
2.1 M1劫持接入(本人测试未成功)
具体配网方式请看上一篇文章,需要用到安卓软件Easylink。
斐讯悟空M1 空气管家+Homeassistant接入教程+仿Homekit LOVELACE实战 + Nodered自动化编写
本文放弃劫持接入。
M1刷机固件和TC1同个作者制作的。
这是项目地址:https://github.com/a2633063/zM1,里面有详细操作和说明,M1无需激活码激活。
2.2 M1拆机
M1的拆机需要一点点动手能力,需要从正面面板入手(请忽视这膜)。
膜太脏了
在黑色面板四周慢慢用撬棒撬开,面板是通过双面胶和框架粘合的。
撬开面板
这个框是通过卡扣连接的,撬的时候很容易卡扣断裂。
框架
总共有10个卡扣,如果要无损拆的话估计有点累,我反正是断了几个。
断几个问题不大
可以看到温度下面是有触点的,这个应该是官方用来TTL刷机的。
TTL触点
拧掉显而易见的两颗螺丝,就可以把显示面板拿出来了,一定要小心,后面有几条排线。扁平排线是有扣的,要把黑色的扣打开,然后才能把排线拿出来。
排线
这就是要刷机的板子,可以看到和TC1用的同样的MXCHIP,不过型号不同,这个是EMW3080,TC1是EMW3031。
主板
刷机主要要接1、2、16、17四个引脚。
刷机引脚
2.3 M1刷机
M1刷机可以通过TTL也可以通过JLink刷机,我推荐后者,直接用编译好的固件,固件下载请参考项目原文。虽然都是JLink刷机,但是刷机软件和TC1的不同,并且如果先M1刷机,驱动需要更换并卸载,然后重新安装TC1的刷机软件才能再次刷TC1。
引脚1:SWD CLK
引脚2:SWD DIO
引脚16:VD33
引脚17:DGND
引脚16是在引脚17的上方那个,借用下原作者的图片。
引脚连接
整理时发现没有拍接线引脚照片,我也是直接把接线头用砂纸磨细了,然后直接插在引脚孔里的,没有焊接,可以参看GitHub文档,烧录软件和固件请都从原作者GitHub下载。
首先需要把下载的*.all.bin文件名称改成all.bin文件,然后放入烧录软件firmware文件夹。
改为all.bin
然后运行烧录软件中的先运行分割.bat脚本。
先运行分割.bat
然后cmd界面会运行一些时间进行固件分割。
固件分割
all.bin分割为三个bin文件。
分割完成
然后到Jlink driver文件夹,运行zadig.exe,在option里选择list all devices,下面拉选J-Link,然后Replace Driver上选libusb-win32,然后点击Replace Driver。
Replace Driver
更换成功
然后去设备管理器确认一下,看libusb里是否有J-Link。
确认驱动
最后确认下是否接好引脚,然后点击烧录软件里的再运行烧录.bat脚本,cmd界面10几秒就自动关闭了。
烧录过程
是否刷机成功需要看上电后是否有zM1的热点,具体请看配网部分。
2.4 M1配网
刷机完成后,重新上电,M1会开启wifi热点,只要用手机连入该热点即可,一般为zM1开头的。
ZM1热点
连入热点后,手机浏览器输入192.168.0.1,登入到配网界面。填写WIFI名称和密码,下一步即可,激活码不需要填。
配网界面
显示成功后即配网成功,此时可以通过zControl连接M1设备,添加设备界面默认会自动识别到M1。
mdns识别
如果没有识别,可以点击获取局域网设备,会通过udp广播扫描附近设备,点击确认即可。
udp广播识别
M1界面
虽然M1不需要激活,但是还是需要通过右上角铅笔进入设置,然后复制M1的mac地址,在接入homeassistant处需要。
三、MQTT搭建
MQTT服务的搭建,对于接触过的朋友来说其实很简单,但对于一些新手小白来讲就是无法上手,教程很多,但是很容易出错,并且有些教程太老,或者是系统不一样,不适用于N1。本章主要讲解两种方法搭建MQTT服务器,分别是Docker搭建图形化emqx和armbian搭建mosquitto。
3.1 Docker搭建emqx并配置
我是使用的小钢炮里的docker,SSH连接小钢炮,然后root下输入命令。
docker run -d --restart=always --name="emqx" -v /etc/localtime:/etc/localtime -p 18083:18083 -p 1883:1883 killadm/aarch64-emqx:30
然后等待,为此我又装了个小钢炮。
安装过程
安装成功后自动开启emqx的图像化网页。可以通过IP:18083来登录,默认用户名是admin,密码public,登录后可以更改。
emqx login
emqx管理界面。
emqx管理界面
至此emqx安装完成,ip为docker终端IP,端口:1883,账户:admin,密码为默认public或者你修改后的。
3.2 armbian搭建mosquitto并配置
root用户下,输入命令。
apt-get install mosquitto
安装mosquitto
如果安装失败,请更换网络,或者更换armbian源,安装完成后,需要设置用户名密码。
然后输入命令
mosquitto_passwd -c /etc/mosquitto/pwfile 你的用户名 会返回Password: 然后输入你的密码。 返回Reenter password: 再次输入密码。
回车,无报错则创建成功。
创建用户名和密码
mosquitto的ip地址就是armbian的ip,端口默认是1883,用户名和密码就是上一步刚设置的。
如果无法设置用户名和密码,可以先把mosquitto进程关闭,设置好后在开启,正常应该不用。
ps -ef | grep mosquitto
借用一下https://blog.csdn.net/weixin_30443731/article/details/95701086的图。
然后关闭掉相关进程,kill 数字代码
3.3 zControl连入mqtt服务
zControl软件界面,左上角三横进入软件设置,然后左下角齿轮设置。
左下角进入mqtt设置
分别填入MQTT的地址,IP:1883,用户名和密码。
配置MQTT信息
配置完成后,软件主界面左下角会显示已连入mqtt服务器,需同步。然后在TC1或者M1的控制界面,点击右上角云朵图案,进行一次同步即可。
云朵图案进行
同步成功后,就可以用MQTT方式控制TC1和M1了。zControl界面可以配置插口的开启和关闭时间以及M1的亮度定时调节,功能也还不错。
四、TC1、M1接入Homeassistant
TC1和M1接入到Homeassistant可以参考 GitHub作者a2633063的官方文档,主要是配置package里的yaml文件,对于新手来说可能要先了解一下yaml文件编写规则。这里提供package完整文件,但是请替换MACMAC为自己TC1或者M1的mac地址,packages(提取码:u7nj)。
替换后,直接将tc1.yaml文件和m1.yaml文件放入到package文件夹中,注意请一定要把MACMAC替换成你自己设备的12位小写mac地址。
替换MACMAC
然后请打开configuration.yaml文件,确保里面包含以下语句。
要包含packages配置。
packages
mqtt配置以及homekit配置。
mqtt和homekit
然后重启,去实体里寻找你的TC1和M1。实体配置部分请参考之前一篇Homeassistant文章。
五、Homekit配置
Homekit配置非常简单,因为Homeassistant自带HomeBridge,所以只要在configuration.yaml里写入homekit:就可以了。可以和第四章一起配置,少一次重启,如上图。
重启后会提示有新通知。
通知
然后可以看到Homekit的8位连接代码。
Homekit代码
然后打开iOS手机,找到应用家庭,打开后选择添加配件—>我没有或无法扫描代码—>输入代码。
设置三联
然后输入Homeassistant提示的8位数字代码。
第一次连入设置需要配置每一个开关或者传感器的位置,可以根据自己的要求分配。
设置三联
如果想要Homekit远程控制,需要一个苹果的家居中枢。Apple TV,HomePod或者iOS10以上的iPad。我没有设备,所以无法提供教程,你们可以测试下。
六、总结
Homeassistant目前笔者装了三个版本,hass.io的0.108版本,docker的0.109版本和armbian全局安装的0.107版本。hass.io相对于后两者有点臃肿,没那么流畅,不知道是不是网络的原因。docker下的homeassistant用着也还可以,小钢炮的docker还是不错的,有了docker,就可以做很多事情了。
Homeassistant的路还很长,目前离我的最小需求还差一个USB摄像头,就像平时没事情看看家里的娃娃,以后再找机会淘个二手pad,当homekit家庭中枢,上班也能看到娃,岂不乐哉。
N1作为一代玩物,游戏机、下载器、播放器、智能家居中枢、轻量化nas,可以说能胜任很多工作,并且功耗是真的低,唯一短板就是USB2.0的口,不过轻量化的要求也足够了,当然,人是不可能满足的,都希望各个功能集于一身,所以nas的配置才会越来越高。
N1刷机避坑指南的后续文章还有小钢炮的docker内容,以及轻量化nas的实现,nextcloud部署,一步一步来,我会带你们先走一遍的,哈哈哈哈。
最后,谢谢支持,希望这篇文章对你们有所帮助。