乐鑫技术交流
直播中

李志静

7年用户 1439经验值
私信 关注
[问答]

Esp8266如何控制多路输出?

使用我的 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("服务器启动");
                                       
               

更多回帖

发帖
×
20
完善资料,
赚取积分