چرا کمی از یادگیری پیوسته برنامه نویسی معمول PHP فاصله نمی گیریم؟ در این آموزش کار با اینترنت اشیا را در PHP شروع می کنیم. مطمین هستم که پس از انجام این پروژه اشتیاق شما برای برنامه نویسی چندین برابر خواهد شد.
در این آموزش, یک معرفی از اینترنت اشیا (IoT) , مفاهیم پایه Raspberry Pi , یک hello world و صفحه LED روشن/خاموش را به همراه مثال ساده کدها را در اختیار شما قرار میدیم.
استفاده از مقاله آموزشی اینترنت اشیا با PHP به شما نحوه راه اندازی بی سر و صدای Raspberry Pi با نصب سیستم عامل را نشان می دهد. من سیستم عامل Raspbian OS
را بر روی مدل Raspberry Pi zero W نصب کردم. شما میتونید هر نوع مدلی از Raspberry Pi را از طریق این آموزش اجرا کنید.
با نصب آپاچی و PHP , یک محیط php در رزبری پای برای اجرای برنامه PHP Hello World ساختیم. برای شروع ماجراجویی این پروژه IoT , با یک برنامه ساده PHP برای کنترل سوییچ on/off شروع می کنیم.
اینترنت اشیا (IoT) چیست؟
اینترنت اشیا در واقع شبکه ای از اشیا هستند که میتوانند (با کمک کامپیوتر و از طریق ارتباط اینترنتی) با سایر اشیا ارتباط برقرار کنند. “اشیا” می تواند شامل هر “چیزی” باشد که قابلیت جمع آوری داده ها، کنترل شدن و یا ارتباط از راه دور را داشته باشد
Raspberry Pi چیست؟
Raspberry Pi یک کامپیوتر با سایز جیبی است که می توانید آن را همیشه به همراه خود داشته باشید.این کامپیوتر تکامل یافته می تواند تمام کارهایی مانند چک کردن ایمیل, اینترنت گردی و غیره را انجام دهد. بنابراین استفاده از آن برای پروژه های IoT بسیار راحت است. هدف اولیه ساخت رزبری پای آموزش به نسل جوان تر جامعه درباره کامیپوترها و موارد مربوط به تکنولوژی بود.
فهرست لوازم مورد نیاز Raspberry Pi
یک لیست از لوازم مورد نیاز به منظور شروع کار با رزبری پای و اینترنت اشیا با PHP را در اینجا لیست کردیم.
- Raspberry Pi zero W (از هر مدل دیگری می توانید استفاده کنید) [قیمت : ۲۶$- ۱۱۰هزار تومان]
- ۱۶ گیگابایت حافظه رم microSD
- کارت خوان (memory reader)
- رابط مینی میکرو USB به Usb OTG
- هاب USB
- کابل HDMI و رابط مینی HDMI به HDMI
- ۵V 2A micro USB power adapter
- ۲*۲۰ pin GPIO header
- جامپر وایر (Jumper wires)
- لامپ LED با اندازه ۵mm
- مقاومت ۲۰ اهم
- Breadboard
نصب سیستم عامل Raspbian در رزبری پای
Raspbian یک سیستم عامل پیشنهادی برای Raspberry Pi است. یک رویه ساده نصب برای راه اندازی Raspbian OS بر روی کامپیوتر Raspberry Pi وجود دارد.
- دانلود سیستم عامل Raspian OS و اکسترکت کردن آن به فرمت .iso بر روی ویندوز یا مک خودتان.
- قرار دادن مموری کارت microSD در کارتخوان
- دانلود ابزار Etcher و Flash کردن فایل سیستم عامل Raspbian به داخل مموری کارت
- اتصال Raspberry Pi با لوازم جانبی پایه مثل مانیتور, ماوس, کیبورد و قرار دادن مموری کارت داخل رزبری پای. سپس بوت کردن Raspberry Pi با مموری کارت از جایی که دیسک Raspbain بارگذاری می شود.
نکته : از ۷-zip برای ویندوز و Unarchiver برای مک به منظور اکسترکت کردن بسته Raspbain OS استفاده کنید.
نصب Apache
قبل از نصب وب سرور آپاچی, نیاز است که پکیج های در دسترس را با اجرای دستور زیر در صفحه ترمینال Raspberry Pi آپدیت کنید.
1 |
sudo apt-get update |
سپس, از دستور زیر برای نصب وب سرور Apache بر روی Raspberry Pi استفاده کنید.
1 |
sudo apt-get install apache2 -y |
با باز کردن آدرس http://localhost از نصب صحیح آپاچی مطمین باشید. که درصورت نصب موفقیت آمیز صفحه پیش فرض Apache Debian رو نمایش میدهد.
نصب PHP
بعد از نصب وب سرور, دستور زیر را برای نصب PHP به منظور اجرای فایل ها و پروژه های php روی سرور, اجرا کنید.
1 |
sudo apt-get install php libapache2-mod-php -y |
سپس فایل های PHP روی سرور را در پوشه /var/www/html
قرار داده و از طریق مرورگر اجرا کنید.
پروژه Raspberry Hello World با PHP
من یک برنامه ساده PHP Hello World را ساخته و در پوشه /var/www/htm
l قرار دادم. از ادیتور Leafpad برای ساخت این برنامه استفاده کردم. که با استفاده از ترمینال Raspberry یک فایل به نام index.php
را ایجاد کردم.
1 |
sudo leafpad index.php |
این فایل با ویرایشگر Leafpad باز شده و بعد از آن کد ساده Hello World را در آن قرار دادیم.
1 |
<?php echo "<h1>Hello World!</h1>"; ?> |
مدار Raspberry Pi برای LED روشن / خاموش
این یک مثال از اینترنت اشیا با PHP برای کنترل صفحه نمایش LED است. قبل از نوشتن کدهای PHP , گردش بین LED و پین های GPIO رزبری پای را ایجاد می کنیم. من پین ۲در۲۰ GPIO را در هدر رزبری پای خودم لحیم کاری کردم. سپس, از یک گردش برای اتصال پین GPIO 18 به LED و LED به GND به همراه مقاومت ۲۲۰ اهم استفاده کردم.
تصویر مدار پایین را ببنید. همچنین داکیومنت رسمی را برای اطلاعات بیشتر در مورد استفاده از GPIO در Respberry Pi مطالعه کنید.
برنامه نویسی روشن/خاموش کردن LED با PHP
بعد ایجاد مدار, یک برنامه برای اجرای دستورات به پین های GPIO به منظور نمایش LED نوشتیم. از کتابخانه php-gpio برای اینترنت اشیا با PHP و کار با پین های GPIO استفاده کردم. این کتابخانه را با composer از طریق دستور زیر نصب کردم. (از نصب کامپوزر روی سیستم مطمین باشید.)
1 |
composer require ronanguilloux/php-gpio |
بعد از نصب این کتابخانه با کامپوزر, من LED خاموش/روشن با تنظیم فلگ آن از طریق تابع output()
کتابخانه php-gpio , مدیریت می کنم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php require_once "vendor/autoload.php"; use PhpGpio\Gpio; $gpio = new GPIO(); $gpio->setup(18, 'out'); while(true) { // To Switch ON the LED $gpio->output(18, 1); sleep(1); // To Switch OFF the LED $gpio->output(18, 0); sleep(1); } ?> |
بعد از تنظیم جهت پین GPIO و فلگ ON/OFF در اسکریپت PHP , زمان آن است که اسکریپت را از طریق ترمینال اجرا کنیم. دستور ما بصورت زیر است:
1 |
sudo php led_on_off_script.php |
خروجی LED روشن/خاموش با برنامه PHP روی Raspberry Pi
خروجی زیر به شما اتصال GPIO و LED با مقاومت را نشان می دهد. در این تصویر LED مورد نظر با دستور پایه ای که از طریق برنامه PHP نوشتیم روشن شده است.
امیدوارم از آموزش اینترنت اشیا با PHP و رزبری پای (Raspberry Pi) نهایت استفاده را برده باشید .
برای دانلود کتابخانه PHP-GPIO از باکس دانلود استفاده کنید.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق و پیروز باشید
سلام . ممنون از اموزش خوبتون . لیست خرید را نگاه کردم اول از همه رزبری پای را هیج جا پیدا نمیشه
سلام. خوشحالیم که مفید واقع شده.
میتونید از این مدل استفاده کنید :
https://www.digikala.com/product/dkp-2024134
دنبال یک مدل ارزان تر ماننده همان مورد شما میگردم ، مشابه یا همین برد را نمیشه از جایی تهیه کرد ؟
قبلا همین مدل رو بنده از دیجی کالا با قیمت اعلامی گرفتم ولی مدل مورد نظر فعلا ناموجود شده و نیست
سلام
ممنون از آموزشهای عالیتون
ببخشید با این اموزشتون میشه از طریق اینترنت در هرجایی که باشیم دستور چشمک زدن رو بهش بدیم؟
یا باهاش میشه انواع برنامه های اجرایی رو طریق اینترنت به دستگاهای برنامه نویسی شده خاص داد؟
سلام. خوشحالیم که مفید واقع شده.
با سورس کدی که اینجا معرفی شد میتونید باهاش از هرجایی در اینترنت بهش دستور بلینک رو بدید
بله قابل انجام است و برای عملیات دیگر بجز چشمک زدن میتونید سورس php مورد نظر را بنویسید یا سورس های آماده در سطح نت رو پیدا و استفاده کنید.
موفق باشید.