مهدی نامقی
مهدی نامقی
خواندن ۳ دقیقه·۶ سال پیش

خانه IOTهایت را بساز!

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

یکی از این اختراعات که از قدیم مورد توجه بوده کنترل از راه دور است که اول از تلویزیونها شروع شد. (واقعا خدا خیرشون بده! شاید شما یادتون نمیاد ولی من سالها از نزدیک لمس کردم این معضل رو)

بگذریم...

امروزه دیگه هر چیزی که فکرشو بکنید و نکنید کنترل از راه دور داره و تازه این ماجرا با آمدن اینترنت شده کنترل از راه اینترنت! خب منم به عنوان فرد کوچکی از جامعه تنبل‌ها با موضوعاتی در منزل درگیر بودم. یکی از اونها روشن و خاموش کردن چراغها بود. شاید برای شما عجیب باشه ولی خب درگیر بودم دیگه!

به لطف مینی کامپیوتر کوچک و محبوب قلب‌ها رزبری پای، دست به کار شدم که این معضل رو حل کنم. اولین قدم اینه که شما کمی از رزبری و لینوکس سر در بیارین که کار زیاد سختی نیست. بعد اینکه از سیم کشی ساختمون و کلید و پریزها یه چیزایی بدونید. (که خیلی زیاد باید در این مورد احتیاط کنید)

معمولا تو سیم کشی خونه ها کلیدهای چراغها تا حدی کنار هم قرار میگیرن. ولی خب طبیعیه که کلید چراغ اتاق خواب تو پذیرایی نیست. من معمولا سعی میکنم این حرکت با کمترین خسارت به خونه انجام بشه، برای همین ابتدا کلیدها رو باز میکنم. بعد رزبری و رله‌ها و مابقی ماجرا رو جای کلیدها می‌بندم. اینطوری نه دیواری سوراخ میشه و نه خسارتی وارد میشه.

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

از نظر خودم ساده ترین قسمت ماجرا کدنویسی اون هست. برای کد نویسی از پایتون استفاده کردم و یک وب سرور ساده راه انداختم. با یک ریکوئست ساده شماره پورت GPIO رزبری رو ارسال میکنم و اون طرف ابتدا وضعیت پورت رو میخونم و عوضش میکنم. با این کار رله قطع و وصل میشه. اگر حوصله برنامه نویسی اندروید رو داشتید میتونید خودتون برنامه اش رو بنویسید و اگر هم نداشتید میتونید مثل من از این برنامه استفاده کنید.

اگر فقط استفاده از این سیستم از طریق کنترل از راه دور باشه یه جاهایی به مشکل میخوردم. مثلا فرض کنید باتری گوشی تموم شده و گوشی خاموشه، حالا چطوری چراغها رو روشن کنیم! یا مثلا اینترنت قطع شده (البته برای این مشکل داخل خونه از شبکه WiFi داخل خونه استفاده میکنم) یا کلا WiFi قطع باشه! در هر حال باید روش دیگه ای برای این کار وجود داشته باشه. برای همین یک مانیتور لمسی روی این جعبه قرار دادم. همچنان که در عکس می‌بینید، چندتا کلید ساده وجود داره روی مانیتور دیده میشه. این یک برنامه ساده است که UI اون با Qt Designer طراحی شده و با PyQt آوردمش تو پایتون. وقتی رزبری میاد بالا این برنامه اجرا میشه و مانیتور هم لمسی است و با لمس کلیدها میشه اونها رو روشن و خاموش کرد.

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

نظر به اینکه اطلاعات سخت افزاری من در حد Hello World و یا حتی کمتر از اون هست، این مدت خیلی مزاحم یکی از دوستان شدم که همینجا از ایشون کمال تشکر و قدر دانی رو دارم.

پی نوشت:

  • به قول این فیلمها Don't try this at home. یا اینکه اگر با برق آشنا نیستید هیچ وقت از این کارا نکنید چون ممکنه خیلی براتون خطرناک باشه.
  • و صابخونه عزیز میدونم که داری این مطلب رو میخونی قول میدم خونه‌تو صحیح و سالم تحویل بدم :)

قسمت دوم و سوم همین مطلب را از دست ندهید.

iotinternetraspberry piرزبری پایاینترنت اشیا
علاقه‌مند به کشف و ابداع. کمی تا قسمتی برنامه نویس
شاید از این پست‌ها خوشتان بیاید