สารบัญ:
- ขั้นตอนที่ 1: ส่วนประกอบ
- ขั้นตอนที่ 2: การเชื่อมต่อ:
- ขั้นตอนที่ 3: การเข้ารหัส:
- ขั้นตอนที่ 4: ผลลัพธ์:
- ขั้นตอนที่ 5: บทช่วยสอนที่สมบูรณ์:
วีดีโอ: การวัดความใกล้เคียง: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
ในบทช่วยสอนนี้ ฉันจะอธิบายเกี่ยวกับการวัดความใกล้เคียงของอุปกรณ์และการเผยแพร่ค่าลงในแพลตฟอร์ม Thingsai ซึ่งเป็นระบบคลาวด์ io โดยใช้เซ็นเซอร์ฮอลล์และบอร์ดพัฒนา esp32
Hall effect sensor เป็นอุปกรณ์ที่ใช้ในการวัดขนาดของสนามแม่เหล็ก แรงดันไฟขาออกเป็นสัดส่วนโดยตรงกับความแรงของสนามแม่เหล็กที่ไหลผ่าน เซนเซอร์ Hall Effect ใช้สำหรับการตรวจจับระยะใกล้ การวางตำแหน่ง การตรวจจับความเร็ว และการตรวจจับปัจจุบัน
ขั้นตอนที่ 1: ส่วนประกอบ
ส่วนประกอบฮาร์ดแวร์:
1. ฮอลล์เซนเซอร์
2. บอร์ดพัฒนา esp32
3. สายจัมเปอร์
ส่วนประกอบซอฟต์แวร์:
1. Arduino IDE
2. ThingsIO. AI
ขั้นตอนที่ 2: การเชื่อมต่อ:
เซ็นเซอร์ฮอลล์ ---------------------- esp32
เอ้าท์-----------------------------vp
Gnd ------------------------------------ Gnd
Vcc -------------------------------------3V3
ขั้นตอนที่ 3: การเข้ารหัส:
#รวม
#รวม
#รวม
จำนวน int=0, i, m, j, k;
การวัด int;
int outputpin= A0;//ds18b20
/////////////////////////////////////// ประกาศทั้งหมด
สำหรับคลาวด์ ////////////////////////////
const char* host = "api.thingsai.io"; // หรือโฮสต์ =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // หรือ
/api/v2/thingscloud2/_table/data_ac
อักขระ const* time_server =
"baas.thethingscloud.com"; //นี่คือการแปลงการประทับเวลา
const int httpPort = 80;
const int https Port = 443;
เซิร์ฟเวอร์ const char* =
"api.thingsai.io"; // URL เซิร์ฟเวอร์
ถ่านประทับเวลา[10];
WiFiMulti WiFi Multi;
// ใช้คลาส WiFiClient เพื่อสร้างการเชื่อมต่อ TCP
ไคลเอนต์ WiFiClient;
///////////////////////////////////// การประทับเวลา
ฟังก์ชันการคำนวณ/////////////////////////////////////
ภายใน 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 (เอาต์พุต);
{
////////////////////////////////////// ส่งคำถามและ
ตอบกลับ/////////////////////
การวัด int
= 0;
การวัด =
ฮอลล์อ่าน ();Serial.print("การวัดเซนเซอร์ Hall: ");Serial.println (การวัด);
ล่าช้า (1000);Serial.print("กำลังเชื่อมต่อกับ");Serial.println (โฮสต์); // กำหนด upside:- host = devapi2.thethingscloud.com หรือ 139.59.26.117
//////////////////////////////////// ตัวอย่างรหัสการประทับเวลา
/////////////////////////
Serial.println("inside get timestamp\n");
ถ้า
(!client.connect(time_server, {
กลับ;
//*-*-*-*-*-*-*-*-*-*
}client.println("GET /api/timestamp HTTP/1.1"); //ส่วนนี้ทำอะไรอยู่ ไม่เข้าใจclient.println("โฮสต์: baas.thethingscloud.com");client.println("การควบคุมแคช: ไม่มีแคช");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("การควบคุมแคช: ไม่มีแคช");
client.println( การอนุญาต:
ผู้ถือ eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9ajfV5Yl"client.print("เนื้อหา-ความยาว: ");client.println(PostValue.length());
client.println();client.println(PostValue);
//////////////////////////////////โพสต์ข้อมูลบน
คลาวด์เสร็จแล้วและตอนนี้ได้รับแบบฟอร์มตอบกลับเซิร์ฟเวอร์คลาวด์/////////////////
Serial.print( กำลังรอการตอบกลับ
);
ในขณะที่
(!client.available()){
ล่าช้า (50);
//Serial.print(".");
}
/* ถ้าข้อมูลเป็น
พร้อมรับและพิมพ์ไปที่ Terminal */
ในขณะที่
(client.available()) {
ถ่าน c =
client.read();Serial.write(c);
}
/* หากเซิร์ฟเวอร์ถูกตัดการเชื่อมต่อ ให้หยุดไคลเอนต์ */
ถ้า
(!client.connected()) {Serial.println();Serial.println("เซิร์ฟเวอร์ถูกตัดการเชื่อมต่อ");client.stop();
}
}
Serial.println( //////////////////// สิ้นสุด
///////////////////// );
ล่าช้า (3000);
}}
ขั้นตอนที่ 4: ผลลัพธ์:
ค่าที่อ่านจากเซ็นเซอร์จะถูกส่งไปยังคลาวด์ IOT ได้สำเร็จ และกราฟจะถูกสร้างขึ้นตามความใกล้ชิดกับเวลา ด้วยเหตุนี้ การทำงานของเซ็นเซอร์จึงได้รับการวิเคราะห์และใช้งานตามพื้นที่ที่ต้องการในการใช้งาน
ขั้นตอนที่ 5: บทช่วยสอนที่สมบูรณ์:
นี่เป็นโครงการที่สมบูรณ์สำหรับการวัดระยะใกล้ของอุปกรณ์โดยใช้เซ็นเซอร์ฮอลล์ esp32 และแพลตฟอร์มคลาวด์ thingsai.io ขอขอบคุณ
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง