Turinys:

Artumo matavimas: 5 žingsniai
Artumo matavimas: 5 žingsniai

Video: Artumo matavimas: 5 žingsniai

Video: Artumo matavimas: 5 žingsniai
Video: 5 klase vaizdo pamoka 009 Matlankis. Kaip nubraižyti norimo dydžio kampą? 2024, Lapkritis
Anonim
Artumo matavimas
Artumo matavimas

Šioje pamokoje aš paaiškinsiu, kaip matuoti įrenginio artumą ir paskelbti vertes „Thingsai“, „io“debesies platformoje, naudojant salės jutiklį ir esp32 kūrimo plokštę.

Halės efekto jutiklis yra prietaisas, naudojamas matuoti magnetinio lauko dydį. Jo išėjimo įtampa yra tiesiogiai proporcinga magnetinio lauko stiprumui per jį. „Hall“efekto jutikliai naudojami artumo jutimui, padėties nustatymui, greičio aptikimui ir srovės jutikliams.

1 žingsnis: KOMPONENTAI

KOMPONENTAI
KOMPONENTAI
KOMPONENTAI
KOMPONENTAI
KOMPONENTAI
KOMPONENTAI

Techninės įrangos komponentai:

1. Salės jutiklis

2. esp32 kūrimo lenta

3. Jumper laidai

Programinės įrangos komponentai:

1. „Arduino IDE“

2. DaiktaiIO. AI

2 žingsnis: JUNGTYS:

JUNGTYS
JUNGTYS

Salės jutiklis ---------------------- esp32

Apie ------------------------------ vp

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

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

3 žingsnis: KODAVIMAS:

#įtraukti

#įtraukti

#įtraukti

int skaičius = 0, i, m, j, k;

int matavimas;

int outputpin = A0; // ds18b20

//////////////////////////////////////////////////////// VISI DEKLARACIJOS

CLOUD //////////////////////////////

const char* host = "api.thingsai.io"; // ARBA šeimininkas =

devapi2.thethingscloud.com

const char* post_url = "/devices/deviceData"; // ARBA

/api/v2/thingscloud2/_table/data_ac

const char* laiko_serveris =

„baas.thethingscloud.com“; // tai yra laiko žymos konvertavimas

const int httpPort = 80;

const int httpsPort = 443;

const char* serveris =

"api.thingsai.io"; // Serverio URL

char laiko žyma [10];

WiFiMulti WiFiMulti;

// Naudokite „WiFiClient“klasę, kad sukurtumėte TCP ryšius

„WiFiClient“klientas;

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

APSKAIČIAVIMO funkcija ///////////////////////////////////////

int GiveMeTimestamp ()

{

nepasirašytas ilgai

skirtasis laikas = milis ();

// „WiFiClient“klientas;

tuo tarpu

(client.available () == 0)

{

jei (milis () -

skirtasis laikas> 50000)

{

client.stop ();

grįžti 0;

}

}

o (client.available ())

{

Eilutės eilutė =

client.readStringUntil ('\ r'); // indexOf () yra funkcija ieškoti smthng, ji grąžina -1, jei nerasta

int pos =

line.indexOf ("\" laiko žyma / ""); // ieškokite "\" laiko žymos / "" nuo atsakymo pradžios ir nukopijuokite visus duomenis po to, tai bus jūsų laiko žyma

jei (poz> =

0)

{

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

{laiko žyma [j] = eilutė [pos + 12 + j];

}

}

}

}

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

negaliojanti sąranka ()

{Serial.begin (115200);

vėlavimas (10);

// Pradedame nuo

prisijungimas prie „WiFi“tinklo

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

Serial.println ();

Serial.println ();Serial.print („Palaukite„ WiFi “…“);while (WiFiMulti.run ()! = WL_CONNECTED) {Serijinis atspaudas (".");

vėlavimas (500);

}Serial.println ("");Serial.println („WiFi prijungtas“);Serial.println ("IP adresas:");

Serial.println (WiFi.localIP ());

vėlavimas (500);

}

tuštumos kilpa ()

{

int analogValue =

analogRead (išvesties kaištis);

{

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

GAUTI ATSAKYMĄ ///////////////////////

int matavimas

= 0;

matavimas =

hallRead ();Serial.print ("Halės jutiklio matavimas:");Serial.println (matavimas);

vėlavimas (1000);Serial.print ("prisijungimas prie");Serial.println (priegloba); // apibrėžta aukštyn kojomis:- šeimininkas = devapi2.thethingscloud.com arba 139.59.26.117

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

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

Serial.println ("viduje gauti laiko žymę / n");

jei

(! client.connect (time_server, {

grįžti;

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

}client.println ("GET/api/laiko žymė HTTP/1.1"); // Ką daro ši dalis, aš nesupratauclient.println ("Priimančioji: baas.thethingscloud.com");client.println („Cache-Control: no-cache“);client.println („Paštininkas-žetonas: ea3c18c6-09ba-d049-ccf3-369a22a284b8“);

klientas.println ();

GiveMeTimestamp (); // jis iškvies funkciją

kuris gaus serverio laiko žymos atsakymą

Serial.println ("gauta laiko žyma");

Serial.println (laiko žyma);Serial.println ("viduje ThingsCloudPost");

Eilutė PostValue =

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

PostValue =

PostValue + ", \" dts / ":" + laiko žyma;

PostValue =

PostValue +", \" data / ": {" proximity / ":" +matavimas +"}" +"}";Serial.println (PostValue);

/ * sukurti „WiFiClientSecure“egzempliorių */

„WiFiClientSecure“klientas;Serial.println („Prisijunkite prie serverio per 443 prievadą“);

jei

(! client.connect (serveris, 443)) {Serial.println ("Nepavyko prisijungti!");

} Kitas {Serial.println ("Prisijungta prie serverio!");

/* sukurti

prašymas */

client.println ( POST

/devices/deviceData HTTP/1.1 ");client.println ("Priegloba: api.thingsai.io");//client.println("Connection: close ");client.println ("Turinio tipas: programa/json");client.println ("cache-control: no-cache");

client.println ( Autorizacija:

Nešiklio akisclient.print ("Turinio ilgis:");client.println (PostValue.length ());

klientas.println ();client.println („PostValue“);

//////////////////////////////////////////////// Skelbdami duomenis į

debesis baigtas ir dabar gaukite atsakymo formą iš debesies serverio //////////////////

Serial.print ( Laukiama atsakymo

);

tuo tarpu

(! client.available ()) {

vėlavimas (50);

//Serijinis atspaudas (".");

}

/* jei duomenys yra

galima gauti ir spausdinti į terminalą */

tuo tarpu

(client.available ()) {

char c =

client.read ();Serial.write (c);

}

/ * jei serveris atjungtas, sustabdykite klientą */

jei

(! client.connected ()) {Serial.println ();Serial.println („Serveris atjungtas“);client.stop ();

}

}

Serial.println ( ////////////////////// PABAIGA

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

vėlavimas (3000);

}}

4 žingsnis: REZULTATAS:

REZULTATAS
REZULTATAS

Iš jutiklio nuskaitytos vertės sėkmingai siunčiamos į IOT debesį, o diagrama kuriama kaip artumas ir laikas. Taip jutiklio veikimas analizuojamas ir naudojamas pagal reikiamas taikymo sritis.

5 veiksmas: užpildykite mokymo programą:

Tai yra visas projektas, skirtas prietaiso artumui matuoti naudojant salės jutiklį esp32 ir „thingsai.io“debesies platformą. Ačiū

Rekomenduojamas: