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

 找回密码
 立即注册
查看: 28103|回复: 10

给小白看的:ESPHome刷机的基本逻辑,尤其是第一次

[复制链接]

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12119
金钱
9100
HASS币
460

教程狂人突出贡献

发表于 2020-7-8 08:01:07 | 显示全部楼层 |阅读模式
本帖最后由 XCray 于 2020-7-8 08:32 编辑

经常看到有人问,单独发个帖子,希望可以帮到需要的机油吧。

先说个比方(成人的,这里没有少年儿童吧?)。

比如你是一个小伙(姑娘也行),想和心仪的姑娘(小伙)发生关系,尤其是第一次,总得先能和对方沟通、取得对方同意吧?你俩起码得匹配吧?我的意思是就像电源插头和插座那种,欧式的美式的还是日式的?两个脚还是三个脚?扁的还是圆的还是方的?不匹配肯定插不进去对吧?

给ESP8266/ESP32的各种板子烧写固件也是同样的道理!你的最终目的就是把符合自己要求的ESPHome固件烧写到板子上的flashROM里。

在第一次成功刷入ESPHome编译的固件并成功联网之前,你的板子与ESPHome是没有任何关系的!这时候OTA是绝对理所当然无法成功的。

OTA的本义就是Over-The-Air,通过空气,要想用ESPHome直接OTA,板子必须先成功联网、并能够认识ESPHome的OTA指令才行,而做到这两点(关键是后一点),必须运行ESPHome固件才行(这个固件还必须有OTA功能)。

这是个先有鸡还是先有蛋的问题?其实不是。板子本来的固件就跟ESPHome没有任何关系,不能接受ESPHome OTA指令当然是天经地义的啦。

那么怎么才能让板子运行ESPHome固件呢?答案就是把ESPHome固件烧写进去。

而实现这一步,又需要根据板子本身的固件及其与电脑的连接而定。

- 如果板子已经运行ESPEasy、tasmota等具有OTA功能的固件且已成功联网,可以用“原固件规定的OTA方法”、把新编译的ESPHome固件用OTA的方式刷进去——这时候绝对不能在ESPHome上操作,因为你的板子和ESPHome还没有发生任何关系! (其实这一点是废话,已经刷过ESPEasy/tasmota固件的,已经就不是小白了。没刷过这些固件,这句话没有什么意义,甚至可能还是干扰)

- 如果板子没有OTA功能(或者不会用,比如某些出厂固件),那就必须通过USB口建立物理连接来完成第一次ESPHome固件烧写。这时候一定要头脑清醒——你的板子是连在哪个电脑哪个系统的、就只能在哪个系统里运行刷机工具。

由于对虚拟机、Docker等本来就稀里糊涂,这时候很多小白脑子就成了一团浆糊——ESPHome服务器运行在另一个系统、你只是在你自己的电脑上(往往是Windows)用浏览器访问ESPHome、你把板子插在自己电脑上指望ESPHome服务器替你刷机,怎么可能呢?
这时候你又有两个选择:

- 把板子连接到ESPHome服务器所在的系统里(也许是虚拟机、也许是docker容器)、重启ESPhome服务器、烧写
这个方法绝大多数小白是搞不定的。大部分都是在docker里跑的ESPHome服务器。如果你闹不明白或尝试失败了,建议采取下面的方法。

- 把固件下载到本地(就是你自己在用的windows系统)、在本地用任何刷机工具刷(任何刷机工具都可以,esp官方的、esphome的、python的、espeasy的、tasmota的等等任何一个都行)

当然,这时候还需要了解板子的具体型号和刷机步骤,有些需要按什么键、有些需要拉高拉低某个引脚之类的。


最后,奉劝没有计算机/编程/网络/嵌入式基础的小白,不要轻易入坑,实在要入坑的话也一定要做好被折磨的心理准备、勇敢地假装出谦卑的姿态发帖求教,千万不要自以为很聪明、动不动就说xx工具有缺陷、xx设计反人类的话——这只会暴漏你不够了解不懂想不明白甚至智商不够的事实!能设计出这些东西的人,在相应领域绝大多数都比你更有经验、更有发言权、也考虑的更周到更细致更全面。

评分

参与人数 3金钱 +42 HASS币 +20 收起 理由
lyr_0047 + 2 高手,这是高手!
+ 20 + 20 我来瀚思就为看你!
antsunzj + 20 在下对你的景仰犹如滔滔长江之水,连绵不绝.

查看全部评分

回复

使用道具 举报

73

主题

1165

帖子

6675

积分

论坛元老

Rank: 8Rank: 8

积分
6675
金钱
5505
HASS币
30
发表于 2020-7-8 08:31:07 | 显示全部楼层
形象生动
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12119
金钱
9100
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-7-8 12:56:18 | 显示全部楼层
借着测试,我写了个详细的、非常适合小白对着一步一步操作的刷机步骤:

可能是史上最简单、最适合小白的 初次 ESPHome固件烧写过程
https://bbs.hassbian.com/thread-10376-1-1.html
回复

使用道具 举报

14

主题

155

帖子

1153

积分

论坛DIY达人

积分
1153
金钱
988
HASS币
40
发表于 2020-7-8 15:18:33 | 显示全部楼层
车速不算快  开的比较稳  
回复

使用道具 举报

215

主题

571

帖子

4190

积分

论坛元老

Rank: 8Rank: 8

积分
4190
金钱
3619
HASS币
0
发表于 2020-7-8 16:34:11 | 显示全部楼层
你好,请问SONOFF BASIC R3怎么刷ESPHOME呀
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12119
金钱
9100
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-7-8 20:19:54 | 显示全部楼层
newspaper 发表于 2020-7-8 16:34
你好,请问SONOFF BASIC R3怎么刷ESPHOME呀

没用过这个,大概看了一下esphome的文档,几个要点:
1、需要焊接 ttl 线,包括3.3v、gnd、tx 和 rx。
2、加电前按住按钮(或者用杜邦线短接),加电后2~4秒松开,就会进入编程模式,只有在编程模式下才可以烧写固件
3、剩下的和其他模块刷机没啥区别,烧写工具里可以看到具体进展或信息

千万要注意:烧写时是绝对不要接到220v电源上的!就用USB转串口小板上的3.3v给sonoff供电就行。烧掉什么电路事小,触电可不是闹着玩的!!!

回复

使用道具 举报

0

主题

41

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
金钱
207
HASS币
0
发表于 2021-3-16 21:09:49 | 显示全部楼层
我来瀚思就为看你!
回复

使用道具 举报

3

主题

20

帖子

106

积分

注册会员

Rank: 2

积分
106
金钱
86
HASS币
0
发表于 2021-6-25 16:36:02 | 显示全部楼层
想问下 既然8266可以搭建起来http服务器 那为什么 homeassistant不能搭建在8266上  
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12119
金钱
9100
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2021-6-25 18:01:47 | 显示全部楼层
775728212 发表于 2021-6-25 16:36
想问下 既然8266可以搭建起来http服务器 那为什么 homeassistant不能搭建在8266上   ...

哈哈,好问题。我折的纸飞机也可以飞,你要不要坐一趟呢?不收票钱。。。
回复

使用道具 举报

0

主题

76

帖子

495

积分

中级会员

Rank: 3Rank: 3

积分
495
金钱
419
HASS币
0
发表于 2024-2-29 10:14:59 | 显示全部楼层



好车,稳稳地


幸福
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-26 00:24 , Processed in 0.054740 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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