Índice:

LDR usando Thingsai Cloud: 13 etapas
LDR usando Thingsai Cloud: 13 etapas

Vídeo: LDR usando Thingsai Cloud: 13 etapas

Vídeo: LDR usando Thingsai Cloud: 13 etapas
Vídeo: Using Arduino IoT Cloud with ESP8266 || Setup & Complete Guide 2024, Novembro
Anonim
LDR usando Thingsai Cloud
LDR usando Thingsai Cloud

HEY … hoje vamos aprender sobre como medir a intensidade da luz e postar os valores na plataforma de nuvem IOT THINGSAI usando ESP32.

Os requisitos para fazer este projeto são

1. Placa de desenvolvimento ESP32 (usei ESP32 DEVKIT V1)

2. Sensor LDR

3. Fios de ligação

4. Conta na PLATAFORMA THINGSAI IOT

Etapa 1: Criação e login na plataforma THINGSIO

Criação e login na plataforma THINGSIO
Criação e login na plataforma THINGSIO

Faça login na conta do THINGS AI. Se você é novo, registre-se na conta pressionando o botão de registro e preencha todas as credenciais. Sua conta será criada e a partir daí você poderá trabalhar na plataforma de nuvem e criar seu projeto personalizado

Etapa 2: Criando Novo Projeto

Criando Novo Projeto
Criando Novo Projeto

Depois de fazer login na conta, para criar um projeto, basta clicar no novo projeto e fornecer o nome do projeto.

Etapa 3: Criação de um novo dispositivo

Criação de um novo dispositivo
Criação de um novo dispositivo

Depois de criar o projeto, a próxima coisa que você precisa fazer é criar um novo dispositivo. Dê o nome do dispositivo e insira o ID do dispositivo manualmente ou gerado pelo sistema.

Etapa 4: Definindo o parâmetro do dispositivo

Definindo o parâmetro do dispositivo
Definindo o parâmetro do dispositivo

Dê o parâmetro do dispositivo e selecione o tipo de parâmetro

Etapa 5: Atualizando o dispositivo

Atualizando o dispositivo
Atualizando o dispositivo

Selecione o parâmetro e atualize o dispositivo

Etapa 6: codificação

Codificação
Codificação

Dos códigos de amostra, selecione o código do esp32, copie-o e cole-o no IDE do arduino e faça as alterações necessárias de acordo com o requisito. Eu dei o código abaixo

#include #include

#incluir

contagem interna = 0, i, m, j, k;

int t; int outputpin = A0; // ds18b20

int sensorvalue;

//////////////////////////////////////////// TODAS AS DECLARAÇÕES para CLOUD ////// //////////////////////////

const char * host = "api.thingsai.io"; // OU

host = devapi2.thethingscloud.com

const char * post_url = "/ devices / deviceData"; // OU / api / v2 / thingscloud2 / _table / data_ac

const char * time_server = "baas.thethingscloud.com"; // isso é para converter o carimbo de data / hora

const int httpPort = 80;

const int httpsPort = 443;

const char * server = "api.thingsai.io"; // URL do servidor

carimbo de data / hora char [10];

WiFiMulti WiFiMulti;

// Use a classe WiFiClient para criar conexões TCP

Cliente WiFiClient;

/////////////////////////////////////////// TIMESTAMP CALCULATION function //////// ///////////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // cliente WiFiClient;

enquanto (cliente.disponível () == 0)

{

if (milis () - tempo limite> 50000)

{

client.stop (); return 0;

}

}

enquanto (cliente.disponível ())

{

String line = client.readStringUntil ('\ r'); // indexOf () é uma função para pesquisar smthng, ele retorna -1 se não for encontrado

int pos = line.indexOf ("\" timestamp / ""); // procure por "\" carimbo de data / hora / "" do início da resposta obtida e copie todos os dados depois disso, será seu carimbo de data / hora

if (pos> = 0)

{

int j = 0;

para (j = 0; j <10; j ++)

{

carimbo de data / hora [j] = linha [pos + 12 + j];

}

}

}

} ////////////////////////////////////////////////////////////////////////////////////////////////////////

void setup ()

{

Serial.begin (115200);

atraso (10);

// Começamos nos conectando a uma rede WiFi

WiFiMulti.addAP ("wi-fi", "pswrd");

Serial.println ();

Serial.println ();

Serial.print ("Aguarde WiFi…");

enquanto (WiFiMulti.run ()! = WL_CONNECTED)

{

Serial.print (".");

atraso (500);

}

Serial.println ("");

Serial.println ("WiFi conectado");

Serial.println ("endereço IP:"); Serial.println (WiFi.localIP ());

atraso (500);

}

void loop ()

{

int analogValue = analogRead (outputpin);

{///////////////////////////////////////////// ENVIE A CONSULTA E RECEBA A RESPOSTA /// //////////////////////

valor do sensor = analogRead (A0); // lê o pino 0 da entrada analógica

valor do sensor = valor do sensor / 100;

Serial.print (valor do sensor, DEC); // imprime o valor lido

Serial.print ("\ n"); // imprime um espaço entre os números

atraso (1000); // aguarde 100ms para a próxima leitura

Serial.print ("conectando a"); Serial.println (host); // upside definido: - host = devapi2.thethingscloud.com ou 139.59.26.117

///////////////////////////////////////// TIMESTAMP CODE SNIPPET ////////// /////////////////

Serial.println ("dentro de obter carimbo de data / hora / n");

if (! client.connect (time_server, { Retorna; // * - * - * - * - * - * - * - * - * - *}

client.println ("GET / api / timestamp HTTP / 1.1"); // O que esta parte está fazendo, não recebi client.println ("Host: baas.thethingscloud.com");

client.println ("Cache-Control: no-cache");

client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // chamará a função que obterá a resposta do carimbo de data / hora do servidor Serial.println ("carimbo de data / hora recebido");

Serial.println (carimbo de data / hora);

Serial.println ("dentro de ThingsCloudPost");

String PostValue = "{" device_id / ": 61121695844, \" slave_id / ": 2";

PostValue = PostValue + ", \" dts / ":" + carimbo de data / hora;

PostValue = PostValue + ", \" data / ": {" INTENSITY / ":" + / sensorvalue + "}" + "}";

Serial.println (PostValue);

/ * cria uma instância do cliente WiFiClientSecure * / WiFiClientSecure;

Serial.println ("Conectar ao servidor pela porta 443");

if (! client.connect (server, 443))

{

Serial.println ("Falha na conexão!");

}

outro

{Serial.println ("Conectado ao servidor!"); / * criar solicitação HTTP * /

client.println ("POST / devices / deviceData HTTP / 1.1");

client.println ("Host: api.thingsai.io"); //client.println("Connection: close "); cl

ient.println ("Tipo de conteúdo: aplicativo / json");

client.println ("cache-control: no-cache");

client.println ("Autorização: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2Ptd)" client.print ("Content-Length:");

client.println (PostValue.length ());

client.println ();

client.println (PostValue); //////////////////////////////////////// POSTAR os dados na nuvem está feito e agora obtenha o formulário de resposta na nuvem servidor//////////////////

Serial.print ("Aguardando resposta");

while (! client.available ()) {

atraso (50); //

Serial.print (".");

} / * se os dados estiverem disponíveis, receba e imprima no Terminal * /

enquanto (cliente.disponível ())

{

char c = client.read ();

Serial.write (c);

}

/ * se o servidor for desconectado, pare o cliente * /

if (! client.connected ())

{

Serial.println ();

Serial.println ("Servidor desconectado");

client.stop ();

}

} Serial.println ("////////////////////// O FIM ////////////////////// / ");

atraso (3000); }}

Etapa 7: Seleção da placa e porta de comunicação

Seleção de placa e porta de comunicação
Seleção de placa e porta de comunicação

Nas ferramentas, selecione a placa e, em seguida, selecione a porta de comunicação

Etapa 8: Conexões de circuito

Conexões de Circuito
Conexões de Circuito
Conexões de Circuito
Conexões de Circuito
Conexões de Circuito
Conexões de Circuito

A codificação é feita e, em seguida, faça as seguintes conexões, conforme mencionado abaixo

CONEXÕES:

GND de esp32 a GND do sensor LDR

3V3 0f esp32 para o Vcc do LDR

VP de esp32 para o A0 do LDR

Etapa 9: compilar e fazer upload

Compilar e fazer upload
Compilar e fazer upload

compilar e carregar o código no esp32 e, em seguida, ler as leituras do monitor serial. Isso mostraria um resultado parecido com este

Etapa 10: Monitor serial

Monitor Serial
Monitor Serial

Os valores são obtidos no monitor serial e, em seguida, enviados para a plataforma THINGSAI IOT Cloud.

Etapa 11: Leituras

Leituras
Leituras

Mostra os valores obtidos na placa esp32.

Etapa 12: Representação Gráfica

Representação gráfica
Representação gráfica

Esta é a representação gráfica dos valores obtidos. Esse é o fim do tutorial. Espero que você tenha entendido. Obrigada

Recomendado: