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

اتصالات Arduino إلى Laravel: 4 خطوات
اتصالات Arduino إلى Laravel: 4 خطوات

فيديو: اتصالات Arduino إلى Laravel: 4 خطوات

فيديو: اتصالات Arduino إلى Laravel: 4 خطوات
فيديو: #1 How to Program Outseal Arduino PLC - Getting Started 2024, يوليو
Anonim
Image
Image
Arduino إلى Laravel Communication
Arduino إلى Laravel Communication

مرحبا جميعا،

في Instructable ، سأوضح لك كيف يمكنك إرسال البيانات من Arduino إلى تطبيق Laravel.

الخطوة 1: مقدمة

مقدمة
مقدمة
مقدمة
مقدمة

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

بالنسبة لهذا المشروع ، سنستخدم لوحة NodeMCU v1.0 التي تحتوي على وحدة ESP8266 12e على متنها. بالإضافة إلى ذلك ، سنحتاج إلى استخدام جهاز كمبيوتر حيث يمكننا استضافة تطبيق Laravel الخاص بنا. إذا كنت ترغب في معرفة كيفية إعداد مثل هذه البيئة ، تحقق من الفيديو الخاص بي على ذلك.

الخطوة 2: تحضير تطبيق Laravel

جهز تطبيق Laravel
جهز تطبيق Laravel
جهز تطبيق Laravel
جهز تطبيق Laravel

خطوتنا الأولى هي تثبيت Laravel من خلال Composer. لن أخوض في التفاصيل حول كيفية القيام بذلك حيث توضح الوثائق ذلك بالتفصيل ويمكنك العثور عليها هنا.

للحفاظ على بساطة هذا العرض التوضيحي ، سنقوم داخل Laravel بتسجيل المعلومات المرسلة من Arduino إلى ملف نصي حتى نتمكن من مراجعتها لاحقًا. لذلك سنقوم أولاً بإنشاء مسار POST جديد في ملف "api.php". في رد الاتصال ، سنقوم بحقن تفاصيل الطلب حتى نتمكن لاحقًا من استرداد المعلمات التي يتم إرسالها.

للكتابة إلى ملف ، أستخدم الواجهة Storage من Laravel مع طريقة append سهلة الاستخدام. عند استدعاء هذه الطريقة ، تتلقى اسم ملف وبيانات سلسلة حيث تضيف هذه البيانات إلى الملف المحدد. إذا لم يكن الملف موجودًا ، فهذا يعني أنه يتم إنشاؤه في المكالمة الأولى.

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

الخطوة 3: قم بإعداد مرسل Arduino

تحضير مرسل اردوينو
تحضير مرسل اردوينو
تحضير مرسل اردوينو
تحضير مرسل اردوينو

دعنا الآن نلقي نظرة على كود Arduino وإرسال البيانات.

لكي تتمكن لوحة NodeMCU من الاتصال بشبكة WiFi الخاصة بنا وإرسال طلب ، نحتاج أولاً إلى تضمين العديد من المكتبات في الأعلى. بعد ذلك ، نحتاج إلى تحديد SSID للشبكة التي نتصل بها وكلمة المرور الخاصة بها. إذا كنت تستخدم Uno مع درع Ethernet ، فستكون عمليتك مختلفة.

أيضًا ، نحفظ هنا عنوان URL الجذر لخادم Laravel الذي أنشأناه للتو. في حالتي ، هذا هو عنوان IP لجهاز الكمبيوتر المحلي الخاص بي ، ولكن يمكنك إضافة أي عنوان URL للمضيف حيث يمكن الوصول إلى الرمز.

في وظيفة الإعداد ، نبدأ الاتصال التسلسلي حتى نتمكن من مراقبة ما يجري. بالإضافة إلى ذلك ، نحتاج إلى إعداد لوحة NodeMCU حتى تتمكن من الاتصال بشكل صحيح بشبكة WiFi. بمجرد الانتهاء من ذلك ، يمكننا بدء الاتصال والانتظار حتى نتلقى عنوان IP من جهاز التوجيه.

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

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

نتيجة لذلك ، نحصل أولاً على رمز حالة HTTP ثم حمولة الاستجابة. إذا سارت الأمور بسلاسة ، يجب أن نحصل على 200 كرمز وبما أننا لم نرجع أي شيء من تطبيق Laravel ، فستكون الحمولة فارغة.

إذا لم يكن رمز الحالة 200 لسبب ما ، فستحتوي الحمولة عادةً على رسالة الخطأ لما حدث.

في النهاية ، نحتاج إلى التأكد من إغلاق الطلب والانتظار لفترة معينة ، 5 ثوانٍ في مثالنا للقيام بنفس العملية مرة أخرى.

والنتيجة هي أننا نحصل على هذه القيم محفوظة في ملف نصي في كل تكرار حتى نتمكن لاحقًا من استخدامها إما لعرضها أو تعيينها على مخطط.

الخطوة الرابعة: خطوات أخرى

خطوات أخرى
خطوات أخرى

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

github.com/bkolicoski/arduino-laravel-comm…

آمل أن تكون قد تمكنت من تعلم شيء جديد من Instructable ، وإذا فعلت ذلك ، فيرجى إبلاغي بذلك في التعليقات ، وتابعني على Instructables ولا تنس الاشتراك في قناتي على YouTube.

شكرا!

موصى به: