İçindekiler:
- 1. Adım: BİLEŞENLER
- 2. Adım: BAĞLANTILAR:
- Adım 3: KODLAMA:
- 4. Adım: SONUÇ:
- Adım 5: Eğitimi Tamamlayın:
Video: Yakınlık Ölçümü: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
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
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:
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Ç:
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:
Raspberry Pi - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Java Eğitimi: 4 Adım
Raspberry Pi - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Java Eğitimi: TMD26721, tek bir 8 pimli yüzeye montaj modülünde eksiksiz bir yakınlık algılama sistemi ve dijital arayüz mantığı sağlayan bir kızılötesi dijital yakınlık dedektörüdür. Yakınlık algılama, gelişmiş sinyal-gürültü ve kesinlik. Profesyonel
Visuino Endüktif Yakınlık Sensörü Nasıl Kullanılır: 7 Adım
Visuino Endüktif Yakınlık Sensörü Nasıl Kullanılır: Bu eğitimde, metal Yakınlığı algılamak için Endüktif Yakınlık Sensörü ve Arduino UNO ve Visuino'ya bağlı bir LED kullanacağız.Bir tanıtım videosunu izleyin
Magicbit [Magicblocks] ile Yakınlık Sensörü Yapın: 6 Adım
Magicbit [Magicblocks] ile Yakınlık Sensörü Yapın: Bu eğitim size Magicblocks kullanarak Magicbit ile bir Yakınlık Sensörü kullanmayı öğretecektir. ESP32 tabanlı bu projede geliştirme kartı olarak magicbit kullanıyoruz. Bu nedenle bu projede herhangi bir ESP32 geliştirme kartı kullanılabilir
Hareket Sensörü APDS9960 ile Mesafe Yakınlık Ölçümü: 6 Adım
Hareket Sensörü APDS9960 ile Mesafe Yakınlık Ölçümü: Bu derste bir hareket sensörü APDS9960, arduino ve Visuino kullanarak mesafeyi nasıl ölçeceğimizi öğreneceğiz.Videoyu izleyin
IR Yakınlık Sensörü, Hoparlör ve Arduino Uno Kullanan Hava Piyano (Yükseltilmiş/parça-2): 6 Adım
IR Yakınlık Sensörü, Hoparlör ve Arduino Uno Kullanan Hava Piyano (Yükseltilmiş/bölüm-2): Bu, önceki hava piyano projesinin yükseltilmiş bir versiyonudur. Burada çıkış olarak bir JBL hoparlör kullanıyorum. Modları gereksinimlere göre değiştirmek için dokunmaya duyarlı bir düğme de ekledim. Örneğin- Sert Bas modu, Normal mod, Yüksek fr