• کنترل خانه هوشمند از طریق تلفن تجربه من است. EasyHome - کنترل خانه هوشمند از iOS، Android، Windows

    چندی پیش، یک ماژول Z-Wave برای Raspberry Pi معرفی شد - RaZBerry که یک مینی کامپیوتر را به یک کنترلر تمام عیار تبدیل می کند. خانه هوشمند. شبکه Z-Wave با استفاده از رابط وب با استفاده از HTTP/JavaScript API مدیریت می شود. با استفاده از جاوا اسکریپت، می‌توانید مجموعه‌ای از توابع برای اتوماسیون (روشن/خاموش کردن چراغ، بررسی دما، نظرسنجی سنسور حرکت و غیره) ایجاد کنید، که سپس با ارسال یک درخواست HTTP قابل اجرا است.

    محصول OpenRemote با همین نام به شما امکان می دهد بدون برنامه نویسی برنامه های تلفن همراه برای خانه های هوشمند ایجاد کنید، در حالی که در یک برنامه می توان از آن استفاده کرد. فن آوری های مختلف: Z-Wave، KNX، X10، ZigBee، کنترل کامپیوتر از طریق ssh و غیره.

    OpenRemote سروری است که هر دستوری را اجرا می‌کند و سازنده رابطی است که در آن دکمه‌ها، سوئیچ‌ها، برچسب‌ها و غیره را ایجاد می‌کنید و از قبل دستوراتی را به این عناصر اختصاص می‌دهید، در مورد ما چنین است. درخواست های HTTPبرای اعدام توابع جاوا اسکریپتدر سرور Z-Wave.

    در ادامه قدم به قدم به شما می گویم که چگونه یک کنترل پنل خانه هوشمند برای آیفون و اندروید بسازید! و این چیزی است که برنامه ما پس از اتمام کار به نظر می رسد:

    عکس های زیادی در زیر برش وجود دارد.

    1. ایجاد یک شبکه Z-Wave با استفاده از کنترلر Raspberry Pi + RaZberry

    • نصب نرم افزار RaZberry بر روی Raspberry Pi
    • افزودن دستگاه های Z-Wave
    • بررسی عملکرد دستگاه
    2. نصب کنترلر OpenRemote و اپلیکیشن موبایل

    3. ایجاد طراحی اپلیکیشن و منطق کار آن

    • طراحی و توسعه
    • ارتباط دکمه ها با دستورات
    4. رزومه

    ایجاد یک شبکه Z-Wave با استفاده از کنترلر Raspberry + RaZberry

    RaZberry یک برد متصل به Raspberry Pi از طریق GPIO است که به شما امکان ایجاد و مدیریت یک شبکه Z-Wave را می دهد. برای درک بهتر، فک را بخوانید. این برد دارای نرم افزاری است که باید نصب شود.

    نصب نرم افزار RaZberry بر روی Raspberry

    نصب کننده فقط از توزیع های مبتنی بر دبیان (Raspbian، Xbian و غیره) پشتیبانی می کند، با این حال، دسته ها را می توان بر روی OpenElec و سایر سیستم عامل ها نصب کرد.
    دستور نصب نرم افزار Z-Way را اجرا کنید:
    wget -q -O - http://razberry.z-wave.me/install | سودو بش
    پس از نصب، حتما Raspberry Pi خود را ریبوت کنید تا تغییرات را در پورت سریال اعمال کنید.

    برای دسترسی به صفحه کنترل خانه هوشمند، به http://IP_OF_YOUR_RASPBERRY:8083 بروید. رابط برنامه بسیار ساده است، درک آن دشوار نیست، اسناد وجود دارد. مرورگرها حداکثر سازگاری را با رابط دارند: Chrome، Safari، Firefox، مرورگرهای دیگر: IE، Opera ممکن است به درستی کار نکنند.

    افزودن دستگاه های Z-Wave

    بیایید لیست تجهیزات مورد استفاده را تعریف کنیم:
    - رله فیبارو تک سوئیچ 3 کیلو وات 2 عدد.
    - سنسور دما و باز شدن درب/پنجره فیبارو سنسور درب/پنجره 1 عدد.

    از منوی پایین انتخاب کنید حالت خبره. با استفاده از منوی بالابه برگه بروید شبکه → مدیریت شبکهو فشار دهید دستگاه را روشن (دوباره) کنید، با این کار فرآیند انتظار برای روشن شدن شبکه شروع می شود، حالا دکمه سرویس روی دستگاه را سه بار فشار دهید تا کنترلر آن را ببیند و اضافه کند.

    بررسی عملکرد دستگاه

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

    اگر مصاحبه کامل نشد (نقاط و علائم Ø وجود دارد)، می توانید آن را تکرار کنید، برای انجام این کار، در پایین صفحه کلیک کنید اقدامات اضافی → مصاحبه اجباری تکرار شود(برای مشاهده این منو باید حالت Expert فعال باشد).
    پس از انجام یک مصاحبه با موفقیت، در همان برگه راه اندازی دستگاهمی توانید برخی از تنظیمات دستگاه را پیکربندی کنید (فراموش نکنید که تنظیمات را با دکمه اعمال کنید اعمال تنظیمات به این دستگاه در پایین صفحه، و همچنین اگر دستگاه با باتری کار می کند، آن را بیدار کنید):

    برای مدیریت دستگاه، به برگه بروید مدیریت دستگاه → سوئیچ ها

    درباره Automation API ارائه شده

    پس از اطمینان از اینکه همه دستگاه ها به درستی کار می کنند، اکنون سعی می کنیم آنها را از راه دور کنترل کنیم. چندین راه وجود دارد:

    1. استفاده از HTTP/JSON API
    2. استفاده از JavaScript API

    API HTTP/JSONاز یک نحو ساده برای مدیریت دستگاه ها استفاده می کند.
    می توانید چراغ را از مرورگر روشن کنید:
    http://192.168.1.113:8083/ZWaveAPI/Run/devices.instances.SwitchBinary.Set(255)
    یا درخواست درجه حرارت کنید:
    http://192.168.1.113:8083/ZWaveAPI/Run/devices.instances.commandClasses.data.val.value
    JavaScript APIبه شما امکان می دهد اسکریپت های مختلف اتوماسیون بنویسید، به عنوان مثال: چراغ را روشن / خاموش کنید، سنسور را بازجویی کنید، دما را دریافت کنید، نور را 2 دقیقه پس از روشن کردن آن خاموش کنید. این اسکریپت ها می توانند به طور مستقل کار کنند (مثلاً: در شب نور فقط 15٪ روشن می شود تا چشم ها را کور نکند) یا می توان آنها را از راه دور با استفاده از تماس گرفت. API HTTP/JSON.

    اسکریپت نور را روشن کنید:
    SwitchOn = تابع (N,I) (zway.devices[N].instance[I].SwitchBinary.Set(255)؛ )
    فراخوانی اسکریپت برای روشن کردن چراغ:
    متأسفانه، دسترسی مستقیم به دستگاه‌هایی که از HTTP/JSON API از OpenRemote استفاده می‌کنند به چند دلیل مشکل ساز است:

    1. کاراکترها باید به UTF-8 در OpenRemote Constructor کدگذاری شوند
    2. هنگام نظرسنجی سنسورها، OpenRemote انتظار "روشن" یا "خاموش" را دارد و حسگرهای Z-Wave می توانند 255 یا 0 را ارسال کنند.
    3. شما باید درخواست خود را برای هر دستگاه بنویسید و با کمک JS می توانید فقط از یک تابع برای فعال کردن استفاده کنید. دستگاه های مختلف، تغییر در درخواست فقط پارامتر عملکرد - شماره دستگاه.

    هنگام استفاده از جاوا اسکریپت API، همه این مشکلات ناپدید می شوند - چند توابع "راهنما" به تبدیل اصطلاحات Z-Wave به مفاهیمی که برای OpenRemote مناسب هستند کمک می کند.
    می‌توانید اطلاعات بیشتری در مورد نحو HTTP/JSON API و JavaScript API در اخیر بخوانید.

    ایجاد اسکریپت های JS برای کنترل از راه دور

    اسکریپت های JS وارد شده اند /opt/z-way-server/automation/، فایلی ایجاد کنید که توابع اتوماسیون ما را ذخیره کند openremote.jsبه طوری که وقتی Z-Way فعال است، به طور خودکار در انتهای فایل اتوماسیون اصلی بارگذاری شود. main.jsاضافه کردن:
    // ================================================ ===== executeFile(automationRoot + "/" + "tags.js"); executeFile(automationRoot + "/" + "openremote.js"); start Automation();
    /opt/z-way-server/automation/openremote.js
    // دستگاه را روشن کنید SwitchOn = function(N,I) ( zway.devices[N].instance[I].SwitchBinary.Set(255); ) // خاموش کردن دستگاه SwitchOff = function(N,I) ( zway.devices[N].instance[I].SwitchBinary.Set(0); ) // درخواست وضعیت حسگر (راه اندازی شده/نشده) SensorStatus = function(N,I) (بازگرداندن zway.devices[N].instances [I]. SensorBinary.data.level.value؛ ) // درخواست وضعیت دستگاه (فعال/غیرفعال) SwitchStatus = function(N,I) ( zway.devices[N].instance[I].SwitchBinary.data. level.value; ) // جستار دما به عدد صحیح گرد شد Temperature = function(N,I) ( return Math.round(zway.devices[N].instance[I].commandClasses.data.val.value); )

    پارامتر N تعداد دستگاه موجود در شبکه است.
    پارامتر I - می تواند از نظر فیزیکی چندین دستگاه (کانال) در داخل یک دستگاه وجود داشته باشد، به عنوان مثال، 2 رله یا یک سنسور دما، یک سنسور حرکت، یک سنسور نور. پارامتر I شماره کانال داخل دستگاه است. اگر دستگاه فقط شامل یک عدد باشد دستگاه فیزیکی، پس این پارامتر 0 است.

    پس از ایجاد فایل، باید Z-Way را با دستور زیر راه اندازی مجدد کنید:
    /etc/init.d/Z-Way راه اندازی مجدد
    یا با ارسال درخواستی از مرورگر، اسکریپت را به صورت دستی بارگیری کنید:
    http://192.168.1.113:8083/JS/Run/executeFile("automation/openremote.js")
    می توانید عملکرد توابع را از مرورگر بررسی کنید.
    برای روشن کردن چراغ:
    http://192.168.1.113:8083/JS/Run/SwitchOn(6.0)
    دمای درخواستی:
    http://192.168.1.113:8083/JS/Run/Temperature(8,2)
    گزارش سرور Z-Way در رفع اشکال کمک زیادی می کند:
    tail -f /var/log/z-way-server.log
    اگر همه چیز درست شد، به مرحله بعدی بروید!

    نصب کنترلر OpenRemote

    کنترلر OpenRemote سروری است که دستورات را از یک برنامه موبایل یا وب دریافت می کند و سپس آنها را به کنترلر یا سرور دیگری پخش می کند. در مورد ما، این سرور Z-Way است.

    وب سایت OpenRemote بسیار است دستورالعمل های دقیقدر نصب، که من پیشنهاد می کنم از آن استفاده کنید:
    دستورالعمل های رسمی برای نصب OpenRemote به زبان انگلیسی

    فقط اشاره می کنم که OpenRemote به زبان جاوا نوشته شده است و ما به یک نسخه نیاز داریم ماشین مجازیبا پشتیبانی از ممیز شناور سخت افزاری:
    جاوا برای پردازنده های ARM با پشتیبانی از ممیز شناور

    نصب اپلیکیشن موبایلبرای گوشی شما:
    برنامه موبایل OpenRemote

    قبل از شروع توسعه برنامه، برای درک بهتر، نحوه عملکرد آن را ببینید:

    ایجاد طراحی اپلیکیشن و منطق کار آن

    تمام مراحل قبلی فقط آماده سازی برای چیز اصلی بود - ایجاد یک برنامه تلفن همراه!
    برنامه Cloud Designer http://designer.openremote.org را باز کنید. فهمیدنش کار سختی نخواهد بود!

    طراحی و توسعه

    بیایید به سمت توسعه طراحی حرکت کنیم.

    1. روی برگه کلیک کنید طراح رابط کاربریو یک پنل جدید ایجاد کنید و نام آن را برای مثال iPhone4 بگذارید.

    2. دکمه ها و تصاویر را از پانل سمت راست به صفحه نمایش آیفون.

    3. در ویژگی های تصویر (پانل سمت راست) تصاویر خود را بارگذاری کنید و از فیلدهای Left, Right, Width, Height برای مرتب کردن آنها بر روی صفحه به صورت دلخواه استفاده کنید. من تصاویر یک مربع و یک لامپ را آپلود کردم، همچنین یک کتیبه اضافه کردم.

    ایجاد فرمان ها و سنسورهای کنترلی

    اکنون باید دستوراتی را به دکمه ها اختصاص دهید و تصویر لامپ باید بسته به وضعیت نور (روشن / خاموش) تغییر کند.

    1. به تب بروید و یک دستگاه جدید ایجاد کنید و نام آن را به عنوان مثال Raspberry بگذارید.

    2. دستگاه Raspberry تازه ایجاد شده را انتخاب کرده و یک دستور جدید برای آن ایجاد کنید دستور جدید → جدید. انتخاب یک پروتکل http، وارد URLدستورات JS و مجموعه روش پست.
    این دستور دستگاه شماره 6 را روشن می کند. به طور مشابه، ما دستوراتی را برای روشن کردن دستگاه های دیگر و خاموش کردن دستورات ایجاد می کنیم.
    http://192.168.1.113:8083/JS/Run/SwitchOn(6.0)

    3. حالا باید دستوری برای نظرسنجی وضعیت نور ایجاد کنید. این دستور هر 2 ثانیه فراخوانی می شود، بنابراین اگر به صورت دستی چراغ را خاموش کنید، بلافاصله در برنامه ما قابل توجه خواهد بود. مثل همیشه دستور جدید → جدید، اما علاوه بر این باید مشخص کنید که هر چند وقت یکبار نظرسنجی را انجام دهید نظرسنجی، تنظیم 2 ثانیه، حرف سضروری.

    4. بیایید یک سنسور ایجاد کنیم که مقادیر دریافتی از این دستور را پردازش کرده و به تصویر یا برچسب منتقل کند. جدید → سنسور جدید، دستوری را که سنسور اجرا می کند انتخاب کنید، نوع را تنظیم کنید سفارشی، دو حالت اضافه کنید برو خاموش، آنها را با مقادیر بازگشتی Z-Wave مرتبط کنید.

    ارتباط دکمه ها با دستورات

    1. آخرین مرحله توسعه برنامه، ارتباط دکمه ها با دستورات. به طراح اپلیکیشن برگردید طراح رابط کاربری، دکمه خود را انتخاب کنید و در خصوصیات آن دستوری را که باید اجرا کند را تنظیم کنید.

    2. تصویر را با سنسور مرتبط کنید تا با تغییر وضعیت دستگاه، تصویر موجود در برنامه نیز تغییر کند. یک تصویر را انتخاب کنید و حسگر را در ویژگی های آن تنظیم کنید.

    3. در مشخصات تصویر، انتخاب کنید که در صورت ارسال سنسور کدام تصویر نشان داده شود برو اگر سنسور ارسال شود چه می شود خاموش.

    همگام سازی با اپلیکیشن موبایل

    1. برنامه ما آماده است، فقط کافی است آن را در تلفن خود آپلود کنید. به آدرس کنترلر OpenRemote در 17 ژانویه 2016 در ساعت 18:52 بروید

    کنترل خانه هوشمندروی تلفن - تجربه من

    • خانه هوشمند ،
    • DIY یا DIY

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

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

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

    در PLC خود، یک ماژول Mobdus Slave با رجیسترهای ورودی و خروجی ایجاد کردم و یک بلوک همگام‌سازی نوشتم و سپس یک رابط ساده را در محیط iridium ترسیم کردم.

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

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

    این همان چیزی است که رابط خانه هوشمند من در برنامه کنترل i2 در آیفون به نظر می رسد. من برنامه را روی همه دستگاه های تلفن همراه موجود در خانواده نصب کردم و سپس به طور تصادفی با اولین مشکل روبرو شدم. وقتی روی لپ‌تاپ کار می‌کنید، اما تلفنی در دسترس نیست، کنترل نور مستقیماً از لپ‌تاپ راحت‌تر است.

    شما می توانید این کار را در Iridium Mobile انجام دهید، اما باید برنامه i2 Control را برای مک (یا برای ویندوز) نصب کنید و مجوز را وصل کنید. اولاً مجوزهای آزمایشی رایگان من تمام شد و ثانیاً اجرای برنامه فقط برای روشن یا خاموش کردن چراغ خیلی راحت نیست. با همان موفقیت، من می توانم از طریق یک دسکتاپ راه دور به سروری بروم که در آن CoDeSys معمولاً همیشه با تجسم اجرا می شود. در واقع، من متوجه شده ام که این کار را بیشتر از اجرای یک برنامه اختصاصی روی تلفن یا رایانه لوحی خود انجام می دهم.


    تجسم در CoDeSys. متاسفانه نسخه من از PLC (قابل برنامه ریزی کنترل کننده منطق، که خانه هوشمند من روی آن ساخته شده است) وب سرور داخلی ندارد - در غیر این صورت کار بسیار ساده تر حل می شود.

    من از نصب کنترل i2 روی مک خودداری کردم و فقط به کنترل تلفن و تبلت خود بسنده کردم.

    بعد از مدتی مشکل دوم ظاهر شد. راه اندازی برنامه کنترل i2 زمان زیادی می برد برای مدت طولانی. به عنوان مثال، در آیفون 6 من در حدود 9 ثانیه شروع به کار می کند. احتمالاً اگر وظیفه کنترل مرکز رسانه بود، این زمان قابل قبول خواهد بود - تا زمانی که تمام ریموت ها را پیدا کنید، تمام تجهیزات را روشن کنید، ترکیب مورد نظر را تنظیم کنید، پس بدیهی است که زمان بیشتری می گذرد. با این حال، برای کنترل نور، این 9 ثانیه به طور غیرقابل قبولی طولانی بود و اغلب ترجیح می دادم بلند شوم و چراغ را خاموش کنم تا برنامه را راه اندازی کنم (سرور Iridium اکنون منتشر شده است، که در تئوری این مشکل را حل می کند، اما من هنوز نمی‌توانم آن را آزمایش کنم).

    زندگی با یک خانه هوشمند و کنترل نکردن آن از طریق تلفن به نوعی اشتباه بود و بنابراین تصمیم گرفتم یک بار دیگر تلاش کنم. ایده این بود - ایجاد یک وب سرور در شمال خانه و انتقال تمام کنترل به یک صفحه وب. دوستان Node JS را توصیه کردند - آنها می گویند ، یک پلت فرم شیک و امیدوار کننده ، و از آنجایی که برایم مهم نبود که چه چیزی را مطالعه کنم (من چیزی نمی دانستم) ، من در Node JS مستقر شدم. تنها کاری که نمی‌خواستم انجام دهم این بود که HTML را بفهمم، بنابراین یک فرانت‌ند از یک فریلنسر سفارش دادم و در Github یک کتابخانه برای کار در Modbus پیدا کردم و خیلی سریع (خودم تعجب کردم) برنامه‌ام را انجام دادم.

    اکنون رابط خانه هوشمند من در آیفون اینگونه به نظر می رسد. رابط کاربری واکنشگرا است، بنابراین در هر دستگاهی خوب به نظر می رسد. به عنوان مثال، این شکلی است که در مک بوک من به نظر می رسد:

    در دسکتاپ آیفون، من پیوندی به این صفحه ایجاد کرده ام که به سرعت 1-3 ثانیه بارگیری می شود. من آن را در مرورگرها نیز نشانه گذاری کردم و اکنون کنترل نور همیشه در دسترس است. سرور Node JS همچنین نقش بین PLC (کنترل کننده خانه هوشمند) و کنترلر موج z را ایفا می کند که برای کنترل بی سیم لامپ های مختلف استفاده می شود (در آینده در این مورد صحبت خواهم کرد).

    به طور سنتی، در پایان از جوانب مثبت و منفی تصمیم.

    طرفداران:رابط سریع پاسخگو که روی هر دستگاهی کار می کند، قیمت (من فقط برای توسعه fronton پرداخت کردم).

    معایب:نیاز به برنامه نویسی و اگر اضافه کردن سوئیچ ها بسیار ساده است (به عنوان مثال، قبل از سال نو یک کنترل درخت کریسمس را اضافه کردم)، برای مثال، رابط به مرکز رسانه یک پروژه کامل و بزرگ است.

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

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

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

    در حال حاضر، دستگاه های خاصی در حال تولید هستند که امکان ادغام عناصر مختلف "هوشمند" خانه را فراهم می کند. فرآیند کنترل خود از طریق یک رابط کاربری آسان و قابل درک با استفاده از تلفن هوشمند یا تبلت انجام می شود. برای این منظور می توانید نه تنها از گوشی هوشمند، بلکه از کنسول سیستم عامل اندروید نیز استفاده کنید. گروه‌های کاملاً متفاوتی از دستگاه‌ها را می‌توان در یک شبکه هوشمند ترکیب کرد: تهویه، گرمایش، سیستم‌های تامین آب، و همچنین یک سیستم کنترل برای پرده‌ها، درها، روشنایی الکتریکی و غیره. اپلیکیشن نصب شده روی گوشی می تواند میزان مصرف برق در خانه، وضعیت سیستم امنیتی و آب و هوای خانه را نشان دهد. می تواند شرایط اضطراری خاص خانه (نشت گاز یا آب، آتش سوزی، خارجی هابه خانه) و به موقع سیگنال ارسال کنید - به خدمات نجات، پلیس یا از طریق ایمیل. با پیروی از اقدامات احتیاطی، ارتباط را می توان با استفاده از یک اتصال رمزگذاری شده انجام داد (همانطور که برای تراکنش های زمانی که تراکنشهای مالی). این کار صرفا به منظور جلوگیری از ارتباط افراد غیرمجاز با مدیریت خانه انجام می شود.

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

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

    مفهوم ساخت یک سیستم "خانه هوشمند" بر اساس پلتفرم های اندرویدبرای تسهیل مدیریت سیستم از طریق استفاده از هر دستگاه تلفن همراه در یک سیستم عامل یکسان طراحی شده است. در مورد آنالوگ ها، Z-Wave یا ZigBee، می خواهم توجه داشته باشم که آنها برای مدیریت یک سیستم امنیتی یا کنترل آب و هوا مناسب هستند، اما با مدیریت غیرمتمرکز سیستم های سرگرمی، کار می کنند. سیستم اندرویددر حالی که هیچ رقیب شایسته ای وجود ندارد.

    وادیم بالاشوف، توسعه‌دهنده iOS از تیم تلفن همراه Mail.Ru، به این سایت گفت که چگونه یک «خانه هوشمند» در آپارتمان خود ایجاد کرده و یک اپلیکیشن ساعت و یک ربات برای تلگرام برای کنترل سیستم دستگاه توسعه داده است.

    کمی در مورد سوکت

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

    خوب، یک آهن لحیم کاری، دست نیز وجود دارد. من شروع به فکر کردن در مورد اجرا کردم، اما بلافاصله سوالات زیادی ایجاد شد. به عنوان مثال، از کدام کنترل کننده برای کنترل استفاده کنیم؟ من تجربه برنامه نویسی خط کنترلرهای AVR Atmel را داشتم. همه چیز بسیار ساده به نظر می رسد: یک رله، یک ترانزیستور برای جدا کردن و کنترل یک پایه کنترلر.

    دو وظیفه بود. اولاً کنترلر و رله باید تغذیه شوند و ثانیاً کنترلر باید کنترل شود. سه گزینه برای غذا وجود داشت.

    • ساده ترین راه استفاده از باتری است. اما باتری ها تمام می شوند، آنها باید تعویض شوند و این ناراحت کننده است.
    • مبدل های 220 به 5 ولت را درست در کنار کنترلر در هر پریز قرار دهید. روش عالی است، اما من مبدل های فشرده آماده ای پیدا نکردم و نمی خواستم خودم با مبدل زحمت بکشم. بله، و من می ترسیدم آپارتمان را خراب کنم و آتش بزنم.
    • برق خارجی را به هر پریز وصل کنید.

    وظیفه کنترل کنترلر به دو روش اساسی تقسیم می شود: کنترل با رادیو و کنترل با سیم. گزینه سیمی ساده‌تر به نظر می‌رسد، اما مجدداً نیاز به اتصال سیم به هر پریز دارد. تصمیم گرفتم که وقتی تعمیر بعدی را انجام می دهم ، این را از قبل پیش بینی کنم و به هر پریز یک سیم بیاورم ، به عنوان مثال UTP دسته 5. اما فعلاً باید با سوکت های غیرمرتبط موجود مقابله کرد.

    آخرین چیزی که باعث شد در نهایت توسعه را رها کنم سیستم خودمدیریت "آزمایش بر روی زندگان" است. درست در حین کار، اشکال‌زدایی جزئی معماری و سیستم‌افزار ضروری است که البته باعث نارضایتی دیگران می‌شود.

    من شروع به جستجو در موجود کردم سیستم های آماده، که بر روی آن می توان یک "خانه هوشمند" ساخت. بلافاصله تصمیم گرفتم که ارتباط ماژول ها باید بی سیم باشد. باقی مانده است که یک فناوری را انتخاب کنید. در ابتدا دو گزینه وجود داشت - Wi-Fi و Bluetooth. آنها بسیار رایج هستند، راه حل های آماده زیادی برای آنها وجود دارد.

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

    معلوم شد که این بزرگترین مشکل نیست. دشمن بسیار سخت‌تر وای‌فای، مایکروویو است. مگنترون مایکروویو من امواجی با فرکانس 2.45 گیگاهرتز ساطع می کند - وقتی روشن می شود، هیچ چیز در اطراف کار نمی کند. استریم خاموش می شود صوتی بلوتوث، پخش ویدیو از طریق Wi-Fi خاموش می شود، فایل ها دانلود نمی شوند، صفحات باز نمی شوند. و مهم نیست که اجاق مایکروویو شما چه طرحی باشد، توکار یا مستقل - به هر نحوی تداخل خواهد داشت. بنابراین از استفاده از وای فایو بلوتوث هم قبول نکردم.

    Z-Wave

    شروع کردم به مطالعه راه حل های دیگر. به عنوان مثال، ZigBee چندین استاندارد فرکانس دارد: 2.4 گیگاهرتز و حدود 1 مگاهرتز وجود دارد. اما بعد به مقاله ای در Habrahabr برخوردم که در مورد Z-Wave صحبت می کرد. تحت تاثیر قرار. ماژول های پایه Z-Wave اکنون تنها توسط دو شرکت در جهان تولید می شوند - سیگما و میتسومی. ابعاد آن حدود یک سانتی متر در سانتی متر است. در واقع یک میکروکنترلر با فرستنده و گیرنده است. حتی می توان آن را مجدداً فلش کرد، اما اغلب به صورت تمام شده در بالای برد نصب می شود، یک UART به آن متصل است و به عنوان یک فرستنده و گیرنده کار می کند.

    تمام دستگاه هایی که مایل به دریافت نشان سازگار با امواج Z هستند باید گواهینامه دریافت کنند. پلتفرم بسته است که از نظر سازگاری مزیتی به همراه دارد. برای مقایسه، راه حل های بلوتوث زیادی برای خانه ها در بازار وجود دارد و تقریباً همه آنها با یکدیگر سازگار نیستند. و همه دستگاه های Z-Wave سازگار هستند - به لطف یک استاندارد بسته واحد که با این وجود در حال تکامل است. یک SDK پولی در دسترس است، حدود 2000 دلار هزینه دارد. اگر قرار است یک چیز را در خانه لحیم کاری کنید، گران است. و اگر قصد راه اندازی تولید 2 هزار دستگاه را دارید، برای هر یک فقط یک دلار تفاوت دریافت خواهید کرد - اصلا بد نیست.

    برد ارتباطی استاندارد Z-Wave حدود 30 متر است. یکی از مزایای آن این است که دستگاه ها در یک شبکه مش (مش) چیده شده اند و تقریباً هر ماژول دارای جدول مسیریابی است. با گرفتن سیگنال، هر ماژول می داند که آیا آن را ارسال کند یا خیر. یعنی تقریبا هر ماژول یک تکرار کننده هم هست. "تقریبا" - زیرا در Z-Wave دستگاه های "خواب" وجود دارد که در رله کردن شرکت نمی کنند. چنین دستگاه هایی معمولاً با باتری کار می کنند و در صورت نیاز با هم ارتباط برقرار می کنند.

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

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

    در مورد فرکانس کاری، در منطقه 900 کیلوهرتز است. این فرکانس برای همه کشورهای جهان باز نیست، برای هر کشوری باید گواهینامه و مجوز استفاده از این فناوری را دریافت کنید، بنابراین فرکانس های حامل در کشورهای مختلف کمی متفاوت است. در اروپا فرکانس 868.42 مگاهرتز، در روسیه - 869.0 مگاهرتز، در ایالات متحده آمریکا و کانادا - 908.42 مگاهرتز، در هنگ کنگ - 919.82 مگاهرتز، در استرالیا - 921.42 مگاهرتز است.

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

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

    اعتقاد بر این است که این استاندارد عملکرد پایدار را در فاصله 30 متر در فضاهای باز و تا 10 متر در آپارتمان ها ارائه می دهد. البته، فاصله یک اتصال پایدار بین ماژول های قرار داده شده در سوکت سوکت حتی کمتر خواهد بود، اما به دلیل مسیریابی، همه چیز کاملاً پایدار کار می کند.

    حالا بیایید در مورد کنترل کننده های تجاری صحبت کنیم. دو برند رایج فیبارو و ورا هستند. فیبارو یک سری دارد - Home Center و Home Center Light. ورا دو سری کنترل هم داره یکی گرانتر و دومی ارزانتر. همه آنها از مجموعه قوانین اولیه پشتیبانی می کنند و شما می توانید به راحتی آن را طوری تنظیم کنید که وقتی یک دستگاه را روشن می کنید، دستگاه دیگری فعال می شود و پس از مدتی خاموش می شود یا کار دیگری انجام می دهد. اما اگر نیاز به اجرای رفتار پیچیده تری دارید، باید خودتان برنامه ریزی کنید. زبان مورد استفاده Lua است.

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

    اما اکنون در مورد پروژه دیگری در رابطه با Raspberry Pi صحبت خواهیم کرد. این یک پروژه اجتماعی است که تصمیم گرفت ارزان ترین سخت افزار ممکن را بسازد. امروزه Raspberry Pi حدود 4000 روبل به فروش می رسد. در آمازون می توانید با 50 دلار خرید کنید، با نرخ فعلی تقریباً یک و نیم برابر ارزان تر است. Raspberry Pi سرور وب را با رابط کاربری، که برای آن می توانید اتوماسیون را در JS بنویسید. یک برد توسعه به نام RaZberry به عنوان "سخت افزار" استفاده می شود، به نظر می رسد این است:


    و در اینجا یک نمونه از رابط کنترل پنل به نام Z-Way است. در مرورگر نمایش داده می شود، در تبلت ها به خوبی کار می کند.


    در اینجا یک نمونه از تنظیمات است. می توانید ببینید که همه دستگاه ها در چه لحظه ای کار می کنند، اتصال را بررسی کنید، جدول مسیریابی را ببینید و غیره.



    یکی از مزایای Z-Way این است که پروژه باز است، در اینجا یک لینک به GitHub وجود دارد. تیم توسعه "با یک دفتر در اینترنت"، همانطور که خودشان می نویسند، در اطراف پراکنده است کشورهای مختلف: روسیه، آلمان، سوئیس. این رابط را می توان به صورت رایگان از GitHub بارگیری کرد، در صورت تمایل، می توانید خودتان چیزی را بازسازی کنید. و همه اینها کاملاً از پنل مدیریت مدیریت می شود.

    کنترل

    شروع کردم به فکر کردن که چگونه بیشتر پیاده سازی کنم کنترل راحتسیستم از رایانه از طریق پنل مدیریت. امروزه برنامه هایی برای اندروید و iOS وجود دارد، و دو سال پیش مشتری رسمی برای اندروید چیزهای زیادی را رها کرد: من هنوز متوجه نشدم که چگونه از آن استفاده کنم. پیدا شد، پیکربندی شد، متصل شد، اما استفاده نشد. در آن زمان من یک کاردان بودم تلفن ویندوز، که تحت آن مشتری وجود نداشت. مشتری برای خود نوشت: "روی زانو" - وقتی سوئیچ ها هماهنگ نبودند، همسر برای کمک به من مراجعه کرد.

    یک سال پیش، در فوریه تا مارس 2015، Pebble یک جمع آوری کمک مالی برای ایجاد راه اندازی کرد نسخه جدیدساعت - زمان سنگریزه. من از این پروژه حمایت کردم و تا اکتبر ساعت از قبل در اختیار من بود. من فکر می کردم که کنترل یک "خانه هوشمند" کار بسیار خوبی است. از این گذشته ، تلفن همیشه در جیب من نیست ، در خانه فقط آن را در جایی قرار می دهم و ساعت معمولاً روی بازوی من است. علاوه بر این، Pebble، بر خلاف ساعت های Android Wear یا اپل واچ، هم به آیفون (که در آن زمان از آن استفاده می کردم) و هم به تلفن های اندرویدی متصل می شود.

    سنگریزه


    سنگریزه مزایای بسیار زیادی دارد. اولاً آنها یک هفته کامل با یک بار شارژ کار می کنند. کاربران اپلوقتی باید تا غروب به دنبال شارژ بگردید، دیده بان این درد را می شناسد. علاوه بر این، صفحه نمایش Pebble همیشه زمان را نشان می دهد، زیرا مبتنی بر جوهر الکترونیکی رنگی است. پشتیبانی از دو سیستم عامل اصلی وجود دارد. ساعت ضد آب است. و همچنین دارند پورت سخت افزاری. تسمه های "هوشمند" وصل شده اند که می توانید خودتان آنها را بسازید (توضیحات مفصلی در وب سایت Pebble وجود دارد).

    اما شما باید برای همه چیز هزینه کنید. ساعت دارای صفحه نمایش لمسی نیست، برای کنترل - چهار دکمه. اما لازم نیست مدام بپرسید. صفحه لمسی، به لطف آن ساعت برای مدت طولانی بدون شارژ مجدد کار می کند. اشکال دوم - صفحه نمایش 64 رنگ را نمایش می دهد.

    Pebble توسط یک سیستم عامل مبتنی بر OpenRTOS تغذیه می شود. برنامه های ساعت مانند برنامه های وب هستند. قسمت جلویی روی ساعت اجرا می‌شود و با زبان C نوشته می‌شود، در حالی که قسمت پشتی روی تلفن اجرا می‌شود و با جاوا اسکریپت نوشته می‌شود. توسعه دهندگان برنامه های وب اکنون وحشت کرده اند: این را کجا دیده اید، front-end در C و back-end در JS؟

    اما این به راحتی قابل توضیح است: C به عنوان فشرده ترین زبان برای کامپایل، برای ایجاد برنامه های جاسازی شده بسیار راحت است و مزیت JS این است که در آیفون و اندروید به خوبی اجرا می شود. JS در داخل گوشی اجرا می شود و یک رابط برای دسترسی به اینترنت و دسترسی به GPS فراهم می کند. خود ساعت دارای شتاب سنج داخلی، ژیروسکوپ و قطب نمای مغناطیسی، به این معنا که مجموعه پایه"غده".

    من به نوشتن یک برنامه برای کنترل سیستم خانه هوشمند خود پایان دادم. اول برای آخرین نسخهساعت، و سپس از اولین مدل Pebble - با صفحه سیاه و سفید - پشتیبانی کرد.


    تنظیمات در قالب یک صفحه HTML انجام می شود. برای توسعه Pebble، استفاده از Slate Frontend Framework توصیه می شود. صفحه باید در وب قرار داشته باشد که به خودی خود عجیب است زیرا بدون اتصال به اینترنت نمی توانید چیزی را تنظیم کنید.

    بعد از اینکه برنامه را نوشتم، آن را در فروشگاه رسمی برنامه قرار دادم و آن را فراموش کردم. 40 نفر آن را نصب کردند و من شروع به دریافت بازخورد کردم. مدت زیادی بود که در C برنامه نویسی نکرده بودم و با وحشت به یاد آوردم که تخصیص حافظه - و از آن بدتر، انتشار حافظه - باید به صورت دستی انجام شود. بنابراین در نسخه اول، یک آرایه ثابت برای هشت دستگاهی که داشتم ساختم و همه اینها در خانه من عالی کار کرد.

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

    معلوم شد که حدود 54 دستگاه منطقی دارد - سوئیچ ها و حسگرها، و یک ماژول فیزیکی می تواند چندین دستگاه منطقی به طور همزمان باشد. به عنوان مثال، من در خانه سنسوری دارم که به طور همزمان حرکت، دما، رطوبت و نور را کنترل می کند و در سیستم به صورت چهار سنسور قابل مشاهده است. و دانمارکی بیش از 50 دستگاه دارد، و او شکایت کرد که برای خاموش کردن چیزی، باید برای مدت طولانی کل لیست ساعت خود را مرور کند.

    دقیقا یک شب فکر کردم و به یک چیز رسیدم. در پنل مدیریت Z-Way می توانید تگ ها را روی دستگاه آویزان کنید و من تصمیم گرفتم به سادگی تگ Pebble را اضافه کنم و در تنظیمات ساعت وارد حالتی شوید که فقط دستگاه هایی که با این تگ مشخص شده اند روی صفحه نمایش داده شوند. کاربر انتخاب می کند که کدام دستگاه ها را می خواهد ببیند. یکی از دوستان نوشت که عالی بود: اکنون او پنج دستگاه دارد که مستقیماً از ساعت کنترل می کند.

    سپس یکی دیگر از کاربران برنامه من در مورد مشکل برای من نامه نوشت. این برنامه به طرز ماهرانه ای سنسورها را نمایش می دهد، اما فقط می تواند سوئیچ ها، علاوه بر این، سوئیچ های نوع "روشن" / "خاموش" را کنترل کند. اما بسیاری از دستگاه های قابل کنترل دیگر وجود دارد - به عنوان مثال، دیمر، که می توانید مقادیر را از 0٪ تا 100٪ تنظیم کنید. یا ماژول های RGB که می توانید هر رنگی را روی آنها تنظیم کنید.

    من موافقت کردم که پشتیبانی را اضافه کنم دستگاه های مشابه، اما از او خواسته است که ساختار شبکه خود را بفرستد تا ببیند آنها چگونه به نظر می رسند. او آن را فرستاد، من نگاه کردم - آنها باحال به نظر می رسند، اما معلوم نیست با آن چه باید کرد. وارد تنظیمات شدم و متوجه شدم که دستگاه های مجازی در Z-Way وجود دارد. چنین دستگاهی را می توان روی یک نوع، به عنوان مثال، سوئیچ چند سطحی تنظیم کرد و به یک دیمر مجازی تبدیل می شود.


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

    سپس RGB را گرفتم. این کنترل نوارهای LED است که می تواند هر رنگی را نمایش دهد. نورپردازی RGB نه چندان دور به استاندارد Z-Wave معرفی شد، بنابراین در ابتدا مانند سه دیمر در سیستم به نظر می رسید. یعنی همه دستگاه ها گزارش دادند که سه دیمر هستند و امکان کنترل جداگانه کانال های قرمز، سبز و آبی وجود داشت. برای عملیات راحتبا دستگاه های قدیمی سیستم های مدرنمدیریت ساخته شده است دستگاه مجازینورپردازی RGB، که می تواند روی سه دیمر تنظیم شود.


    از آنجایی که ما قبلاً می دانیم که چگونه Dummy Dimmer را تعریف کنیم، می توانیم Dummy RGB را بسازیم. این نیز به خوبی کار کرد، اما من هنوز پشتیبانی مدیریت رنگ را اجرا نکرده ام - فقط کنترل کم نور را به "مشتری" ارسال کردم. و برای او، من فقط پشتیبانی از ساعت های سیاه و سفید را تنظیم کردم.

    دستگاه های مجازی

    قدرت دستگاه های مجازی در Z-Wave چه چیز دیگری است؟ بیایید یک دستگاه HTTP مجازی در نظر بگیریم، و فرض کنیم دستگاه دیگری دارید که با استاندارد Z-Wave سازگار نیست، اما با استفاده از درخواست های HTTP کنترل می شود.


    سپس یک درخواست HTTP برای روشن کردن می نویسیم: آدرسی که باید کشیده شود، درخواستی برای خاموش کردن آن، و درخواستی برای دریافت وضعیت دستگاه. به احتمال زیاد، دستگاهی که از Z-Wave پشتیبانی نمی کند، از پاسخ روشن / خاموش نیز پشتیبانی نمی کند.

    برای پشتیبانی از آن، می توانید جاوا اسکریپت Inline را وارد کنید، که پاسخ دستگاه شما را به روشن یا خاموش تبدیل می کند. و با داشتن یک دستگاه مجازی، می توانیم هر کاری که بخواهیم انجام دهیم. به عنوان مثال، هر دستگاه مبتنی بر کنترلرهای ESP8266 را در این سیستم ادغام کنید. یعنی سه سر میزنیم که دستگاه میتونه جواب بده و بعد هر تسمه ای.

    صحنه های

    این مجموعه ای از حالت های دستگاه منطقی است. صحنه را نمی توان روشن یا خاموش کرد - فقط می توان آن را فعال کرد. برای مثال من یک صحنه Away ساخته ام که وقتی از خانه خارج می شوم آن را فعال می کنم. او چراغ حمام و توالت را خاموش می کند، پریزهای حمام و آشپزخانه را خاموش می کند. فعال کردن صحنه دور همه چیز کنترل شده در خانه من را خاموش می کند. من یک صحنه پشت هم دارم. دو سوکت را به عقب روشن می‌کند، اما نه چراغ: وقتی برمی‌گردید، وقتی به آن نیاز دارید، آن را روشن می‌کنید.

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

    و آخرین. Z-Way در ساعت خوب است، اما شما فقط می توانید آن را در خانه کنترل کنید. اگر می خواهید از بیرون مدیریت کنید، می توانید یک ربات برای تلگرام بسازید. من یک ساده دارم: فرمان نور را برایش می فرستند، می پرسد: "کجا؟" - و نمادهای توالت و حمام را نشان می دهد. شما جایی را انتخاب می کنید، می پرسد: "چه باید کرد؟" - و نشان می دهد لامپ درخشانو سیاه. مشکی را انتخاب می کنی و او می گوید: "باشه، چراغ حمام خاموش است."

    نتیجه

    این اشتیاق به "خانه هوشمند" در هجوم زیادی برای من اتفاق افتاد. در نقطه‌ای از این ایده هیجان‌زده شدم، ماژول‌هایی سفارش دادم، یکی ساختم که فقط نور توالت و حمام را کنترل می‌کرد. سنسور حرکت، دما و رطوبت هم سفارش دادم. من آن را در حمام آویزان کردم و اتوماسیون جالبی انجام دادم: اگر فراموش کردید آن را خاموش کنید، چراغ توالت پس از 15 دقیقه به طور خودکار خاموش می شود، و چراغ حمام در ورودی، با سنسور حرکت روشن می شود و بعد از آن خاموش می شود. 15 دقیقه. همه چیز عالی است - به جز اینکه زندگی با آن غیرممکن است. معلوم شد که 15 دقیقه در توالت کافی نیست، به خصوص اگر Wi-Fi به خوبی در آنجا گیر کرده باشد. و خوب میگیره افزایش مدت زمان انتظار کمکی نکرد، بنابراین فعلاً این اتوماسیون را خاموش کردم و سنسور حرکت دیگری سفارش دادم.

    اتوماسیون در حمام ساده است: شما وارد می شوید - چراغ روشن می شود، شما خاموش می شوید - خاموش می شود. راحت. اما در ابتدا آن را خیلی خوب تنظیم نکردم: سنسور حرکت در ورودی بود و وقتی وارد دوش می شوید و پرده را می کشید، شما را نمی بیند و بعد از 15 دقیقه چراغ خاموش می شود. باید پرده را باز کنید، دستتان را تکان دهید و پرده را عقب بکشید. این مشکل با انتقال سنسور به وسط حمام حل شد تا به حرکت در دو طرف پرده واکنش نشان دهد.

    مفهوم خانه "هوشمند" چیست؟ در هر فروشگاهی لوازم خانگیشما می توانید تلویزیون های دارای تلویزیون هوشمند، جاروبرقی، سیستم های اسپلیت و غیره را مشاهده کنید استفاده راحتتوسعه دهندگان دستگاه های هوشمند ریموت های ویژه ای را ارائه می دهند. این دستگاه ها هم مزایا و هم معایبی دارند. بنابراین، اخیرا ابزارهایی برای تبدیل سیگنال های بلوتوث از دستگاه های تلفن همراه به اندروید به فرمتی قابل فهم برای دستگاه های خانگی - رمزگشاهای IR ظاهر شده اند.

    به دنبال چنین ابزارهایی در گوگل پلیبرنامه های اندروید برای کنترل خانگی شروع به ظاهر شدن کردند. در اینجا بیشترین هستند برنامه های محبوببرای اندروید، تعویض کنترل از راه دور:

    کنترل از راه دور برای تلویزیون

    راحت کنترل از راه دور مجازیبرای کنترل تلویزیون هیچ دکمه اضافی وجود ندارد، مجموعه اصلی شامل کنترل صدا و انتخاب کانال است. در 3 حالت کار می کند: مادون قرمز معمولی، "IR-Blaster" و عمومی شبکه وای فای.

    مزایای برنامه:سه گزینه برای اتصال به تلویزیون؛ رابط کاربری ساده؛ پشتیبانی از بسیاری از مدل های سیستم های تلویزیون "هوشمند".

    کنترل از راه دور گوشی هوشمند

    این یک کنترل از راه دور تلویزیون جهانی با عملکرد تلویزیون هوشمند است. اصل عملکرد مشابه کنترل از راه دور برای تلویزیون است. کلیدهای اصلی برای کنترل صدا و انتخاب کانال های تلویزیونی وجود دارد. مجموعه ای از عملکردهای اساسی (تغییر به حالت سه بعدی، فراخوانی لیست کانال ها و افزودن به موارد دلخواه) وجود دارد. پشتیبانی از شبکه های مادون قرمز یا Wi-Fi وجود دارد. از جمله مزیت های بزرگ عدم ​​پرداخت هزینه برای برنامه است.

    طرفداران:رابط بسیار واضح؛ پشتیبانی از اتصال WiFi و IR، برنامه رایگان.

    تلویزیون از راه دور جهانی

    بسیار شبیه به برنامه های قبلیبا توابع آنها تنها تفاوت این است که موقعیت مکانی راحت‌تر روی کنترل از راه دور مجازی، مانند یک کنترل از راه دور معمولی، به طوری که سریع‌تر به رابط کاربری عادت کنید. همچنین پشتیبانی از مادون قرمز، Wi-Fi، اتصال مستقیم هنگام وارد کردن آدرس IP وجود دارد.

    معایب:بدون مزایای آشکار

    Remote Control Pro

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

    نکات مثبت برنامه: Wi-Fi، پورت مادون قرمز برای اتصال؛ طراحی رابط کاربر پسند

    کنترل از راه دور جهانی Galaxy

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

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

    طرفداران:توانایی ایجاد تنظیمات از پیش تعیین شده؛ نه تنها تلویزیون، بلکه از لوازم خانگی مختلف نیز پشتیبانی می کند. لیست بزرگی از مارک های پشتیبانی شده

    معایب:بدون نسخه آزمایشی، برنامه پرداخت می شود.

    در اینجا ویدیویی وجود دارد که موضوع کنترل از راه دور و برنامه های دیگر برای مدیریت خانه هوشمند را ادامه می دهد: