جدول المحتويات:
- الخطوة 1: إنشاء منصة THINGSIO وتسجيل الدخول إليها
- الخطوة الثانية: إنشاء مشروع جديد
- الخطوة الثالثة: إنشاء جهاز جديد
- الخطوة 4: تحديد معلمة الجهاز
- الخطوة 5: تحديث الجهاز
- الخطوة السادسة: البرمجة
- الخطوة 7: اختيار مجلس الإدارة و Com Port
- الخطوة 8: توصيلات الدائرة
- الخطوة 9: التجميع والتحميل
- الخطوة 10: جهاز العرض التسلسلي
- الخطوة 11: القراءات
- الخطوة 12: التمثيل الرسومي
- الخطوة 13:
فيديو: LDR باستخدام Thingsai Cloud: 13 خطوة
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
مرحبًا….. سنتعلم اليوم كيفية قياس شدة الضوء ونشر القيم في منصة THINGSAI IOT السحابية باستخدام ESP32.
متطلبات القيام بهذا المشروع هي
1. مجلس تطوير ESP32 (لقد استخدمت ESP32 DEVKIT V1)
2. مستشعر LDR
3. أسلاك العبور
4. حساب في منصة THINGSAI IOT
الخطوة 1: إنشاء منصة THINGSIO وتسجيل الدخول إليها
قم بتسجيل الدخول إلى حساب THINGS AI. إذا كنت جديدًا ، فقم بالتسجيل في الحساب بالضغط على زر التسجيل وملء جميع بيانات الاعتماد. سيتم إنشاء حسابك وبعد ذلك ستتمكن من العمل على النظام الأساسي السحابي وإنشاء مشروعك المخصص
الخطوة الثانية: إنشاء مشروع جديد
بعد تسجيل الدخول إلى الحساب ، لإنشاء مشروع ما عليك سوى النقر على المشروع الجديد ثم إعطاء اسم المشروع.
الخطوة الثالثة: إنشاء جهاز جديد
بعد إنشاء المشروع ، الشيء التالي الذي عليك القيام به هو إنشاء جهاز جديد ، أعط اسم الجهاز وأدخل معرف الجهاز إما يدويًا أو تم إنشاؤه بواسطة النظام.
الخطوة 4: تحديد معلمة الجهاز
أعط معلمة الجهاز ثم حدد نوع المعلمة
الخطوة 5: تحديث الجهاز
حدد المعلمة ثم قم بتحديث الجهاز
الخطوة السادسة: البرمجة
من نماذج الأكواد ، حدد كود esp32 وانسخه ثم الصقه في arduino IDE وقم بإجراء التغييرات اللازمة وفقًا للمتطلبات. لقد أعطيت الرمز أدناه
# تضمين # تضمين
#يشمل
عدد صحيح = 0 ، أنا ، م ، ي ، ك ؛
ر int ؛ int outputpin = A0 ؛ // ds18b20
int sensvalue؛
////////////////////////////////////////// جميع التصريحات عن CLOUD ////// //////////////////////////
const char * host = "api.thingsai.io" ؛ // أو
host = devapi2.thethingscloud.com
const char * post_url = "/ devices / deviceData" ؛ // OR / 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 CALCULATION وظيفة //////// /////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis () ؛ // عميل WiFiClient ؛
بينما (client.available () == 0)
{
إذا (بالمللي () - المهلة> 50000)
{
client.stop () ؛ العودة 0 ؛
}
}
بينما (client.available ())
{
String line = client.readStringUntil ('r') ؛ // indexOf () هي وظيفة للبحث عن smthng ، وتعيد -1 إذا لم يتم العثور عليها
int pos = line.indexOf ("\" الطابع الزمني / "") ؛ // ابحث عن "\" timestamp / "" من بداية الرد ونسخ جميع البيانات بعد ذلك ، سيكون طابعك الزمني
إذا (نقاط البيع> = 0)
{
int j = 0 ؛
لـ (j = 0 ؛ j <10 ؛ j ++)
{
الطابع الزمني [j] = الخط [نقطة البيع + 12 + ي] ؛
}
}
}
} ////////////////////////////////////////////////////////////////////////////////////////////////////////
الإعداد باطل()
{
Serial.begin (115200) ؛
تأخير (10) ؛
// نبدأ بالاتصال بشبكة WiFi
WiFiMulti.addAP ("wifi" ، "pswrd") ؛
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) ؛
}
حلقة فارغة()
{
int analogValue = analogRead (outputpin) ؛
{///////////////////////////////////////// إرسال الاستعلام والحصول على الاستجابة /// //////////////////////
sensorvalue = analogRead (A0) ؛ // قراءة دبوس الإدخال التناظري 0
sensorvalue = sensorvalue / 100 ؛
Serial.print (مستشعر القيمة ، DEC) ؛ // يطبع القيمة المقروءة
Serial.print ("\ n") ؛ // يطبع مسافة بين الأرقام
تأخير (1000) ؛ // انتظر 100 مللي ثانية للقراءة التالية
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") ؛
String PostValue = "{" device_id / ": 61121695844، \" slave_id / ": 2"؛
PostValue = PostValue + "، \" dts / ":" + timestamp؛
PostValue = PostValue + "، \" data / ": {" كثافة / ":" + / sensorvalue + "}" + "}"؛
Serial.println (PostValue) ؛
/ * إنشاء مثيل من WiFiClientSecure * / WiFiClientSecure client ؛
Serial.println ("الاتصال بالخادم عبر المنفذ 443") ؛
إذا (! client.connect (خادم ، 443))
{
Serial.println ("فشل الاتصال!") ؛
}
آخر
{Serial.println ("متصل بالخادم!") ؛ / * إنشاء طلب HTTP * /
client.println ("POST / devices / deviceData HTTP / 1.1") ؛
client.println ("المضيف: api.thingsai.io") ؛ //client.println("Connection: close ") ؛ cl
ient.println ("نوع المحتوى: application / json") ؛
client.println ("cache-control: no-cache") ؛
client.println ("التفويض: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqm9PNTk6) client.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) ؛ }}
الخطوة 7: اختيار مجلس الإدارة و Com Port
من الأدوات ، حدد اللوحة ثم حدد منفذ com
الخطوة 8: توصيلات الدائرة
يتم الترميز ثم قم بإجراء الاتصالات التالية كما هو مذكور أدناه
روابط:
GND من esp32 إلى GND لمستشعر LDR
3V3 0f esp32 إلى Vcc لـ LDR
نائب رئيس esp32 إلى A0 من LDR
الخطوة 9: التجميع والتحميل
قم بتجميع الكود وتحميله في esp32 ثم قراءة القراءات من الشاشة التسلسلية. من شأنه أن يظهر نتيجة شيء من هذا القبيل
الخطوة 10: جهاز العرض التسلسلي
يتم الحصول على القيم على الشاشة التسلسلية ثم يتم إرسالها إلى منصة THINGSAI IOT Cloud.
الخطوة 11: القراءات
هذا يوضح القيم التي تم الحصول عليها من لوحة esp32.
الخطوة 12: التمثيل الرسومي
هذا هو التمثيل الرسومي للقيم التي تم الحصول عليها. هذه نهاية البرنامج التعليمي. آمل أن تكون قد فهمت. اشكرك
موصى به:
لعبة دينو باستخدام LDR: 5 خطوات
DINO GAME USING LDR: Dinosaur Game ، والمعروفة أيضًا باسم T-Rex Game و Dino Runner ، هي لعبة متصفح مدمجة في متصفح الويب Google Chrome. تم إنشاء اللعبة بواسطة Sebastien Gabriel في عام 2014 ، ويمكن الوصول إليها عن طريق الضغط على مفتاح المسافة عند عدم الاتصال بالإنترنت على Google Chrome.A L
كاشف الحركة باستخدام منصة Thingsai.io Iot السحابية: 6 خطوات
كاشف الحركة باستخدام Thingsai.io Iot Cloud Platform: في هذا البرنامج التعليمي سأشرح لك اكتشاف الحركة باستخدام مستشعر PIR و Esp32 جنبًا إلى جنب مع منصة سحابة IOT Thingai.io
كيفية إنشاء حرف ثنائي الأبعاد باستخدام وحدة التحكم في الأحرف في Unreal Engine 4 باستخدام برنامج Visual Script للكمبيوتر الشخصي: 11 خطوة
كيفية إنشاء حرف ثنائي الأبعاد باستخدام وحدة تحكم الأحرف في Unreal Engine 4 باستخدام برنامج Visual Script للكمبيوتر: كيفية إنشاء شخصية ثنائية الأبعاد باستخدام وحدة تحكم في الأحرف في محرك Unreal 4 باستخدام برنامج نصي مرئي للكمبيوتر الشخصي مرحبًا ، أنا جوردان ستيلتز. أعمل على تطوير ألعاب الفيديو منذ أن كان عمري 15 عامًا. سيعلمك هذا البرنامج التعليمي كيفية إنشاء شخصية أساسية باستخدام
FoldTronics: إنشاء كائنات ثلاثية الأبعاد باستخدام إلكترونيات متكاملة باستخدام هياكل HoneyComb قابلة للطي: 11 خطوة
FoldTronics: إنشاء كائنات ثلاثية الأبعاد باستخدام إلكترونيات متكاملة باستخدام هياكل HoneyComb قابلة للطي: في هذا البرنامج التعليمي ، نقدم FoldTronics ، وهي تقنية تصنيع تعتمد على القطع ثنائي الأبعاد لدمج الإلكترونيات في كائنات مطوية ثلاثية الأبعاد. الفكرة الأساسية هي قطع وثقب لوح ثنائي الأبعاد باستخدام آلة تخطيط القطع لجعلها قابلة للطي إلى شكل قرص العسل ثلاثي الأبعاد
مراقبة جودة المياه باستخدام MKR1000 و ARTIK Cloud: 13 خطوة (بالصور)
مراقبة جودة المياه باستخدام MKR1000 و ARTIK Cloud: مقدمة الهدف الأساسي لهذا المشروع هو استخدام MKR1000 و Samsung ARTIK Cloud لمراقبة مستويات الأس الهيدروجيني ودرجة الحرارة في أحواض السباحة ، وسنستخدم مستشعر درجة الحرارة ودرجة الحموضة أو قوة مستشعر الهيدروجين لقياس القلوية أ