Բովանդակություն:

Մոտիկության չափում `5 քայլ
Մոտիկության չափում `5 քայլ

Video: Մոտիկության չափում `5 քայլ

Video: Մոտիկության չափում `5 քայլ
Video: POCO X5 PRO - ԱՄԵՆԱՄԱՆՐԱՄԱՍՆ ԴԻՏՈՒՄ և ԹԵՍՏԵՐ 2024, Նոյեմբեր
Anonim
Մոտիկության չափում
Մոտիկության չափում

Այս ձեռնարկում ես պատրաստվում եմ բացատրել սարքի հարևանությունը չափելու և արժեքները Thingsai, io ամպային հարթակում հրապարակելու մասին ՝ օգտագործելով դահլիճի տվիչ և esp32 զարգացման տախտակ:

Հոլի էֆեկտի սենսորը սարք է, որն օգտագործվում է մագնիսական դաշտի մեծությունը չափելու համար: Դրա ելքային լարումը ուղիղ համեմատական է դրա միջով մագնիսական դաշտի ուժին: Հոլի էֆեկտների սենսորներն օգտագործվում են հարևանության, տեղորոշման, արագության հայտնաբերման և ընթացիկ զգայարանների համար:

Քայլ 1. Բաղադրիչներ

Բաղադրիչներ
Բաղադրիչներ
Բաղադրիչներ
Բաղադրիչներ
Բաղադրիչներ
Բաղադրիչներ

Սարքավորման բաղադրիչներ.

1. Hall սենսոր

2. esp32 զարգացման տախտակ

3. Թռիչքային լարեր

Softwareրագրային ապահովման բաղադրիչներ.

1. Arduino IDE

2. ThingsIO. AI

Քայլ 2: ՄԻԱՈՄՆԵՐ

ՄԻԱՈՄՆԵՐ
ՄԻԱՈՄՆԵՐ

Hall ցուցիչ ---------------------- 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/_ սեղան/data_ac

const char* time_server =

"baas.thethingscloud.com"; // սա ժամանակային դրոշմ փոխարկելու համար է

const int httpPort = 80;

const int httpsPort = 443;

const char* սերվեր =

"api.thingsai.io"; // Սերվերի URL

char timestamp [10];

WiFiMulti WiFiMulti;

// Օգտագործեք WiFiClient դասը ՝ TCP կապեր ստեղծելու համար

WiFiClient հաճախորդ;

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

ՀԱՇՎԵԼ գործառույթ ////////////////////////////////////////

int GiveMeTimestamp ()

{

անստորագիր երկար

ժամանակային ընդմիջում = միլիլ ();

// WiFiClient հաճախորդ;

մինչդեռ

(client.available () == 0)

{

եթե (միլիլ () -

ընդմիջում> 50000)

{

client.stop ();

վերադարձ 0;

}

}

while (client.available ())

{

Լարային գիծ =

client.readStringUntil ('\ r'); // indexOf () -ը smthng որոնելու գործառույթ է, այն չգտնվելու դեպքում վերադարձնում է -1

int pos =

line.indexOf ("\" ժամանակային նշան / ""); // որոնման համար "\" timestamp / "" պատասխանների սկզբից ստացել և պատճենել բոլոր տվյալները դրանից հետո, դա կլինի քո ժամադրոշմը

եթե (pos> =

0)

{

int j = 0;համար (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 (ելքային փին);

{

///////////////////////////////////////// ՈENDԱՐԿԵԼ ՀԱՐUԸ ԵՎ

ԸՆԴՈՆԵԼ ՊԱՏԱՍԽԱՆԸ ///////////////////////

int չափում

= 0;

չափում =

hallRead ();Serial.print ("Hall սենսորային չափում.");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 ("Cache-Control: no-cache");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 / ": {" proximity / ":" +չափում +"}" +"}";Serial.println (PostValue);

/ * ստեղծել WiFiClientSecure օրինակ */

WiFiClientSecure հաճախորդ;Serial.println («Միացեք սերվերին 443 պորտի միջոցով»);

եթե

(! client.connect (սերվեր, 443)) {Serial.println («Կապը ձախողվեց»);

} ուրիշ {Serial.println ("Միացված է սերվերին");

/* ստեղծել

խնդրանք */

client.println («ՓՈՍՏ

/devices/deviceData HTTP/1.1 ");client.println ("Հաղորդավար` api.thingsai.io ");//client.println("Կապ. փակիր ");client.println («Բովանդակության տեսակը ՝ ծրագիր/json»);client.println ("cache-control: no-cache");

client.println ( Թույլտվություն.

Կրող eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9dKy6 »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 ( ////////////////////// ՎԵՐ END

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

ուշացում (3000);

}}

Քայլ 4: ԱՐԴՅՈՆՔ

ԱՐԴՅՈՆՔ
ԱՐԴՅՈՆՔ

Սենսորից կարդացած արժեքները հաջողությամբ ուղարկվում են IOT ամպ և գրաֆիկը ստեղծվում է որպես մոտիկություն ժամանակի նկատմամբ: Սրանով սենսորի աշխատանքը վերլուծվում և օգտագործվում է ըստ կիրառման պահանջվող ոլորտների:

Քայլ 5: Ամբողջական ձեռնարկ

Սա սարքի հարևանությունը չափելու ամբողջական նախագիծ է ՝ օգտագործելով սրահի ցուցիչ esp32 և thingsai.io ամպային հարթակը: Շնորհակալություն

Խորհուրդ ենք տալիս: