Πίνακας περιεχομένων:
- Βήμα 1: ΣΥΣΤΑΤΙΚΑ
- Βήμα 2: ΣΥΝΔΕΣΕΙΣ:
- Βήμα 3: ΚΩΔΙΚΟΠΟΙΗΣΗ:
- Βήμα 4: ΑΠΟΤΕΛΕΣΜΑ:
- Βήμα 5: Πλήρες σεμινάριο:
Βίντεο: Μέτρηση εγγύτητας: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Σε αυτό το σεμινάριο θα εξηγήσω για τη μέτρηση της εγγύτητας μιας συσκευής και τη δημοσίευση των τιμών στην πλατφόρμα 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. Σας ευχαριστώ
Συνιστάται:
Visuino Πώς να χρησιμοποιήσετε τον επαγωγικό αισθητήρα εγγύτητας: 7 βήματα
Visuino Πώς να χρησιμοποιήσετε τον επαγωγικό αισθητήρα εγγύτητας: Σε αυτό το σεμινάριο θα χρησιμοποιήσουμε τον επαγωγικό αισθητήρα εγγύτητας και ένα LED που είναι συνδεδεμένο με το Arduino UNO και το Visuino για τον εντοπισμό εγγύτητας μετάλλου. Δείτε ένα βίντεο επίδειξης
Φτιάξτε έναν αισθητήρα εγγύτητας με το Magicbit [Magicblocks]: 6 βήματα
Δημιουργήστε έναν αισθητήρα εγγύτητας με το Magicbit [Magicblocks]: Αυτό το σεμινάριο θα σας διδάξει να χρησιμοποιείτε έναν αισθητήρα εγγύτητας με ένα Magicbit χρησιμοποιώντας το Magicblocks. Χρησιμοποιούμε το magicbit ως πίνακα ανάπτυξης σε αυτό το έργο που βασίζεται στο ESP32. Επομένως, οποιοσδήποτε πίνακας ανάπτυξης ESP32 μπορεί να χρησιμοποιηθεί σε αυτό το έργο
Αισθητήρας εγγύτητας IR .: 4 βήματα (με εικόνες)
Αισθητήρας προσέγγισης IR: Σε αυτό το έργο θα εξηγήσω πώς να φτιάξετε έναν απλό αισθητήρα εγγύτητας IR χρησιμοποιώντας LED LED, LM358 Dual Op-Amp και μερικά βασικά ηλεκτρονικά εξαρτήματα που μπορείτε να βρείτε σε οποιοδήποτε τοπικό κατάστημα ηλεκτρονικών ειδών
Αισθητήρας εγγύτητας IR μεγάλης εμβέλειας: 3 βήματα
Αισθητήρας εγγύτητας IR μεγάλης εμβέλειας: Οι αισθητήρες υπερύθρων είναι η καλύτερη μονάδα για την ανίχνευση αντικειμένων, αλλά το πρόβλημα είναι ότι λειτουργεί για πολύ μικρό εύρος. σε αυτό το άρθρο, θα μοιραστούμε πώς μπορείτε να αυξήσετε το εύρος και ποιοι παράγοντες επηρεάζουν το εύρος
Αισθητήρας εγγύτητας υπέρυθρης ακτινοβολίας με χρήση LM358: 5 βήματα
Αισθητήρας εγγύτητας υπέρυθρης ακτινοβολίας με χρήση LM358: Αυτό είναι χρήσιμο για την κατασκευή ενός αισθητήρα εγγύτητας IR