20
蓝冠,蓝冠官网,蓝冠注册,

蓝冠注册《Q374919 》本教程演示了如何从工作在桌面、iOS和Android上的自定义多平台应用程序中控制ESP8266 NodeMCU板。示例应用程序将允许我们打开和关闭ESP8266 NodeMCU内置LED。

我们将在Arduino概要中配置一个异步web服务器并开发一个API REST。然后,我们将使用Felgo标准开发工具包(SDK)开发一个多平台app。Felgo利用Qt (Qt Creator, QML, Qt Quick, JavaScript等)开发多平台应用程序。

这个示例是介绍性的,蓝冠注册 很容易理解。如果您不熟悉前一段的所有术语,不要感到不知所措!下面你可以找到一些对你有帮助的教程。如果您不熟悉Arduino IDE或Felgo,请检查它们。

ESP8266 NodeMCU编程:第一步

Qt, QML和Felgo教程。美国宇航局天文图片的一天应用程序桌面,iOS和Android

硬件

NodeMCU V2

NodeMCU V3

这些是附属链接。这意味着如果你点击链接,蓝冠官网 购买推广项目,我们将收到一个小的附属委员会在没有额外的成本给你,产品的价格是相同的。如果您觉得没问题,我们将非常感谢您对我们工作和网站的支持。

ESP8266 NodeMCU草图

自定义应用程序桌面,iOS和Android

ESP8266 NodeMCU草图

我们可以使用默认的ESP8266WebServer,蓝冠 但是ESPAsyncWebServer比上一个有一些优势,因为它是一个异步web服务器,因此它可以处理多个客户端。而且,API调用可以更精确地定义。所以,让我们看看如何利用它。

我们需要为我们的草图安装以下库。如果你不知道如何在Arduino IDE中安装它们,看看ESP8266 NodeMCU编程的最后:第一步。

ArduinoJson(版本5),可以从Arduino IDE库管理器中安装。

ESPAsyncTCP。下载存储库的zip文件,并通过Arduino IDE安装它。

ESPAsyncWebServer。下载存储库的zip文件,并通过Arduino IDE安装它。

让我们看一下草图代码。第一部分包括一些头文件,定义一些常量(WiFi标识符和密码,服务器端口,请求URL和参数),声明我们的服务器对象。

include < ESP8266WiFi.h >

include < ESPAsyncTCP.h >

include < ESPAsyncWebServer.h >

include < ArduinoJson.h >

const char [] = “WiFi_SSID”;

const char pass[] = “WiFi_password”;

const int port = 2390;

REQUEST_LED = “/led”;

const字符串PARAM_STATE = “state”;

AsyncWebServer服务器(港口);

接下来,我们定义两个helper函数来获取和设置内置的LED状态。请注意,内置的LED在低状态下是亮的。

void setLEDstate(bool state) {

digitalWrite (LED_BUILTIN状态?低:高);

}

bool getLEDstate () {

回报! digitalRead (LED_BUILTIN);

}

我们的web服务器是异步的,因此我们必须在setup函数中定义它的所有行为,因此在本例中我们的loop函数是空的。设置功能的第一部分设置数据传输速率,声明内置LED引脚为输出,关闭引脚,连接我们的WiFi网络,将WiFi SSID和IP地址打印到串行监视器上。

无效的设置(){

Serial.begin (115200);

pinMode (LED_BUILTIN、输出);

digitalWrite (LED_BUILTIN、高);

WiFi.mode (WIFI_STA);

WiFi。开始(ssid,通过);

系列。打印(“连接”);

while (WiFi.status() != WL_CONNECTED) {

并同时(“。”);

延迟(300);

}

以(” “);

系列。打印(“WiFi连接到:”);

以WiFi.SSID ());

系列。打印(“IP地址:”);

以WiFi.localIP ());

}

无效循环(){}

我们可以声明server。在我们的草图中拦截请求的语句。下面的代码显示了我们如何拦截GET (HTTP_GET)对/led的请求。REQUEST_LED是一个字符串常量(” /led “),使用c_str函数将其转换为char *常量。

然后,我们检查PARAM_STATE参数(“state”)是否在请求(has_param)中。如果是这样,我们将获得它的值(getParam)作为字符串,并将其转换为整数值(toInt)。整数值会自动转换为布尔值。

相关文章
为您推荐
各种观点

报歉!评论已关闭.