Πίνακας περιεχομένων:

Μέτρηση εγγύτητας: 5 βήματα
Μέτρηση εγγύτητας: 5 βήματα

Βίντεο: Μέτρηση εγγύτητας: 5 βήματα

Βίντεο: Μέτρηση εγγύτητας: 5 βήματα
Βίντεο: Προθεσμιακές καταθέσεις - Επιτέλους επιτόκιο 2,5% σε ευρώ! 2024, Ιούλιος
Anonim
Μέτρηση εγγύτητας
Μέτρηση εγγύτητας

Σε αυτό το σεμινάριο θα εξηγήσω για τη μέτρηση της εγγύτητας μιας συσκευής και τη δημοσίευση των τιμών στην πλατφόρμα cloud Thingsai, io χρησιμοποιώντας αισθητήρα αίθουσας και πίνακα ανάπτυξης esp32.

Ο αισθητήρας φαινομένου Hall είναι μια συσκευή που χρησιμοποιείται για τη μέτρηση του μεγέθους ενός μαγνητικού πεδίου. Η τάση εξόδου του είναι ευθέως ανάλογη με τη δύναμη του μαγνητικού πεδίου μέσω αυτού. Οι αισθητήρες φαινομένου Hall χρησιμοποιούνται για ανίχνευση εγγύτητας, τοποθέτηση, ανίχνευση ταχύτητας και τρέχουσες εφαρμογές ανίχνευσης.

Βήμα 1: ΣΥΣΤΑΤΙΚΑ

ΣΥΣΤΑΤΙΚΑ
ΣΥΣΤΑΤΙΚΑ
ΣΥΣΤΑΤΙΚΑ
ΣΥΣΤΑΤΙΚΑ
ΣΥΣΤΑΤΙΚΑ
ΣΥΣΤΑΤΙΚΑ

Συστατικά υλικού:

1. Αισθητήρας Hall

2. πίνακας ανάπτυξης esp32

3. Καλώδια βραχυκυκλωτήρων

Στοιχεία λογισμικού:

1. Arduino IDE

2. ThingsIO. AI

Βήμα 2: ΣΥΝΔΕΣΕΙΣ:

ΣΥΝΔΕΣΕΙΣ
ΣΥΝΔΕΣΕΙΣ

Αισθητήρας Hall ---------------------- esp32

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

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

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

Βήμα 3: ΚΩΔΙΚΟΠΟΙΗΣΗ:

#περιλαμβάνω

#περιλαμβάνω

#περιλαμβάνω

int count = 0, i, m, j, k;

int μέτρηση?

int outputpin = A0; // ds18b20

//////////////////////////////////////// Όλες οι δηλώσεις

για ΝΕΦΩΣ ///////////////////////////////

const char* host = "api.thingsai.io"; // host κεντρικός υπολογιστής =

devapi2.thethingscloud.com

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

/api/v2/thingscloud2/_table/data_ac

const char* time_server =

"baas.thethingscloud.com"; // αυτό είναι για τη μετατροπή χρονικής σήμανσης

const int httpPort = 80;

const int httpsPort = 443;

const char* διακομιστής =

"api.thingsai.io"; // URL διακομιστή

timestamp char [10]?

WiFiMulti WiFiMulti;

// Χρησιμοποιήστε την κλάση WiFiClient για να δημιουργήσετε συνδέσεις TCP

Πελάτης WiFiClient.

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

Λειτουργία ΥΠΟΛΟΓΙΣΜΟΣ ///////////////////////////////////////

int GiveMeTimestamp ()

{

ανυπόγραφη μακρά

timeout = millis ();

// πελάτης WiFiClient.

ενώ

(client.available () == 0)

{

εάν (millis () -

χρονικό όριο> 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];

}

}

}

}

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

void setup ()

{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 (έξοδος εξόδου);

{

/////////////////////////////////////// ΣΤΕΙΛΤΕ ΤΟ ΕΡΩΤΗΜΑ ΚΑΙ

ΛΑΒΕΤΕ ΤΗΝ ΑΠΑΝΤΗΣΗ ///////////////////////

int μέτρηση

= 0;

μέτρηση =

hallRead ();Serial.print ("Μέτρηση αισθητήρα αίθουσας:");Serial.println (μέτρηση);

καθυστέρηση (1000)?Serial.print ("σύνδεση με");Serial.println (οικοδεσπότης); // καθορισμένο ανάποδα:- host = devapi2.thethingscloud.com ή 139.59.26.117

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

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

Serial.println ("εντός λήψης χρονικής σήμανσης / n");

αν

(! client.connect (διακομιστής χρόνου, {

ΕΠΙΣΤΡΟΦΗ;

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

}client.println ("GET/api/timestamp HTTP/1.1"); // Τι κάνει αυτό το μέρος, δεν κατάλαβαclient.println ("Host: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // θα καλέσει τη συνάρτηση

που θα λάβει την απόκριση χρονικής σήμανσης από τον διακομιστή

Serial.println ("λήξη χρονικής σήμανσης");

Serial.println (χρονική σήμανση);Serial.println ("μέσα στο ThingsCloudPost");

String 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 ("Host: api.thingsai.io");//client.println("Σύνδεση: κλείσιμο ");client.println ("Τύπος περιεχομένου: εφαρμογή/json");client.println ("cache-control: no-cache");

client.println ( Εξουσιοδότηση:

Φορέας eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9d;client.print ("Περιεχόμενο-Μήκος:");client.println (PostValue.length ());

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

//////////////////////////////////// ΑΝΑΡΤΗΣΗ των δεδομένων στο

το cloud τελείωσε και τώρα λάβετε τη φόρμα απόκρισης cloud server ///////////////////

Serial.print ( Αναμονή απάντησης

);

ενώ

(! client.available ()) {

καθυστέρηση (50)?

//Serial.print (".");

}

/* εάν τα δεδομένα είναι

διαθέσιμο, στη συνέχεια λάβετε και εκτυπώστε στο τερματικό */

ενώ

(client.available ()) {

char c =

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

}

/ * εάν ο διακομιστής είναι αποσυνδεδεμένος, διακόψτε τον πελάτη */

αν

(! client.connected ()) {Serial.println ();Serial.println ("Ο διακομιστής αποσυνδέθηκε");client.stop ();

}

}

Serial.println ( ////////////////////// ΤΕΛΟΣ

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

καθυστέρηση (3000)?

}}

Βήμα 4: ΑΠΟΤΕΛΕΣΜΑ:

ΑΠΟΤΕΛΕΣΜΑ
ΑΠΟΤΕΛΕΣΜΑ

Οι τιμές που διαβάζονται από τον αισθητήρα αποστέλλονται με επιτυχία στο σύννεφο IOT και το γράφημα δημιουργείται ως εγγύτητα έναντι του χρόνου. Με αυτό, η λειτουργία του αισθητήρα αναλύεται και χρησιμοποιείται σύμφωνα με τις απαιτούμενες περιοχές εφαρμογής.

Βήμα 5: Πλήρες σεμινάριο:

Αυτό είναι το πλήρες έργο για τη μέτρηση της εγγύτητας μιας συσκευής χρησιμοποιώντας αισθητήρα αίθουσας esp32 και πλατφόρμα σύννεφων thingsai.io. Σας ευχαριστώ

Συνιστάται: