Escolar Documentos
Profissional Documentos
Cultura Documentos
Equivalencia das saidas Digitais entre NodeMCU e ESP8266 (na IDE do Arduino)
NodeMCU - ESP8266
D0 = 16;
D1 = 5;
D2 = 4;
D3 = 0;
D4 = 2;
D5 = 14;
D6 = 12;
D7 = 13;
D8 = 15;
D9 = 3;
D10 = 1;
*/
//Declaração do pino que será utilizado e a memória alocada para armazenar o status
deste pino na EEPROM
#define pino 2 //Pino que executara a acao
dado no topico "esp8266/pincmd" e terá seu status informado no tópico
"esp8266/pinstatus"
#define memoria_alocada 4 //Define o quanto sera
alocado na EEPROM (valores entre 4 e 4096 bytes)
if(conectado) {
imprimirSerial(true, "Conectado!");
//Subscreve para monitorar os comandos recebidos
client.subscribe(mqtt_topico_sub, 1); //QoS 1
} else {
imprimirSerial(false, "Falhou ao tentar conectar. Codigo: ");
imprimirSerial(false, String(client.state()).c_str());
imprimirSerial(true, " tentando novamente em 5 segundos");
//Aguarda 5 segundos para tentar novamente
delay(5000);
}
}
}
//Função que será chamada ao receber mensagem do servidor MQTT
void retorno(char* topico, byte* mensagem, unsigned int tamanho) {
//Convertendo a mensagem recebida para string
mensagem[tamanho] = '\0';
String strMensagem = String((char*)mensagem);
strMensagem.toLowerCase();
//float f = s.toFloat();
if(strMensagem == "liga"){
imprimirSerial(true, "Colocando o pino em stado ALTO...");
digitalWrite(pino, HIGH);
}else if(strMensagem == "desliga"){
imprimirSerial(true, "Colocando o pino em stado BAIXO...");
digitalWrite(pino, LOW);
}else{
imprimirSerial(true, "Trocando o estado do pino...");
digitalWrite(pino, !digitalRead(pino));
}
configFile.readBytes(buf.get(), size);
DynamicJsonBuffer jsonBuffer;
JsonObject& json = jsonBuffer.parseObject(buf.get());
json.printTo(Serial);
if (json.success()) {
//Copiando as variáveis salvas previamente no aquivo json para a
memória do ESP.
imprimirSerial(true, "arquivo json analisado.");
strcpy(servidor_mqtt, json["servidor_mqtt"]);
strcpy(servidor_mqtt_porta, json["servidor_mqtt_porta"]);
strcpy(servidor_mqtt_usuario, json["servidor_mqtt_usuario"]);
strcpy(servidor_mqtt_senha, json["servidor_mqtt_senha"]);
strcpy(mqtt_topico_sub, json["mqtt_topico_sub"]);
} else {
imprimirSerial(true, "Falha ao ler as configuracoes do arquivo json.");
}
}
}
} else {
imprimirSerial(true, "Falha ao montar o sistema de arquivos SPIFSS.");
}
//Fim da leitura do sistema de arquivos SPIFSS
json.printTo(Serial);
json.printTo(configFile);
configFile.close();
}