Სარჩევი:

სიახლოვის გაზომვა: 5 ნაბიჯი
სიახლოვის გაზომვა: 5 ნაბიჯი

ვიდეო: სიახლოვის გაზომვა: 5 ნაბიჯი

ვიდეო: სიახლოვის გაზომვა: 5 ნაბიჯი
ვიდეო: კახი კალაძე დატროლეს 😀🤣🤣 2024, ნოემბერი
Anonim
სიახლოვის გაზომვა
სიახლოვის გაზომვა

ამ სახელმძღვანელოში მე ვაპირებ აგიხსნათ მოწყობილობის სიახლოვის გაზომვისა და ღირებულებების გამოქვეყნების შესახებ Thingsai, io ღრუბლის პლატფორმაზე დარბაზის სენსორისა და esp32 განვითარების დაფის გამოყენებით.

ჰოლის ეფექტის სენსორი არის მოწყობილობა, რომელიც გამოიყენება მაგნიტური ველის სიდიდის გასაზომად. მისი გამომავალი ძაბვა პირდაპირ პროპორციულია მაგნიტური ველის სიძლიერეზე. ჰოლის ეფექტის სენსორები გამოიყენება სიახლოვის გამოვლენის, პოზიციონირების, სიჩქარის გამოვლენისა და მიმდინარე ზონდირების პროგრამებისთვის.

ნაბიჯი 1: კომპონენტები

კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები

აპარატურის კომპონენტები:

1. ჰოლის სენსორი

2. esp32 განვითარების დაფა

3. ჯუმბერის მავთულები

პროგრამული კომპონენტები:

1. Arduino IDE

2. რამ IO. AI

ნაბიჯი 2: კავშირები:

კავშირები
კავშირები

ჰოლის სენსორი ---------------------- esp32

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

გნდ ----------------------------- გნდ

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

ნაბიჯი 3: კოდირება:

#ჩართეთ

#ჩართეთ

#ჩართეთ

int რაოდენობა = 0, i, m, j, k;

int გაზომვა;

int outputpin = A0; // ds18b20

//////////////////////////////////////// ყველა დეკლარაცია

CLOUD– ისთვის ///////////////////////////////

const char* host = "api.thingsai.io"; // ან მასპინძელი =

devapi2.thethingscloud.com

const char* post_url = "/devices/deviceData"; // ან

/api/v2/thingscloud2/_table/data_ac

const char* დროის_სერვერი =

"baas.thethingscloud.com"; // ეს არის დროის ნიშნულის გარდაქმნა

const int httpPort = 80;

const int httpsPort = 443;

const char* სერვერი =

"api.thingsai.io"; // სერვერის URL

char დროის ნიშნული [10];

WiFiMulti WiFiMulti;

// გამოიყენეთ WiFiClient კლასი TCP კავშირების შესაქმნელად

WiFiClient კლიენტი;

//////////////////////////////////////// TIMESTAMP

კალკულაციის ფუნქცია ///////////////////////////////////////

int GiveMeTimestamp ()

{

ხელმოუწერელი გრძელი

დროის გასვლა = მილი ();

// WiFiClient კლიენტი;

ხოლო

(client.available () == 0)

{

თუ (მილი () -

დროის გასვლა> 50000)

{

client.stop ();

დაბრუნება 0;

}

}

ხოლო (client.available ())

{

სიმებიანი ხაზი =

client.readStringUntil ('\ r'); // indexOf () არის smthng– ის ძებნის ფუნქცია, ის აბრუნებს -1 თუ არ არის ნაპოვნი

int pos =

line.indexOf ("\" დროის ნიშნული / ""); // მოძებნეთ "\" დროის ნიშნული / "" პასუხის დასაწყისიდან და დააკოპირეთ ყველა მონაცემი ამის შემდეგ, ეს იქნება თქვენი დროის ნიშნული

თუ (pos> =

0)

{

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

{დროის ნიშნული [j] = ხაზი [pos + 12 + j];

}

}

}

}

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

ბათილად დაყენება ()

{Serial.begin (115200);

დაგვიანება (10);

// ვიწყებთ იმით

დაკავშირება WiFi ქსელთან

WiFiMulti.addAP ("wifi_name", "wifi_password");

Serial.println ();

Serial.println ();Serial.print ("დაელოდეთ WiFi …");ხოლო (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");

დაგვიანება (500);

}Serial.println ("");Serial.println ("WiFi დაკავშირებულია");Serial.println ("IP მისამართი:");

Serial.println (WiFi.localIP ());

დაგვიანება (500);

}

ბათილი მარყუჟი ()

{

int analogValue =

analogRead (outputpin);

{

/////////////////////////////////////// გაუგზავნოთ შეკითხვა და

მიიღეთ პასუხი ///////////////////////

int გაზომვა

= 0;

გაზომვა =

hallRead ();Serial.print ("დარბაზის სენსორის გაზომვა:");Serial.println (გაზომვა);

დაგვიანება (1000);Serial.print ("დაკავშირება");Serial.println (მასპინძელი); // განსაზღვრული თავდაყირა:- მასპინძელი = devapi2.thethingscloud.com ან 139.59.26.117

////////////////////////////////////// TIMESTAMP CODE SNIPPET

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

Serial.println ("შიგნით მიიღეთ დროის ნიშნული / n");

თუ

(! client.connect (time_server, {

დაბრუნების;

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

}client.println ("GET/api/timestamp HTTP/1.1"); // რას აკეთებს ეს ნაწილი, მე ვერ გავიგეclient.println ("მასპინძელი: baas.thethingscloud.com");client.println ("ქეში-კონტროლი: არა-ქეში");client.println ("ფოსტალიონი-ჟეტონი: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // ის დარეკავს ფუნქციას

რომელიც მიიღებს სერვერის დროის ნიშნულს

Serial.println ("მიღებულია დროის ნიშნული");

Serial.println (დროის ნიშნული);Serial.println ("ThingsCloudPost შიგნით");

სიმებიანი PostValue =

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

PostValue =

PostValue + ", \" dts / ":" + დროის ნიშნული;

PostValue =

PostValue +", \" data / ": {" სიახლოვე / ":" +გაზომვა +"}" +"}";Serial.println (PostValue);

/ * შექმენით WiFiClientSecure მაგალითი */

WiFiClientSecure კლიენტი;Serial.println ("სერვერთან დაკავშირება 443 პორტის საშუალებით");

თუ

(! client.connect (სერვერი, 443)) {Serial.println ("კავშირი ვერ მოხერხდა!");

} სხვა {Serial.println ("დაკავშირებულია სერვერთან!");

/* შექმენით

მოთხოვნა */

client.println ( POST

/devices/deviceData HTTP/1.1 ");client.println ("მასპინძელი: api.thingsai.io");//client.println(" კავშირი: დახურვა ");client.println ("შინაარსი-ტიპი: პროგრამა/json");client.println ("ქეში-კონტროლი: არა-ქეში");

client.println ( ავტორიზაცია:

მატარებელი eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m6d;client.print ("შინაარსი-სიგრძე:");client.println (PostValue.length ());

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

//////////////////////////////////// მონაცემების განთავსება

ღრუბელი დასრულებულია და ახლა მიიღეთ პასუხის ფორმა ღრუბლოვანი სერვერი ///////////////////

Serial.print ( ველოდები პასუხს

);

ხოლო

(! client.available ()) {

დაგვიანება (50);

//Serial.print (".");

}

/* თუ მონაცემები არის

ხელმისაწვდომია შემდეგ მიიღეთ და დაბეჭდეთ ტერმინალში */

ხოლო

(client.available ()) {

char c =

client.read ();სერიული. დაწერეთ (გ);

}

/ * თუ სერვერი გათიშულია, გააჩერეთ კლიენტი */

თუ

(! client.connected ()) {Serial.println ();Serial.println ("სერვერი გათიშულია");client.stop ();

}

}

Serial.println ( ////////////////////// ბოლო

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

დაგვიანება (3000);

}}

ნაბიჯი 4: შედეგი:

შედეგი
შედეგი

სენსორიდან წაკითხული მნიშვნელობები წარმატებით იგზავნება IOT ღრუბელში და გრაფიკი იქმნება სიახლოვისა და დროის მიმართ. ამით სენსორის მუშაობა გაანალიზებულია და გამოიყენება განაცხადის საჭირო სფეროების მიხედვით.

ნაბიჯი 5: სრული გაკვეთილი:

ეს არის სრული პროექტი მოწყობილობის სიახლოვის გასაზომად დარბაზის სენსორის esp32 და thingsai.io ღრუბლოვანი პლატფორმის გამოყენებით. Გმადლობთ

გირჩევთ: