升级Sonoff Stock Firmware到Sonoff- tasmota - USB到串行,和OTA更新方法

这篇文章最初应该是第2部分Sonoff B1灯泡评论,我会解释使用OTA机制更新到Sonoff-Tasmota开源固件是多么容易,并简要介绍它的特性和功能。亚博体育官下载然而,我花了超过10个小时来实现它,主要是由于文档中的误解,以及配置路由器的时间。我第一次使用Sonoff B1也失败了,所以我使用了串行控制台方法,而不是设法使用SonOTA方法,Sonoff POW从股票固件切换到Sonoff- tasmota,而无需焊接或拆除任何东西。

用USB到串口板更新软件

在Sonoff设备或其他基于ESP8266的设备中,使用USB到串口板是从普通固件切换到开源固件(如ESPurna或Sonoff- tasmota)的最常见方法。这是非常直接的Sonoff开关,如Sonoff TH16。

点击放大

你只需要焊接一个4针2.54毫米间距头,连接板,并使用esptool闪光的图像。首先,你可以简单地移除导线,将头部留在原位,然后将外壳放回原位。但使用Sonoff B1灯泡就不那么容易了。首先,电路板上没有通孔,你需要在小焊锡垫上焊接多达6根电线。

点击放大

GND、Tx、Rx、3.3V必须焊接并连接USB到串口板,而GPIO0必须短接才能进入编程模式,所以我又为GPIO0增加了两条线,增加了一个GND引脚。

点击放大

重要警告:切勿同时连接串口板和AC/市电。你的设备和生命可能受到威胁。

现在我们可以下载固件的最新版本,安装esptool,将USB连接到串口板到您的计算机-这也将提供电源到板-,并运行esptool刷新固件:


这非常简单,如果一切正常运行,输出应该如下所示:


市场上的大多数产品在第一次启动时默认为接入点模式,但Sonoff-Tasmota的开发人员决定在客户端模式下提供预构建的映像,通过SSID连接到默认接入点:indebuurt1;密码:VnsqrtnrsddbrN.这有点麻烦,因为在将其更改为您的家用路由器之前,您需要使用这些凭据配置另一个路由器。另一种方法是构建一些源,并更改默认AP设置,使设备在闪烁后可以立即连接。不过,我还是希望默认为AP模式的图像会更好。这实际上对大多数Sonoff设备来说不是问题,因为你可以切换到AP模式这个按钮(4个短按),但Sonoff B1没有。

现在想象一下,你有一打或更多的Sonoff B1灯泡,需要更新到Sonoff- tasmota。这将是一个真正的痛苦焊接和拆除所需的电线为每个灯泡。一个解决方案是创建一个夹具与pogo大头针固件更新,如下图所示,是专门为AI Light设计的。你只需要弹出灯泡,点击夹具,闪过序列,拆除臂,重新安装灯泡,你就完成了。

我不知道是否存在Sonoff B1,但上述夹具肯定可以定制与它工作。

SonOTA - Sonoff OTA固件更新方法

然而,在理想的情况下,您宁愿完全不与硬件打交道。如果只有ITEAD Studio提供了一种上传自定义固件和他们的股票固件的方法,那将是理想的,但现在不是这样。幸运的是,OTA机制是逆向工程,而且SonOTA是一种(实验性)实现,允许在不改变硬件或需要特殊夹具的情况下将替代固件闪存到Sonoff设备。

该方法在Sonoff-Tasmota维基在Sonoff B1上不起作用,因为在配对模式中没有广告SSID,但是有人在github用DNS欺骗更新了一个灯泡。由于我使用Sonoff B1的第一种方法,但只有部分成功地使它工作,我切换到Sonoff POW,并成功地测试了DNS欺骗方法。有几个项目是必需的,所以我画了一个图表来说明它们是如何相互作用的。

  1. 家用路由器就是你通常用来上网的WiFi路由器
  2. 带有eWelink的智能手机需要在Sonoff设备上配置WiFI,并将其升级到最新的股票固件版本。它还可以用来方便地检查访问点。
  3. 该WiFi笔记本运行SonOTA,并将作为位于xx-disp.coolkit的ITEAD Studio固件更新服务器。Cc(例如cn- dip .coolkit。cc, eu-disp.coolkit。cc等…)
  4. “临时”路由器与DNS欺骗将确保xx-disp.coolkit。ccredirect to your laptop/computer running SonOTA, so it takes over when Sonoff device tries to update the firmware. It still needs to be connected to the Internet.
  5. Sonoff设备-我们想要更新的设备

如果你有一个基于Debian的路由器,你可能会将路由器、带有DNS欺骗功能的路由器和WiFi笔记本电脑组合到一个设备中,但在我的例子中,我仍然将这三种设备分开,因为家用路由器不支持DNS欺骗,而且我没有在临时路由器上安装SonOTA。

第一步是将Sonoff设备与eWelink应用程序配对,将其连接到您的家庭路由器,并将固件更新到最新版本,在我的情况下是2.0.4。

点击放大

现在你可以配置临时路由器使用DNS欺骗。我没有多余的路由器有这样的功能,所以我就用了VS-RK3399板与Debian,并将其配置为带有hostapd的路由器,并使用iscsi -dhcp-server这些指令.这一部分很大程度上取决于您的路由器,以及您是使用Debian还是其他Linux发行版。以下是我使用的一些主要配置文件:

  • /etc/hostapd/hostapd.conf

  • /etc/network/interfaces

  • /etc/dhcp/dhcpd.conf


下一步是配置DNS欺骗。我一开始是dnsmasq,我可以成功地确认它的工作,但无论出于什么原因,Sonoff B1/POW仍然会连接ITEAD服务器。最后我尝试了dnsspoof,它工作正常。在Debian安装:


/etc/dnsspoof.conf配置文件将流量重定向到ITEAD / eWelink更新服务器到我的WiFi笔记本:


可以按如下方式运行:


DNS欺骗花费了我最多的时间,除了重新启动路由器本身的服务外,你还必须重新启动连接到路由器上的设备,以反映变化。我还篡改了路由器和笔记本电脑中的/etc/hosts文件,但这不是必须的,因为重要的是愚弄Sonoff设备。

让我们把无线笔记本电脑配置.它应该可以在Linux和Windows上运行,但我的是在Ubuntu 16.04上运行的,所以我用的就是这个。让我们创建一个工作目录,获取SonOTA代码,并安装所有必需的库和工具。


现在我们已经为更新做好了准备。在legacy和无供应模式下启动SonOTA脚本:


这将首先要求您选择WiFi接口,并输入您的SSID和密码,然后开始探测Sonoff设备:


在eWelink应用程序中删除Sonoff设备,并重新启动配对,这次将它连接到启用DNS欺骗的临时路由器,不久之后SonOTA脚本将开始将图像传输到设备:


现在您应该能够使用智能手机或笔记本电脑连接到FinalStage访问点,启动浏览器访问http://192.168.4.2。你应该看到下面的界面,点击scan for Wifi network,选择一个你想要替换indebuurt1 SSID的,以便连接到你的“家庭路由器”。
点击放大

点击页面底部的Save按钮,一段时间后,你就可以将Sonoff的网络界面接入到你的家庭网络中了

最后一步SonOTA.py脚本的输出日志:

成功!最后,现在你可以配置Sonoff- tasmota来使用你的实际设备-在我的情况下Sonoff POW -而不是Sonoff Basic。在即将发布的帖子中,我将在Sonoff- 亚博体育官下载tasmota测试Sonoff B1时展示更多。选择串行还是OTA方法取决于你需要更新的设备数量,以及/或你更喜欢焊接还是打乱网络设置。如果你在追求大量Sonoff B1灯泡的最大效率,那么一个夹具与弹簧高脚针应该是迄今为止最快的方式来刷新他们所有。

分享:

支持CNX软件!www.yabo188.vip通过捐款贝宝cryptocurrencies成为一个老板Patreon,或者购买评论样本

订阅
通知的
客人
评论表单收集您的姓名、电子邮件和内容,以便我们跟踪网站上的评论。请阅读并接受我们的网站条款和隐私政策发表评论。
7评论
最古老的
最新的
盖太诺
盖太诺
3年前

好消息!Please tell us when this will also work with your Sonoff POW! Tks!

tmunzer
tmunzer
3年前

也许我是完全愚蠢的,但使用像一个orangepi PC+armbian+pi-hole(作为dns服务器)+ Sonota;通过以太网连接路由器可以更容易的设置?我错过了什么吗?

威尔莫
威尔莫
3年前

你只需要弹出灯泡,点击夹具,闪过序列,拆除臂,重新安装灯泡,你就完成了。

纱线!你要在海盗国际谈话日迟到了,伙计!

卡尔•约翰逊
卡尔•约翰逊
3年前

我发现升级固件一旦安装tasmoto是2步,当我尝试。不得不做一个最小的升级,然后升级到最终版本。

广告