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

您所在的位置:网站首页 cm2111ys刷机 给小白看的:ESPHome刷机的基本逻辑,尤其是第一次

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

2023-10-11 01:54| 来源: 网络整理| 查看: 265

本帖最后由 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设计反人类的话——这只会暴漏你不够了解不懂想不明白甚至智商不够的事实!能设计出这些东西的人,在相应领域绝大多数都比你更有经验、更有发言权、也考虑的更周到更细致更全面。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3