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

اولین قدم در 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 روی رزبری پای علاقه دارید این نوشته می تواند راهنمای شروع خوبی برای شما باشد.