جدول المحتويات:
- الخطوة 1: المكونات
- الخطوة 2: التوصيلات
- الخطوة الثالثة: الترميز:
- الخطوة 4: الإخراج:
- الخطوة 5: الرسم البياني
- الخطوة السادسة:
فيديو: قياس محتوى رطوبة التربة باستخدام منصة Esp32 و Thingsio.ai: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
سأشرح في هذا البرنامج التعليمي قراءة محتوى الرطوبة في التربة باستخدام esp32 ثم إرسال القيم إلى النظام الأساسي السحابي Thingsio.ai IoT.
الخطوة 1: المكونات
مكونات الأجهزة:
1. مجلس التنمية esp32
2-مستشعر التربة
3. أسلاك العبور
برمجة:
1. Arduino IDE
2. Thingsio.ai
الخطوة 2: التوصيلات
مستشعر رطوبة التربة ---------------------- لوحة esp32
VCC --------------------------------------- 3V3
GND -------------------------------------- GND
A0 ---------------------------------------- VP
الخطوة الثالثة: الترميز:
#يشمل
#يشمل
#يشمل
عدد صحيح = 0 ، أنا ، م ، ي ، ك ؛
ر int ؛
int sensor_pin = A0 ؛
قيمة int
////////////////////////////////////////// جميع التصريحات
من أجل CLOUD ////////////////////////////////
const char * host = "api.thingsai.io" ؛ // أو المضيف =
devapi2.thethingscloud.com
const char * post_url = "/ devices / deviceData" ؛ // أو
/ api / v2 / thingscloud2 / _table / data_ac
const char * time_server =
"baas.thethingscloud.com" ؛ // هذا لتحويل الطابع الزمني
const int httpPort = 80 ؛
const int httpsPort = 443 ؛
const char * server =
"api.thingsai.io" ؛ // عنوان URL للخادم
الطابع الزمني char [10] ؛
WiFi متعدد WiFi متعدد ؛
// استخدم فئة WiFiClient لإنشاء اتصالات TCP
عميل WiFiClient ؛
///////////////////////////////////////// TIMESTAMP
وظيفة الحساب ///////////////////////////////////////////
int GiveMeTimestamp ()
{
طويل بدون توقيع
المهلة = مللي () ؛
// عميل WiFiClient ؛
في حين
(client.available () == 0)
{
إذا (بالمللي () -
المهلة> 50000)
{
client.stop () ؛
العودة 0 ؛
}
}
بينما (client.available ())
{
خط السلسلة =
client.readStringUntil ('r') ، // indexOf () هي وظيفة للبحث عن smthng ، وتعيد -1 إذا لم يتم العثور عليها
نقاط البيع int =
line.indexOf ("\" الطابع الزمني / "")؛ // ابحث عن "\" timestamp / "" من بداية الرد ونسخ جميع البيانات بعد ذلك ، سيكون طابعك الزمني
إذا (نقاط البيع> =
0)
{
int j = 0 ؛لـ (j = 0 ؛ j <10 ؛ j ++)
{الطابع الزمني [j] = الخط [نقطة البيع + 12 + ي] ؛
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
الإعداد باطل()
{Serial.begin (115200) ؛Serial.println ("القراءة من جهاز الاستشعار …") ؛
تأخير (2000) ؛
// نبدأ بـ
الاتصال بشبكة WiFi
WiFiMulti.addAP ("Wifi_name" ،
"كلمة السر واي فاي")؛
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) ؛
}
حلقة فارغة()
{
{
///////////////////////////////////////// أرسل الاستعلام و
احصل على الاستجابة /////////////////////////
القيمة =
analogRead (sensor_pin) ؛
// القيمة =
الخريطة (القيمة 550 ، 0 ، 0 ، 100) ؛Serial.print ("Mositure:") ؛Serial.print (القيمة) ؛Serial.println ("٪") ؛تأخير (1000) ؛Serial.print ("الاتصال بـ") ؛Serial.println (مضيف) ؛ // المعرف الصاعد: - host = devapi2.thethingscloud.com أو 139.59.26.117
/////////////////////////////////////// TIMESTAMP CODE SNIPPET
/////////////////////////
Serial.println ("الحصول على الطابع الزمني للداخل / n") ؛
لو
(! client.connect (خادم الوقت ،
{
إرجاع؛
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET / api / timestamp HTTP / 1.1") ؛ // ما الذي يفعله هذا الجزء ، لم أحصل عليهclient.println ("المضيف: baas.thethingscloud.com") ؛client.println ("Cache-Control: no-cache") ؛client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8") ؛
client.println () ،
GiveMeTimestamp () ،
// سوف تستدعي الوظيفة التي ستحصل على استجابة الطابع الزمني من الخادم
Serial.println ("تم استلام الطابع الزمني") ؛
Serial.println (طابع زمني) ؛Serial.println ("داخل ThingsCloudPost") ؛
سلسلة PostValue =
"{" device_id / ": 61121695918، \" slave_id / ": 2" ؛
PostValue =
PostValue + "، \" dts / ":" + الطابع الزمني؛
PostValue =
PostValue + "، \" data / ": {" MOIST / ":" + value + "}" + "}"؛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("Connection: close ") ؛client.println ("نوع المحتوى: application / json") ؛
client.println ( التحكم في ذاكرة التخزين المؤقت:
no-cache ") ؛client.println ("التفويض: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqm9PNTk6client.print ("طول المحتوى:") ؛
client.println (PostValue.length ()) ،client.println () ،client.println (PostValue) ؛
////////////////////////////////// نشر البيانات على
تم الانتهاء من السحابة والحصول الآن على نموذج الاستجابة للخادم السحابي ////////////////////
Serial.print ( في انتظار الرد
);
في حين
(! client.available ()) {
تأخير (50) ؛
//Serial.print (".") ؛
}
/ * إذا كانت البيانات
متاح ثم الاستلام والطباعة إلى Terminal * /
في حين
(client.available ()) {
char c = client.read () ؛Serial.write (ج) ؛
}
/ * إذا كان ملف
الخادم غير متصل ، أوقف العميل * /
لو
(! client.connected ()) {Serial.println () ،Serial.println ("الخادم غير متصل") ؛
client.stop () ؛
}
}
Serial.println ( //////////////////////// THE END
///////////////////// );
تأخير (3000) ؛
}
}
الخطوة 4: الإخراج:
يتم عرض إخراج الكود.
الخطوة 5: الرسم البياني
هذا هو التمثيل الرسومي للقيم التي يتم قراءتها من المستشعر.
الخطوة السادسة:
هنا هو الفيديو الكامل للمشروع. اشكرك.
موصى به:
اصنع مستشعر رطوبة التربة الخاص بك باستخدام Arduino !!!: 10 خطوات
اصنع مستشعر رطوبة التربة الخاص بك مع Arduino !!!: ABOUT !!! في هذه التعليمات ، سنقوم بربط مستشعر رطوبة التربة FC-28 مع Arduino. يقيس هذا المستشعر المحتوى الحجمي للماء داخل التربة ويعطينا مستوى الرطوبة كناتج. جهاز الاستشعار مجهز بكل من التناظرية
قياس رطوبة التربة باستخدام Raspberry Pi 4: 4 خطوات
قياس رطوبة التربة باستخدام Raspberry Pi 4: هل تعرف كم مرة تسقي النباتات؟ أو سكب النباتات وفقدها. لحل هذا ، اعتقدت أنه سيكون أكثر ظرفية إذا تمكنا من الحصول على قيمة محتوى الماء داخل التربة من أجل اتخاذ قرار لسقي النباتات بشكل مناسب
قياس رطوبة التربة بالاردوينو: 6 خطوات
قياس رطوبة التربة باستخدام Arduino: في هذا البرنامج التعليمي السريع ، سأوضح لك كيفية قراءة مستشعر رطوبة التربة باستخدام arduino وطباعة مستوى رطوبة التربة في Arduino Serial Monitor. يمكنك العثور على المنشور الأصلي الذي كتبته باللغة السنهالية من هذا الرابط
قياس درجة الحرارة باستخدام منصة Esp32 و Thingsio.ai: 6 خطوات
قياس درجة الحرارة باستخدام منصة Esp32 و Thingsio.ai: في هذا البرنامج التعليمي سأشرح كيفية قياس درجة الحرارة في المناطق المحيطة باستخدام مستشعر درجة الحرارة المدمج الموجود في لوحة التطوير esp32. يحتوي esp32 على العديد من أجهزة الاستشعار المدمجة مثل مستشعر القاعة المستخدم كمستشعر القرب ، المس
قياس رطوبة التربة بسعة الصوت: 6 خطوات (بالصور)
قياس رطوبة التربة باستخدام السعات الصوتية: في هذا البرنامج التعليمي ، سنشرح كيفية صنع جهاز يقيس رطوبة التربة بسعة صوتية