垃圾佬的选择,M1悟空--刷机、HA接入全过程及经验分享
创作立场声明:希望此篇文章可以帮助值友在玩HA的路上,越走越远。
这又是一篇已经迟到很久的文章,大部分素材都是在4月底拍摄的,原计划5月完成,结果期间赶上两位同事先后离职,而我却是接交人,忙到天天加班到现在。。。这两天单位事务理的差不多了,也能让我有时间调整了一下,把这篇文章完成,毕竟已经答应了好几位值友了,好了,正文开始:
前言
随着生活品质的提高,智能家居正在一步步的走进生活。老生常谈一下,目前的咱们能接触到的智能家居依旧处于自动化阶段,即事先设计编写自动化命令,通过触发器来触发,最后由相关设备执行自动化这样的规则,只是实现的方式、平台、自由度不同。
同时,伴随着用户群体的不断增大,各品牌细分产品线越发明显,各有特点,做为垃圾佬的我,肯定是细细的品味了一翻。之前文章给大家分享了几款可HA接入、且用不错的”非主流“产品,以至于文章解答到昨天。
今天就再带来一款垃圾佬选择
本期的主角就是M1悟空 空气检测仪,通过APP可以手机查看,但仅可以与自家设备联动,后来没了服务器之后,只能当作桌面摆件,充当电子表、温湿度计使用了,如果真的拿它去检测家里的空气质量的话,也就是趋势,不要纠结具体的数字,与专业检测设备相比,差距还是存在的,但如果与其他民用设备相比,至少传感器品牌是相同的,而价格却有很大优势。
另外,空气检测仪本来就是个坑,它是为了空调净化器而准备的,身处北方城市,无法想太多,只能说感谢柴静调查《穹顶之下》,不过近几年,国家也是通过一系列动作,再现了蓝天、白云。。。。
而我更侧重于M1可以显示时间和温湿度,可以比较直观的查看,而整体外型放在桌面上又不违和,其实我是缺个时钟,至于主要区域显示pm2.5、甲醛的值是红色、橙色、绿色的数字我并不在意,开窗通风,分分钟让它变绿。
对于接入HA的方案其实也有许多:
1、最早通过API实现,但需要官方服务器支持,实际使用并不稳定。
2、通过内网劫持,需自定议DNS设备,劫持M1向服务器发送的数据,但不是很完美。
3、通过刷机,更改固件内容,从而实现向指定服务器发送信息,完全摆脱束缚,较稳定。
4、貌似可以通过第三方APP连接,几乎与官网APP相同,但对于接入HA来讲,意义并不大。
也正是在近一年多的时间内,M1经历了上述变革后,闲鱼里全新从最早的60元一路飙升至120元的样子,至于值不值得买,大家可以参考下TB相关部件的价格(庆科的EMW3080BE、主控MCU ATSAMD20G17A、甲醛传感器G7 、PM2.5传感器ZE08-BL20、温湿度传感器SH30、数码管IC TM1680)。
另外,除非与我需求一致,否则不建议购买二手产品,因为传感器是有寿命的(文章结尾有彩蛋)
而上述的刷机方案则是来自于hassbian.com里的@猪头先生这位大神,原贴地址在这里,里面虽有详细的教程,但与实际情况略有差别,同时有几个重要的点交待的不够清楚,从而导致未能成功刷机、变砖,而这篇文章也是先前与猪头先生沟通、授权在值得买发布的,目的在于补充原教程中的坑点及分享刷机的经验及乐趣。
对于猪头先生这位大神,使M1在HA领域的磐涅重生的分享、贡献表示感谢,其价值可与TC1、DC1刷机比肩,更为重要的是,开启了许多扇门。
刷机
拆机工具:吸盘、撬棒、螺丝刀
拆机过程:
虽然整体外型上看不到一棵螺丝,但拆机的难度系数却很简单,跟着操作即可完成。
1、由于M1的外屏为卡扣方式固定,前人已经把标注出卡扣的位置,如下图
所以直接上吸盘大力出奇迹,效果基本可以做到无损。
2、如果人品比较好,就可以将屏幕及支架一起与机身分离开来,就是这样,省了一步操作。
上图可见,M1的外屏与支架,通过双面胶与屏幕支架粘连,如果力道大了,会出现支架不愿下来的情况,而我们只需要用撬棒再补个刀就可以了。
另外,M1的外屏为暗色亚克力材质,并非玻璃,所以可以大胆操作,同时不建议使用热风枪加热,原位置原胶更有利于复原。
3、用螺丝刀拆下两条螺丝,即可将主板与机身分离,注意排线,注意排线,注意排线
终于把芯片露出来了,刷机拆到这样就可以了,如果是更换零部件,就需要继续拆解,也几乎没啥难度。
主控来处于上海庆科的EMW3080,在智能家居领域应用较多,刷机也就更新原有固件内容。
刷机工具:
USB转TTL,建议使用CP2102芯片,别图便宜用CH340G芯片,别问我怎么知道的,已经刷坏了一块了,杜邦线若干。
刷机软件:
SecureCRT 8.5 ,提取码:7ck1
安装好程序后,插上电脑,查看com端口号
打开软件,设置协议为串口、端口号、速率为921600,其他均不需设置
刷机过程:
刷机分为两步,第一步写入新固件的过程;第二步读取、设置固件的过程。
接线说明:
EMW3080B模块引脚定义
引脚 9为EMW3080B 写入模式的TX
引脚10为EMW3080B 写入模式的RX
引脚16为EMW3080B 的VD3.3
引脚17为EMW3080B 的GND
引脚19为EMW3080B 的bootloader模式
引脚24为EMW3080B 读取模式的TX
引脚25为EMW3080B 读取模式的RX
TTL 的引脚接线说明(从上至下)
为方便操作建议放宽线长的标准或使用延长线,但手里杜邦线色有限,下述线色说明为TTL连接线色+延长线色
Vo 黄黑线 (3.3V供电)
TX 橙黄线
RX 红红线
GND接地 棕蓝线
GND短触 绿绿线
第一步,写入新固件的接线,写入固件全程使用TTL的3.3V为M1供电,M1不接USB供电。
引脚 9为EMW3080B 写入模式的TX 与 TTL的RX连接(红红线)
引脚10为EMW3080B 写入模式的RX 与 TTL的TX连接(橙黄线)
引脚16为EMW3080B 的VD3.3 与 TTL的Vo连接(黄黑线)
引脚17为EMW3080B 的GND 与 TTL的GND连接(棕蓝线)
引脚19为EMW3080B 的bootloader模式 与 TTL的GND连接(绿绿线)
tips: 为方便自己实现独立刷机,建议将部分插头弯成这样,以便临时固定。
先将RX、TX、GND线连(棕蓝线)连接固定好。
tips: TTL的RX/TX 与 EMW3080B的RX/TX为交叉连接、交叉连接、交叉连接
再将GND(绿绿线)接入,再接3.3v(黄黑线)M1供电
同时SecureCRT 8.5读取到信息,说明进入了bootloader模式,此时,可以松开GND(绿绿线),如果没有进入bootloader模式,需重新按照上述步骤进行。
输入1回车,进行固件的升级,同时可见Updating application...
固件直接选择带ota的MD5升级固件即可,mqtt@MK3080B@moc.ota-MD5.bin(这里是蓝字)
写入的过程,保证各根连接线正常连接,速度一般为12KB/s,时长约为45秒左右,如果不是这样,需重新操作上述步骤,写入完成时,不会有提示“成功”字样。
这时,我们输入6,退出固件升级模式,Booting.... ,然后断电,拔掉3.3V供电,即可。
第二步读取、设置固件的过程
调整接线
引脚17为EMW3080B 的GND 与 TTL的GND连接(棕蓝线)
引脚24为EMW3080B 读取模式的TX 与 TTL的RX连接(红红线)
引脚25为EMW3080B 读取模式的RX 与 TTL的TX连接(橙黄线)
tips:此时EMW3080B并没有任何供电,不要连接TTL的3.3v供电
修改SecureCRT软件的串口参数,将速率调整为115200
接通M1机身的USB供电,就可以读取到当前的信息了
进行MQTT设置,在下方的命令行输入mqtt服务的ip地址、端口号、mqtt的用户名、mqtt的密码
e.g.: mqtt set 172.16.1.80 1883 mqtt mqtt
设置成功后,可以看到反馈信息
wifi设置,同样在下方的命令行输入wifiparam set -ssid 名称 -key 密码
e.g.: wifiparam set -ssid homewifi -key 123456
设置成功后,可以看到wifi的连接情况
至此,全部刷机操作完成,可以按顺序回装了。
HA接入
抽只烟庆祝一下,顺便试试效果如何,数值攀升的很迅速。
屏幕亮度调节:
tips: 关于M1屏幕亮度的设置,使用的是HA的自动化设置方式实现的,由于Package内的自动化不会被HA检查,所以还是把这部分内容放在automations.yaml比较省事、省心。
至于如何联动,看自己需求吧,比如,放在卧室的M1从22点至次日7点间为25%亮度,同时与小米人体传感器联动,期间识别到有人下床(人体传感器放在床下)后5秒,将亮度调整到50%,识别为无人后,将亮度自动降为25%。
空调联动
空调通过小米的空调伴侣实现的智能化,但HA接入需要额外的温湿度传感器配合使用。
没有对比,就没有伤害,如果与空调联动,别影响到睡眠质量。
左图的设备原在卧室,因为间隔时间较长,直接放在温度不那么敏感的卫生间。
话外音:
之前用CH340芯片刷坏了一台,完全的操作失误(设备不对),好在只是EMW3080B板子里bootloader坏了,其他部件都是好的,还好闲鱼里有卖不带传感器的,买来一台,换完板子直接刷机,又是一台可用的,其他当备品了。
彩蛋在此:
如果与我一样,没有PM2.5和甲醛的监测需求,不带传感器的M1即便宜又实用。
tips: 除了闲鱼,还有一个叫转转的APP,可以看看。
眼睛君
校验提示文案
花色的秋裤
校验提示文案
值友6161674748
校验提示文案
值友4606144511
校验提示文案
周董0225
校验提示文案
囚鱼叔
校验提示文案
真实小白
校验提示文案
小猪妈
校验提示文案
周董0225
校验提示文案
不落
校验提示文案
云海之上
校验提示文案
joln
校验提示文案
cristiano1986
校验提示文案
chuanzai
校验提示文案
Sonny_Hoo
咸鱼129呢,,时间准不
校验提示文案
xlovel0
校验提示文案
值三刀
校验提示文案
maxmib
校验提示文案
yyrtnn
另外请教下,那个phicomm_m1_a.yaml放在哪里,在configuration.yaml通过什么命令调用啊。
校验提示文案
uscamel
校验提示文案
超Wongzta
校验提示文案
吻上你的心S
校验提示文案
Potat0
校验提示文案
清风湖来
校验提示文案
美逛家
校验提示文案
轩轩零
校验提示文案
波粒二象性
校验提示文案
Geralt13775
校验提示文案
johnkath
校验提示文案
nick1602
[512017][mqtt: mqtt_main.c: 214] Connecting...
[518455][mqtt: mqtt_main.c: 218] Error(-3> connecting to 172.16.1.80:1883
[520508][UART RECV: uart.c: 109] fhcho_value: 0.00, ftmp_value: 25.6, fhum_value: 57.5 , fpm25_value: 36
[548463][mqtt: mqtt_main.c: 214] Connecting...
[550522][UART RECV: uart.c: 109] fhcho_value: 0.00, ftmp_value: 25.6, fhum_value: 57.9 , fpm25_value: 38
[554890][mqtt: mqtt_main.c: 218] Error(-3> connecting to 172.16.1.80:1883
[561035][UART RECV: uart.c: 109] fhcho_value: 0.03, ftmp_value: 25.6, fhum_value: 58.5 , fpm25_value: 38
[570547][UART RECV: uart.c: 109] fhcho_value: 0.03, ftmp_value: 25.6, fhum_value: 58.8 , fpm25_value: 42
[580559][UART RECV: uart.c: 109] fhcho_value: 0.03, ftmp_value: 25.6, fhum_value: 58.8 , fpm25_value: 44
校验提示文案
拉玛塔塔
校验提示文案
值友5130065289
校验提示文案
值友4498357830
校验提示文案
新月下的狼
校验提示文案
值友2431597885
校验提示文案
等风的大旗
校验提示文案
pm00
校验提示文案
JAKEMen
校验提示文案
Sorayama
校验提示文案
哪谁家小哪谁
校验提示文案