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

محطة الطقس WIFI مع Magicbit (Arduino): 6 خطوات
محطة الطقس WIFI مع Magicbit (Arduino): 6 خطوات

فيديو: محطة الطقس WIFI مع Magicbit (Arduino): 6 خطوات

فيديو: محطة الطقس WIFI مع Magicbit (Arduino): 6 خطوات
فيديو: How To Make DIY Weather Station With ESP32 | DIY Weather Station| Hammad weather station | @NASA 2024, يوليو
Anonim
Image
Image

يوضح هذا البرنامج التعليمي كيفية إنشاء محطة طقس من Magicbit باستخدام Arduino والتي يمكنها الحصول على تفاصيل من هاتفك الذكي.

اللوازم

  • ماجيكبيت
  • كابل USB-A إلى Micro-USB
  • وحدة مستشعر Magicbit DHT11

الخطوة 1: القصة

في هذا البرنامج التعليمي سوف نتعرف على كيفية إنشاء محطة طقس محمولة باستخدام لوحة Magicbit dev مع وحدة استشعار DHT11. باستخدام الهواتف الذكية ، يمكننا الحصول على تفاصيل حول الطقس حيث يقع Magicbit.

الخطوة الثانية: النظرية والمنهجية

في محطة الطقس هذه ، نأمل في الحصول على بيانات حول درجة الحرارة والرطوبة حيث نريد. أولاً ، علينا الحصول على البيانات من جهاز استشعار حساس لدرجة الحرارة والرطوبة. ثم يتم إعطاء إشارة خرج هذا المستشعر إلى المتحكم الدقيق الذي يحتوي على محول WIFI للاتصال بالإنترنت. لكل هذه الأشياء ، استخدمنا لوحة Magicbit الأساسية ووحدة مستشعر DHT11 التي يمكن توصيلها مباشرة بـ Magicbit. Magicbit لديها معالج ESP32. لذلك لديها اتصال WIFI يحمل في ثناياه عوامل للاتصال بالإنترنت. ثم نقوم بنقل بيانات المستشعر الخاصة بنا إلى النظام الأساسي السحابي وباستخدام تطبيق معين قمنا بتصميم واجهتنا المخصصة وإظهار تلك التفاصيل باستخدامها. لهذا الغرض نستخدم تطبيق Blynk. هذا التطبيق هو التطبيق القائم على IOT. لكن الأمر بسيط للغاية ويمكننا القيام بالعديد من المشاريع منه. كما أنه يدعم العديد من أنواع المعالجات مثل Arduino و Esp32 وما إلى ذلك. يمكنك الحصول على مزيد من التفاصيل حول هذا التطبيق وهذا النظام الأساسي على / داخل من خلال الانتقال من خلال الرابط التالي.

blynk.io/en/getting-started

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

إعداد البرنامج
إعداد البرنامج

هذا بسيط جدا. قم بتوصيل وحدة المستشعر بـ Magicbit ، ثم قم بتوصيل Magicbit بالكمبيوتر باستخدام كابل micro USB.

الخطوة 4: إعداد البرنامج

إعداد البرنامج
إعداد البرنامج
إعداد البرنامج
إعداد البرنامج

يتم تنفيذ الجزء الأكبر من هذا المشروع في إعداد البرامج. في الجزء النظري والمنهجية ، ذكرنا أننا نستخدم تطبيق Blynk لعرض بياناتنا. لذلك دعونا الإعداد.

تحتاج أولاً إلى تنزيل تطبيق Blynk وتثبيته من متجر play إلى هاتف Android أو من متجر التطبيقات إلى نظام iOS الخاص بك. ثم افتحه. الآن يطلب التسجيل أو تسجيل الدخول. هذا سهل جدا. إذا كنت تستخدم هذا التطبيق لأول مرة ، فقم بإعطاء عنوان بريدك الإلكتروني واكتب أي كلمة مرور تريدها وقم بالتسجيل

بعد تسجيل الدخول إلى Blynk ، حدد رمز مشروع جديد وستدخل إلى صفحة مشروع جديد. ثم أدخل اسم مشروعك وسألك عن نوع اللوحة التي استخدمتها ونوع الاتصال الذي استخدمته للتواصل مع المعالج. اضبط ذلك على أنه ESP32 dev و WIFI. الآن انقر فوق الزر "إنشاء" وسوف ترى بعض التدليك على الشاشة. وفقًا لذلك ، يجب عليك الآن التحقق من صندوق البريد الإلكتروني الخاص بك. لأنهم أرسلوا إليك بعض رمز المصادقة الخاص بمشروعك. تحقق من بريدك الإلكتروني وتأكد من استلامه. نستخدم هذا الرمز في كود مصدر Arduino الخاص بنا لاحقًا. لديك الآن مساحة عمل فارغة ويمكنك تخصيصها كما تريد

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

docs.blynk.cc/#:~:text=Now٪20imagine٪3A٪2… a٪ 20blynk٪ 20of٪ 20an٪ 20eye.

في هذا المشروع ، نمثل بياناتنا باستخدام مقياسين تناظريين ونعرض التباين في بياناتنا مع الوقت باستخدام الرسم البياني. لذلك نستخدم مقياسين ومخطط فائق واحد. من خلال تحديد هذه الأدوات ، يمكنك إضافتها إلى صفحة مساحة العمل الخاصة بك

الآن لدينا جزء استيراد للغاية لإكماله. هذا هو تكوين هذه الحاجيات بالطريقة المناسبة. للقيام بذلك ، يمكنك الدخول إلى إعدادات كل عناصر واجهة المستخدم. من خلال النقر فوق أي عنصر واجهة مستخدم يمكنك إدخاله لربط إعدادات الأداة التي قمت بالنقر فوقها. يتيح تغيير إعدادات كل عنصر واجهة مستخدم. نظرًا لأننا نستخدم عنصر واجهة المستخدم الأيسر لإظهار تفاصيل الرطوبة والأداة اليمنى للحصول على تفاصيل درجة الحرارة ، أدخل أولاً إلى إعدادات أداة المقياس الأيسر بالنقر فوقها. عيّن المفضل والاسم للمقياس وحدد اللون الذي تريده لإظهار بيانات الرطوبة الخاصة بك من المقياس. اضبط الإدخال على V5 والمدى من 0 إلى 100. V5 يعني Visual 5 pin. هذا يعني أن التطبيق يحصل على البيانات من الرقم 5 المرئي. ليس الدبوس الخامس من ESP32. يستخدم Visual 5 pin فقط للتواصل بين اللوحة والتطبيق عبر الإنترنت. إنه ليس دبوس حقيقي. ستظهر الرطوبة بين 0 و 100. قم أيضًا بتعيين معدل القراءة على 1. بحيث يتم تحديث قراءة البيانات في كل ثانية واحدة. يمكنك تغييره بأي معدل. ولكن في كثير من الحالات ، تعد 1s جيدة للحصول على البيانات دون تأخير

عودة إلى عرض المشروع والدخول إلى إعدادات المقياس الصحيحة وتغيير الإعدادات كما فعلنا من قبل. تذكر أن تقوم بتعيين الإدخال على شكل V6 pin. لأننا استخدمنا بالفعل V5 للحصول على بيانات الرطوبة

انتقل الآن إلى إعدادات المخطط الفائق وقم بتعيين الاسم واللون المناسبين. ثم أضف دفقين للبيانات. الأول للرطوبة والثاني لدرجة الحرارة. ثم انتقل إلى إعدادات تدفق البيانات بالنقر فوق علامات التعادل في الجانب الأيمن منها. بعد ذلك حدد نمط الرسم البياني. في هذه الحالة ، قمنا بتعيين ذلك كنمط مستمر. ثم قم بتعيين المدخلات على أنها V5 و V6 لتدفقي بيانات. في إعدادات تدفق بيانات درجة الحرارة ، قمنا بتعيين اللاحقة على أنها مئوية وفي إعدادات الرطوبة ، قمنا بتعيينها على أنها٪. يمكنك تغيير الإعدادات الأخرى ما تريد إظهاره

الآن أكملنا جزء التطبيق. ولكن بدون تحميل الكود المصدري الصحيح إلى Magicbit ، لا يمكننا الاتصال بهذا التطبيق. لذلك دعونا نلقي نظرة على كيفية القيام بذلك.

في المرحلة الأولى ، نقوم بتضمين مكتبات محددة لإنشاء اتصال بالإنترنت باستخدام WIFI. المكتبات مثبتة بالفعل على لوحة Magicbit في Arduino باستثناء مكتبة Blynk. لذا انتقل إلى Sketch> Include Library> Manage Libraries وابحث في مكتبة Blynk وقم بتثبيت أحدث إصدار لها. كما يمكنك تنزيل المكتبة من هذا الرابط

github.com/blynkkk/blynk-library

بعد تنزيله ، انتقل إلى Sketch> Include Library> إضافة مكتبة مضغوطة وحدد الملف المضغوط الذي قمت بتنزيله.

بعد ذلك ، يجب عليك تعيين اسم WIFI وكلمة المرور الخاصة بنا في رمز الاتصال بالإنترنت. الآن انسخ والصق رمز Auth Token الذي تلقيته عبر البريد الإلكتروني. تحقق من مكان اتصال المستشعر الخاص بنا بـ Magicbit. في هذه الحالة ، يكون الرقم السري المتصل هو 33. في الإعداد ، يمكنك رؤية وجود دبابيس افتراضية. عيّن هذه الدبابيس كـ V5 و V6 ، إذا كنت تستخدم دبابيس مختلفة في التطبيق ، فقم بتغييرها في الكود. عندما يتم تشغيل الكود في المعالج ، يتم الاتصال أولاً بشبكة WIFI. ثم ينقل البيانات عبر الإنترنت من خلال V5 و V6. هذه عملية حلقات. حدد الآن منفذ com الصحيح وحدد نوع اللوحة على أنه magicbit. حان الوقت الآن لتحميله

بعد تحميل الرمز بنجاح ، ستتصل لوحة Magicbit بشبكة WIFI تلقائيًا. وفقًا لظروف بيئتك ، يمكن أن تكون العملية بطيئة أو أسرع.

انتقل الآن إلى مشروعك في تطبيق Blynk وحان الوقت لاختباره. انقر فوق رمز زر الدفع على شكل مثلث ، إذا كان تطبيقك متصلاً باللوحة الخاصة بك عبر الإنترنت ، فستحصل على بعض التدليك من التطبيق. جميل ، إنه يعمل. يمكنك الآن رؤية درجة الحرارة والرطوبة من المقياسين وتباينهما عن الرسم البياني.

الخطوة 5: استكشاف الأخطاء وإصلاحها

إذا قمت بالنقر فوق زر تشغيل المشروع وإذا لم يكن هناك استجابة. ثم،

  • انتظر قليلا. لأنه في بعض الأحيان يصعب على اللوحة اكتشاف شبكة WIFI الخاصة بك وفقًا لحالتك البيئية. كما يمكن أن يكون اتصال الإنترنت البطيء سببًا لذلك.
  • تحقق من صحة كود المصادقة وتفاصيل WIFI في الكود الذي أدخلته.
  • قم بتغيير اتصال WIFI.

الخطوة 6: كود اردوينو

/*************************************************************

قم بتنزيل أحدث مكتبة Blynk هنا:

github.com/blynkkk/blynk-library/releases/latest Blynk عبارة عن منصة مع تطبيقات iOS و Android للتحكم في Arduino و Raspberry Pi وما شابه ذلك عبر الإنترنت. يمكنك بسهولة إنشاء واجهات رسومية لجميع مشاريعك ببساطة عن طريق سحب وإسقاط عناصر واجهة المستخدم. التنزيلات والمستندات والبرامج التعليمية: https://www.blynk.cc Sketch generator: https://examples.blynk.cc مجتمع Blynk: https://community.blynk.cc تابعنا: https://www.fb. com / blynkapp مكتبة Blynk مرخصة بموجب ترخيص MIT. هذا الرمز المثال موجود في المجال العام. **************************************************** *********** يوضح هذا المثال كيف يمكن دفع القيمة من Arduino إلى تطبيق Blynk. تحذير: في هذا المثال ، ستحتاج إلى مكتبات مستشعر Adafruit DHT: https://github.com/adafruit/Adafruit_Sensor https://github.com/adafruit/DHT-sensor-library إعداد مشروع التطبيق: أداة عرض القيمة المرفقة بـ V5 أداة عرض القيمة المرفقة بـ V6 ************************************************ ***************** / / * قم بالتعليق على هذا لتعطيل المطبوعات وتوفير مساحة * / #define BLYNK_PRINT Serial #include #include #include # include "DHT.h" // يجب أن تحصل على Auth Token في تطبيق Blynk. // انتقل إلى إعدادات المشروع (رمز الجوز). char auth = "****************" ؛ // تم استلام رمز المصادقة عبر البريد الإلكتروني // بيانات اعتماد WiFi الخاصة بك. // تعيين كلمة المرور على "" للشبكات المفتوحة. char ssid = "**********" ؛ /// اسم wifi الخاص بك char pass = "**********" ؛ // كلمة مرور wifi # تعريف DHTPIN 33 // ما هو الدبوس الرقمي الذي نرتبط به // قم بإلغاء التعليق مهما كان النوع الذي تستخدمه! #define DHTTYPE DHT11 // DHT 11 // # حدد DHTTYPE DHT22 // DHT 22، AM2302، AM2321 // # حدد DHTTYPE DHT21 // DHT 21، AM2301 DHT dht (DHTPIN، DHTTYPE) ؛ توقيت BlynkTimer. // ترسل هذه الوظيفة وقت تشغيل Arduino كل ثانية إلى Virtual Pin (5). // في التطبيق ، يجب ضبط تردد قراءة الأداة على PUSH. هذا يعني // أنك تحدد عدد مرات إرسال البيانات إلى تطبيق Blynk. sendSensor () باطلة {float h = dht.readHumidity () ؛ تعويم t = dht.readTemperature () ، // أو dht.readTemperature (صحيح) للفهرنهايت إذا (isnan (h) || isnan (t)) {Serial.println ("فشل القراءة من مستشعر DHT!") ؛ إرجاع؛ } // يمكنك إرسال أي قيمة في أي وقت. // من فضلك لا ترسل أكثر من 10 قيم في الثانية. Blynk.virtualWrite (V5 ، ح) ؛ Blynk.virtualWrite (V6، t) ؛ } void setup () {// Debug console Serial.begin (115200)؛ تأخير (1000) ؛ Blynk.begin (auth ، ssid ، pass) ؛ // يمكنك أيضًا تحديد الخادم: //Blynk.begin(auth، ssid، pass، "blynk-cloud.com"، 80)؛ //Blynk.begin(auth، ssid، pass، IPAddress (192، 168، 1، 100)، 8080) ؛ dht.begin () ، // إعداد وظيفة ليتم استدعاؤها كل ثانية timer.setInterval (1000L ، sendSensor) ؛ } حلقة فارغة () {Blynk.run ()؛ timer.run () ، }

موصى به: