badrinex ۱ دیدگاه

رزبری به عنوان NAS سرور

آموزش استفاده از رزبری به عنوان NAS سرور یک آموزش ساده و کاربردی می باشد. شاید شما علاقه داشته باشید یک سرور NAS در منزل خود راه اندازی کنید تا بتوانید فایل های مورد نظر را در یک جای مخصوص ذخیره نمایید.

در انتهای این آموزش شما می توانید یک سرور NAS بر پایه رزبری داشته باشید. برای انجام این کار شما به یک برد رزبری،مموری کارت ۸ گیگ برای سیستم عامل رزبین، USB Flash 8GB، کابل اترنت یا وایرلس، کابل پاور نیاز دارید.

در ابتدای کار از بروز بودن سیستم عامل رزبین مطمئن می شویم تا اگر نیاز به آپدیت بود سیستم را بروز نماییم.

ابتدا دستور uname -a را برای مشاهده ورژن فعلی سیستم عامل می زنیم اگر به آخرین ورژن ثبت شده باشد ادامه کار را انجام میدیم در غیر اینصورت با دستور
sudo apt-get update
بروز می نماییم.

بعد از بروز رسانی فایل سرور samba را با دستور زیر نصب می کنیم.
sudo apt-get install samba samba-common-bin

پس از نصب فایل سرور دایرکتوری با نام دلخواه برای استوریج خود انتخاب می کنیم. برای ساخت دایرکتوری از دستور زیر استفاده می کنیم.
sudo mkdir /home/pi/NAS-HDD

بعد از ساخت دایرکتوری با زدن دستور
sudo nano /etc/samba/amb.conf
وارد صفحه تنظیمات فایل سرور samba می شویم.

در صفحه تنظیمات فایل سرور انتهای صفحه دستور زیر را وارد می کنیم.
[NAS-HDD]
comment = NAS-HDD
browseable = yes
path = /home/pi/NAS-HDD
writeable = Yes
create mask = 0777
directory mask = 0777
browseable = Yes
public = yes
مانند تصویر زیر وار کرده سپس با کلید های CTRL + X و بعد از آن کلید y و در اخر دکمه Enter تغییرات را ذخیره می کنیم.

در مرحله بعد برای یوزر فایل سرور samba رمز عبور را فعال می کنیم. برای اعمال رمزگذاری از دستور زیر استفاده می نماییم.
sudo smbpasswd -a pi

حال فایل سرور را با دستور
sudo /etc/init.d/samba restart
restart می کنیم.

برای اتصال هارد درایو اکسترنال به رزبری باید ابزار ntfs-3g را نصب کرد و برای نصب از دستور زیر استفاده می کنیم.
sudo apt-get install nfts-3g

حال باید هارد درایو یا USB را به دایرکتوری ساخته شده متصل کنیم. اگر هارد یا USB به فولدری mount باشد باید آن را umount کرد سپس به دایرکتوری مورد نظر mount خواهیم کرد.

اول با دستور lsblk لیست حافظه های متصل و mount شده را به نمایش در می آوریم. سپس با دستور umount برای مثال
sudo umount /media/pi/7GB
را از حالت اتصال خارج کرده سپس با دستور
sudo mount /dev/sda1 /home/pi/NAS-HDD
متصل می کنیم.

کار ما در در سرور به اتمام رسید در مرحله بعد باید یک درایو را برای دسترسی به دایرکتوری در سرور را درون سیستم عامل کلاینت ایجاد کرد. در این قسمت از سیستم عامل ویندوز استفاده کرده ایم.
بر روی آیکون This PC روی دسکتاپ کلیک می کنیم. از منوی بالا بر روی تب computer زده تا منوهایدیگر باز گردد سپس بر روی Map network drive کلیک می کنیم تا وارد صفحه آدرس دهی برای اتصال به سرور می شویم.


در این قسمت IP و آدرس دایرکتوری را مانند تصویر زیر در باکس فولدر وارد کرده و بر روی دکمه Finish کلیک می کنیم.

برای اتصال نیاز به شناسه کاربری و رمز عبور می باشد که در چند مرحله قبل آن را ساختیم و حال آن را وارد می کنیم.

شما به سرور متصل شده اید. می توانید از NAS سرور خود استفاده کنید.

کیا حامدی ۱ دیدگاه

دومین قدم در IOT

با سلام خدمت تمامی همراهان همیشگی

مدتی نتونستم مقاله منتشر کنم اما خب فرصتی شد تا دوباره با مقاله ای جدید در زمینه IOT با شما باشم.

در گام بعدی باید به سراغ نصب یک سیستم عامل بریم، بزارید قبل از اینکه این گام رو شروع کنیم یک برگشت به عقب داشته باشیم تا بفهمیم در مقاله قبلی تا کجا پیش رفتیم.

در مقاله گذشته ما بردهای مختلف برای IOT را از نظر کاربر، هزینه و مشخصات دیگر بررسی کردیم و یک برد باهم انتخاب کردیم که برد انتخابی ما برد رزبری پای ۳ مدل بی (Raspberry pi 3 Model B) بود، این نکته رو هم ذکر کرده بودیم که وجه تمایز بردهای رزبری پای با بردها و میکروکنترلر ها در استفاده از سیستم عامل روی آنهاست پس حال ما باید یک سیستم عامل برای برد رزبری انتخاب و روی آن نصب کنیم.

سیستم عالم های زیادی برای برد رزبری پای وجود دارد مانند ویندوز آی او تی (Windows IOT)، اوبونتو ماته (ubuntu mate)، آرچ لینوکس (ArchLinux) یا رزبیان (Rasbian) و … که بهترین گزینه از دید من انتخاب سیستم عامل رزبیان است که رسما توسط بنیاد رزبری منتشر شده و شامل تمامی کتابخانه ها و موارد لازم برای راه اندازی برد رزبری پای است و شما با این سیستم عامل مشکلی از نظر نرم افزاری نخواهید داشت.

سیستم عامل رزبیان یک توزیع گنولینوکسی بر پایه توزیع پایدار دبیان است و این قسمت داستان را میتوان یکی از موارد خیلی خوب دانست، چون میتوانید از توانایی های سیستم عامل گنولینوکس هم در IOT استفاده کنید.

برای نصب این سیستم عامل روی برد رزبری پای شما باید ابتدا فایل فشرده (iso) این سیستم عامل را دانلود کنید پس باید وارد سایت رزبری پای بشید و بخش دانلود را انتخاب کنید :

 

در این بخش شما باید Rasbian  رو انتخاب کنید و سپس در مرحله بعد میتوانید Rasbian را با Desktop از طریق تورنت یا لینک مستقیم دانلود کنید.

بعد از دانلود باید با نرم افزارهایی مانند 7zip یا winrar در ویندوز محتویات فایل فشرده را خارج کنید.

در این مرحله شما باید کارت حافظه میکرو اس دی (micorSD) حداقل ۴ گیگ  داشته باشید و محتویات فایل فشرده بالا رو در داخل آن کپی کنید، بعد از اتمام این کار کارت حافظه را به برد رزبری پای متصل کنید

برای روشن  کردن برد رزبری پای شما به ولتاژی برابر با ۵ ولت ۲٫۵ آمپر نیاز دارید تا برد به درستی روشن شود و انرژی مورد نیاز همه پین ها را به درستی تامین و افت ولتاژ نداشته باشد نیاز دارید، میتوانید از آداپتورهایی گوشی موبایل استفاده کنید یا از پاوربانک.

من با تجربه شخصی خودم میگم  یک پاوربانک ۱۰۰۰۰ میتواند حدود ۱۲ ساعت برد را روشن نگه دارد البته بسته به کار پروسه ها و سخت افزار هم دارد و ممکن است برای شما زمانی متفاوتی بدست بیاید.

کابل پاور هم میتوانید به درگاه میکرو یو اس بی برد وصل کنید که محلش در تصویر زیر مشخص شده است:

با اتصال کابل به برد، برد روشن شده و شروع به کار میکند اگر با کابل HDMI برد را به monitor متصل کنید  با تصویر زیر رو به رو میشوید که نشان از اجرای درست و بدون مشکل برد میدهد

 

خب دوستان گام دوم با نصب سیستم عامل بر روی برد رزبری پای به پایان رسید در گام های بعدی با نکات بسیار جالبی آشنا خواهیم شد و کم کم وارد کنترل سخت افزارهای مختلف با برد رزبری پای میشویم.

تا گام بعدی موفق و سربلند باشید

 

کیا حامدی

www.kiahamedi.ir

[email protected]

 

کیا حامدی بدون دیدگاه

اولین قدم در IOT

با سلام خدمت تمامی دوستان عزیز

در اولین قدم از آموزش IOT شما باید پروژه خودتون رو کامل تعریف کنید و بسته به نیازهای پروژه ماژول ها ، وسایل و قطعات لازم برای کار رو تهیه کنید

در این سری از از مقالات که تا چند شماره بعدی مجله ادامه پیدا میکنه سعی میکنیم یک آموزش پروژه محور IOT رو با هم پیش بریم.

البته آموزش به صورتی خواهد نبود که تمام کدها و سورس پروژه گفته بشه چون برای یک پروژه IOT خوب شما خط کدهای بسیار زیادی دارید و مسلما قرار دادن تمام خطوط کد در مجله کار منطقی نیست، پس تصمیم گرفتم آموزش ماژول ها و قسمت های مختلف رو براتون بزارم و طریقه ارتباط دادن ماژول های مختلف به یگیر به عنوان مثال روش های کنترل انواع موتور ها مانند استپر موتور ها، سرو موتور ها و یا موتور های DC یا قطعات دیگر مثل کارخوان های RFID یا کار با رله رو سعی میکنم در این آموزش ها قرار بدم و در انتهای کار با اتصال و کنار هم قرار دادن این تکه های پازل یک خانه هوشمند حرفه ای با امکانات خودمان داشته باشم.

خب برای مقدمه فکر کنم کافی باشه برای گام اول شما باید بسته به نوع پروژه خودتون یک برد اصلی انتخاب کنید، برای این بخش میتونید از میکرو کنترلر ها استفاده کنید یا برد هایی مثل آردیونو یا رزبری – برد های دیگری هم هستند که البته هزینه بالاتری دارند و متن باز نیستند پس راجب اونها صحبتی نمیکنم.

برد رزبری پای ۳ مدل B

 

برد آردیونو یونو

 

 

برای یک پروژه IOT برای خودتون به نظر من بردی مثل رزبری پای برد مناسبیه چون در بازه های قیمتی مختلفی قرار داره بسته به امکانات برد و میتونید روی برد سیستم عامل لینوکس (رزبیان – اوبونتو ماته – آرچ لینوکس و …) یا ویندوز iot ر. نصب کنید که جالبیش اینه جدا از قدرت برد شما قدرت یک سیستم عامل کامل رو هم دارید، به عنوان مثال میتونید از وب سرور ها استفاده کنید، زبان های مختلف برنامه نویسی نظیر پایتون، جاوا، سی، نود جی اس و … و همچنین استفاده از نرم افزارهای مختلف در پروژه که برای سیستم عامل های ویندوز و لینوکس وجود داره
برد آردیوینو هم انتخاب مناسبیه – البته انتخاب برد خیلی به پروژه شما بستگی داره برد های آردیونو در مقایسه با رزبری هزینه کمتری دارند که میشه گفت در برد های معمولی آردیونو شما وای فای ، بلوتوث یا ورودی کابل اترنت یا درگاه های usb ندارید اما در مدل های مختلف رزبری وجود دارند و اگه به عنوان مثال نیاز به وای فای یا بلوتوث دارید باید به صورت جدا برای آردیونو خریداری کنید که هزینه اون مشابه رزبری میشه.

البته این بخش ها صد در صدی نیستند چون در حال حاضر برد های آردیونو و رزبری پای با قیمت ها مختلف و در مشخصات مختلف موجود هستند ولی ذکر این نکته میتونه مفید باشه که در برد آردیونو شما سیستم عامل ندارید تنها برنامه خودتون رو که نوشتید از طریق کابل روی برد بارگذاری میکنید و امکان استفاده از زبان های مختلف برنامه نویسی و امکانات مختلف سیستم عاملی وجود نداره.

پس در این سری از آموزش ها ما روی برد رزبری کار میکنیم و قدم اول برای شما تهیه یک برد رزبری پای است

برد رزبری پای توسط دو شرکت به صورت رسمی ساخته میشه یکی شرکت المنت 14 که یک شرکت چینی است و دیگری RS UK که تولید انگلستانه، البته به نظر من تفاوتی ندارند ولی خب از دید مردم برد تولید انگلستان کیفیت بهتری داره

دوستانی که نیاز به مشاوره در مورد انتخاب برد و فروشگاه های معتبر دارند میتونند با من تماس بگیرند.

منتظر شروع آموزش در شماره بعدی مجله باشید.

 

موفق و پیروز باشید

 

کیا حامدی
Telegram: @Happy722
[email protected]

 

mrasgari ۱ دیدگاه

خودرو های هوشمند

تکنولوژی با سرعت بسیار زیاد در حال حرکت به سمت جلو است هر روز شاهد اخبار تکنولوژی جدیدی هستیم که زندگی ما را تحت تاثیر خود قرار می دهد

با توجه به یک مطالعه آماری سرعت پیشرفت علم هر ده سال به طور متوسط دو یا سه برابر می شد و این موضوع امروزه بسیار مشهود است شاید بین دهه های 30 و 40 شمسی تغییرات تکنولوژی آنچنان مشهود نبود و این امر به کندی صورت می پذیرفت ولی این روال را با دهه های 80 و 90 شمسی مقایسه کنید همه چیز به سرعت تغییر کرده است یک تلفن همراه که در دهه 80 جزو پرچمداران و محصولات انقلابی به حساب می آمد امروزه یک نوستالژی به نظر می رسند و حتی قابل مقایسه با گوشی های امروزی نیستند

ولی این روند در دیگر زمینه ها کمتر ملموس است و کمتر تغییر چشم گیری که نمونه های قبلی را به طور کامل از بازار خارج کند رخ داده است

در این سری از مقالات قبیله گیک ها  قصد داریم تا شما را اندکی با تکنولوژی های نوینی که قرار است دنیای خودرو سازی را منقلب کنند و خودرو های امروزی را به کلی از بازار خارج کنند بپردازیم

شاید تغییرات خودرو برای ایرانیانی که از خودرو های داخلی استفاده می کنند اصلا قابل درک نباشد

خودرو های را سوار می شوند که طراحی آن ها گاها به بیش از 30 سال قبل باز می گردد و در بعضی از موارد تغییر خودرو از 30 سال قبل تا کنون تنها اضافه شدن چند “اپشن” جزی به خودرو و یا تغییر شکل چراغ ها یا تعویض پخش نوار کاست با پخش سی دی خور بوده است

اما صنعت خودرو سازی هم مانند صنعت تولید تلفن های همراه به سرعت در حال پیشرفت است خودرو سازان هر ساله در نمایشگاه ها از خودرو های جدید خود با طراحی و امکانات جدید رو نمایی می کنند

برخی از این تغییرات در زمینه مکانیکی برخی در زمینه طراحی و Aerodynamics و برخی نیز در زمینه تکنولوژی الکترونیکی استفاده شده در خوردو ها است

در این سری مقالات در مجله قبیله گیک ها با توجه به ماهیت قبیله,  به بررسی تکنولوژ های استفاده شده در خودرو های مدرن می پردازیم

سیستم های پیشرفته و هوشمند خودرو ها مانند هر سیستم منطقی ساده ای عمل می کنند

هر سیستمی که یک یا چند ورودی دریافت کرده و  ورودی ها را با استفاده از برنامه موجود پردازش کرده و آن را به خروجی مورد نظر تحویل می دهد, به نظر ساده می اید ولی منطق تمام سیستم های پیشرفته هم به همین صورت است کافیست نگاهی عمیق تر بر آن ها داشته باشیم تا متوجه شویم دنیای که در آن زندگی می کنیم انقدر ها هم پیچیده نیست و شما به عنوان یک گیک باید توانای درک و تحلیل اتفاقات اطراف به خصوص اتفاقات مربوط به تکنولوژی های نوین را درک کنید

به عنوان مثال در این بخش سیستم اتو پارک خودرو های مدرن را بررسی می کنیم:

مشکل پارک کردن همیشه یکی از مشکلات اصلی رانندگان بوده است پارک کردن به خصوص در نقاط پر رفت و آمد شهری همیشه کاری سخت ونیاز به مهارت, چابکی و اندکی شانس  دارد و باعث شده رفت و آمد با خودرو را در نقاط پر رفت و آمد کاری زمان بر و سخت کند و همچنین پارک دوبل یکی از مهارت های اصلی هر هنرجو متقاضی آزمون رانندگی در ایران است

حالا به کمک تکنولوژی  این مشکل برطرف شده است و تکنولوژی “اتو پارک” یک تکنولوژی رایج در صنعت خودرو سازی اروپا و امریکا است و چندین مدل خودروی دارای این فناوری به ایران وارد شده اند و افراد در حال حاضر از این تکنولوژی استفاده می کنند

این تکنولوژی برای اولین بار توسط کمپانی فولکس واگن در سال 1987 امتحان شد ولی اکنون به یک امکان معمولی در خودرو ها تبدیل شده است

نحوه عملکرد این سیستم به صورت زیر است

دستگاه به عنوان ورودی 4 ( در بعضی خودرو ها 8 یا حتی 12 ) تصویر به عنوان ورودی دریافت می کند همچنین تعدادی سنسور مجاورتی برای تشخیص دقیق تر فاصله دارد

در هنگام پارک این داده ها را در هر لحظه به پردازنده خودرو ارسال می کند

پردازنده با توجه به الگوریتمی که از قبل برای آن طراحی شده است  و اطلاعاتی که از سنسور و دوربین دریافت می شود تصمیم به حرکت رو به جلو یا عقب و گردش چرخ ها به یک سمت می گیرد

و این اطلاعات را به سیستم کنترلی خودرو ارسال می کند و خودرو حرکت کرده و پارک می شود

با تجزیه این تکنولوژی به ظاهر پیچیده به قطعات کوچکتر توانستیم این مسله را تجزیه تحلیل کنیم

این پروژه انقدر ساده است که به صورت DIY (Do It Yourself) پیاده سازی شده است و با استفاده از چند دوربین و سنسور و ارسال اطلاعات به یک کامپیوتر مانند رزبری پای و ارسال خروجی به سیستم کنترلی خودرو سیستم اتو پارک را پیاده سازی کرده اند

در شماره های بعدی مجله قبیله گیک ها به توصیف دیگر تکنولوژی های صنعت خودرو سازی خواهیم پرداخت

کیا حامدی 2 دیدگاه

مدار led های چشمک زن با رزبری پای 3

سلام خدمت تمامی دوستان عزیز

میخواهیم در این مقاله آموزش روشن کردن چند LED و زمان بندی برای روشن و خاموش کردنش را با Raspberry Pi 3 model B  یاد بگیریم

خب رزبری من رو میتونید در تصویر زیر ببینید

در قدم اول باید اتصالات رزبری را برقرار و رزبری را روشن کنیم که من از مانیتور موس و کیبورد استفاده میکنم ممکنه بعضی ها تمایل داشته باشند با ssh یا VNC به رزبری وصل بشند که سلیقه ایه

خب الان بهتره به این تصویر زیر نگاه کنید تا با پین های رزبری آشنا بشید ما برای روشن کردن LED باید از پین های GPIO استفاده کنیم که در واقع مقدار 0 یا 1 میگیرند که یعنی جریان در داخلشون قرار بگیرد یا نه

خب ابتدا بیاید مدار را درست کنیم، سه تا LED را روی برد قرار میدهیم و پایه های آند (+) را به GPIO ها و پایه های کاتد (-) را به GND وصل میکنیم برای دوستانی که کمی تازه کار تر هستند این قسمت رو بگم که پایه کاتد پایه کوتاه و پایه آند بلندتر است

خب من پین های 12 16 و 7 رو که مربوط به GPIO های 18 23 و 4 میشود را به پایه های آند LED ها متصل کردم بعد پین های 6 14 و 9 رو که مربوط به GND ها میشود را به پایه های کاتد وصل کردم که میونید در تصویر زیر ببینید

 

حالا مدار ما الان کامل شده، باید برنامه ای بنویسیم که بتوانیم LED ها را در بازه زمانی خاص روشن و خاموش کنیم

برای اینکار وارد رزبری میشویم و با vim یک فایل پایتون با هر اسم دلخواه ایجاد میکنیم

اگه ویم را نصب ندارید میتوانید با دستور زیر نصب کنید

خب الان باید اسکریپت را بنوسیم، ابتدا از کتابخانه Rpi.GPIO بخش GPIO را import میکنیم تا بتوانیم با پین های GPIO کار کنیم همچنین time هم import میکنیم تا بتوانیم در بازه های زمانی خاص LED ها را روشن یا خاموش کنیم

خب قدم بعدی باید مود GPIO را با دستور زیر ست کنیم

خب بعد از اینکار باید پین هایی که استفاده کردیم را فعال کنیم

حالا باید یک حلقه while بنویسیم که چراغ ها را روشن یا خاموش کنیم از time.sleep هم برای ایجاد وقفه در روند عملیات استفاده میکنیم

با این حلقه ما میتوانیم led ها را روشن یا خاموش کنیم
میتونید این حلقه رو در try قرار بدید و کدهای ex رو فقط False بنویسید تا اگر اسکریپت را متوقف کردید همه led ها را خاموش کند
فیلم نتیجه کار هم میتونید در زیر ببینید

دوستان میتوانند برای طراحی مدار بین اتصال LED ها با پین های GPIO از مقاومت استفاده کنند ولی به نظر من ولتاژ رزبری اندازه ای نیست که باعث سوختن LED ها  شود

موفق و پیروز باشید

siavash بدون دیدگاه

ریزه میزه های قدرتمند

با پیشرفت تکنولوژی در جوامع امروزی بسیاری از فعالیت ها به روش های آسان تری انجام میشود. به طور واضحی مشاهده میشود که تکنولوژی زندگی مردم را دگرگون کرده است و مردم تلاش می کنند که در خانه و محل کار بتوانند  همه ابزارهای مورد نیاز خود را تحت کنترل داشته باشند. به طور مثال  فردی می خواهد از محل کار خود تمام وسایل خانه اش را کنترل کند و از اتفاق های غیر منتظره با خبر شود، تا در صورت بروز مشکل بتواند در کمترین زمان آن را رفع نماید و همچنین بلعکس یعنی از خانه، محل کار خود را تحت نظر بگیرد.
کشورهای پیشرفته از این امکانات به نحو احسنت استفاده می کنند. حتی سعی کرده اند وسایل مورد نیاز خود را به اینترنت مجهز کنند تا در هر زمان و هر مکان به آن دسترسی داشته باشند. ابزار های بسیاری برای این امر طراحی و ساخته شده اند که به بررسی آنها می پردازیم.
شرکت هایی وجود دارند که تخصص آنها در زمینه ساخت بورد و مدار هایی است که جهت هوشمند سازی خانه و محل کار فعالیت میکنند. در کنار این موارد هر شخص می تواند با این بوردها, ابزار های مورد نیاز خود را بسازد.

.
بوسیله بورد های رزبری، ادرینو و اومگا این امکان بوجود می آید تا پروژه های مختلفی در زمینه هوشمند سازی منازل و محیط های کاری انجام شود، در ادامه توضیحاتی در این باره از ساختار بورد ها و نحوه استفاده از آنها را مشاهده می نمایید.

1

بورد رزبری  یکی از معروف ترین و پر استفاده ترین بوردهای شناخته شده است و دارای قابلیت های بالا برای انجام پروژه های مختلف می باشد.
چه پروژه هایی با بورد رزبری انجام می پذیرد؟
از عمده ترین پروژه هایی که از رزبری استفاده می شود, هوشمند سازی تمام نقاط خانه است. بطور مثال در نصب دزدگیر، کنترل دما و کنترل آب و برق مورد استفاده قرار می گیرد.

2

اما این ابزار قابلیت های فراوان دیگری هم دارد و می تواند به عنوان یک سرور استریم ویدیو در خانه مورد استفاده  قرار گیرد. افراد بسیاری در زمینه IT از رزبری برای ایجاد سرور تورنت، سرور فارم، بیت کوین ماینر و غیره بهره می گیرند. دلیل محبوبیت این نوع بورد ها کوچک بودن سایز آنها است که به اندازه یک کارت عابر بانک ساخته شده ولی در عوض یک کامپیوتر کوچک با قابلیت های  بسیار در اختیار کاربر قرار می دهد .

بورد Arduino هم مانند بورد رزبری این قابلیت ها را دارد و در پروژه های روباتیک بکار می رود. قیمت این بورد ها نسبت به CPU و Ram و تعداد خروجی های که دارد متغییر است و از بین ٣۵ تا ۵٠ دلار متفاوت است .

4

اما میرسیم به بورد بسیار کوچکتر از رزبری و آردینو که به نام اومگا شناخته می شود. از این بورد برای پروژه IoT استفاده می کنند تا به وسایل مختلف مانند یخچال، اجاق گاز و لوازم دیگر اینترنت بدهند تا در موقع نیاز این وسایل را کنترل کنند.

5

امروزه IoT پیشرفت چشم گیری داشته است و مسئولیت بزرگی در قبال انواع وسایل مورد استفاده مردم  دارد. بنابراین به وسیله این بورد کوچک قادر هستند اینترنت را در لوارم خانه بر قرار کنند. در کشور های غربی بازار این نوع بوردها بسیار داغ است و اکثر افراد این نیاز را برای خانه هایشان احساس کرده و تصمیم بر آن گرفته اند تا برای هوشمند سازی محل سکونت و یا کار اقدام کنند. اما در کشور ایران این بوردها در بین مردم جایی برای خود پیدا نکردند، ولی افرادی متخصص وجود دارند که پروژه های متختلفی را با رزیری و دیگر بورد ها انجام میدهند اما نه به شکل گسترده.

نکته مهم این بورد ها پشتیبانی از زبان های برنامه نویسی مختلف است که به صورت پیشفرض در سیستم عامل های مرتبط با رزبری وجود دارد. زبان برنامه نویسی Python  و ابزار مورد نیاز برنامه نویسی یکی از این موارد می باشد. همچنین در بورد آردینو از زبان های نظیر #C و Python استفاده می گردد.

6

در نهایت برای استفاده از  Omega 2 در کنار زبان Python از زبان های Perl , PHP, Node JS و ++C می توان در انجام پروژه ها استفاده کرد.

ezzati ۱ دیدگاه

زبان برنامه نویسی PHP و رزبری پای

نوشتن برنامه PHP برای رزبری پای آسان است. در این نوشته به شما نشان میدهیم که یک برنامه ساده PHP برای کنترل یک LED  بسازید.

زبان برنامه نویسی پایتون و اسکراچ محبوب ترین زبان ها برای نوشتن برنامه برای رزبری پای هستند. اما به دو لیل شاید شما علاقه داشته باشید تا از زبان PHP استفاده کنید. دلیل اول شما با PHP آشنا باشید و برنامه آماده داشته باشید که بخواهید روی رزبری پای اجرا کنید و یا علاقه مند باشید تا یک زبان برنامه نویسی جدید رو امتحان کنید.

قبل از شروع به کار و نوشتن برنامه PHP روی رزبری پای اول باید PHP را روی رزبری پای نصب کنیم در بیشتر مواقع باید PHP را همراه وب سروری مثل نصب کرد. برای نصب این آپاچی و PHP از دستورات زیر استفاده کنید.

به جای استفاده از آپاچی می توانید از وب سرور های سبک تر مثل lighttpd استفاده کنید. که از طریق دستور زیر نصب می شود.

ایجاد راتباط مابین رزبری پای وPHP

ساده ترین راه برای برای ارتباط بین PHP و رزبری پای استفاده از تابع shell_exec() است. این تابع به شما اجازه می دهد تا دستورات شل یا همان خط فرمان لینوکس را اجرا کنید. بنابر این مثل یک پل بین رزبری پای و PHP عمل می کند. در حالت ساده می توانید توسط shell_exec اسکریپت پایتون را برای کنترل GPIO رزبری پای فراخوانی کنید.

راه حل دیگر استفاده از کتابخانه Wiring Pi برای کار با GPIO رزبری پای و استفاده از این کنابخانه توسط PHP و تابع shell_exec است. به این منظور شما نیاز دارید تا Wiring Pi را اول روی رزبری پای نصب کنید. این کتابخانه به صورت بسته باینری در دسترس نیست پس شما باید آن را از منبع کامپایل و نصب کنید. خوشبختانه این کار نسبتا ساده است. با نصب برنامه Git کار را شروع می کینم:

در ادامه Wiring Pi را با اجرای Git روی رزبری پای کپی می کنیم.

به پوشه wiringPi می رویم و با دستور ./build آن را کامپایل می کنیم.

برای این که مطمئن شویم Wiring Pi درست نصب و اجرا می شود از دستور gpio -v را اجرا می کینم باید ورژن Wiring Pi و اطلاعات مختصری در مورد رزبری پای نمایش داده شود.

و با اجرای دستور gpio readall دیاگرام و جرئیات GPIO رزبری پای نمایش داده می شود.

برای نمایش کاربرد Wiring Pi یک مثال ساده برای کنترل یک LED را دنبال می کنیم. led را به همراه مقاومت را به پایه ۱۷ برد رزبری پای و زمین وصل کنید طبق شکل زیر ترمینال را باز کنید و با دستور cd به پوشه /var/www منتقل شوید. سپس توسط دستور sudo nano gpio.php فایل gpio.php را ایجاد کنید و کد زیر را در آن کپی و ذخیره کنید. به وسیله CNTRL + X

اتصال led به رزبری پای

کلید های ON و OFF این برنامه شامل فرم های HTML است وقتی شما یکی از کلید ها را فشار می دهید با توجه به عنوان کلید قسمتی از آدرس URL تغییر می کند. (gpio.php?on=ON and gpio.php?off=OFF) و پایه ۱۷ gpio از طرق PHP و دستور shell_exec کنترل می شود.برنامه سطر های ۱۴ تا ۲۱ مقدار کلید را از URL می خواند و توسط تابع shell_exec پین را روشن و خاموش می کند.

برای دسترسی به صفحه طراحی شده کافی است آدرس IP رزبری پای را همراه gpio.php\ وارد کنید به عنوان مثال

برای بدست آوردن IP رزبری پای می توانید از دستور ifconfig در ترمینال استفاده کنید.

اگر دکمه ها کار نکرد به احتمال زیاد وب سرور اجازه اجرای دستورات شل لینوکس را ندارد. برای تصحیح این مورد دستور sudo visudo را در ترمینال اجرا کنید. و خط زیر را به فایل sudoers اضافه کنید.

همچنین مطمئن شوید که var/www/ متعلق به گروه کاربری www-data باشد برای مطمئن شدن دستور زیر را اجرا کنید.

استفاده از پروژه php-gpio

ما از تابع shell_exec برای کنترل GPIO رزبری پای استفاده کردیم ولی این تنها راه نیست به عنوان مثال پروژه php-gpio یک کتابخانه PHP‌ برای دسترسی به پین های GPIO رزبری پای است. برای استفاده از php-gpio از دستور زیر برای دریافت و نصب کتابخانه استفاده کنید.

php-gpio از تعداد کمی API ساده برای استفاده و تغییر وضعیت پین های GPIO رزبری پای اسفاده می کند. اسکریپت باید شامل کد های زیر باشد تا کتابخانه GPIO لود شود و GPIO آماده استفاده

در این مثال در سطر آخر GPIO شماره ۱۷ را به عنوان پین خروجی تنظیم کردیم برای کنترل GPIO به دو دستور زیر نیاز داریم

عبارت اول وضعیت پین ۱۷ را یک می کند یعنی led متصل به آن روشن می شود و عبارت دوم آن را صفر می کند و دستور سطر آخر وضعیت همه پین ها را ریست می کند. برنامه پایین یک برنامه ساده برای راه اندازی یک led چشمک زن به وسیله کتابخانه php-gpio است.

برای اجرای اسکریپت دستور زیر را در ترمینال اجرا کنید.

اگر چه با کتابخانه php-gpio به راحتی می توان پایه های GPIO را با اسکرپیت PHP کنترل کرد ولی به یاد داشته باشید که این اسکریپت نیز خود باید به وسیله ی خط فرمان اجرا شود به عبارت دیگر شما نمی توانید آن را از صفحه وبی که به وسیله PHP سرور میزبانی شده اجرا کنید.

راه حل این مشکل ساده است از  تابع shell_exec برای اجرای آن در صفحه وب کمک بگیرید.

در این نوشته به صورت ساده به نحوه استفاده از php برای کنترل پایه ای GPIO رزبری پای پرداختیم اگر به برنامه نویسی PHP روی رزبری پای علاقه دارید این نوشته می تواند راهنمای شروع خوبی برای شما باشد.