Página 1 de 1

Placa WEMOS D1 R2

Enviado: 13/Dez/2018, 00:47
por Iscold
Prezados, boa noite

Alguém do forum conhece esta placa? Estou com problema de compilação de um código para esta placa na IDE da Arduino. A mensagem de erro é esta:

Arduino: 1.8.0 (Windows 7), Placa:"LOLIN(WEMOS) D1 R2 & mini, 80 MHz, Flash, 4M (3M SPIFFS), v2 Lower Memory, Disabled, WIFI, Sketch + WiFi Settings, 115200"
Placa d1_mini (plataforma esp8266, pacote esp8266) é desconhecida

Erro compilando para a placa LOLIN(WEMOS) D1 R2 & mini.

O código é este:

#include <ESP8266WiFi.h>
#include <PubSubClient.h>

#define DEBUG

#define P1 13 //pino de saida para acionamento da Lampada L1

//informações da rede WIFI

const char* ssid = "netvirtua_615"; //SSID da rede WIFI
const char* password = "2073017400"; //senha da rede wifi

//informações do broker MQTT - Verifique as informações geradas pelo CloudMQTT

const char* mqttServer = "m15.cloudmqtt.com"; //server
const char* mqttUser = "psnkgelb"; //user
const char* mqttPassword = "rsZc4gWg8vNX "; //password
const int mqttPort = 13385 ; //port
const char* mqttTopicSub ="23385"; //tópico que sera assinado

WiFiClient espClient;// Cria o objeto espClient
PubSubClient client(espClient);// Instancia o Cliente MQTT passando o objeto espClient

void setup() {

Serial.begin(115200);
pinMode(P1, OUTPUT);

WiFi.begin(ssid, password);

//Função: verifica o estado das conexões WiFI e ao broker MQTT.
// Em caso de desconexão (qualquer uma das duas), a conexão
// é refeita.

while (WiFi.status() != WL_CONNECTED) {
delay(500);
#ifdef DEBUG
Serial.println("Conectando ao WiFi..");
#endif
}

client.setServer(mqttServer, mqttPort);//informa qual broker e porta deve ser conectado
client.setCallback(callback); //atribui função de callback (função chamada quando qualquer informação de um dos tópicos subescritos chega)

while (!client.connected()) {
#ifdef DEBUG
Serial.println("Conectando ao Broker MQTT...");
#endif

if (client.connect("ESP8266Client", mqttUser, mqttPassword )) {
#ifdef DEBUG
Serial.println("Conectado");
#endif

} else {
#ifdef DEBUG
Serial.print("falha estado ");
Serial.print(client.state());
#endif
delay(2000);

}
}

//subscreve no tópico

client.subscribe(mqttTopicSub);

}

void callback(char* topic, byte* payload, unsigned int length) {


// Função: função de callback
// esta função é chamada toda vez que uma informação de
// um dos tópicos subescritos chega)


//armazena msg recebida em uma string

payload[length] = '\0';
String strMSG = String((char*)payload);

#ifdef DEBUG
Serial.print("Tópico: ");
Serial.println(topic);
Serial.print("Mensagem:");
Serial.print(strMSG);
Serial.println();
Serial.println("xxxxxxxxxxxxxxxx");
#endif

if (strMSG == "1"){ //se msg "1"
digitalWrite(P1, HIGH); //coloca saída em LOW para ligar a Lampada - > o módulo RELE usado tem acionamento invertido. Se necessário ajuste para o seu modulo
}else if (strMSG == "0"){ //se msg "0"
digitalWrite(P1, LOW); //coloca saída em HIGH para desligar a Lampada - > o módulo RELE usado tem acionamento invertido. Se necessário ajuste para o seu modulo
}

}

//função pra reconectar ao servidor MQTT

void reconect() {

//Enquanto estiver desconectado

while (!client.connected()) {
#ifdef DEBUG
Serial.print("Tentando conectar ao servidor MQTT");
#endif

bool conectado = strlen(mqttUser) > 0 ?
client.connect("ESP8266Client", mqttUser, mqttPassword) :
client.connect("ESP8266Client");

if(conectado) {
#ifdef DEBUG
Serial.println("Conectado!");
#endif

//subscreve no tópico

client.subscribe(mqttTopicSub, 1); //nivel de qualidade: QoS 1
} else {
#ifdef DEBUG
Serial.println("Falha durante a conexão.Code: ");
Serial.println( String(client.state()).c_str());
Serial.println("Tentando novamente em 10 s");
#endif

//Aguarda 10 segundos

delay(10000);
}
}
}

void loop() {
if (!client.connected()) {
reconect();
}
client.loop();

Se alguem puder me ajudar, agradeço muito.