Mục lục:

LDR Sử dụng Đám mây Thingsai: 13 bước
LDR Sử dụng Đám mây Thingsai: 13 bước

Video: LDR Sử dụng Đám mây Thingsai: 13 bước

Video: LDR Sử dụng Đám mây Thingsai: 13 bước
Video: Tăng tốc chuyển đổi số với điện toán đám mây - Doron Shachar, Founder & CEO Renova Cloud | VI S3EP5 2024, Tháng bảy
Anonim
LDR Sử dụng Đám mây Thingsai
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ị lên 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. Cảm biến LDR

3. Dây nhảy

4. Tài khoản ở THINGSAI IOT PLATFORM

Bước 1: Tạo và đăng nhập vào Nền tảng THINGSIO

Tạo và đăng nhập vào Nền tảng THINGSIO
Tạo và đăng nhập vào Nền tảng THINGSIO

Đăng nhập vào tài khoản THINGS AI. Nếu bạn là người mới, hãy đăng ký tài khoản bằng cách nhấn nút đăng ký và điền tất cả các thông tin đăng nhập. Tài khoản của bạn sẽ được tạo và từ đó bạn có thể làm việc trên nền tảng đám mây và tạo dự án tùy chỉnh của mình

Bước 2: Tạo dự án mới

Tạo dự án mới
Tạo dự án mới

Sau khi đăng nhập tài khoản, để tạo dự án chỉ cần nhấp chuột vào dự án mới rồi đặt tên dự án.

Bước 3: Tạo thiết bị mới

Tạo một thiết bị mới
Tạo một thiết bị mới

Sau khi tạo dự án, việc tiếp theo bạn phải làm là tạo một thiết bị mới, nhập tên thiết bị và nhập ID thiết bị theo cách thủ công hoặc do hệ thống tạo.

Bước 4: Xác định thông số thiết bị

Xác định thông số thiết bị
Xác định thông số thiết bị

Cung cấp thông số thiết bị và sau đó chọn loại thông số

Bước 5: Cập nhật thiết bị

Cập nhật thiết bị
Cập nhật thiết bị

Chọn thông số và sau đó cập nhật thiết bị

Bước 6: Mã hóa

Mã hóa
Mã hóa

Từ các mã mẫu chọn mã esp32 sao chép nó và sau đó dán nó vào arduino IDE và thực hiện các thay đổi cần thiết theo yêu cầu. Tôi đã cung cấp mã bên dưới

#include #include

#bao gồm

int count = 0, i, m, j, k;

int t; int outputpin = A0; // ds18b20

giá trị cảm biến int;

//////////////////////////////////////////// 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);

// Chúng tôi bắt đầu bằng cách kết nối với mạng WiFi

WiFiMulti.addAP ("wifi", "pswrd");

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 /// //////////////////////

giá trị cảm biến = analogRead (A0); // đọc chân đầu vào analog 0

sensorvalue = giá trị cảm biến / 100;

Serial.print (giá trị cảm biến, DEC); // in giá trị đã đọc

Serial.print ("\ n"); // in ra khoảng trắng giữa các số

chậm trễ (1000); // đợi 100 mili giây để đọc tiếp

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 nhận được 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 ("timestampished");

Serial.println (dấu thời gian);

Serial.println ("bên trong ThingsCloudPost");

Chuỗi PostValue = "{" device_id / ": 61121695844, \" slave_id / ": 2";

PostValue = PostValue + ", \" dts / ":" + dấu thời gian;

PostValue = PostValue + ", \" data / ": {" INTENSITY / ":" + / sensorvalue + "}" + "}";

Serial.println (PostValue);

/ * tạo một phiên bản của máy khách WiFiClientSecure * / 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 "); cl

ient.println ("Loại-Nội dung: ứng dụng / json");

client.println ("cache-control: no-cache");

client.println ("Ủy quyền: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. 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 có sẵn dữ liệu 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");

client.stop ();

}

} Serial.println ("//////////////////////// THE END //////////////////// / ");

chậm trễ (3000); }}

Bước 7: Lựa chọn Bo mạch và Cổng Com

Lựa chọn Board và Com Port
Lựa chọn Board và Com Port

Từ các công cụ, chọn bảng và sau đó chọn cổng com

Bước 8: Kết nối mạch

Kết nối mạch
Kết nối mạch
Kết nối mạch
Kết nối mạch
Kết nối mạch
Kết nối mạch

Mã hóa xong rồi thực hiện các kết nối sau như đã đề cập bên dưới

KẾT NỐI:

GND của esp32 đến GND của cảm biến LDR

3V3 0f esp32 sang Vcc của LDR

VP của esp32 đến A0 của LDR

Bước 9: Biên dịch và tải lên

Biên dịch và tải lên
Biên dịch và tải lên

biên dịch và tải mã lên esp32 và sau đó đọc các bài đọc từ màn hình nối tiếp. Điều đó sẽ hiển thị một kết quả như thế này

Bước 10: Màn hình nối tiếp

Màn hình nối tiếp
Màn hình nối tiếp

Các giá trị thu được trên màn hình nối tiếp và sau đó chúng được gửi vào nền tảng THINGSAI IOT Cloud.

Bước 11: Bài đọc

Bài đọc
Bài đọc

Điều này cho thấy các giá trị thu được từ bảng esp32.

Bước 12: Biểu diễn đồ họa

Biểu diễn đồ họa
Biểu diễn đồ họa

Đây là biểu diễn đồ họa của các giá trị thu được. Đó là phần cuối của hướng dẫn. Hy vọng bạn đã hiểu. Cảm ơn

Đề xuất: