Sommario:

LDR con Thingsai Cloud: 13 passaggi
LDR con Thingsai Cloud: 13 passaggi

Video: LDR con Thingsai Cloud: 13 passaggi

Video: LDR con Thingsai Cloud: 13 passaggi
Video: АСМР 🏆🔥[Гарри Поттер и Кубок огня] [Глава 30-37] Чтение шепотом 📚 ASMR whisper [Harry Potter] 2024, Luglio
Anonim
LDR utilizzando Thingsai Cloud
LDR utilizzando Thingsai Cloud

EHI…..oggi impareremo come misurare l'intensità della luce e pubblicare i valori nella piattaforma cloud THINGSAI IOT utilizzando ESP32.

I requisiti per realizzare questo progetto sono

1. Scheda di sviluppo ESP32 (ho usato ESP32 DEVKIT V1)

2. Sensore LDR

3. Cavi dei ponticelli

4. Account in THINGSAI IOT PLATFORM

Passaggio 1: creazione e accesso alla piattaforma THINGSIO

Creazione e accesso alla piattaforma THINGSIO
Creazione e accesso alla piattaforma THINGSIO

Accedi all'account THINGS AI. Se sei nuovo allora registrati all'account premendo il pulsante registrati e compila tutte le credenziali. Verrà creato il tuo account e da quel momento potrai lavorare sulla piattaforma cloud e creare il tuo progetto personalizzato

Passaggio 2: creazione di un nuovo progetto

Creazione di un nuovo progetto
Creazione di un nuovo progetto

Dopo aver effettuato l'accesso all'account, per creare un progetto basta cliccare sul nuovo progetto e poi dare il nome del progetto.

Passaggio 3: creazione di un nuovo dispositivo

Creazione di un nuovo dispositivo
Creazione di un nuovo dispositivo

dopo aver creato il progetto, la prossima cosa che devi fare è creare un nuovo dispositivo. Dare il nome del dispositivo e inserire l'ID del dispositivo manualmente o generato dal sistema.

Passaggio 4: definizione dei parametri del dispositivo

Definizione dei parametri del dispositivo
Definizione dei parametri del dispositivo

Dare il parametro del dispositivo e quindi selezionare il tipo di parametro

Passaggio 5: aggiornamento del dispositivo

Aggiornamento del dispositivo
Aggiornamento del dispositivo

Seleziona il parametro e poi aggiorna il dispositivo

Passaggio 6: codifica

codifica
codifica

Dai codici di esempio seleziona il codice di esp32 copialo e poi incollalo nell'IDE di arduino e apporta le modifiche necessarie in base al requisito. Ho dato il codice qui sotto

#include #include

#includere

int conteggio=0, i, m, j, k;

int t; int outputpin= A0;//ds18b20

int valore sensore;

//////////////////////////////////////// TUTTE LE DICHIARAZIONI per CLOUD ////// ////////////////////////

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

host = devapi2.thethingscloud.com

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

const char* time_server = "baas.thethingscloud.com"; //questo serve per convertire il timestamp

const int httpPort = 80;

const int httpsPort = 443;

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

char timestamp[10];

WiFi Multi WiFi Multi;

// Usa la classe WiFiClient per creare connessioni TCP

client WiFi Client;

/////////////////////////////////////// Funzione CALCOLO ORA//////// /////////////////////////////// int GiveMeTimestamp() { timeout lungo senza segno = millis(); //client WiFiClient;

while (client.disponibile() == 0)

{

if (millis() - timeout > 50000)

{

cliente.stop(); restituisce 0;

}

}

mentre (client.disponibile())

{

Stringa riga = client.readStringUntil('\r'); //indexOf() è una funzione per cercare smthng, restituisce -1 se non trovata

int pos = line.indexOf("\"timestamp\""); //cerca "\"timestamp\"" dall'inizio della risposta ottenuta e copia tutti i dati dopo, sarà il tuo timestamp

se (pos >= 0)

{

intj = 0;

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

{

timestamp[j] = riga[pos + 12 + j];

}

}

}

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

configurazione nulla()

{

Serial.begin(115200);

ritardo(10);

// Iniziamo connettendoci a una rete WiFi

WiFiMulti.addAP("wifi", "pswrd");

Serial.println();

Serial.println();

Serial.print("Attendi WiFi… ");

while(WiFiMulti.run() != WL_CONNECTED)

{

Serial.print(".");

ritardo (500);

}

Serial.println("");

Serial.println("WiFi connesso");

Serial.println("Indirizzo IP: "); Serial.println(WiFi.localIP());

ritardo (500);

}

ciclo vuoto()

{

int AnalogValue = analogRead(outputpin);

{ /////////////////////////////////////// INVIARE LA DOMANDA E RICEVERE LA RISPOSTA/// ////////////////////

valoresensore = analogRead(A0); // legge il pin di ingresso analogico 0

valoresensore=valoresensore/100;

Serial.print(valoresensore, DEC); // stampa il valore letto

Serial.print("\n"); // stampa uno spazio tra i numeri

ritardo(1000); // attendi 100 ms per la lettura successiva

Serial.print("connessione a "); Serial.println(host); // rialzo definito: - host = devapi2.thethingscloud.com o 139.59.26.117

//////////////////////////////////// SNIPPET DEL CODICE TIMESTAMP ////////// ///////////////

Serial.println("inside ottieni timestamp\n");

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

client.println("OTTIENI /api/timestamp HTTP/1.1"); //Cosa sta facendo questa parte, non ho ricevuto client.println("Host: baas.thethingscloud.com");

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

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

client.println();

GiveMeTimestamp(); //chiamerà la funzione che riceverà la risposta del timestamp dal server Serial.println("timestamp receieved");

Serial.println(timestamp);

Serial.println("dentro ThingsCloudPost");

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

PostValue = PostValue + ", \"dts\":" + timestamp;

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

Serial.println(PostValue);

/* crea un'istanza di WiFiClientSecure */ WiFiClientSecure client;

Serial.println("Connetti al server tramite la porta 443");

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

{

Serial.println("Connessione fallita!");

}

altro

{ Serial.println("Connesso al server!"); /* crea una richiesta HTTP */

client.println( POST /devices/deviceData

client.println("Host: api.thingsai.io"); //client.println("Connessione: chiudi"); cl

ient.println("Content-Type: application/json");

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

client.println("Autorizzazione: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNq9"AG9PNTj);d client.print("Lunghezza contenuto: ");

client.println(PostValue.length());

client.println();

client.println(PostValue); /////////////////////////////////POSTARE i dati sul cloud è fatto e ora ottieni il modulo di risposta cloud server//////////////////

Serial.print("In attesa di risposta");

mentre (!client.available()){

ritardo(50); //

Serial.print(".");

} /* se i dati sono disponibili, riceve e stampa su Terminale */

mentre (client.disponibile())

{

char c = client.read();

Serial.write(c);

}

/* se il server si è disconnesso, ferma il client */

if (!client.connected())

{

Serial.println();

Serial.println("Server disconnesso");

cliente.stop();

}

} Serial.println("///////////////////// LA FINE /////////////////// /");

ritardo (3000); } }

Passaggio 7: selezione della scheda e della porta COM

Selezione della scheda e della porta COM
Selezione della scheda e della porta COM

Dagli strumenti seleziona la scheda e quindi seleziona la porta com

Passaggio 8: collegamenti del circuito

Collegamenti del circuito
Collegamenti del circuito
Collegamenti del circuito
Collegamenti del circuito
Collegamenti del circuito
Collegamenti del circuito

La codifica viene eseguita, quindi effettuare i seguenti collegamenti come indicato di seguito

CONNESSIONI:

GND di esp32 a GND del sensore LDR

3V3 0f esp32 al Vcc della LDR

VP di esp32 alla A0 della LDR

Passaggio 9: compilazione e caricamento

Compila e carica
Compila e carica

compilare e caricare il codice nell'esp32 e quindi leggere le letture dal monitor seriale. Ciò mostrerebbe un risultato simile a questo

Passaggio 10: monitor seriale

Monitor seriale
Monitor seriale

I valori vengono rilevati sul monitor seriale e successivamente inviati alla piattaforma THINGSAI IOT Cloud.

Passaggio 11: letture

letture
letture

Mostra i valori ottenuti dalla scheda esp32.

Passaggio 12: rappresentazione grafica

Rappresentazione grafica
Rappresentazione grafica

Questa è la rappresentazione grafica dei valori ottenuti. Questa è la fine del tutorial. Spero tu abbia capito. Grazie

Consigliato: