جدول المحتويات:

كيفية بناء محطة طقس باستخدام XinaBox و Ubidots عبر HTTP: 7 خطوات
كيفية بناء محطة طقس باستخدام XinaBox و Ubidots عبر HTTP: 7 خطوات

فيديو: كيفية بناء محطة طقس باستخدام XinaBox و Ubidots عبر HTTP: 7 خطوات

فيديو: كيفية بناء محطة طقس باستخدام XinaBox و Ubidots عبر HTTP: 7 خطوات
فيديو: Raspberry Pi Pico Home Automation System Project by ESP8266 WiFi | 2 Bulbs | 1 Water Pump | 1 Fan 2024, يوليو
Anonim
كيفية بناء محطة طقس باستخدام XinaBox و Ubidots عبر HTTP
كيفية بناء محطة طقس باستخدام XinaBox و Ubidots عبر HTTP

تعرف على كيفية إنشاء محطة الطقس الخاصة بك في Ubidots ، باستخدام XinaBox xChips (IP01 و CW01 و SW01)

صورة
صورة

تتيح وحدة ESP8266 الأساسية ووحدة Wi-Fi (xChip CW01) للمستخدمين إرسال البيانات من وحدات xChips المعيارية الخاصة بـ XinaBox إلى السحابة. يمكن مراقبة هذه البيانات عن بُعد في Ubidots ، حيث يمكن للمستخدمين الاستفادة من مجموعة أدوات إنترنت الأشياء الخاصة بهم.

يقيس مستشعر الطقس المتقدم xChip SW01 (Bosch BME280) درجة الحرارة والرطوبة والضغط الجوي ، والتي يمكن من خلالها أيضًا حساب الارتفاع وقاعدة السحابة ونقطة الندى.

في هذا البرنامج التعليمي ، نستخدم بروتوكول HTTP لإرسال بيانات المستشعر إلى Ubidots. يمكن القيام بذلك أيضًا باستخدام بروتوكول MQTT.

بنهاية هذا الدليل ، ستتمكن من مراقبة وقياس أحوال الطقس على جهاز XinaBox الخاص بك من أي مكان عن بعد باستخدام Ubidots.

الخطوة 1: المتطلبات

  • 1x CW01 - WiFi core (ESP8266 / ESP-12F)
  • 1x IP01 - واجهة برمجة USB (FT232R)
  • 1x SW01 - مستشعر الطقس المتقدم (BME280)
  • 1x XC10 - 10 Pack موصلات xBUS
  • اردوينو IDE
  • حساب Ubidots

الخطوة 2: إعداد الجهاز

قم بتوصيل CW01 و SW01 و IP01 معًا باستخدام موصلات XC10 xBUS. يمكنك توصيله كما هو موضح في الرسم البياني أدناه. يرجى الاطلاع على هذا الدليل حول كيفية تجميع xChips بشكل عام.

صورة
صورة

بعد ذلك ، قم بتوصيل جهازك وجهاز الكمبيوتر من خلال USB الخاص بـ IP01. لهذا ، سوف تحتاج إلى استخدام برنامج xFlasher لتفليش الكود بمجرد أن يصبح جاهزًا. راجع هذا الدليل حول استخدام xFlasher.

الخطوة 3: إعداد Arduino IDE

1. قم بتثبيت Arduino IDE 1.8.8

2. قم بتثبيت هذه المكتبات على Arduino: ESP8266 Arduino ، Ubidots ESP8266 ، xCore ، xSW01.

ملاحظة: إذا لم تكن معتادًا على كيفية تثبيت المكتبات ، فيرجى الرجوع إلى الرابط: تثبيت مكتبات Arduino

3. بعد تثبيت النظام الأساسي ESP8266 ، حدد جهاز ESP8266 الذي تعمل معه. في هذه الحالة ، نحن نعمل مع "CW01 (وحدة ESP12F)". لتحديد اللوحة الخاصة بك من Arduino IDE ، حدد Tools> Board "NodeMCU 1.0 (وحدة ESP12E)".

ملاحظة: يمكن استبدال ESP12F و ESP12E لهذا الغرض.

الخطوة 4: فهم المدونة

بما في ذلك المكتبات:

# تضمين "UbidotsMicroESP8266.h"

# تضمين # تضمين

أدخل بيانات اعتماد Wi-Fi و Ubidots:

#define Token "Your-Token" // ضع هنا رمز Ubidots الخاص بك

#define WIFISSID "Your-SSID" // ضع هنا Wi-Fi SSID #define PASSWORD "password-of-ssid" // ضع هنا كلمة مرور Wi-Fi الخاصة بك

يتم الحصول على رمز Ubidots المميز الخاص بك من حساب Ubidots الخاص بك. الرجوع إلى الرابط التالي لمعرفة مكان العثور على رمز Ubidots الخاص بك.

الإعداد لمرة واحدة ، راجع التعليقات للشرح الذاتي:

الإعداد باطل() {

// تصحيح الأخطاء عند 115200 باستخدام جهاز العرض التسلسلي Serial.begin (115200) ؛ // الاتصال بعميل نقطة الوصول. wifiConnection (WIFISSID ، كلمة المرور) ؛ // يبدأ اتصال I2C Wire.begin () ؛ // بدء تشغيل مستشعر SW01 SW01.begin () ؛ // إدخال بعض التأخير ، تأخير 2-3 ثوانٍ (DELAY_TIME) ؛ }

قم بتكرار العملية لإبقائها قيد التشغيل والتحديث المستمر:

حلقة فارغة() {

// إنشاء متغير لتخزين البيانات المقروءة من SW01 درجة حرارة تعويم ، والرطوبة ، والضغط ، والبديل ؛ // إنشاء متغيرات الجهاز tempC = 0 ؛ الرطوبة = 0 ؛ الضغط = 0 ؛ بديل = 0 ؛ // مستشعر الاستطلاع لجمع البيانات SW01.poll () ؛ // حفظ البيانات لمتغيرات الجهاز tempC = SW01.getTempC () ؛ // درجة الحرارة بالدرجة المئوية Serial.println ("درجة الحرارة:") ؛ Serial.print (tempC) ؛ Serial.println ("* C") ؛ Serial.println () ، الرطوبة = SW01.getHumidity () ؛ Serial.println ("الرطوبة:") ؛ Serial.print (الرطوبة) ؛ Serial.println ("٪") ؛ Serial.println () ، الضغط = SW01.getPressure () ؛ Serial.println ("الضغط:") ؛ Serial.print (الضغط) ؛ Serial.println ("Pa") ؛ Serial.println () ، alt=SW01.getAltitude (101325) ؛ Serial.println ("الارتفاع:") ؛ Serial.print (بديل) ؛ Serial.println ("m") ؛ Serial.println () ، // إنشاء متغيرات ubidots client.add ("درجة الحرارة (* C)" ، درجة الحرارة) ؛ تأخير (500) ؛ client.add ("الرطوبة (٪)" ، الرطوبة) ؛ تأخير (500) ؛ client.add ("الضغط (Pa)" ، الضغط) ؛ تأخير (500) ؛ client.add ("الارتفاع (م)" ، بديل) ؛ // أرسل كل النقاط client.sendAll (صواب) ؛ // التأخير بين قراءات المستشعرات لتثبيت التأخير (DELAY_TIME) ؛ }

الكود الكامل:

# تضمين "UbidotsMicroESP8266.h"

#include #include #define Token "Your-Token" // ضع هنا رمز Ubidots الخاص بك #define WIFISSID "Your-SSID" // ضع هنا Wi-Fi SSID #define PASSWORD "password-of-ssid" // ضع هنا عميل Ubidots الخاص بشبكة Wi-Fi (الرمز المميز) ؛ const int DELAY_TIME = 2000 ؛ xSW01 SW01 ؛ // إنشاء كائن لإعداد فراغ مستشعر SW01 () {Serial.begin (115200) ؛ client.wifiConnection (WIFISSID ، كلمة المرور) ؛ Wire.begin () ؛ // بدء تشغيل مستشعر SW01 SW01.begin () ؛ تأخير (DELAY_TIME) ، } void loop () {// إنشاء متغير لتخزين البيانات المقروءة من SW01 float tempC، humidity، pressure، alt؛ درجة الحرارة = 0 ؛ الرطوبة = 0 ؛ الضغط = 0 ؛ بديل = 0 ؛ // مستشعر الاستطلاع لجمع البيانات SW01.poll () ؛ // حفظ البيانات لمتغيرات الذاكرة tempC = SW01.getTempC () ؛ // درجة الحرارة بالدرجة المئوية Serial.println ("درجة الحرارة:") ؛ Serial.print (tempC) ؛ Serial.println ("* C") ؛ Serial.println () ، الرطوبة = SW01.getHumidity () ؛ Serial.println ("الرطوبة:") ؛ Serial.print (الرطوبة) ؛ Serial.println ("٪") ؛ Serial.println () ، الضغط = SW01.getPressure () ؛ Serial.println ("الضغط:") ؛ Serial.print (الضغط) ؛ Serial.println ("Pa") ؛ Serial.println () ، alt=SW01.getAltitude (101325) ؛ Serial.println ("الارتفاع:") ؛ Serial.print (بديل) ؛ Serial.println ("m") ؛ Serial.println () ، // إنشاء متغيرات ubidots client.add ("درجة الحرارة (* C)" ، درجة الحرارة) ؛ تأخير (500) ؛ client.add ("الرطوبة (٪)" ، الرطوبة) ؛ تأخير (500) ؛ client.add ("الضغط (Pa)" ، الضغط) ؛ تأخير (500) ؛ client.add ("الارتفاع (م)" ، بديل) ؛ // أرسل كل النقاط client.sendAll (صواب) ؛ // التأخير بين قراءات المستشعرات لتثبيت التأخير (DELAY_TIME) ؛ }

الخطوة 5: تسجيل الدخول إلى Ubidots

1. افتح حساب Ubidots الخاص بك. سترى جهازًا يسمى "ESP8266" به 4 متغيرات (انظر الصورة أدناه).

تصور الجهاز

صورة
صورة

تصور المتغيرات

صورة
صورة

إذا كنت تريد تغيير اسم الجهاز ، فاستخدم الرمز:

client.setDataSourceName ("New_name") ؛

الخطوة 6: إنشاء لوحات المعلومات في Ubidots

لوحات المعلومات (الثابتة والديناميكية) هي واجهات مستخدم لتنظيم وتقديم بيانات الجهاز والرؤى المستمدة من البيانات. تحتوي لوحات المعلومات على أدوات تعرض البيانات كمخططات ومؤشرات وعناصر تحكم وجداول ورسوم بيانية وأحجام وأشكال ونماذج أخرى.

لإنشاء لوحة تحكم جديدة في حساب Ubidots الخاص بك ، ارجع إلى برنامج Ubidots التعليمي التالي لمعرفة كيفية القيام بذلك.

كمرجع ، بمجرد إنشاء لوحة تحكم Ubidots ، يجب أن يكون لديك شيء مشابه للصورة أدناه:

صورة
صورة

نصيحة للمحترفين: هناك أيضًا مجموعة من أدوات الرسم البياني وإعداد التقارير. إذا كنت تريد معرفة المزيد حول هذا الأمر ، فننصحك بمراجعة هذا الدليل.

صورة
صورة

الخطوة 7: الملخص

في هذا البرنامج التعليمي ، أوضحنا كيفية ترميز محطة الطقس XinaBox وتوصيلها بـ Ubidots. يتيح ذلك المراقبة عن بُعد ويمكن إكماله في غضون 10-15 دقيقة.

وجد قراء آخرون مفيدًا أيضًا …

  • UbiFunctions: دمج البيانات من AmbientWeather Platform إلى Ubidots
  • التحليلات: أساسيات المتغيرات التركيبية
  • التحكم في درجة الحرارة مع Ubidots MQTT و NodeMcu

موصى به: