单片机学习小组
直播中

英雄孤寂

11年用户 1187经验值
私信 关注

如何解决esphome upload固件编译出错的问题

编译esphome upload固件到nodemcu板子上发生崩溃是怎样回事?如何解决esphome upload固件编译出错的问题?

回帖(1)

常静娜

2022-2-15 14:04:50
环境介绍:
  esphome 1.14.5
  最近搬了新家,作为一个老码农就想自己准备搞一些智能家居的事情,所以准备自己做一些传感器设备,捣腾上了esphome。
  1. 树莓派安装完esphome之后, 通过pc ssh 树莓派 启动
           esphome esphome_config/ dashboard  
  2. 然后直接使用esphome upload 固件到nodemcu的板子上,编译到一半奔溃了,这个时候不管是单纯的编译固件还是upload 固件 都会出现一个异常

   
  raise JSONDecodeError("Expecting value", s, err.value) from None
网上各种搜索找不到答案,最后决定使用我三流入门级python基础开始阅读源码。
发现下列文件
/usr/local/lib/python3.7/site-packages/platformio/util.py
这个工具类里使用了缓存机制,esphome 固件使用了github 上很多开源组件,所以下载之后并缓存了,缓存时间为1小时,由于前面提到upload 失败,中断了编译,缓存生成了key, 但是缓存内容为空,造成了前面提到的异常,所以调整一下代码,让缓存判断为没有缓存,让工具类去重新拉一下github上的内容同时更新一下缓存。这个问题就应该能解决了。
  如图加一行代码

   
重新在esphome 里重新编译一下,测试通过,问题解决。
希望帮助到有需要的人。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分