36- كورس Node.js بالعربي – RasPi GPIO Introduction

مقدمة إلى GPIO في Raspberry Pi باستخدام Node.js

مقدمة إلى GPIO في Raspberry Pi باستخدام Node.js

تعد Raspberry Pi واحدة [شركة برمجة مصرية] من أكثر المنصات شيوعًا للمشاريع الإلكترونية والهندسية، وذلك بفضل قدرتها العالية على معالجة البيانات وتوافر منافذ GPIO (General Purpose Input/Output) التي تسمح للمستخدمين بالتفاعل مع مجموعة متنوعة من الأجهزة الإلكترونية. سنستعرض في هذا المقال كيفية استخدام GPIO في Raspberry Pi بواسطة Node.js، مما يتيح للمطورين كتابة برامج تفاعلية باستخدام لغة جافا سكريبت.

إعداد البيئة لتطوير GPIO باستخدام Node.js

للبدء في استخدام GPIO على Raspberry Pi مع Node.js، يجب أولاً التأكد من أن لديك بيئة Node.js مهيأة على جهاز Raspberry Pi الخاص بك. يمكن تثبيت Node.js باستخدام مدير الحزم apt أو من خلال تنزيل الإصدار المناسب من الموقع الرسمي. بعد تثبيت Node.js، ستحتاج إلى تثبيت مكتبة مثل onoff التي توفر واجهة برمجية للتفاعل مع منافذ GPIO.

يمكنك تثبيت مكتبة onoff باستخدام npm، كالتالي:

npm install onoff

بعد إتمام عملية التثبيت، يمكنك بدء كتابة برنامجك الأول للتحكم في منافذ GPIO.

أمثلة عملية للتحكم في منافذ GPIO

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

const Gpio = require('onoff').Gpio;
const led = new Gpio(17, 'out');

// تشغيل LED
led.writeSync(1);
setTimeout(() => {
    // إطفاء LED بعد ثانية واحدة
    led.writeSync(0);
    led.unexport(); // تحرير المنفذ
}, 1000);

في هذا المثال، قمنا بتحديد منفذ GPIO رقم 17 كمنفذ إخراج. ثم قمنا بكتابة قيمة 1 لتشغيل LED، وبعد ثانية واحدة قمنا بكتابة قيمة 0 لإطفائه.

كمثال آخر، يمكن استخدام زر للتفاعل مع Raspberry Pi. سنقوم بقراءة حالة زر متصل بمنفذ آخر:

const button = new Gpio(4, 'in', 'both');

button.watch((err, value) => {
    if (err) {
        throw err;
    }
    console.log('Button state: ' + value);
});

في هذا المثال، قمنا بتحديد منفذ GPIO رقم 4 كمنفذ إدخال، واستخدمنا الدالة watch لمراقبة أي تغيير في حالة الزر. عندما يتم الضغط على الزر أو تحريره، يتم طباعة الحالة الجديدة.

تتيح لك [شركة برمجة مصرية] هذه الأمثلة البسيطة بدء رحلتك في عالم تطوير تطبيقات التفاعل مع الأجهزة باستخدام Raspberry Pi وNode.js. يمكنك تطوير مشاريع أكثر تعقيدًا بدمج مستشعرات أخرى وتوسيع نطاق استخدام GPIO لتحقيق وظائف متنوعة.