Mục lục:

Máy dò chuyển động sử dụng Nền tảng đám mây Thingsai.io Iot: 6 bước
Máy dò chuyển động sử dụng Nền tảng đám mây Thingsai.io Iot: 6 bước

Video: Máy dò chuyển động sử dụng Nền tảng đám mây Thingsai.io Iot: 6 bước

Video: Máy dò chuyển động sử dụng Nền tảng đám mây Thingsai.io Iot: 6 bước
Video: Thiết kế ứng dụng nhà thông minh trên nền tảng điện toán đám mây AWS và GCP | TAPIT Workshop 2020 2024, Tháng mười một
Anonim
Máy dò chuyển động sử dụng Nền tảng đám mây Thingsai.io Iot
Máy dò chuyển động sử dụng Nền tảng đám mây Thingsai.io Iot

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
Các thành phần
Các thành phần
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

KẾT NỐI
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

ĐẦU RA
ĐẦ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ị

Đồ thị
Đồ 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: