Prezados,
Saudações.
Estou pedindo a humilde salvação de vocês para solução de um problema simples ao qual se tornou uma bola de neve devido a minha falta de conhecimento.
Eu estou querendo montar um protótipo de uma casa, utilizando IoT. Para isso, fiz uso do Microcontrolador ESP8266 e Também estou utilizando o AppInventor para facilitar minha vida com o aplicativo.
LINK DO EXEMPLO:
https://medium.com/@cristianalopesgabriel/app-inventor-esp8266-145a96f969e
Fiz todo o procedimento e funcionou corretamente. Porém, gostaria de adicionar mais leds para este exemplo. Na plataforma AppInventor, sei fazer este procedimento para enviar o comando ao microcontrolador. Mas meu problema maior é adaptar o código desse exemplo no IDE para aceitar mais comandos para um segundo led.
Sei que para o Led existente ligar, ele vai receber a informação /gpio/0 para desligar e gpio/1 para ligar do Appinventor. Porém, gostaria de adicionar mais um led recebendo dessa vez /gpio1/0 ou /gpio1/1.
// Biblioteca Wi-Fi library
#include <ESP8266WiFi.h>
// Credenciais de acesso à rede
const char* ssid = “UserWifi”;
const char* password = “PassWifi”;
// Número da porta (80) do servidor web
WiFiServer server(80);
void setup() {
Serial.begin(115200);
// Definir GPIO2
pinMode(4, OUTPUT);
digitalWrite(4, 0);
// Conectar à rede WiFi
Serial.print(“A ligar a: “);
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(”.”);
}
Serial.println("");
Serial.println(“Ligado”);
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
server.begin();
}
void loop() {
// Verificar se o cliente se conectou
WiFiClient client = server.available();
if (!client) {
return;
}
// Espera até que o cliente envie alguns dados
Serial.println(“Novo Cliente.”);
while(!client.available()){
delay(1);
}
// Lê a primeira linha do pedido
String req = client.readStringUntil(’\r’);
Serial.println(req);
client.flush();
// Corresponde ao pedido
int val;
if (req.indexOf("/gpio/0") != -1)
val = 0;
else if (req.indexOf("/gpio/1") != -1)
val = 1;
else {
Serial.println(“invalid request”);
client.stop();
return;
}
// Defini o GPIO2 de acordo com o pedido
digitalWrite(4, val);
client.flush();
// Prepare a resposta
String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\nLED ";
s += (val)?“Ligado”:“Desligado”;
// Envie a resposta para o cliente
client.print(s);
delay(1);
Serial.println(“Cliente desligado.”);
}
Como eu adaptaria essa programação para esse feito ?