我很困惑,有些人使用 ESP8266WiFi.h 库,而有些人使用 AT命令将 WiFi模块连接到Arduino。
它们工作相同还是不同?
库是否有任何问题,还是库用于其他用途而AT命令用于其他目的?
答案 0 :(得分:1)
这是一个很好的问题。从很多代码和人们发布的许多问题中,这绝对不是显而易见的。
ESP8266首次问世时,仅用于将其他处理器连接到Wifi。它附带了提供TCP / IP和Wifi支持的运行软件。您可以将其连接到Arduino或其他处理器,并使用AT命令对其进行控制。但是您不会更改ESP8266本身运行的软件。
许多人仍然以这种方式使用它,但事实证明,ESP8266与使用它来连接到Wifi的某些处理器一样(或更强)。因此,开发人员将工具链组合在一起,以构建可在ESP8266本身上运行的软件。他们甚至移植了Arduino SDK,以便您可以在其上运行“ Arduino”程序(即使它不是Arduino)。
ESP8266Wifi.h 是一个头文件,旨在用于在ESP8266上运行的软件,而不是在Arduino或其他处理器上运行的软件, em>使用 ESP8266连接到Wifi。当您构建可直接在ESP8266上运行的软件时,它会取代实现AT命令的软件-尽管您以后可以根据需要重新安装。
因此,当您看到使用 ESP8266.h的项目时,它意味着可以在ESP8266上构建并直接运行。当您看到使用 AT命令的项目时,它应在使用ESP8266进行通信的第二个处理器(很可能是Arduino)上运行。
还有https://github.com/itead/ITEADLIB_Arduino_WeeESP8266之类的库可帮助Arduino与ESP8266通讯-它们隐藏了AT命令并提供了一组简单的函数调用来执行AT命令的工作。它可以在Arduino上运行,仍然使用AT命令,但程序员不必担心它们。
ESP8266本身还运行其他语言,例如LUA和Python。再次,这些替代了最初提供的AT软件。