Utilize a placa Arduino Mega com o módulo ESP8266 e conecte-a a plataforma Taurus
O módulo WiFi ESP8266 surgiu em meados de 2014 como revolução para conexão de microcontroladores à rede sem fio. De lá pra cá surgiram muitas novas tecnologias de acessos e chips concorrentes, mas seu uso ainda é consideravelmente alto, devido ao baixo preço e facilidade de compra no mercado.
Este tutorial tem por objetivo orientar como conectar o módulo ao Arduino e construir o código para permitir o envio de dados para a plataforma de IOT www.taurussystem.com.
Para obter um serial para criação de conta no site, mande um e-mail para : alfatech@inatel.br.
Conectando o módulo ao Arduino Mega
No código compartilhado desse tutorial utilizou-se a interface de comunicação 1, pinos 19 e 20 da placa.
URLs de comunicação com a plataforma
Para enviar ou resgatar dados da plataforma Taurus, o usuário deve obedecer ao padrão de URLs utilizada na requisição HTTP.
Essas URLs podem ser encontradas no projeto :
Firmware
// CODE by Leonardo Gonçalves - Das Coisas- Santa Rita do Sapucaí - MG - Brazil
#define SSID "SSID" //Insert your Wireless SSID Here
#define PASS "PASSWORD" //Insert your Wireless Password Here
#define IP "104.131.189.228" // Taurus Address
String GET = "GET /ws/webresources/Sensor/set?key=Teste1&&sensor=SENSORID&&value=VALUE HTTP/1.0\r\nHost: www.taurussystem.com\r\nConnection: close\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n";
void setup()
{
Serial1.begin(115200);
Serial.begin(115200);
sendDebug("AT");
delay(5000);
if (Serial1.find("OK")) {
Serial.println("RECEIVED: OK");
connectWiFi();
}
}
void loop() {
updateTaurus();
delay(4000);
}
void updateTaurus() {
String cmd = "AT+CIPSTART=\"TCP\",\"";
cmd += IP;
cmd += "\",80";
sendDebug(cmd);
delay(2000);
if (Serial1.find("Error")) {
Serial.print("RECEIVED: Still Conected");
return;
}
cmd = GET;
cmd += "\r\n";
Serial1.print("AT+CIPSEND=");
Serial.print("AT+CIPSEND=");
Serial1.println(cmd.length());
Serial.println(cmd.length());
if (Serial1.find(">")) {
Serial.print(">");
Serial.print(cmd);
Serial1.print(cmd);
} else {
sendDebug("AT+CIPCLOSE");
}
if (Serial1.find("OK")) {
Serial.println("RECEIVED: OK");
} else {
Serial.println("RECEIVED: Error");
}
}
void sendDebug(String cmd) {
Serial.print("SEND: ");
Serial.println(cmd);
Serial1.println(cmd);
}
boolean connectWiFi() {
Serial1.println("AT+CIPMUX=0");
Serial1.println("AT+CWMODE=1");
delay(2000);
String cmd = "AT+CWJAP=\"";
cmd += SSID;
cmd += "\",\"";
cmd += PASS;
cmd += "\"";
sendDebug(cmd);
delay(5000);
if (Serial1.find("OK")) {
Serial.println("RECEIVED: OK");
return true;
} else {
Serial.println("RECEIVED: Error");
return false;
}
}
Em breve, mais tutoriais!
Abraço
Comments