Índice:
- Etapa 1: Criação e login na plataforma THINGSIO
- Etapa 2: Criando Novo Projeto
- Etapa 3: Criação de um novo dispositivo
- Etapa 4: Definindo o parâmetro do dispositivo
- Etapa 5: Atualizando o dispositivo
- Etapa 6: codificação
- Etapa 7: Seleção da placa e porta de comunicação
- Etapa 8: Conexões de circuito
- Etapa 9: compilar e fazer upload
- Etapa 10: Monitor serial
- Etapa 11: Leituras
- Etapa 12: Representação Gráfica
- Etapa 13:
Vídeo: LDR usando Thingsai Cloud: 13 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
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
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
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
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
Dê o parâmetro do dispositivo e selecione o tipo de parâmetro
Etapa 5: Atualizando o dispositivo
Selecione o parâmetro e atualize o dispositivo
Etapa 6: 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
Nas ferramentas, selecione a placa e, em seguida, selecione a porta de comunicação
Etapa 8: 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 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
Os valores são obtidos no monitor serial e, em seguida, enviados para a plataforma THINGSAI IOT Cloud.
Etapa 11: Leituras
Mostra os valores obtidos na placa esp32.
Etapa 12: 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:
JOGO DINO USANDO LDR: 5 etapas
DINO GAME USANDO LDR: Dinosaur Game, também conhecido como T-Rex Game e Dino Runner, é um jogo de navegador integrado ao navegador Google Chrome. O jogo foi criado por Sebastien Gabriel em 2014 e pode ser acessado pressionando a barra de espaço quando estiver offline no Google Chrome.A L
Cortina automática / persiana de janela usando Arduino e LDR: 3 etapas
Cortina automática / cortina de janela usando Arduino e LDR: Neste tutorial, vamos demonstrar como fazer uma cortina de janela automática usando Arduino e o módulo LDR. Durante o dia, a cortina / persiana irá rolar para baixo e durante a noite irá rolar para cima
Detector de movimento usando Thingsai.io Iot Cloud Platform: 6 etapas
Detector de movimento usando Thingsai.io Iot Cloud Platform: Neste tutorial, vou explicar sobre a detecção de movimento usando um sensor PIR e Esp32 junto com uma plataforma de nuvem IOT Thingai.io
Circuitos GPIO Raspberry Pi: usando um sensor analógico LDR sem um ADC (conversor analógico para digital): 4 etapas
Circuitos GPIO do Raspberry Pi: usando um sensor analógico LDR sem um ADC (conversor analógico para digital): Em nossos Instructables anteriores, mostramos como você pode vincular os pinos GPIO do Raspberry Pi a LEDs e interruptores e como os pinos GPIO podem ser altos ou baixo. Mas e se você quiser usar seu Raspberry Pi com um sensor analógico? Se quisermos usar um
Como fazer um circuito de luz noturna automático simples usando LDR: 4 etapas
Como fazer um circuito de luz noturna automático simples usando LDR: Olá, amigos de hoje, vou mostrar a vocês como fazer um circuito de luz noturna automático simples usando um LDR (resistor dependente de luz) e um mosfet, então siga adiante e nas próximas etapas, você irá encontre o diagrama do circuito de luz noturna automática, bem como t