ESP8266,Arduino IDE与Lua?


13

我打算购买ESP8266。我真的需要学习Lua来玩吗?我见过有人将其与标准Arduino IDE结合使用。

您是否需要自定义固件才能使用Arduino IDE而非Lua?

Arduino IDE对我来说似乎更好,因为我已经知道语法。使用Arduino IDE代替带有Lua的NodeMCU有什么缺点吗?

Answers:


9

使用Arduino IDE 自定义固件。那就是你在写。您不需要任何新固件,因为新固件就是您要编写的。

我想不出用C ++编写ESP8266而不是Lua的任何弊端-实际上,这只是一个好处,因为您没有使用比本地编译的代码要慢的解释语言。


3
那么,为什么大多数人将NodeMCU与Lua一起使用?
n0tis

3
@ n0tis因为它已预安装并且非常易于使用。另外,他们被告知要在购买时使用它,而对它的了解再好不过了。
马延科

1
@ n0tis我只用C ++编程过它们,不会做任何其他事情。在一天结束时,如果您不继续进行Arduino风格的编程,则始终可以重新安装LUA解释器固件,然后返回LUA。没有什么是永久的-您可以随时改变主意。
马延科

3
Lua而不是LUA。它不是首字母缩写词。请参阅名称中的什么?。您如何在Arduino上使用Lua?
尼克·加蒙

2
是的,您只需编译并上传。lua固件或AI thnker AT固件都只是上传到板上的程序:一个用于解释Lua脚本,另一个用于解释AT命令。就像您的Arduino草图一样。
马延科

11

与许多脚本语言一样,Lua往往会使您的程序员工作效率更高:当您以更高的抽象级别工作时,事情变得容易得多,并且不必担心诸如内存管理之类的琐碎事情。您只需更少的代码行就能达到相同的目标。另一方面,虽然它使开发更快,但也使程序执行更慢。这是一个很好的折衷方案,在很大程度上取决于您要编写的特定应用程序。

在您的特定情况下,您还必须考虑以下事实:您不了解Lua,并且您已经了解C ++语言和Arduino API。然后,由于学习该语言需要花费时间,因此您可能无法在一个项目上充分利用Lua的好处。您可能会考虑将语言学习作为一项投资,如果您打算在该平台上进行大量编程,那可能会值得,而如果仅用于一个简单的项目,则可能会值得。如果不确定,我建议您看看Lua在该平台上提供的API:它与您的项目的适应程度如何?它比Arduino API更合适吗?


1

我强烈建议您使用ARDUINO IDE!

尽管C ++编程不如Lua友好和通用(与Esplorer一起工作确实是一个梦想成真!),但是Lua非常不稳定且不可预测!

您可以运行一个由十行代码组成的简单程序,一天可以正常工作……两...然后突然之间,在第三天,芯片意外地挂起,没有任何原因!如果幸运的话,芯片将重新启动,程序将再次开始运行……我不是这种情况。我不得不重新加载程序!经过3个这样的周期,我决定放弃Lua ...永远。


2
同样的经验。我真的非常喜欢Lua。

是的 Lua作为一种语言是一种有趣的体验。在NodeMCU上,大部分情况令人沮丧
dda

2
我喜欢lua和REPL。我也喜欢ESP8266(espruino)上的js及其占地小。作为嵌入式系统的程序员,很明显,许多Arduino库都是由非嵌入式程序员编写的,它们浪费和/或分散了宝贵的内存。我确实使用Arduino,但是做了一些类似的事情,例如使用我自己的C语言字符串管理,而不是丑陋的C ++类。记忆是一种欣赏而不是滥用的商品。
uDude

0

不好意思,但是这个线程帮助我决定使用Arduino IDE。

我开始使用Arduino IDE,但无法使其与ESP-07一起使用。使用Esplorer移至NodeMCU和Lua。由于奇怪的引导加载程序波特率,我花了一些时间使它在那里工作。首先,建立一个WEB服务器似乎很容易,但是问题是发现的所有示例都基于古老的FW 0.96,而尝试使用最新的2.1根本没有用。因此,意识到人们没有对更新的FW做太多事情,这让我有了第二个想法。

现在,使用Arduino IDE,事情开始按预期方式工作!:)

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.