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

 找回密码
 立即注册
查看: 10876|回复: 1

Tasmota vs ESPurna vs ESPEasy (国外文章比较转贴~)

[复制链接]

2

主题

171

帖子

1175

积分

金牌会员

Rank: 6Rank: 6

积分
1175
金钱
1004
HASS币
10
发表于 2018-8-29 16:15:25 | 显示全部楼层 |阅读模式
源文出自于 : https://lobradov.github.io/FOSS-Firmware-comparison-overview/

给大家参考看看 !  (下半部有 有道 中文翻译)

You are here because you are already aboard the Home IoTbandwagon, so I don’t need to explain how interesting, exciting and fun it is,but are also here because you are not happy with the stock firmware Chinesevendors are providing for many of the ESP8266 based devices. Luckily, communitytook this issue in their hands, and over the course of year and a half, we saw3 amazing OpenSource projects that are addressing this (and many other) issues.In the next few blog posts, I’ll try to compare 3 most popular OpenSourcefirmware options from multiple angles, and hopefully help you decide which oneto go with. This post is an overview and introduction into different options,with a very high-level comparison between them.
Firmware overview
Sonoff-Tasmota, standing for Theo-Arends-Sonoff-MQTT-OTA, came as anevolution of previous tinkering projects by Theo Arends. Officially, projectstarted in January 2017, but it inherited a lot of assets from previous twoincarnations, so we can say that project actually started as early as January2016.
As name suggests, it was originally built to replacestock firmware for early Iteads Sonoff devices, but it grew to a project thatsupports many more ESP8266 based boards with a lot of sensors not originallyfound on Sonoff products.
Project is updated almost daily, exclusively by Theohimself, reworking some of the contributions from the developers community.
Community is very vivid and has a healthy mix ofdevelopers and “regular” uses that make sure firmware is generally usable. Thiscommunity is producing a lot of materials, including a lot of Youtube tutorialsand very nice Wiki pages, contributing to adoption and success of Tasmotaproject.
Very talented Xose Perez started ESPurna (play on theCatalan word for “spark”) in May 2016, as a project to provide adevice-agnostic firmware for ESP8266 boards. He apparently started with WemosD1 Mini board (being very generic) and added support for many other fabricatedboards, including Sonoff and others.
Xose is clearly an experienced software developer and asoftware architect, as project is very well organized and very wellarchitected, but at the same time, is missing wider social adoption, despitevery informative blog he runs.
Project is updated few times a day, exclusively by Xose,based on the discussions or minor contributions by community.
Community is smaller than the one of Tasmota and ismainly oriented towards developers skilled enough to match Xose’s knowledge andskillset. While there are few Espurna related videos on Youtube, they are farfrom coverage Tasmota got.
Technically, ESPEasy is the oldest alternative firmwareout there. It started in December 2015 by a Dutch team called “Lets ControlIt”, as their experiments in IoT and presumably, as part of their new companyoffering. They started with generic ESP8266 platform and added documentation onhow it can be used for fabricated boards, such as Sonoff, which is clearly ahardware of choice for many Home IoT projects. This approach makes it veryflexible and able to support any combination of sensors / actuators, butrequires a bit more configuration to get started.
Project is updated many times a day, mostly by few coredevelopers from Lets Control It, but they also merge code from othercontributors, which is quite nice and in the spirit of true OpenSource project.
Community size is comparable to the one of Tasmota, witha bit better balance between developers and “regular” users.
Common functionality
All 3 firmware options share some of the commonproperties:
·      They are OpenSource and built using Arduinoframework, and offer pre-compiledbinaries.
·      They support almost all IteadSonoff and quite a few other boards and modules, includingall 1M Flash devices. Of course, generic boards like NodeMCU or Wemos D1 aresupported as well.
·      All have a wide support for a lot of additionalsensors and actuators, including popular choices of I2C and 1-Wiresensors and power monitors. ESPEasy takes it even step further with a lot ofless usual stuff you would not consider as typical part of Home automation.
·      All support various LEDcontrollers with full LED color rendering, dimming, transitionsand some effects.
·      All support various WiFiconnection modes, including AP (hotspot) or STA (client) mode, withmultiple SSID configuration and Wifi Network scanning.
·      They support MQTT, both forsensors/actuators, as well as for own configuration. Some even offer specifictopic layout tailored for easier integration with popular automation logicsoftware, such as Home Assistant or Domoticz.
·      All support some protocols specific to homeautomation software, such as Domoticz HTTP, OpenHABHTTP and some others.
·      They all support integration into GoogleAssistant and AmazonAlexa.
·      Of course, all support Over-the-Airupdate (OTA) and configuration backup andrestore.
·      All firmware options have some localautomation embedded (button/switch to relay mapping), withsome taking one or two steps further in adding more capabilities (read belowfor more details).
·      They all support logging oversome interfaces, such as Serial, Syslog or HTTP, with configurable log levels.
·      All support time synchronization via NTP
Common areas for improvement
All firmware options suffer from the same common set ofissues and potential areas for improvement:
·      Secure communication / TLS -Neither firmware has proper support for TLS on all interfaces, making overallsecurity very hard to implement. Tasmota and ESPurna began supporting TLS forMQTT, but that addresses only part of the problem, and leaves Web UI andvarious other interfaces unencrypted and unauthenticated.
·      Documentation - beingOpenSource projects, neither firmware has a well structured, properly designedand implemented set of documentation that would really make it easy for averageuser to get to quick results. While some (Tasmota) are better than the others,it’s still a long way to go before average Joe would be able to download installationpackage and get his Sonoff up and running in 2 minutes. Maybe that’s currentlynot the focus, but I find more than 50% of questions in forums repeating overthe same 5% of beginners issues that could be solved by proper documentation.
·      IPv6 - Neitherboard supports IPv6 and relies on IPv4. While this might be less relevant inhome environments (where you can freely choose your own Private IP layout),it’s still taking away part of fun for planning and “doing things right”. Iunderstand IPv6 is more of a Arduino/ESP8266 framework issue than a individualfirmware issue, but it’s still an issue
Notable functional differences
Sonoff-Tasmota
Good
·      Web CLI - Tasmotafeatures console that can be used to debug and configure some aspects of thefirmware which are not exposed over Web UI. Console is still accessed usingbrowser and in some cases, is mandatory to set the device properly, which isalso a negative point for this firmware.
·      IR send and IR receive -Tasmota supports both raw and processed IR send and receive codes, embeddingsupport for major IR protocols. It also has high-level commands for Airconditioning control (utilizing IR send specifically for HVAC devices).
·      WS2812 LED string - withspecial “clock” mode for circular WS2812 strips.
·      433Mhz RF - receiving/ learning / sending 433Mhz RF codes.
·      mDNS discovery - candiscover MQTT server using mDNS protocol and connect to it.
·      Multiple language support -Sonoff-Tasmota includes I18N framework, and currently offers English, Deutsch,Dutch, Polish and Italian translations. I saw a PR with Simplified Chinese, andI’m working on Serbian translation as well.
·      One-size fits all precompiled binary - Theois really providing 2 precompiled binary images (excluding variants forlanguage): minimal image (used only for initial bootstrap) andone-size-fits-all image that includes support for all boards and all sensors /actuators. This is great for experimenting, but is not necessary once you knowwhat your board configuration is and can also lead you to trouble (configuringwrong board type might require you to reconnect your board to programmer, eraseflash and re-flash Tasmota).
Can be improved
(disclaimer - I have most experience with Tasmota, hencethis detailed list)
·      Inconsistent MQTT message policy -Tasmota sometimes has inconsistent MQTT messages, making it hard to integrateinto some home automation systems. Still, once you dig into documentation /forums and once you find out what works, you’ll be mostly fine.
·      Dependency on commands - somefunctionality is impossible to set using WebUI and set options are not visiblein debug messages. Reading docs, experimenting and knowing what you are doinghelps.
·      “All code needs to fit 1M boards” policy - Toensure compatibility with smallest Flash sizes, Theo is obsessed with size andinsists on including only features that all together fit 500K (half of 1M, toallow OTA). While everyone can recompile images to use different board layout,some features were not included, or were degraded in functionality to sizeconcern as “one-size-fits-all” image doesn’t fit magical 500K. Seems, withv2.4.0 of Arduino/ESP8266 framework, this will have to change, so dual-step-OTAprocess, introduced in June 2017 as suggested option and a best practice, willbecome mandatory.
·      Basic push-button support -buttons connected to Tasmota can either send press or long-press signal overMQTT, but not double-press, triple-press and similar gimmicks. Double-press isquite useful feature and it’s shame it’s not supported.
·      MQTT failover - Tasmotadoesn’t have an option to include secondary MQTT broker configuration, thatwould be used in case primary is out. This is partially mitigated by mDNSselection of MQTT brokers (Tasmota can automatically connect to a hostadvertising itself as ._mqtt endpoint over mDNS) but I’m personally not usingthis option due to security concerns and would rather have a configurable listof MQTT brokers.
ESPurna
Good
·      Home-Assistant auto-discovery -ESPurna can publish data in a format discoverable by Home-Assistant, makingintegration of various switches, buttons, relays and lights automatic.
·      Telnet support - similarto Tasmota, but simpler, ESPurna offers unencrypted telnet interface that isperfect for debugging. For security reasons, it must be explicitly enabled inWeb UI before usage.
·      433Mhz RF - receiving/ learning / sending 433Mhz RF codes.
·      mDNS, NetBIOS and LLMNR and SSDP advertisingand discovery - mDNS advertising being especially interesting,rest being there “because we can” ;) Like Tasmota, ESPurna supports MQTTdiscovery, but with no failover.
·      Direct InfluxDB integration - canexport metrics directly to InfluxDB, without a need for intermediate collector.
·      Tailored binaries and integration with NoFUSSupdate framework - Xose put a lot of effort into building a matrixof most used boards / sensors / features, and is offering individual imagesspecifically tailored for your need. NoFUSS update framework promises to takecare of subsequent upgrades by automatically keeping track of used firmware onspecific board, but I haven’t tested it in practice to be able to say how itactually works.
Can be improved
·      Board type and hardware is set duringcompilation time - unlike other options, ESPurna requires you toeither download right image for your board, or chose a board during compilationtime, which will hardcode most of the hardware-related settings. This is notnormally an issue once you configure everything, but can be a rough start,especially if you don’t know what you want / need.
·      Documentation and user forums - it’snot that ESPurna is not documented, but it’s just that overall quality ofdocumentation is not always up to average user level, making venture intoESPurna a bit steep learning curve. Similar could be said about user forums.
·      MQTT failover - Similarlyto Tasmota, ESPurna doesn’t allow you to configure more than one MQTT broker,so you can’t have failover scenarios. EPSurna does, however, offer MQTT brokermDNS discovery, but without failover. So the proper way to get around thisissue is to design your broker implementation to be High-Available.
ESPEasy
Good
·      Node discovery and internode communication - oneunit can discover other units and enumerate them in a Web UI and can also sendHTTP and UDP commands to them. In theory, this would allow you to run a networkof boards without MQTT broker.
·      Local rules - scriptyour own local application logic on the controller itself, without the need forMQTT broker and additional automation software. Very powerful, especially ifcombined with internode communication, but I honestly didn’t get to play withit too much, so can’t tell how usable really is.
·      Wide sensor framework -allowing “raw” I2C sensor data dump to MQTT, which in turns supportsGyroscopes, RFID sensors, buzzers and external displays, including MP3 player.
·      WS2812 LED string - withspecial “clock” mode for circular WS2812 strips.
·      Virtual IO support -apart from directly connected relays and buttons, ESPeasy can support “virtualrelays” and “virtual switches” connected via one of the IO multiplexers,allowing addressing of up to 128 switches/relays in a consistent manner.
·      I2C scan from Web UI - Ifyou have a bus of unknown I2C devices, you can issue a scan right from theWebUI and get a list of all the devices, together with their properties. Prettynice
Can be improved
·      No preconfigured boards - withESPEasy, you can configure everything, and you need to configure everything, soyou can’t choose one of the existing boards, but have to setup everything fromscratch. This is not only delaying your initial results, but can potentially bedangerous, as ESPEasy allows you to reconfigure GPIOs that would normally beused by Flash, rending board useless until you erase and reflash (similar toTasmota board misconfiguration). Not a big deal once you know what you aredoing, but quite frustrating if you need to start fast.
·      Powerful but confusing HTTP APIreconfiguration - while ESPEasy allows you to configure great dealof HTTP API, it’s a bit confusing to understand what/where/how. Again, once youget it configured, it just works, but learning curve might be a bit steeper.
·      UI is for configuration only -funny enough, but you can’t trigger a state change on a relay connect to theboard via ESPEasy. You’ll have to use HTTP or MQTT API, or at least WebUI ->Tools-> Command->manual typing commands. While there is some logic inthis decision, I found it very surprising.
Summary
Community has build at least 3 good alternatives tovendor-provided firmware and each will satisfy most of the basic use-cases,such as controlling relays or signaling temperature reading using MQTT. Formore, you’d have to look at your use-case and see which of the firmware is moresuited.
(disclaimer: I mostly use Tasmota and provide minorcontributions to it, hence my stronger opinion about it).
I found Tasmota to be “goodenough” for everyday use (almost all my home devices run Tasmota), though thereare some things I’d love to see changed. Tasmota allows easy start and quickresults, has powerful set of features and good support for different sensors,but also comes with some weird stuff that you just have to get used to. Apartfrom the standard method of flashing, community around Tasmota (including yourstruly) offers a bit weird OTA method of flashing initial Tasmota image over thestock Sonoff firmware, without soldering or even opening some of the supporteddevices.
ESPurna is verystructured and offers clean and precise interface, but it didn’t yet “clicked”between us, so I didn’t get to install it in any of the “production” devices Iown, mainly because I started with Tasmota and would like to minimize number ofvariants I have in my house.
Still, it seems it has better internal implementation ofMQTT client and HTTP server (true non-blocking), so I’m currently testing it tosee it they would be good to replace network of Tasmotas and maybe jump ontoESPurna development bandwagon (which is a motivation for writing this post).ESPurna might be lacking some of the fancy features Tasmota has, so your milagemay vary.
I personally found ESPEasy toounstructured and too loose for mass production (aka daily use), but on theother hand, I love it when it comes to experiments with new hardware and newstuff, exactly because of the freedom and configurability it gives you. It hasvery open but very powerful run-time configuration capabilities and is mostadvanced when it comes to local decision making, potentially reducing the needfor MQTT broker and external automation logic. For me, that just doesn’t soundright, but I know at least handful of people that would strongly disagree withme on this.
What’s next?
In theory, all off the existing firmware options offerquite a good set of operability features, like Web UI, OTA, backup and restore,but I will dig into the usability in the next post, to explore how easy it isto really use this software on a daily basis and to rely on it for your homedaily operations. I’ll try to look at the things from pure end-userperspective, without going too much into implementation and developmentdetails.
Also, I assume some of you are fellow tinkers and programmersand would like to use some of these frameworks as base for own code, so I’mpreparing another post about same 3 firmware, just from developers perspective,where I’ll try to compare actual coding style, cleanness, community, andtooling used by these projects.
Written on January 8, 2018
你来这里是因为你已经赶上了家用物联网的潮流,所以我不需要解释它有多么有趣、令人兴奋和有趣,但也因为你不满意中国供应商为许多基于ESP8266的设备提供的固件库存。幸运的是,community在他们的手中处理了这个问题,在一年半的时间里,我们看到了3个了不起的开源项目,它们正在解决这个(和许多其他)问题。在接下来的几篇博客文章中,我将尝试从多个角度比较3个最流行的开源固件选项,希望能帮助您决定使用哪一个。这篇文章是对不同选项的概述和介绍,以及它们之间的比较。
固件概述
Sonoff-Tasmota
Sonoff-TasmotaTheo- arens - sonoff - mqtt - ota的缩写,它是TheoArends先前修修补补项目的演变。项目正式开始于20171月,但是它继承了之前两个版本的很多资产,所以我们可以说项目实际上早在20161月就开始了。
顾名思义,它最初是为了取代早期Iteads Sonoff设备的存储固件,但后来发展成为一个支持更多基于ESP8266的板的项目,这些板上有许多传感器最初在Sonoff产品上找不到。
项目几乎每天都更新,完全由Theo自己更新,修改了一些来自开发人员社区的贡献。
社区是非常生动的,有一个健康的混合开发人员和“常规”使用,以确保固件是普遍可用的。这个社区正在制作大量的材料,包括许多Youtube教程和非常好的Wiki页面,为Tasmota项目的采用和成功做出了贡献。
ESPurna
非常有天赋的Xose Perez20165月开始了ESPurna(在加泰罗尼亚语中“spark”的意思),作为一个为ESP8266板提供设备无关的固件的项目。显然,他从Wemos D1微型板开始(非常通用),并增加了对许多其他装配板的支持,包括Sonoff和其他的。
Xose显然是一位经验丰富的软件开发人员和软件架构师,因为项目组织得很好,架构得也很好,但同时,他也错过了更广泛的社会应用,尽管他运营的博客内容非常丰富。
项目每天更新几次,完全由Xose更新,基于讨论或社区的小贡献。
社区比Tasmota的社区小,主要面向的是有能力与Xose的知识和技能相匹配的开发人员。虽然在Youtube上与Espurna相关的视频很少,但它们离Tasmota得到的报道还很远。
ESPEasy
从技术上讲,speech是最古老的可选固件。201512月,一个名为“让我们来控制它”的荷兰团队开始了他们在物联网领域的实验,大概也是他们新公司产品的一部分。他们从通用的ESP8266平台开始,并添加了如何将其用于制造电路板的文档,如Sonoff,这显然是许多家庭物联网项目的硬件选择。这种方法使得它非常灵活,能够支持任何传感器/执行器的组合,但需要更多的配置才能开始。
项目每天更新很多次,大部分是由let Control It的几个核心开发人员进行的,但是他们也会合并来自其他贡献者的代码,这非常好,并且符合真正的开源项目的精神。
社区规模与Tasmota的规模相当,在开发人员和“常规”用户之间有更好的平衡。
[[常用功能]]
所有3个固件选项共享一些常见属性:
它们是开源的,使用Arduino框架构建,并提供预编译的二进制文件。
它们支持几乎所有的Itead Sonoff和相当多的其他板和模块,包括所有1MFlash设备。当然,像NodeMCUWemos D1这样的通用板也被支持。
所有这些都广泛支持许多额外的传感器和执行器,包括流行的选择I2C1线传感器和电源监视器。埃斯佩西甚至更进一步,用了很多不太常见的东西,你不会认为这是家庭自动化的典型部分。
所有支持各种LED控制器与全LED显色,调光,过渡和一些效果。
所有支持各种WiFi连接模式,包括AP(hotspot)STA (client)模式,具有多个SSID配置和WiFi网络扫描。
它们支持MQTT,既支持传感器/执行器,也支持自己的配置。有些网站甚至提供特定的主题布局,以方便与流行的自动化逻辑软件(Home AssistantDomoticz)集成。
所有这些都支持一些特定于家庭自动化软件的协议,例如Domoticz HTTPOpenHAB HTTP和其他一些协议。
它们都支持集成到谷歌AssistantAmazon Alexa中。
当然,所有这些都支持空中更新(OTA)和配置备份和恢复。
所有固件选项都嵌入了一些本地自动化(按钮/开关到中继映射),一些固件在添加更多功能方面采取了一两个步骤(请参阅下面的详细信息)
它们都支持在某些接口上进行日志记录,例如具有可配置日志级别的串行、SyslogHTTP
所有支持时间同步通过NTP
[[[可改进的共同点]]]
所有固件选项都有相同的常见问题和潜在的改进领域:
安全通信/ TLS -这两个固件都没有对所有接口的TLS提供适当的支持,使得整体安全很难实现。TasmotaESPurna开始为MQTT支持TLS,但这只解决了问题的一部分,并留下Web UI和其他各种未经加密和未经身份验证的接口。
文档-作为开源项目,这两个固件都没有一个结构良好、设计合理和实现良好的文档集,这使得普通用户更容易获得快速的结果。虽然有些(Tasmota)比其他的更好,但要让普通人在2分钟内下载安装包并让他的sono启动并运行,还有很长的路要走。也许这不是目前的重点,但我发现论坛中超过50%的问题重复着5%的初学者问题,这些问题可以通过适当的文档来解决。
IPv6——两个板都不支持IPv6,并且依赖于IPv4。虽然这在家庭环境中可能不太相关(在家庭环境中,您可以自由地选择自己的私有IP布局),但这仍然会让规划和“做正确的事情”失去一部分乐趣。我知道IPv6更多的是Arduino/ESP8266框架问题,而不是单个固件问题,但它仍然是一个问题:
[[[值得注意的功能差异]]]
Sonoff-Tasmota
Tasmota功能控制台,可以用来调试和配置一些方面的固件没有通过Web UI公开。控制台仍然使用浏览器访问,在某些情况下,必须正确设置设备,这也是这个固件的一个缺点。
IR发送和接收——Tasmota既支持原始的也支持经过处理的IR发送和接收代码,还支持主要的IR协议。它还具有高级的空调控制命令(使用专门针对暖通设备的IR发送)
WS2812LED字符串-特殊的“时钟”模式,用于循环WS2812条带。
433Mhz射频-接收/学习/发送433Mhz射频码。
mDNS发现—可以使用mDNS协议发现MQTT服务器并连接到它。
多语言支持- Sonoff-Tasmota包括I18N框架,目前提供英语,德语,荷兰语,波兰语和意大利语翻译。我看到了简体中文的公关,我也在研究塞尔维亚语的翻译。
One-size适用于所有预编译的二进制——Theo实际上提供了2个预编译的二进制图像(不包括语言变体):最小的图像(仅用于初始引导)和一个尺寸适合所有的图像,包括对所有板和所有传感器/执行器的支持。这对于实验来说是很好的,但是一旦您知道了您的板子配置是什么,并且可能会导致您的麻烦(配置错误的板子类型可能需要您重新连接您的板子到程序员,擦除flash和重新闪光Tasmota),这是没有必要的。
可以提高
(免责声明:我对Tasmota最有经验,因此我列出了这个详细的清单)
不一致的MQTT消息策略——Tasmota有时具有不一致的MQTT消息,这使得很难集成到一些家庭自动化系统中。不过,一旦你深入了解了文档/论坛,并且找到了有效的方法,你就会很好。
依赖于命令——有些功能不可能使用WebUI进行设置,而设置选项在调试消息中不可见。阅读文档,做实验,知道你在做什么是有帮助的。
“所有代码都需要适合1M的板”策略——为了确保与最小Flash大小的兼容性,Theo非常关注大小,并坚持只包含全部适合500K (1M的一半,允许OTA使用)的特性。虽然每个人都可以重新编译图像以使用不同的板布局,但有些功能没有被包含,或者在功能上被降级为“一刀切”图像不适合魔法500K。似乎,随着Arduino/ESP8266框架的v2.4.0,这将不得不改变,所以在20176月作为建议选项和最佳实践引入的双步ota过程将成为强制性的。
基本的按钮支持——连接到Tasmota的按钮可以通过MQTT发送按下或长按信号,但不能通过双按、三按和类似的噱头。双按是非常有用的功能,可惜它不支持。
MQTT故障转移—Tasmota没有包含备用MQTT代理配置的选项,如果主服务器退出,将使用该选项。通过MQTT代理的mDNS选择(Tasmota可以通过mDNS自动连接到主机广告本身为._mqtt端点),这在一定程度上减轻了这一点,但出于安全考虑,我个人不使用这个选项,而是希望有一个可配置的MQTT代理列表。
ESPurna
家庭助理自动发现- ESPurna可以发布数据的格式发现家庭助理,使各种开关,按钮,继电器和灯的集成自动化。
Telnet支持——类似于Tasmota,但是更简单,ESPurna提供了未加密的Telnet接口,非常适合调试。出于安全考虑,在使用前必须在Web UI中显式启用它。
433Mhz射频-接收/学习/发送433Mhz射频码。
mDNS,NetBIOSLLMNRSSDP广告和发现- mDNS广告特别有趣,休息在那里“因为我们可以”;Tasmota一样,ESPurna支持MQTT发现,但没有故障转移。
直接影响数据库集成——可以将指标直接导出到影响数据库,而不需要中间收集器。
定制的二进制文件和与NoFUSS update framework的集成——Xose花了很多精力构建了一个最常用的板/传感器/功能矩阵,并提供了专门为您的需要定制的单个图像。NoFUSS update framework承诺通过自动跟踪特定板上使用的固件来处理后续的升级,但我还没有在实践中测试它,以便能够说明它的实际工作方式。
可以提高
板子类型和硬件是在编译时设置的——与其他选项不同,ESPurna要求您为您的板子下载正确的图像,或在编译时选择板子,这将硬编码大部分硬件相关设置。一旦配置了所有东西,这通常不是问题,但可能是一个粗略的开始,特别是如果你不知道你想要/需要什么。
文档和用户论坛——不是ESPurna没有文档记录,而是文档的总体质量并不总是达到平均用户水平,这使得冒险进入ESPurna有点陡峭的学习曲线。用户论坛也是如此。
MQTT故障转移—与Tasmota类似,ESPurna不允许配置多个MQTT代理,因此不能有故障转移场景。然而,EPSurna确实提供了MQTT代理mDNS发现,但是没有故障转移。因此,解决这个问题的正确方法是将代理实现设计为高可用性。
ESPEasy
节点发现和节点间通信——一个单元可以发现其他单元并在Web UI中枚举它们,还可以向它们发送HTTPUDP命令。理论上,这将允许您在没有MQTT代理的情况下运行董事会网络。
本地规则——在控制器本身上编写您自己的本地应用程序逻辑,而不需要MQTT代理和其他自动化软件。非常强大,特别是如果与节点间通信相结合,但是我真的没有玩太多,所以无法判断它到底有多有用。
广泛的传感器框架-允许“原始”I2C传感器数据转储到MQTT,它反过来支持陀螺仪,RFID传感器,蜂鸣器和外部显示器,包括MP3播放器。
WS2812LED字符串-特殊的“时钟”模式,用于循环WS2812条带。
虚拟IO支持-除了直接连接的继电器和按钮,ESPeasy可以支持“虚拟继电器”和“虚拟交换机”,通过一个IO复用器连接,允许以一致的方式寻址128个开关/继电器。
来自WebUII2C扫描——如果你有一个未知的I2C设备总线,你可以从WebUI发出一个扫描,得到所有设备的列表,以及它们的属性。很好
可以提高
没有预先配置的板——使用ESPEasy,你可以配置所有的东西,你需要配置所有的东西,所以你不能选择一个现有的板,但必须从头开始设置所有的东西。这不仅会延迟您的初始结果,而且可能会有潜在的危险,因为ESPEasy可以让您重新配置GPIOs,这些GPIOs通常会被Flash使用,除非您擦除和再流(类似于Tasmota的板错误配置)。一旦你知道自己在做什么,这没什么大不了的,但如果你需要快速开始的话,这就很令人沮丧了。
功能强大但令人困惑的HTTP API重新配置——虽然ESPEasy允许你配置大量的HTTP API,但是理解什么/在哪里/怎么做有点让人困惑。再一次,一旦你配置好它,它就会工作,但是学习曲线可能会更陡一点。
UI仅用于配置——这很有趣,但您不能在通过ESPEasy连接到电路板的中继上触发一个状态变化。您必须使用HTTPMQTT API,或者至少使用WebUI->工具->命令->手动键入命令。虽然这个决定有一定的逻辑,但我觉得很意外。
[[[总结]]]
Community至少构建了3个供应商提供的固件的良好替代品,每个都将满足大多数基本用例,例如使用MQTT控制继电器或发送温度读数。要了解更多信息,您必须查看您的用例,并查看哪个固件更适合您。
(免责声明:我主要使用Tasmota,对它的贡献不大,因此我对它有更强烈的看法)
我发现Tasmota对于日常使用来说“足够好”(几乎我所有的家庭设备都运行Tasmota),尽管我也希望看到一些改变。Tasmota网站允许简单的开始和快速的结果,有强大的功能集和对不同传感器的良好支持,但也有一些奇怪的东西,你只需要习惯。除了标准的闪烁方法外,Tasmota周围的社区(包括您真正的社区)还提供了一种奇怪的OTA方法,即在Sonoff固件上闪烁初始的Tasmota图像,而不需要焊接甚至打开一些支持的设备。
ESPurna非常结构化和提供清洁和精确的接口,但是没有我们之间的“点击”,所以我没有去安装它在任何我自己的“生产”设备,主要是因为我开始与Tasmota想减少数量的变异在我的房子里。
尽管如此,它似乎有更好的MQTT客户端和HTTP服务器(真正的非阻塞)的内部实现,所以我目前正在测试它,看看它们是否能够取代Tasmotas的网络,并可能加入ESPurna开发的潮流(这也是我写这篇文章的动机)ESPurna可能缺少Tasmota具有的一些奇特特征,所以你的里程数可能会有所不同。
我个人觉得ESPEasy对于大批量生产(也就是日常使用)来说太松散太松散了,但另一方面,我喜欢用新硬件和新东西做实验,这完全是因为它给你的自由和可配置性。它具有非常开放但非常强大的运行时配置功能,在进行本地决策时最先进,潜在地减少了对MQTT代理和外部自动化逻辑的需求。对我来说,这听起来不太对,但我知道至少有少数人在这个问题上强烈反对我。
接下来是什么?
理论上,所有现有的固件选项提供一个很好的可操作性的特点,Web UI,OTA,备份和恢复,但我将会深入研究可用性在未来,探索是多么容易真正使用这个软件每天和依靠家里的日常运营。我将试着从纯终端用户的角度来看待这些事情,而不太深入到实现和开发的细节。
,我认为一些你的操控和程序员,愿使用这些框架作为自己的代码基础,所以我准备另一篇关于相同3固件,只是从开发人员的角度来看,我会比较实际的编码风格,清洁,社区,这些项目所使用的工具。


回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16410
金钱
11664
HASS币
45
发表于 2018-8-29 19:55:05 | 显示全部楼层
文章很有意义,但纯复制粘贴和机器翻译就显得营养不足了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 02:42 , Processed in 0.105989 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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