Mundarija:
- 1 -qadam: QOMPONENTLAR
- 2 -qadam: Ulanishlar:
- 3 -qadam: kodlash:
- 4 -qadam: Natija:
- 5 -qadam: To'liq darslik:
Video: Yaqinlik o'lchami: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Ushbu qo'llanmada men qurilmaning yaqinligini o'lchash va qiymatlarni Thingsai, io bulutli platformasida zal sensori va esp32 ishlab chiqish paneli yordamida e'lon qilish haqida tushuntiraman.
Hall effekti sensori - bu magnit maydonining kattaligini o'lchash uchun mo'ljallangan qurilma. Uning chiqish kuchlanishi magnit maydon kuchiga to'g'ridan to'g'ri proportsionaldir. Zal effektli sensorlar yaqinlikni aniqlash, joylashishni aniqlash, tezlikni aniqlash va joriy sezish uchun ishlatiladi.
1 -qadam: QOMPONENTLAR
Uskuna komponentlari:
1. Zal sensori
2. esp32 ishlab chiqish taxtasi
3. Jumper simlari
Dastur komponentlari:
1. Arduino IDE
2. narsalar AI. AI
2 -qadam: Ulanishlar:
Zal sensori ---------------------- esp32
Yo'q ------------------------------ vp
Gnd ---------------------------- Gnd
Vcc ------------------------------ 3V3
3 -qadam: kodlash:
#qo'shing
#qo'shing
#qo'shing
int soni = 0, i, m, j, k;
int o'lchami;
int chiqish pin = A0; // ds18b20
///////////////////////////////////////// BARCHA BELGILAR
CLOUD uchun ///////////////////////////////
const char* host = "api.thingsai.io"; // YoKI host =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // YoKI
/api/v2/thingscloud2/_table/data_ac
const char* time_server =
"baas.thethingscloud.com"; // bu vaqt tamg'asini aylantirish uchun
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // Server manzili
char vaqt belgisi [10];
Wi -Fi ko'p tarmoqli WiFi;
// TCP ulanishlarini yaratish uchun WiFiClient sinfidan foydalaning
WiFiClient mijozi;
///////////////////////////////////////// TIMESTAMP
Hisoblash funktsiyasi //////////////////////////////////////////////////////////////////////////
int GiveMeTimestamp ()
{
imzosiz uzoq
vaqt tugashi = millis ();
// WiFiClient mijozi;
vaqt
(client.available () == 0)
{
agar (millis () -
tanaffus> 50000)
{
client.stop ();
qaytarish 0;
}
}
while (client.available ())
{
String qatori =
client.readStringUntil ('\ r'); // indexOf () -smthngni qidirish funktsiyasi, topilmasa -1 qaytaradi
int pos =
line.indexOf ("\" vaqt tamg'asi / ""); // javob boshidan "\" vaqt tamg'asi / "" ni qidiring va shundan so'ng barcha ma'lumotlarni nusxa ko'chiring, bu sizning vaqt tamg'angiz bo'ladi
agar (pos> =
0)
{
int j = 0;uchun (j = 0; j <10; j ++)
{vaqt belgisi [j] = chiziq [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
bo'sh o'rnatish ()
{Serial.begin (115200);
kechikish (10);
// Biz boshlaymiz
WiFi tarmog'iga ulanish
WiFiMulti.addAP ("wifi_name", "wifi_password");
Serial.println ();
Serial.println ();Serial.print ("WiFi kuting …");esa (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
kechikish (500);
}Serial.println ("");Serial.println ("Wi -Fi ulangan");Serial.println ("IP -manzil:");
Serial.println (WiFi.localIP ());
kechikish (500);
}
bo'sh halqa ()
{
int analogValue =
analogRead (chiqish pin);
{
///////////////////////////////////////////////////////////////////////////////////////////////////// sahifalar
Javobni qabul qiling ///////////////////////
int o'lchov
= 0;
o'lchov =
hallRead ();Serial.print ("Zal sensori o'lchami:");Serial.println (o'lchov);
kechikish (1000);Serial.print ("ulanish");Serial.println (mezbon); // teskari aniqlangan:- host = devapi2.thethingscloud.com yoki 139.59.26.117
///////////////////////////////////////////////////// TIMESTAMP KODI SNIPPET
/////////////////////////
Serial.println ("ichida vaqt tamg'asini olish / n");
agar
(! client.connect (time_server, {
qaytish;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/vaqt tamg'asi HTTP/1.1"); // Bu qism nima qilyapti, men tushunmadimclient.println ("Xost: baas.thethingscloud.com");client.println ("Keshni boshqarish: keshsiz");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
mijoz.println ();
GiveMeTimestamp (); // u funktsiyani chaqiradi
bu serverdan vaqt tamg'asi javobini oladi
Serial.println ("vaqt tamg'asi qabul qilindi");
Serial.println (vaqt tamg'asi);Serial.println ("ThingsCloudPost ichida");
String PostValue =
"{" device_id / ": 61121696007, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + vaqt tamg'asi;
PostValue =
PostValue +", \" ma'lumotlar / ": {" yaqinlik / ":" +o'lchov +"}" +"}";Serial.println (PostValue);
/ * WiFiClientSecure misolini yaratish */
WiFiClientSecure mijozi;Serial.println ("443 -port orqali serverga ulanish");
agar
(! client.connect (server, 443)) {Serial.println ("Ulanish muvaffaqiyatsiz tugadi!");
} boshqa {Serial.println ("Serverga ulandi!");
/* HTTP yaratish
so'rov */
client.println ( POST
/qurilmalar/deviceData HTTP/1.1 ");client.println ("Xost: api.thingsai.io");//client.println("Ulanish: yopish ");client.println ("Kontent turi: application/json");client.println ("keshni boshqarish: keshsiz");
client.println ( Avtorizatsiya:
Tashuvchi eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9fKy6_m9)client.print ("Content-Length:");mijoz.println (PostValue.length ());
mijoz.println ();client.println (PostValue);
//////////////////////////////////////////////////////////////////////////// qism qismlarga ma'lumotlarni joylashtirish
bulut tugadi va endi bulutli serverning javobini oling /////////////////
Serial.print ( Javob kutilmoqda
);
vaqt
(! mijoz.available ()) {
kechikish (50);
//Serial.print (".");
}
/* agar ma'lumotlar bo'lsa
mavjud, keyin qabul qiling va Terminalda chop eting */
vaqt
(client.available ()) {
char c =
client.read ();Serial.write (c);
}
/ * agar server uzilgan bo'lsa, mijozni to'xtating */
agar
(! client.connected ()) {Serial.println ();Serial.println ("Server uzilgan");client.stop ();
}
}
Serial.println ( ////////////////////// END
///////////////////// );
kechikish (3000);
}}
4 -qadam: Natija:
Sensordan o'qiladigan qiymatlar IOT bulutiga muvaffaqiyatli yuborilmoqda va grafik vaqtga yaqinlik sifatida yaratilmoqda. Bu bilan sensorning ishi tahlil qilinadi va kerakli dastur sohalariga muvofiq ishlatiladi.
5 -qadam: To'liq darslik:
Bu esp32 zali sensori va thingsai.io bulutli platformasi yordamida qurilmaning yaqinligini o'lchashning to'liq loyihasi. rahmat
Tavsiya:
50 kg yuk xujayralari va HX711 kuchaytirgichli Arduino hammom o'lchami: 5 qadam (rasmlar bilan)
50 kg yuk kameralari va HX711 kuchaytirgichi bo'lgan Arduino hammom o'lchovi: Ushbu yo'riqnomada javonlarda mavjud bo'lgan tortish moslamalari yordamida tortish o'lchagichini qanday qilish kerakligi ko'rsatilgan. Kerakli materiallar: Arduino - (bu dizaynda standart Arduino Uno ishlatiladi, boshqa Arduino versiyalari yoki klonlari ishlashi kerak. shuningdek) HX711 buzilishida
Portativ nozik zarracha o'lchami (kengaytma): 3 qadam
Portativ nozik zarrachalarning o'lchami (kengaytmasi): Maqsad: CO2 sensorini qo'shish Dasturning o'qilishi yaxshilandi Dasturning boshqa turdagi sensorlarga ochilishi. Bu loyiha allaqachon chop etilgan boshqa loyihaga amal qiladi. Bu o'quvchilar tomonidan berilgan savollarga javob beradi. Qo'shimcha sensor o'rnatildi
Portativ nozik zarracha o'lchami: 4 qadam (rasmlar bilan)
Portativ nozik zarrachalarni o'lchash: Ushbu loyihaning maqsadi nozik zarracha miqdorini o'lchash orqali havo sifatini o'lchashdir. Portativligi tufayli uyda yoki harakatda o'lchovlarni amalga oshirish mumkin bo'ladi. Havoning sifati va mayda zarrachalari: Zarrachalar (
HMC5883 va Raspberry Pi yordamida magnit maydon o'lchami: 4 qadam
HMC5883 va Raspberry Pi yordamida magnit maydonni o'lchash: HMC5883-past maydonli magnit sezish uchun mo'ljallangan raqamli kompas. Bu qurilma magnit maydonining keng diapazoni +/- 8 Oe va chiqish tezligi 160 Gts. HMC5883 sensori avtomatik deagusing tasma drayverlarini, ofsetni bekor qilishni va
HMC5883 va Arduino Nano yordamida magnit maydon o'lchami: 4 qadam
HMC5883 va Arduino Nano yordamida magnit maydonni o'lchash: HMC5883-past maydonli magnit sezish uchun mo'ljallangan raqamli kompas. Bu qurilma magnit maydonining keng diapazoni +/- 8 Oe va chiqish tezligi 160 Gts. HMC5883 sensori avtomatik deagusing tasma drayverlarini, ofsetni bekor qilishni va