Mục lục:
Video: Đo độ ẩm của đất bằng nền tảng Esp32 và Thingsio.ai: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Trong hướng dẫn này, tôi sẽ giải thích về cách đọc độ ẩm trong đất bằng cách sử dụng esp32 và sau đó gửi các giá trị vào nền tảng đám mây Thingsio.ai IoT.
Bước 1: THÀNH PHẦN
Các thành phần phần cứng:
1. Ban phát triển esp32
2. cảm biến đất
3. dây thắng
Phần mềm:
1. Arduino IDE
2. Thingsio.ai
Bước 2: KẾT NỐI
Cảm biến độ ẩm của đất ---------------------- esp32 Board
VCC --------------------------------------- 3V3
GND -------------------------------------- GND
A0 ---------------------------------------- VP
Bước 3: GIẢI MÃ:
#bao gồm
#bao gồm
#bao gồm
int count = 0, i, m, j, k;
int t;
int sensor_pin = A0;
giá trị int;
////////////////////////////////////////// TẤT CẢ KHAI BÁO
cho CLOUD ////////////////////////////////
const char * host = "api.thingsai.io"; // HOẶC máy chủ =
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 * máy chủ =
"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;
/////////////////////////////////////////// TIMESTAMP
Hàm tính toán ///////////////////////////////////////////
int GiveMeTimestamp ()
{
không ký lâu
thời gian chờ = millis ();
// Máy khách WiFiClient;
trong khi
(client.available () == 0)
{
nếu (mili () -
thời gian chờ> 50000)
{
client.stop ();
trả về 0;
}
}
while (client.available ())
{
Dòng chuỗi =
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);Serial.println ("Đọc Từ Cảm biến…");
chậm trễ (2000);
// Chúng tôi bắt đầu bởi
kết nối với mạng WiFi
WiFiMulti.addAP ("Wifi_name", "Mật khẩu mạng wifi");
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 ( IP
Địa chỉ: );Serial.println (WiFi.localIP ());
chậm trễ (500);
}
void loop ()
{
{
/////////////////////////////////////////// GỬI CÂU HỎI VÀ
NHẬN LẠI LỜI TRẢ LỜI /////////////////////////
giá trị =
analogRead (sensor_pin);
// giá trị =
bản đồ (giá trị, 550, 0, 0, 100);Serial.print ("Mositure:");Serial.print (giá trị);Serial.println ("%");chậm trễ (1000);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");
nếu như
(! 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ểuclient.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 / ": 61121695918, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + dấu thời gian;
PostValue =
PostValue + ", \" data / ": {" MOIST / ":" + value + "}" + "}";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");
nếu như
(! 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
lời yêu cầu */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:
không có bộ nhớ 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 máy chủ đám mây biểu mẫu phản hồi ////////////////////
Serial.print ( Đang chờ phản hồi
);
trong khi
(! client.available ()) {
chậm trễ (50);
//Serial.print (".");
}
/ * nếu dữ liệu là
có sẵn sau đó nhận và in ra Terminal * /
trong khi
(client.available ()) {
char c = client.read ();Serial.write (c);
}
/ * nếu
máy chủ bị ngắt kết nối, dừng máy khách * /
nếu như
(! 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 4: ĐẦU RA:
Đầu ra của mã được hiển thị.
Bước 5: ĐỒ HỌA
Đây là biểu diễn đồ họa của các giá trị được đọc từ cảm biến.
Bước 6:
Đây là video hoàn chỉnh của dự án. Cảm ơn.
Đề xuất:
Cài đặt De La Carte TagTagTag Đổ Nabaztag / Cài đặt Bảng TagTagTag trên Nabaztag của bạn: 15 bước
Cài đặt De La Carte TagTagTag Pour Nabaztag / Cài đặt TagTagTag Board trên Nabaztag của bạn: (xem bên dưới đối với phiên bản tiếng Anh) La carte TagTagTag a été créée en 2018 lors de Maker Faire Paris pour faire renaitre les Nabaztag et les Nabaztag: tag. Elle a fait l'objet ensuite d'un tài chính tham giaatif sur Ulule vào tháng 6 năm 2019, si vous souhaitez
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
Đo nhiệt độ bằng nền tảng Esp32 và Thingsio.ai: 6 bước
Đo nhiệt độ bằng Esp32 và Nền tảng Thingsio.ai: Trong hướng dẫn này, tôi sẽ giải thích về cách đo nhiệt độ môi trường xung quanh bằng cách sử dụng cảm biến nhiệt độ có sẵn trong bảng phát triển esp32. esp32 có nhiều cảm biến sẵn có như cảm biến hội trường được sử dụng làm cảm biến tiệm cận, cảm ứng
Tăng phạm vi tín hiệu của cảm biến cửa / cửa sổ SimpliSafe: 6 bước (có hình ảnh)
Tăng phạm vi tín hiệu của cảm biến cửa / cửa sổ SimpliSafe: Cảm biến cửa / mở cửa sổ SimpliSafe có phạm vi nổi tiếng là ngắn. Điều này gây khó khăn khi sử dụng các cảm biến cách trạm gốc của bạn hơn 20 hoặc 30 feet, nếu có bất kỳ bức tường nào ở giữa. Nhiều khách hàng của SimpliSafe đã yêu cầu công ty cung cấp
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