ESP8266 eLUA(NodeMCU)与MicroPython


14

我正在寻找ESP8266上eLUA (NodeMCU)MicroPython的最新信息。

我只能找到尝试一个或多个用户的非常肤浅的报告/博客。-所有这些都完全缺乏技术细节。

我能找到的最接近的东西可能是MicroPython项目的这种绝望的过时且难以理解的比较

我会对明显的问题感兴趣:

  • 闪光灯使用
  • 启动后虚拟机的RAM使用情况
  • 通常使用的RAM使用量
  • 执行模型(即ESP8266“任务”如何映射?)
  • 执行绩效
  • 易于扩展(即添加模块)
  • 任何其他可能相关的

通过研究文档,我相信已经了解以下内容:

  • NodeMCU具有相当精细的构建选项,仅允许构建所需的模块。这似乎允许使用较小的闪光灯尺寸。对于Micropython,512 KB似乎是绝对的下限,在这种情况下,用户定义的代码将没有空间。不确定与NodeMCU相比。
  • MicroPython具有内置的WebREPL,默认情况下会自动对其进行配置。NodeMCU似乎没有类似的内置组件。
  • 目前,NodeMCU似乎受益于更大的社区,大概是因为它存在的时间更长了。
  • MicroPython文档是非正式的,完全没有扩展C代码。NodeMCU文档似乎非常出色。

您能确切说明您必须具备的要求,也很高兴:>)吗?RAM大小,阵列的大小,浮动或整数,RAM效率,CPU速度,响应时间等等
托尼Stewart Sunnyskyguy EE75

Answers:


17

这是一个稍微不同的方法,而不是Lua vs. Python的枪战:

ESP8266最受欢迎的六个“运行时”:

  1. AT命令集。8266与另一个MCU配对时很受欢迎。通过串口通讯。约有64k的128k RAM。
  2. MicroPython。 具有用户友好GUI的MicroPython脚本解释器,可以通过串行端口或WIFI / IP访问。约有30k的128k RAM。
  3. Lua / NodeMCU。 一个具有用户友好GUI的LUA脚本解释器,可以通过串行端口进行访问。约40k的128k RAM。
  4. JavaScript / Espruino。具有用户友好GUI的JavaScript解释器,可以通过串行端口或WiFi / IP访问。约有20k的128k RAM。
  5. C / IDE-12E。使用标准Arduino IDE的 ESP8266闪存工具和C库/工具约有80k的128k RAM。
  6. C / ESP8266_SDK。 制造商提供的C库/工具。也是示例应用程序的集合。约512k闪存。可以猜测80k的128k RAM。

关键的见解是,大部分代码是通用的。1-5中的主要库都源自6。在AT / Python / LUA / JavaScript / C 薄层下,主要代码实际上是相同的。这意味着性能(RAM,FLASH,执行)也相似。

由于您似乎担心速度和RAM(通常可以使用闪存),因此选项5怎么样?Arduino是一个可用的IDE,其中包含大量示例。您可能会在不到一个小时的时间内运行第一个代码,并且性能可能会超过任何脚本引擎。

在没有明显的内存使用差异的情况下,我会选择MicroPython,原因是库数量更多,并且使用IRC Webchat具有活跃的在线社区。添加C模块的文档已得到改进。

选项6为您提供最大的优化潜力,但具有更高的复杂性和更陡峭的学习曲线。

最后,一个好的ESP8266经验法则:每个TCP / IP连接最多可消耗约3k的内存。始终希望少于5个同时连接!

TL; DR: ESP8266应用程序具有大部分相同的代码,并且具有相似的性能。因此,选择您喜欢的脚本引擎或升级到C / IDE-12E。并发IP连接不要超过5个。


相关文章:有关伊万·格罗霍夫科夫(Ivan Grokhotkov)和ESP8266社区如何移植要从Arduino IDE进行编程的ESP8266的有趣故事: makezine.com/2015/04/03/…–
neonzeon

只是想说谢谢您对此进行了总结。我实际上是寻找这些信息,你救了我一堆的时间,再加上增加了一些观点是很好的了解...
斯科特私法
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.