使用我的 ESP8266 模块,我设法通过一个基本网站控制了它的引脚 2。
我的问题是我怎样才能使 ESP8266 的输出引脚 3 也能达到同样的效果。换句话说,我如何通过我的代码添加一个可用的输出,以便我有两个可用的输出并通过我的网站控制它们。我发布我的代码来告诉我应该改变什么才能实现这一点。
另外,我的代码应该修改什么,以便只要网站上的按钮仍然被按下,输出 2 就会很高,而不是像现在这样被按下一次。如果那不是发布此类问题的正确组,您能告诉我它是哪个组吗?
非常感谢你
#include
#include
#include
// 创建一个 REST 实例
aREST_UI myRest = aREST_UI();
// WiFi 参数
const char* ssid = "TALKTALK580421";
const char* password = "W6D7JJ3U" ;
// 侦听传入 TCP 连接的端口
#define LISTEN_PORT 80
// 创建服务器实例
WiFiServer server(LISTEN_PORT);
void setup(void)
{
// 启动串行调试
Serial.begin(115200);
// 为我们的网页创建标题
myRest.title("LED Control");
// 创建按钮来控制引脚 2
myRest.button(2);
// 为设备提供名称和 ID
myRest.set_id("1");
myRest.set_name("esp8266");
// 连接到网络并启动服务器
connectWifi();
}
void loop() {
restLoop(); // 自动处理 aRest 功能
}
boolean restLoop(){
WiFiClient client = server.available();
if (!client) { //检查客户端是否已连接,如果未连接则
返回 return false;
}
while(!client.available()){ //等待客户端输入——注意这是一个阻塞操作
delay(1);
}
myRest.handle(客户端); //处理来自客户端的任何请求
return true; //并返回
}
void connectWifi(){
Serial.print("连接到");
序列号.println(ssid);
//启动wifi子系统
WiFi.begin(ssid, password);
//等待连接
while (WiFi.status() != WL_CONNECTED) {
delay(500);
序列号.print(".");
}
//成功后打印连接IP
Serial.println("");
Serial.println("WiFi 已连接");
Serial.println("IP地址:");
Serial.println(WiFi.localIP());
// 启动服务器
server.begin();
Serial.println("服务器启动");