Mục lục:
- Bước 1: Các thành phần
- Bước 2: KẾT NỐI
- Bước 3: GIẢI MÃ
- Bước 4: ĐẦU RA
- Bước 5: Vẽ đồ thị
- Bước 6: Đây là Video Giải thích Breif
Video: Máy dò chuyển động sử dụng Nền tảng đám mây Thingsai.io Iot: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Trong hướng dẫn này, tôi sẽ giải thích về phát hiện chuyển động bằng cách sử dụng cảm biến PIR và Esp32 cùng với nền tảng đám mây IOT Thingai.io
Bước 1: Các thành phần
CÁC THÀNH PHẦN PHẦN CỨNG;
Ban phát triển 1.esp32
2. cảm biến PIR
3. Dây nhảy
PHẦN MỀM:
1. Arduino IDE
2. Tài khoản Thingsai.io
Bước 2: KẾT NỐI
Các kết nối yên tĩnh đơn giản.
Mã PIN PIR ------------ Mã PIN ESP32
VCC ------------------- 3V3 trên esp32
GND ------------------ GND trên esp32
HẾT ------------------- D22 trên esp32
Bước 3: GIẢI MÃ
Dán mã này vào Arduino IDE của bạn với một số cập nhật, cảm biến Chuyển động của bạn sẽ cung cấp đầu ra hoàn hảo.
#bao gồm
#bao gồm
#bao gồm
int count = 0, i, m, j, k;
int t, t1, t2, t3;
int pin = 22;
//////////////////////////////////////////// TẤT CẢ CÁC KHAI BÁO CHO CLOUD ////// //////////////////////////
const char * host = "api.thingsai.io"; // HOẶC host = devapi2.thethingscloud.com
const char * post_url = "/ devices / deviceData"; // HOẶC / api / v2 / thingscloud2 / _table / data_ac
const char * time_server = "baas.thethingscloud.com"; // đây là để chuyển đổi dấu thời gian
const int httpPort = 80;
const int httpsPort = 443;
const char * server = "api.thingsai.io"; // URL máy chủ
dấu thời gian char [10];
WiFiMulti WiFiMulti;
// Sử dụng lớp WiFiClient để tạo kết nối TCP
Máy khách WiFiClient;
////////////////////////////////////////////////////////////////////// ///////////////////////////////////
int GiveMeTimestamp ()
{
unsigned long timeout = millis ();
// Máy khách WiFiClient;
while (client.available () == 0)
{
if (millis () - timeout> 50000)
{
client.stop ();
trả về 0;
}
}
while (client.available ())
{
String line = client.readStringUntil ('\ r'); // indexOf () là một phép tìm kiếm smthng, nó trả về -1 nếu không tìm thấy
int pos = line.indexOf ("\" dấu thời gian / ""); // tìm kiếm "\" dấu thời gian / "" từ đầu câu trả lời đã nhận và sao chép tất cả dữ liệu sau đó, nó sẽ là dấu thời gian của bạn
if (pos> = 0)
{
int j = 0;
cho (j = 0; j <10; j ++)
{
dấu thời gian [j] = line [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup ()
{
Serial.begin (115200);
chậm trễ (10);
pinMode (pin, INPUT);
// Chúng tôi bắt đầu bằng cách kết nối với mạng WiFi
WiFiMulti.addAP ("wifi_name", "Wifi_password");
Serial.println ();
Serial.println ();
Serial.print ("Chờ WiFi…");
trong khi (WiFiMulti.run ()! = WL_CONNECTED) {
Serial.print (".");
chậm trễ (500);
}
Serial.println ("");
Serial.println ("Đã kết nối WiFi");
Serial.println ("Địa chỉ IP:");
Serial.println (WiFi.localIP ());
chậm trễ (500);
}
void loop ()
{
int analogValue = analogRead (đầu ra);
{
/////////////////////////////////////////// HÃY GỬI CÂU HỎI VÀ NHẬN TRẢ LỜI //// /////////////////////
{
bool isDetected = digitalRead (pin);
if (isDetected) {
Serial.println ("Đã phát hiện sự hiện diện");
}
chậm trễ (500);
}
Serial.print ("đang kết nối với");
Serial.println (máy chủ); // được định nghĩa ngược: - host = devapi2.thethingscloud.com hoặc 139.59.26.117
///////////////////////////////////////// MÃ TIMESTAMP SNIPPET ////////// ///////////////
Serial.println ("bên trong lấy dấu thời gian / n");
if (! client.connect (time_server, {
trở lại; // * - * - * - * - * - * - * - * - * - *
}
client.println ("GET / api / timestamp HTTP / 1.1"); // Phần này đang làm gì vậy, tôi không hiểu
client.println ("Máy chủ: baas.thethingscloud.com");
client.println ("Cache-Control: no-cache");
client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // nó sẽ gọi hàm sẽ nhận được phản hồi dấu thời gian từ máy chủ
Serial.println ("đã nhận được dấu thời gian");
Serial.println (dấu thời gian);
Serial.println ("bên trong ThingsCloudPost");
Chuỗi PostValue = "{" device_id / ": 61121695839, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + dấu thời gian;
PostValue = PostValue + ", \" data / ": {" PIR / ":" + pin + "}" + "}";
Serial.println (PostValue);
/ * tạo một phiên bản của WiFiClientSecure * /
Máy khách WiFiClientSecure;
Serial.println ("Kết nối với máy chủ qua cổng 443");
if (! client.connect (server, 443)) {
Serial.println ("Kết nối không thành công!");
} khác {
Serial.println ("Đã kết nối với máy chủ!");
/ * tạo yêu cầu HTTP * /
client.println ("POST / devices / deviceData HTTP / 1.1");
client.println ("Máy chủ: api.thingsai.io");
//client.println("Connection: close ");
client.println ("Loại-Nội dung: ứng dụng / json");
client.println ("cache-control: no-cache");
client.println ("Ủy quyền: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PWV5AGs9")
client.print ("Nội dung-Độ dài:");
client.println (PostValue.length ());
client.println ();
client.println (PostValue);
//////////////////////////////////// ĐĂNG dữ liệu lên đám mây đã xong và bây giờ nhận được biểu mẫu phản hồi trên đám mây người phục vụ//////////////////
Serial.print ("Đang chờ phản hồi");
while (! client.available ()) {
chậm trễ (50); //
Serial.print (".");
}
/ * nếu dữ liệu có sẵn thì nhận và in ra Terminal * /
while (client.available ()) {
char c = client.read ();
Serial.write (c);
}
/ * nếu máy chủ bị ngắt kết nối, hãy dừng máy khách * /
if (! client.connected ()) {
Serial.println ();
Serial.println ("Máy chủ đã ngắt kết nối"); javascript:;
client.stop ();
}
}
Serial.println ("//////////////////////// THE END ///////////////////// ");
chậm trễ (3000);
}
}
Bước 4: ĐẦU RA
Đây là biểu đồ thanh biểu thị các giá trị được đọc từ cảm biến trong nền tảng đám mây Thingsai, io,
Bước 5: Vẽ đồ thị
Đây là biểu diễn đồ họa của các giá trị từ cảm biến. Từ đồ thị trên ta có thể phân tích ứng dụng của cảm biến. Cảm ơn
Đề xuất:
Nền tảng con quay hồi chuyển / Gimbal máy ảnh: 5 bước (có hình ảnh)
Nền tảng con quay hồi chuyển / Gimbal máy ảnh: Hướng dẫn này được tạo ra để đáp ứng yêu cầu dự án của Makecourse tại Đại học Nam Florida (www.makecourse.com)
Nền tảng cơ sở IoT với RaspberryPi, WIZ850io: Trình điều khiển thiết bị nền tảng: 5 bước (có hình ảnh)
Nền tảng cơ sở IoT với RaspberryPi, WIZ850io: Trình điều khiển thiết bị nền tảng: Tôi biết nền tảng RaspberryPi cho IoT. Gần đây WIZ850io được WIZnet công bố. Vì vậy, tôi đã triển khai ứng dụng RaspberryPi bằng cách sửa đổi Ethernet SW vì tôi có thể xử lý mã nguồn một cách dễ dàng. Bạn có thể kiểm tra Trình điều khiển thiết bị nền tảng thông qua RaspberryPi
Hệ thống cắt ngang đường sắt tự động sử dụng nền tảng nhúng dựa trên Arduino: 9 bước
Hệ thống băng qua đường sắt tự động sử dụng nền tảng nhúng dựa trên Arduino: Chỉ còn một tuần nữa là đến Giáng sinh! Mọi người đều bận rộn với các lễ kỷ niệm và nhận quà, nhân tiện, việc kiếm được càng khó khăn hơn với những khả năng không bao giờ kết thúc xung quanh chúng ta. Làm thế nào về việc đi theo một món quà cổ điển và thêm một chút DIY cho
LDR Sử dụng Đám mây Thingsai: 13 bước
LDR Sử dụng Đám mây Thingsai: HEY ….. hôm nay chúng ta sẽ tìm hiểu về cách đo cường độ ánh sáng và đăng các giá trị vào nền tảng đám mây THINGSAI IOT bằng cách sử dụng ESP32. Các yêu cầu để thực hiện dự án này là1. Ban phát triển ESP32 (Tôi đã sử dụng ESP32 DEVKIT V1) 2. LD
Nền tảng xe tăng: 10 bước
Nền tảng xe tăng: Trong Tài liệu hướng dẫn này, tôi sẽ chỉ ra cách xây dựng nền tảng đơn giản và hiệu quả cho bất kỳ dự án Robot hoặc dự án Điều khiển từ xa nào. Nền tảng Xe tăng này là cơ sở tuyệt vời cho bất kỳ thiết kế rô bốt nào vì nó có thể vượt qua các địa hình gồ ghề một cách dễ dàng. Điểm cộng tuyệt vời khác với