İçindekiler:

Yakınlık Ölçümü: 5 Adım
Yakınlık Ölçümü: 5 Adım

Video: Yakınlık Ölçümü: 5 Adım

Video: Yakınlık Ölçümü: 5 Adım
Video: Kadınların Verdiği 5 Flört Sinyali 2024, Temmuz
Anonim
Yakınlık Ölçümü
Yakınlık Ölçümü

Bu derste hall sensörü ve esp32 geliştirme kartı kullanarak bir cihazın yakınlığını ölçmeyi ve değerleri Thingsai, io bulut platformuna yayınlamayı anlatacağım.

Hall etkisi sensörü, manyetik alanın büyüklüğünü ölçmek için kullanılan bir cihazdır. Çıkış voltajı, içinden geçen manyetik alan gücü ile doğru orantılıdır. Hall etkisi sensörleri, yakınlık algılama, konumlandırma, hız algılama ve akım algılama uygulamaları için kullanılır.

1. Adım: BİLEŞENLER

BİLEŞENLER
BİLEŞENLER
BİLEŞENLER
BİLEŞENLER
BİLEŞENLER
BİLEŞENLER

Donanım bileşenleri:

1. Salon Sensörü

2. esp32 geliştirme kurulu

3. Atlama telleri

Yazılım Bileşenleri:

1. Arduino IDE'si

2. ŞeylerIO. AI

2. Adım: BAĞLANTILAR:

BAĞLANTILAR
BAĞLANTILAR

Hall sensörü ---------------------- esp32

Aout---------------------------------vp

Gnd---------------------------------Gnd

Vcc---------------------------------3V3

Adım 3: KODLAMA:

#Dahil etmek

#Dahil etmek

#Dahil etmek

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

int ölçümü;

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

/////////////////////////////////// TÜM BEYANNAMELER

BULUT için ///////////////////////////

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 karakter* zaman_sunucusu =

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

const int httpPort = 80;

const int httpsPort = 443;

const karakter* 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;

//////////////////////////////////

HESAPLAMA işlevi////////////////////////////////////

int GiveMeTimestamp()

{

imzasız uzun

zaman aşımı = millis();

// WiFiClient istemcisi;

süre

(client.available() == 0)

{

if (milis() -

zaman aşımı > 50000)

{

istemci.durdur();

0 döndür;

}

}

while (client.available())

{

dize 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

if (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);

// ile başlıyoruz

bir WiFi ağına bağlanma

WiFiMulti.addAP("wifi_name", "kablosuz ağ parolası");

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 analogDeğer =

analogRead (çıkış pini);

{

/////////////////////////////////// SORUYU GÖNDERİN VE

YANIT ALIN/////////////////////

int ölçümü

= 0;

ölçüm =

hallRead();Serial.print("Hall sensörü ölçümü: ");Serial.println(ölçüm);

gecikme(1000);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 SİPETİ

/////////////////////////

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

Eğer

(!client.connect(time_server, {

dönüş;

//*-*-*-*-*-*-*-*-*-*

}client.println("GET /api/timestamp HTTP/1.1"); //Bu kısım ne yapıyor, anlamadımclient.println("Ana Bilgisayar: baas.thethingscloud.com");client.println("Önbellek Kontrolü: önbellek yok");client.println("Postacı Simgesi: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println();

GiveMeTimestamp(); // işlevi çağıracak

sunucudan zaman damgası yanıtını alacak olan

Serial.println("zaman damgası alındı");

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

String PostValue =

"{"device_id\": 61121696007, \"slave_id\": 2";

PostValue =

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

PostValue =

PostValue +", \"veri\":{"yakınlık\":" + ölçüm +"}"+"}";Serial.println(PostValue);

/* bir WiFiClientSecure örneği yarat */

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

Eğer

(!client.connect(sunucu, 443)){Serial.println("Bağlantı başarısız!");

} Başka {Serial.println("Sunucuya bağlanıldı!");

/* HTTP oluştur

rica etmek */

client.println( POST

/devices/deviceData HTTP/1.1");client.println("Ana Bilgisayar: api.thingsai.io");//client.println("Bağlantı: kapat");client.println("İçerik Türü: uygulama/json");client.println("önbellek kontrolü: önbellek yok");

client.println( Yetkilendirme:

Taşıyıcı eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9td);"client.print("İçerik-Uzunluk: ");client.println(PostValue.length());

client.println();client.println(PostValue);

///////////////////////////////verileri

bulut tamamlandı ve şimdi yanıt formunu alın bulut sunucusu////////////////

Serial.print( Yanıt bekleniyor

);

süre

(!client.available()){

gecikme(50);

//Seri.print(".");

}

/* veri ise

kullanılabilir, sonra alın ve Terminal'e yazdırın */

süre

(client.available()) {

karakter c =

müşteri.read();Seri.write(c);

}

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

Eğer

(!client.connected()) {Seri.println();Serial.println("Sunucu bağlantısı kesildi");istemci.durdur();

}

}

Serial.println( //////////////////// SON

///////////////////// );

gecikme(3000);

}}

4. Adım: SONUÇ:

SONUÇ
SONUÇ

Sensörden okunan değerler başarıyla IOT bulutuna gönderiliyor ve yakınlık-zaman olarak grafik oluşturuluyor. Bununla sensörün çalışması analiz edilir ve gerekli uygulama alanlarına göre kullanılır.

Adım 5: Eğitimi Tamamlayın:

Bu, hall sensörü esp32 ve Thingsai.io bulut platformunu kullanarak bir cihazın yakınlığını ölçmek için eksiksiz bir projedir. Teşekkürler

Önerilen: