İçindekiler:

Thingsai Cloud'u Kullanan LDR: 13 Adım
Thingsai Cloud'u Kullanan LDR: 13 Adım

Video: Thingsai Cloud'u Kullanan LDR: 13 Adım

Video: Thingsai Cloud'u Kullanan LDR: 13 Adım
Video: Kısa ve Kolay İngilizce Hikayeler- 13 (Level 2) 2024, Temmuz
Anonim
Thingsai Cloud'u Kullanan LDR
Thingsai Cloud'u Kullanan LDR

HEY…..bugün ESP32 kullanarak ışığın yoğunluğunu ölçmeyi ve değerleri THINGSAI IOT bulut platformuna göndermeyi öğreneceğiz.

Bu projeyi yapmak için gerekenler

1. ESP32 Geliştirme Kartı (ESP32 DEVKIT V1 kullandım)

2. LDR sensörü

3. Atlama Telleri

4. THINGSAI IOT PLATFORMUNDA Hesap

1. Adım: THINGSIO Platformu Oluşturma ve Oturum Açma

THINGSIO Platformu Oluşturma ve Oturum Açma
THINGSIO Platformu Oluşturma ve Oturum Açma

THINGS AI hesabına giriş yapın. Yeniyseniz, kayıt düğmesine basarak hesaba kaydolun ve tüm kimlik bilgilerini doldurun. Hesabınız oluşturulacak ve o andan itibaren bulut platformunda çalışabilecek ve özel projenizi oluşturabileceksiniz.

Adım 2: Yeni Proje Oluşturma

Yeni Proje Oluşturma
Yeni Proje Oluşturma

Hesaba giriş yaptıktan sonra proje oluşturmak için yeni projeye tıklayın ve ardından proje adını verin.

3. Adım: Yeni Bir Cihaz Oluşturma

Yeni Bir Cihaz Oluşturma
Yeni Bir Cihaz Oluşturma

projeyi oluşturduktan sonra yapmanız gereken yeni bir cihaz oluşturmaktır. Cihaz adını verin ve cihaz kimliğini manuel olarak veya sistem tarafından oluşturulmuş olarak girin.

Adım 4: Cihaz Parametresinin Tanımlanması

Cihaz Parametresinin Tanımlanması
Cihaz Parametresinin Tanımlanması

Cihaz parametresini verin ve ardından parametre türünü seçin

Adım 5: Cihazı Güncelleme

Cihazı Güncelleme
Cihazı Güncelleme

Parametreyi seçin ve ardından cihazı güncelleyin

Adım 6: Kodlama

kodlama
kodlama

Örnek kodlardan esp32 kodunu seçip kopyalayın ve ardından arduino IDE'ye yapıştırın ve ihtiyaca göre gerekli değişiklikleri yapın. Aşağıdaki kodu verdim

#include #include

#Dahil etmek

int sayı=0, i, m, j, k;

int t; int çıktıpin= A0;//ds18b20

int sensör değeri;

//////////////////////////////////// BULUT İÇİN TÜM BİLDİRİMLER ////// /////////////////////

const char* ana bilgisayar = "api.thingsai.io"; // VEYA

ana bilgisayar = devapi2.thethingscloud.com

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

const char* time_server = "baas.thethingscloud.com"; // bu, zaman damgasını dönüştürmek içindir

const int httpPort = 80;

const int httpsPort = 443;

const char* sunucu = "api.thingsai.io"; // Sunucu URL'si

karakter zaman damgası[10];

WiFiÇoklu WiFiÇoklu;

// TCP bağlantıları oluşturmak için WiFiClient sınıfını kullanın

WiFiClient istemcisi;

/////////////////////////////////// ZAMAN DAMGASI HESAPLAMA fonksiyonu//////// //////////////////////////// int GiveMeTimestamp() { unsigned long timeout = millis(); // WiFiClient istemcisi;

while (client.available() == 0)

{

if (milis() - zaman aşımı > 50000)

{

istemci.durdur(); 0 döndür;

}

}

while (client.available())

{

String satırı = client.readStringUntil('\r'); //indexOf() smthng aramak için bir işlevdir, bulunamazsa -1 döndürür

int konum = line.indexOf("\"zaman damgası\""); // yanıtın başlangıcından itibaren "\"timestamp\"" ifadesini arayın ve bundan sonra tüm verileri kopyalayın, bu sizin zaman damganız olacak

eğer (konum >= 0)

{

int j = 0;

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

{

zaman damgası[j] = satır[konum + 12 + j];

}

}

}

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

geçersiz kurulum()

{

Seri.başla(115200);

gecikme(10);

// Bir WiFi ağına bağlanarak başlıyoruz

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

Seri.println();

Seri.println();

Serial.print("WiFi için bekleyin… ");

while(WiFiMulti.run() != WL_CONNECTED)

{

Seri.print(".");

gecikme(500);

}

Seri.println("");

Serial.println("WiFi bağlandı");

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

gecikme(500);

}

boşluk döngüsü()

{

int analogValue = analogRead(outputpin);

{ /////////////////////////////////// SORUYU GÖNDERİN VE YANIT ALIN/// //////////////////

sensör değeri = analogRead(A0); // analog giriş pini 0'ı oku

sensördeğeri=sensördeğeri/100;

Serial.print(sensör değeri, DEC); // okunan değeri yazdırır

Seri.print(" \n"); // sayılar arasında bir boşluk yazdırır

gecikme(1000); // sonraki okuma için 100ms bekle

Serial.print("bağlanıyor"); Serial.println(ana bilgisayar); //yukarı tanımlı:- ana bilgisayar = devapi2.thethingscloud.com veya 139.59.26.117

///////////////////////////////// ZAMAN DAYANIMI KODU SINIPPET ////////// //////////////

Serial.println("içeriden zaman damgası alın\n");

if (!client.connect(time_server, { dönüş; //*-*-*-*-*-*-*-*-*-* }

client.println("GET /api/timestamp HTTP/1.1"); //Bu kısım ne yapıyor, client.println("Host: baas.thethingscloud.com");

client.println("Önbellek Kontrolü: önbellek yok");

client.println("Postacı Simgesi: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println();

GiveMeTimestamp(); //sunucudan zaman damgası yanıtını alacak işlevi çağıracak Serial.println("zaman damgası alındı");

Serial.println(zaman damgası);

Serial.println("ThinsCloudPost'un içinde");

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

PostValue = PostValue + ", \"dts\":" +zaman damgası;

PostValue = PostValue +", \"veri\":{"YOĞUNLUK\":" + \sensorvalue +"}"+"}";

Serial.println(PostValue);

/* bir WiFiClientSecure örneği yarat */ WiFiClientSecure istemcisi;

Serial.println("Sunucuya 443 numaralı bağlantı noktasından bağlanın");

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

{

Serial.println("Bağlantı başarısız!");

}

Başka

{ Serial.println("Sunucuya bağlandı!"); /* HTTP isteği oluştur */

client.println( POST /devices/deviceData

client.println("Ana Bilgisayar: api.thingsai.io"); //client.println("Bağlantı: kapat"); cl

ient.println("İçerik Türü: uygulama/json");

client.println("önbellek kontrolü: önbellek yok");

client.println("Yetkilendirme: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTy6_l9"; client.print("İçerik-Uzunluk: ");

client.println(PostValue.length());

client.println();

client.println(PostValue); ///////////////////////////////Verileri buluta GÖNDERME tamamlandı ve şimdi yanıt formunu bulut alın sunucu////////////////

Serial.print("Yanıt bekleniyor");

while (!client.available()){

gecikme(50); //

Seri.print(".");

} /* veri varsa alın ve Terminal'e yazdırın */

while (client.available())

{

karakter c = client.read();

Seri.write(c);

}

/* sunucunun bağlantısı kesilirse, istemciyi durdurun */

if (!client.connected())

{

Seri.println();

Serial.println("Sunucu bağlantısı kesildi");

istemci.durdur();

}

} Serial.println("//////////////////// SON ////////////////// /");

gecikme(3000); } }

Adım 7: Kart ve Com Port Seçimi

Pano ve Com Port Seçimi
Pano ve Com Port Seçimi

Araçlardan kartı seçin ve ardından com portunu seçin

Adım 8: Devre Bağlantıları

Devre Bağlantıları
Devre Bağlantıları
Devre Bağlantıları
Devre Bağlantıları
Devre Bağlantıları
Devre Bağlantıları

Kodlama yapıldıktan sonra aşağıda belirtildiği gibi aşağıdaki bağlantıları yapın.

BAĞLANTILAR:

esp32'nin GND'si ile LDR sensörünün GND'si

LDR'nin Vcc'sine 3V3 0f esp32

LDR'nin A0'ına esp32'nin VP'si

9. Adım: Derleyin ve Yükleyin

Derleyin ve Yükleyin
Derleyin ve Yükleyin

kodu derleyin ve esp32'ye yükleyin ve ardından seri monitörden okumaları okuyun. Bu, bunun gibi bir sonuç gösterirdi

Adım 10: Seri Monitör

Seri Monitör
Seri Monitör

Değerler seri monitörde elde edilir ve ardından THINGSAI IOT Cloud platformuna gönderilir.

Adım 11: Okumalar

Okumalar
Okumalar

Bu, esp32 kartından elde edilen değerleri gösterir.

Adım 12: Grafik Gösterim

Grafik Temsil
Grafik Temsil

Bu, elde edilen değerlerin grafiksel gösterimidir. Bu eğitimin sonu. Umarım anlamışsındır. Teşekkürler

Önerilen: