شما می توانید با استفاده از یک گوشی اندروید هرچند قدیمی، یک سرور خانگی هوشمند خیلی خوب بسازید. زیرا حتی اگر دستگاه شما قدیمی شده باشد بازهم دارای کمی حافظه داخلی، اتصال وای-فای، تعدادی سنسور، و از همه مهم تر، حداقل مقدار انرژی می باشد.
از یک منظر نرم افزار اگر بخواهیم به اندروید نگاه کنیم، این سیستم عامل به شدت انعطاف پذیر است، به همین ترتیب دارای برنامه هایی مانند Tasker است و می تواند برنامه هایی که برمبنای لینوکس ساخته شده اند را در خود اجرا کند و همچنین قادر به اجرای اسکریپ های command-line می باشد.
یکی از منفعت های ساختن یک سیستم خودکار خانگی با استفاده از یک دستگاه اختصاص داده شده برای خودتان (در یک زمان مناسب) این است که در مقایسه با استفاده از سرویس های مختلف در این زمینه، شما دارای حریم خصوصی امن تری هستید و کنترل بیشتری بر روی آن دارید. خاصیت این کار این است که به راحتی می توانید تنظیمات مربوط به خانه ی هوشمند خود را تغییر دهید. گوشی شما که دارای سیستم عامل اندروید است قادر است مانند یک سرور خانگی سنتی برای شما عمل کند، و برای به استفاده بیشتر از عملکرد قوی تر آن، به راحتی آن را گوشی ای مخفی کرده و به منبع برق وصل کنید، یا گزینه دیگر در دسترس شما استفاده از قابلیت های سخت افزاری-مانند سنسورها و دوربین ها- خواهد بود. اگر دستگاه های اندرویدی بیشتری هم در منزل دارید که مورد استفاده نیستند می توانید به صورت ترکیب از آن ها استفاده کنید.
چه گزینه هایی برای ساخت شبکه های وای فای سلولی وجود دارد؟
وای فای تنها راهکاری نیست که برای ساخت شبکه های وای فای در دسترس هستند. شما می توانید بلوتوث یا یو اس بی را به عنوان یک مکانیزم تبادل اطلاعات استفاده کنید و اینترنت را میان دستگاه های مختلف به اشتراک قرار دهید. اما این دو روش فوق معایب خاص خود را دارند. به طور مثال، در مکانیزم بلوتوث سرعت انتقال اطلاعات به مراتب کمتر از وای فای و اتصال سیمی است. همچنین، این فناوری در بهترین حالت فاصله بیشتر از 10 متری را پشتیبانی نمی کند. البته اگر فرض کنیم اجسامی میان دستگاه ها قرار نگرفته اند. در ارتباط با یو اس بی سرعت انتقال اطلاعات خوب است، اما امکان به اشتراک گذاری اینترنت میان دستگا های مختلف به روش استاندارد وجود ندارد و به تجهیزات دیگری نیاز است که خود مسئله افزایش هزینه ها را به همراه دارد. در روش یو اس بی همان سرعتی که اپراتور مخابراتی ارائه می کند را روی دستگاه مصرفی دریافت می کنید. در این روش اینترنت تنها قادر به ارسال برای یک دستگاه است. سومین روش ساخت یک هات اسپات است. پیاده سازی هات اسپات معایب دو روش فوق را ندارد و به هر دستگاهی اجازه دسترسی به شبکه را می دهد.
شبکه های وای فای مبتنی بر گوشی های هوشمند چه معایبی دارند؟
شبکه سازی مبتنی بر گوشی های هوشمند به روش ها ت اسپات یک عیب بزرگ دارد. باتری دستگاه به سرعت تخلیه شده و به شارژ مجدد نیاز دارد که استمرار این مسئله باعث خرابی زودهنگام باتری دستگاه می شود. در نتیجه شبکه سازی با گوشی هوشمند تنها در مواقع ضروری پیشنهاد می شود. البته اگر تصمیم دارید از روش مبتنی بر اینترنت سلولی استفاده کنید بهتر است از یک گوشی ارزان قیمت یا دست دوم که قابلیت پشتیبانی از 4G را دارد استفاده کنید. در زمان پیاده سازی شبکه های وای فای با گوشی دقت کنید که بسته ای اینترنت ارزان قیمت را تهیه کنید که متحمل ضرر نشوید، زیرا اینترنت موبایل گران تر از اینترنت ثابت است.
گام ۱: با Tasker شروع کنید
برای ساختن یک خانه هوشمند کنترلی با استفاده از دستگاه اندرویدی، شما نیاز به تنظیم کردن برنامه triggers and actions (محرک ها و اعمال) خواهید داشت. برای این کار، Tasked یک پادشاه بی چون و چرا است، و در Google Play Store می توانید آن را دانلود کنید. برنامه Tasker تعداد زیادی قابلیت به صورت توکار در خود دارد، اما چیزی که مهمتر است این است که این برنامه قابل توسعه است و می توانید پلاگین های دیگر را هم بر روی آن نصب کنید، و تقریباً امکان این که کاری را نتوانید با آن انجام دهید وجود ندارد. Trigger ها می توانند عامل های ساده ای از چیزهایی مانند زمان در روز، سطح روشنایی، حالت انرژی، جهت گیری دستگاه، دستگاه های وای-فای یا بلوتوث یا شبکه های نزدیک بوده، یا این که یک ترکیب پیچیده از همه این ها باشند. عملکرد Tasker واقعاً از سطح تصورات شما فراتر است.
پس از نصب این برنامه، باید اولین پروفایل خود را در آن بسازید، در پایین این صفحه دکمه ‘+’ را فشار دهید تا به مرحله Context (trigger) هدایت شوید. با یک چیز ساده مانند یک دوره زمانی شروع کنید، پس از شما خواسته می شود که یک وظیفه جدید (new task) بسازید. Tasker دارای هر دو وظیفه ورود و خروج در خود می باشد، پس با استفاده از مثال مربوط به یک تریگر زمان، می توانید یک وظیفه را به گونه ای قرار دهید که در شروع یک دوره زمانی و در پایان یک دوره زمانی دیگر شروع به اجرا کند.
گام ۲: اتوماسیون سازی با IFTTT
برنامه Tasker به شما اجازه می دهد با استفاده از triggers and actions، در درون دستگاه خود یک اتوماسیون سازی را انجام دهید. برنامه IFTTT (If This Then That) از همان فرضیه ها استفاده کرده و آن را بر روی اینترنت اعمال می کند. برنامه IFTTT برپایه قانون کانال ها (که تعداد زیادی از آنها وجود دارد) عمل می کند. اگر اتفاقی در یک کانال رخ دهد می تواند بر روی کانالی دیگر هم تاثیر بگذارد. برای مثال، با استفاده از برنامه IFTTT برای سیستم عامل اندروید، می توانیم کانال مکان را در هنگامی که دستگاه از جایی که برای آن تعریف شده است و در آنجا ثابت است حرکتی کند و یا آن را منتقل کنند، به دست آوریم. این باعث می شود تغییر در یک کانال بر روی کانال دیگر هم تاثیر بگذارد و با استفاده از اتصال Nest موجود در IFTTT سیستم گرمایشی را خاموش کند. بازهم می گوییم که این سیستم به شدت انعطاف پذیر است و می توان کارهای خیلی پیچیده ای را با آن انجام داد. اگر شما تازه کار هستید، کارهای دیگران که با استفاده از IFTTT انجام شده است را برای فهم بهتر در سایت ها مشاهده کنید.
یک نقط ضعف موجود در IFTTT این است که به طرز عجیبی هیچ کانالی در آن جهت اتصال مستقیم به برنامه Tasker وجود ندارد. این ضعف را می توان با استفاده از دانلود برنامه Pushbullet رفع کرد، این برنامه می تواند به عنوان یک میانجی بین این دو دنیا عمل کند. این برنامه باعث مهار کردن قدرت پلاگین های موجود در Tasker و همچنین تنوع عظیم کانال های موجود در IFTTT می شود.
گام ۳: با استفاده SMS هشدارهایی را تنظیم کنید
اگر در منزل هوشمند شما اتفاقی رخ دهد و شما در منزل حضور نداشته باشید، یک شانس خوب برای این که بلافاصله از آن اتفاق آگاه شوید وجود دارد. این درحالتی است که شما از یک گوشی اندروید به عنوان سیستم مرکزی خود استفاده می کنید و کاملاً راه حل منطقی است. اگر برق قطع شود و شما از یک سرور معمولی استفاده کرده باشید، پس با مشکل مواجه خواهید شد-حتی اگر یک منبع برق ذخیره داشته باشید، به هرحال اتصال به اینترنت قطع خواهد شد. ولی اگر از دستگاه اندروید خود برپایه یک دستگاه ارزان قیمت PAYG SIM استفاده کنید این اتفاق رخ نخواهد داد. شما قادر خواهید بود با استفاده از عمل SMS موجود در برنامه Tasker، یک پیام را به گونه ای تعریف کنید که به یک شماره از پیش تعیین شده ارسال شود (این شماره در قسمت Phone برنامه قابل تنظیم کردن است).
یک مثال خوب از این فرآیند، استفاده از مسیر وظیفه خروج State > Power برای ارسال یک نوتیفیکیشن در زمان های قطع برق است. به همین ترتیب شما می توانید از وظیفه ورود استفاده کنید تا در زمانی که برق مجدداً وصل شود به شما اطلاع دهد. پس با استفاده از این امکان ها، هرگز بعد از ورود به منزل با غذاهای فاسد شده در یخچال خود مواجه نخواهید شد.
حتی یک روش هوشمندانه تر استفاده از گزینه ‘command’ موجود در برنامه Tasker، برای اجرای یک وظیفه به صورت دوره ای می باشد. شما با استفاده از این قابلیت می توانید یک دستگاه خاص را بر روی شبکه خانگی بررسی کنید. اگر دستگاهی در این دامنه خراب شده باشد یا چیزی شبیه به این، با استفاده از این امکان خواهید فهمید.
گام ۴: اسکریپت ها را بر روی گوشی خود اجرا کنید
همان گونه که گفتیم، امکان اجرای command (دستورها) بر روی دستگاه شما و خواندن خروجی آن ها در قالب یک متغیر Tasker وجود دارد و بعدا از این متغیر می توانید برای تعریف کردن اعمال مختلف بر روی Tasker استفاده کنید. یک دستور پایه و آنلاین شاید برای این کار کافی نباشد، و البته اگر قصد دارید یک دستور پیچیده تر را به صورت اسکریپت بنویسید، بهتر است این دستورها بر پایه سیستم عامل لینوکس باشد (حداقل از محدودیت های Busybox که در اکثر دستگاه های اندروید وجود دارد برای این کار استفاده کنید). ما می توانیم برای این کار به مسیر Code > Run Shell برای فراخوانی یک اسکریپت که در یک مکان مناسب بر روی دستگاه ذخیره شده است، استفاده کنیم. بهتر است که این اسکریپت ها را از قبل با استفاده از PC بررسی کنید و اگر نقصی در آنها وجود دارد آن را برطرف کنید زیرا گوشی برای این گونه کارها کمی محدودیت دارد. در این سیستم همچنین اسکریپت های SL4A (Scripting Language 4 Android) پشتیبانی شده است، که با استفاده از آنها قادر به استفاده از کدهای موجود در برنامه هایی مانند Python، Perl، JRuby، Lua، BeanShell، JavaScript و Tcl خواهید بود.
گام ۵: میزبانی سرورها بر روی اندروید
اگر قصد اجرای اسکریپت های پیچیده تری را بر روی دستگاه خود دارید و می خواهید اندروید خود را وادار به رفتار کردن مانند یک سرور هوشمند خانگی کنید، شاید نیاز به ارائه محتواهای وب بر روی دستگاه خود داشته باشید، این کار امکان پذیر است. یک گزینه برای این کار نصب یک Chroot کامل لینوکس بر روی دستگاه می باشد. اگرچه این قدرتمندترین گزینه موجود است، اما خیلی هم استفاده از آن ضروری نیست. برای فراهم کردن یک محیط سروری برای شما تعدادی برنامه اندروید در دسترس هستند، از جمله این برنامه ها Ulti Server است که نه تنها یک وب سرور خوب است بلکه یک محیط کامل از PHP و MySQL را در کنار DyDNS، FTP، FTPS، SFTP و SSH برای شما فراهم می کند.
اگر تنها هدف شما استفاده از یک اتصال از راه دور برای انجام کارهایی مانند آپدیت کردن و پیکربندی می باشد، پس برنامه ارائه دهنده ی کنترل از راه دور یعنی TeamViewer یک میزبان رایگان اندروید به نام TeamViewer QuickSupport برای شما فراهم کرده است. به یاد داشته باشید که ADB دارای یک گزینه برای اتصال بر روی TSP هم می باشد، البته شرط برقراری این اتصال این است که شما در شبکه خانگی خود حضور داشته باشید.
گام ۶: گوشی خود را تبدیل به یک دوربین IP کنید
ما قبلاً گفتیم که دستگاه های اندرویدی معمولاً دارای یک دامنه زیادی از سنسورهای هستند که می توان از آن ها برای انجام کارهای منزل هوشمند استفاده کرد، اما بهترین سنسور در بین همه این سنسورها و در بین اکثر گوشی ها، دوربین آنها است. دوربین های Home IP به شدت گران قیمت هستند، پس چرا به جای خرید آنها از یک دستگاه اندروید برای این کار استفاده نکنیم؟
گام ۷: کارهای چندرسانه ای و NAS
یک قابلیت مرسوم در منزل هوشمند ارائه محتواهای چندرسانه ای در استفاده از یک پلتفرم مانند Plex است. درواقع برای انجام چنین کارهایی دستگاه های اندرویدی بسیار بهتر از چیزی که شما فکر می کنید عمل می کنید، زیرا این دستگاه ها دارای شیار microSD هستند و حال دیگر اکثر آنها از USB OTG پشتیبانی می کنند (این فناوری شما را قادر می کند تا هارد دیسک یا فلاش هایی را به صورت مستقیم به گوشی خود وصل کنید).
دسترسی به Plex Server به خودی خود بر روی دستگاه ها اندرویدی محدود است، یک برنامه مشابه مشهور دیگر به نام Kodi که می توانید آن را از Play Store دانلود کنید، حال این کار را به خوبی انجام می دهد، و بهترین ویژگی آن این است که به صورت رایگان قابل استفاده است. اگر قادر هستید با استفاده از روتر خود یک VPN را برای استفاده های خارجی تهیه کنید، آنگاه حتی می توانید زمانی که از منزل دور هستید به این شبکه متصل شوید و محتوای آن را به صورت مستقیم کنترل کنید. این ویژگی مخصوصاً زمانی که مفید واقع می شود که این کار را از طریق یک دستگاه اندروید کوچک انجام می دهید.
گام ۸: حس کردن حضور کاربران
در اوایل این مقاله گفتیم که از قابلیت ping موجود در Tasker برای تعیین این که چه زمانی یک فرد بخصوص در منزل حضور خواهد داشت، استفاده کنید. با کمی فکر عمیق در این حیطه پی می بریم که بسیاری از قابلیت های این برنامه را می توان گسترش داد.
شرط لازم برای استفاده از قابلیت Ping این بود که فرد مورد نظر دستگاه مورد استفاده خود را به Wi-Fi متصل کند، اما اگر این اتفاق نیفتد، چه روش دیگر را باید برای این کار استفاده کنیم؟ اگر این فرد هر نوعی از دستگاه های تناسب اندام (مانند Fitbit) را درکنار خود داشته باشد، آنگاه می-تواند از قابلیت Bluetooth Near برای این کار استفاده کند. درنظر داشته باشید که زمانی که trigger ها را طراحی می کنید، نمی توانید آنها را منحصر به فرد طراحی کنید-شما می توانید از شرط هایی مانند ‘OR’ برای اعمال معیارهای عمده تر به دستورها استفاده کنید. اگر دارای یک TV هوشمند هستید، می توانید آن را به شبکه متصل کنید، و از طریق آن بررسی کنید که کسی در منزل هست یا نه. سعی کنید خلاق باشید!
گام ۹: سیستم منزل هوشمند خود را گسترش دهید
اگر گوشی هوشمند اندرویدی شما اولین دستگاهی است که برای ساختن یک منزل هوشمند از آن استفاده کرده اید، پس می توانید اطمینان داشته باشید که با تغییر در برخی تنظیمات، قادر به گسترش این سیستم خانگی هوشمند خواهید بود، و به راحتی می توانید همه تکه های پازل را در کنار هم بچینید. شاید سوال کنید که این حرف به چه معنی است؟ به این معنی است که وقتی شما یک قابلیت هوشمند جدید، مانند کنترل گرمایشی، کنترل روشنایی و کنترل انرژی را اضافه می کنید، می توانید مطمئن باشید که همه آنها به صورت هماهنگ با هم کار می کنند و هیچ عضوی از این مجموعه به صورت ایزوله عمل نخواهد کرد.
سوال هایی که قبل از خرید باید از خود بپرسید این است که، آیا این محصول با برنامه IFTTT یا برنامه های مشابه آن همخوانی دارد؟ و یا این که آیا یک API در آن وجود دارد؟ این قابلیت آخر توصیه شده است زیرا اگر سرویس های آنلاین نتوانند به صورت دقیق نیازهای شما را برآورده کنند، به این طریق می توانید نیازهای خود را برطرف کنید. همچنین این قابلیت شما از استفاده از یک سرویس خارجی بی نیاز می کند.
گام ۱۰: از قابلیت های صوتی، و پیشرفته استفاده کنید.
زمانی که شما سیستم مبنای خود را برقرار کردید و به گونه ای که دوست دارید آن را اجرا کردید، این زمان فرارسیده است که ابزارهای هوشمند را بر روی آن نصب کنید. چرا سیستم منزل هوشمند خود را با دستورهای صوتی کنترل نمی کنید؟ نظر شما راجع به یکپارچه کردن این سیستم با برنامه Wear موجود بر روی دستگاه اندروید خود، چیست؟ برای این قابلیت های پیشرفته، یک ارائه دهنده حرفه ای با پلاگین های حرفه ای وجود دارد که این کار را برای دستگاه شما راحت تر می کند. برای دریافت آن در Play Store عبارت ‘joaomhcd’ را جستجو کنید. محصولات ‘Auto’ از این دسته شامل برنامه هایی مانند AutoVoice برای دستورهای مرسوم Google Now، AutoWear برای Android Wear و AutoLocation برای فعالیت های مکانی پیشرفته می باشد.