תוכן עניינים:

מדידת קרבה: 5 שלבים
מדידת קרבה: 5 שלבים

וִידֵאוֹ: מדידת קרבה: 5 שלבים

וִידֵאוֹ: מדידת קרבה: 5 שלבים
וִידֵאוֹ: סרטון מדהים ומרגש עם מסר חזק במיוחד 2024, נוֹבֶמבֶּר
Anonim
מדידת קרבה
מדידת קרבה

במדריך זה אני הולך להסביר על מדידת הקרבה של מכשיר ופרסום הערכים לפלטפורמת הענן Thingsai, io באמצעות חיישן אולם ולוח פיתוח של esp32.

חיישן אפקט הול הוא מכשיר המשמש למדידת גודל השדה המגנטי. מתח המוצא שלו עומד ביחס ישר לחוזק השדה המגנטי דרכו. חיישני אפקט הול משמשים לחישושי קרבה, מיקום, זיהוי מהירות ויישומי חישה שוטפים.

שלב 1: רכיבים

רכיבים
רכיבים
רכיבים
רכיבים
רכיבים
רכיבים

רכיבי חומרה:

1. חיישן אולם

2. לוח פיתוח esp32

3. חוטי מגשר

רכיבי תוכנה:

1. Arduino IDE

2. ThingsIO. AI

שלב 2: חיבורים:

חיבורים
חיבורים

חיישן אולם ---------------------- esp32

אאוט ------------------------------ נ.ב

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

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

שלב 3: קידוד:

#לִכלוֹל

#לִכלוֹל

#לִכלוֹל

int count = 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* time_server =

"baas.thethingscloud.com"; // זה כדי להמיר את חותמת הזמן

const int httpPort = 80;

const int httpsPort = 443;

const char* server =

"api.thingsai.io"; // כתובת URL של השרת

חותמת זמן של צ'ארה [10];

WiFiMulti WiFiMulti;

// השתמש בכיתה WiFiClient ליצירת חיבורי TCP

לקוח WiFiClient;

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

פונקציית חישוב ////////////////////////////

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;עבור (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 (מארח); // מוגדר כלפי מעלה:- host = devapi2.thethingscloud.com או 139.59.26.117

////////////////////////////////////////// SNIPPET

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

Serial.println ("בפנים חותמת זמן / n");

אם

(! client.connect (שרת הזמן, {

לַחֲזוֹר;

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

}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 ( POST

/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_mtd;client.print ("אורך התוכן:");client.println (PostValue.length ());

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

////////////////////////////////////// לפרסם את הנתונים ב

ענן נעשה ועכשיו קבל את טופס התגובה שרת ענן ////////////////////

Serial.print ( מחכה לתגובה

);

בזמן

(! client.available ()) {

עיכוב (50);

//Serial.print (".");

}

/* אם הנתונים

זמין ואז קבל והדפס לטרמינל */

בזמן

(client.available ()) {

char c =

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

}

/ * אם השרת נותק, עצור את הלקוח */

אם

(! client.connected ()) {Serial.println ();Serial.println ("השרת נותק");client.stop ();

}

}

Serial.println ( //////////////////////// END

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

עיכוב (3000);

}}

שלב 4: תוצאה:

תוֹצָאָה
תוֹצָאָה

הערכים הנקראים מהחיישן נשלחים לענן IOT בהצלחה והגרף נוצר כקרבה לעומת זמן. בעזרתו מנתח את פעולת החיישן ומשתמשים בו בהתאם לתחומי היישום הנדרשים.

שלב 5: הדרכה מלאה:

זהו הפרויקט השלם למדידת הקרבה של מכשיר באמצעות חיישן אולם esp32 ופלטפורמת הענן Thingsai.io. תודה

מוּמלָץ: