Root Nationنرمدستورالعمل هاRaspberry Pi در اکوسیستم خانگی: ویژگی ها و مثال ها (قسمت 1)

Raspberry Pi در اکوسیستم خانگی: ویژگی ها و مثال ها (قسمت 1)

-

چند وقت پیش من خریداری شده است مینی کامپیوتر تک برد Raspberry Pi 4 (معروف به "تمشک» در میان آماتورها)، به خصوص درک نمی کنند که چگونه و برای چه چیزی می تواند در خانه استفاده شود. در عوض، این یک اسباب‌بازی تکنولوژیکی دیگر بود، و با پول کاملاً قابل قبول، بنابراین می‌توانستید از عهده آزمایش برآیید. با نگاهی به آینده، می توانم بگویم که در حال حاضر خدماتی به عنوان مسدود کننده تبلیغات در سراسر شبکه دارم که روی RPi4 من اجرا می شود. صفحه اصلی AdGuard، سیستم ذخیره سازی پشتیبان Apple ماشین زمانصفحه اصلی برای افزودن دستگاه های غیرمجاز به اکوسیستم Apple HomeKit، برنامه ای برای دانلود تورنت انتقال، سرور رسانه PLEX و یک کنسول بازی یکپارچهسازی با سیستمعامل RetroPie. من قصد دارم با یک مدیر رمز عبور خود میزبانی شده آزمایش کنم بیتورودن، یک آنالوگ منبع باز معروف 1Password. برای چنین کوچولویی به اندازه یک پاکت سیگار کم نیست، درست است؟

Raspberry Pi 4 با صفحه کلید و ماوس

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

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

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

آماده سازی رزبری پای

لازم به ذکر است که ویرایش های اولیه Raspberry Pi از نظر سخت افزاری کاملاً ضعیف بود، بنابراین هر توسعه دهنده نرم افزار این رایانه را به عنوان یک ماشین تک وظیفه ای درک می کرد. به همین دلیل، هر سرویسی که می تواند روی RPi اجرا شود، به طور پیش فرض به عنوان یک تصویر آماده از سیستم عامل ارائه می شود. من آن را دانلود کردم، آن را روی کارت SD ضبط کردم، آن را در RPi قرار دادم و کامپیوتر آماده را با سرویس نصب شده روشن کردم. اما وظیفه ما این است که چندین سرویس را به طور همزمان راه اندازی کنیم، زیرا تجدید نظر فعلی این اجازه را می دهد. بنابراین، ما آنها را به عنوان برنامه های کاربردی نصب می کنیم.

بیایید فرض کنیم که شما قبلا یک Raspberry Pi را با یک سیستم Raspbian "تمیز" به یک شبکه محلی متصل کرده اید. اگر مبتدی هستید و نمی دانید از کجا شروع کنید، پس با آن شروع کنید  دستورالعمل های رسمی (پیوند را دنبال کنید - یک جادوگر گام به گام فوق العاده با تصاویر تعاملی زیاد)، و سپس به مرحله بعدی بروید.

مرحله 1

اول از همه، شما باید دسترسی توسط را فعال کنید SSH به رزبری پای شما. برای انجام این کار، باید چند مرحله ساده را انجام دهید:

  • پنجره Raspberry Pi Configuration را در منوی Preferences باز کنیدces" سیستم عامل
  • روی "Interfa" کلیک کنیدces»
  • در کنار SSH گزینه Enable را انتخاب کنید
  • برای اعمال تغییرات بر روی دکمه "OK" کلیک کنید

اگر Raspbian Lite را بدون رابط گرافیکی نصب کرده اید، در ترمینال روی خود Raspberry Pi، دستورات زیر را اجرا کنید:

sudo systemctl فعال کردن ssh sudo systemctl شروع ssh

دسترسی فعال شد.

- تبلیغات -

من یک رایانه macOS دارم، بنابراین می‌توانم درست مانند دارندگان رایانه لینوکس به مراحل بعدی بپرم. کاربران ویندوز 10 نیز مدتی پیش یک کلاینت داخلی OpenSSH را به عنوان بخشی از سیستم عامل خود دریافت کردند، اما ممکن است برای فعال کردن آن نیاز به دستکاری هایی باشد.

یک خط فرمان ویندوز یا یک پوسته PowerShell (هر کدام که ترجیح می دهید) را باز کنید و دستور زیر را تایپ کنید:

Get-WindowsCapability -Online | ? نام مانند "OpenSSH*"

اگر کلاینت SSH نصب شده باشد، پاسخ به دستور چیزی شبیه به این خواهد بود:

ویندوز 10 OpenSSH نصب شده است

اگر OpenSSH.Client در قسمت State به ما بگوید که NotPresent است، سریعترین راه برای فعال کردن آن وارد کردن دستور زیر است:

Add-WindowsCapability -Online -Name OpenSSH.Client*

این مرحله اول آماده سازی را تکمیل می کند، از جمله برای کاربران ویندوز. با توجه به ماهیت Raspberry Pi و این واقعیت که Raspbian OS در واقع نسخه دیگری از لینوکس است، ما باید کمی کار روی خط فرمان انجام دهیم. ممکن است برای برخی غیرعادی به نظر برسد، اما باور کنید هیچ چیز سخت یا غیرقابل جبرانی در این کار وجود ندارد، پس شجاع تر باشید. همه چی درست میشه.

مرحله 2

اکنون باید مطمئن شوید که Raspberry Pi شما همیشه همان آدرس IP داخلی را در شبکه محلی دریافت می کند. ساده ترین راه برای انجام این کار در تنظیمات روتر است.

من از سیستم MESH سه جزئی استفاده می کنم  ASUS ZenWiFi Mini با رابط وب استاندارد هر روتر این شرکت. برای پیوند آدرس های مک و IP، باید یک دستگاه را از لیست دستگاه های متصل انتخاب کنید و در پنجره باز شده، کافی است IP مورد نظر را مشخص کنید. در مورد من 192.168.50 را انتخاب کردم.10 فقط برای سهولت به خاطر سپردن

ASUS تنظیمات WiFi

در روترهای سایر سازندگان، آیتم منو ممکن است متفاوت خوانده شود، اما ماهیت آن یکسان خواهد ماند - صدور IP های محلی ثابت برای دستگاه های متصل.

مرحله 3

ما ترمینال (خط فرمان، PowerShell، و غیره) را روی رایانه شما از مجموعه استاندارد macOS، Linux یا Windows راه اندازی می کنیم.

ما تیم را می کشیم

ssh pi@

(جایی که به جای <ip address of your server> آی پی "رزبری" را از مرحله قبل وارد می کنیم) و تقریباً تصویر زیر را می بینیم:

رمز عبور ssh رزبری پای

در اینجا شما باید رمز عبور Raspberry Pi خود را که در هنگام راه اندازی اولیه مشخص کرده اید، حذف کنید.

- تبلیغات -

مهم! با وارد کردن رمز عبور روی صفحه نمایش داده نمی شود. و "ستاره ها" نیز نمایش داده نمی شوند. شما باید رمز عبور را به معنای واقعی کلمه "کور" تایپ کنید و Enter را فشار دهید.

اگر رمز عبور به درستی وارد شود، نتیجه چیزی شبیه به این خواهد بود:

رزبری پای ssh را وارد کنیدسلام، شما داخل رزبری پای خود هستید. خوش آمدی! می توانید به تنظیمات خدمات فردی بروید. و ما با ساده ترین شروع خواهیم کرد.

نشان‌واره خانه AdGuard

نصب و پیکربندی AdGuard Home در Raspberry Pi

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

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

بیایید به پنجره ترمینال برگردیم (بیایید موافقت کنیم که Windows PowerShell و پوسته های دیگر برای وارد کردن دستورات، در متن من به سادگی Terminal را صدا می زنم، خوب است؟)، ما دستورات زیر را اجرا می کنیم که بایگانی AdGuard Home را دانلود و باز می کند:

سی دی $HOME wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_armv6.tar.gz tar xvf AdGuardHome_linux_armv6.tar.gz

تنها چیزی که باقی می ماند نصب سرویس و اجرای آن است:

سی دی AdGuardHome sudo ./AdGuardHome -s install

نتیجه چیزی شبیه به این خواهد بود:

AdGuard Home نصب شده است

AdGuard Home قبلاً نصب شده است! ساده بود، نه؟

اکنون باید از رابط وب سرویس تازه نصب شده بازدید کنید. مرورگر (سافاری، کروم، فایرفاکس یا هر چیز دیگری که دارید - مهم نیست) را راه اندازی کنید و در نوار آدرس بکشید https://<ip address of your server>:3000. در مورد من، همانطور که به یاد داریم، https://192.168.50.10: 3000.

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

صفحه خوش آمدگویی رزبری پای AdGuard Homeدر مرحله سوم، از شما خواسته می شود که یک کاربر AdGuard Home ایجاد کنید و یک رمز عبور ایجاد کنید. در مورد چهارم توضیح داده می شود که آدرس IP Raspberry Pi (در مورد من همان 192.168.50.10) باید در قسمت مربوطه تنظیمات روتر به عنوان DNS ثبت شود. این کار را انجام دهید:

ASUS تنظیمات DNS روتر

در روترهای سایر سازندگان، نقطه تنظیمات مورد نظر تقریباً در همان مسیر قرار خواهد گرفت.

در مرحله بعد به تنظیمات خود AdGuard Home می رویم که هنوز به طور معصومانه ای تمیز است.

نصب تمیز Raspberry Pi AdGuard Home

اگر تلویزیون هوشمند دارید Samsung، LG یا موارد مشابه، به منوی "فیلترها - افزودن لیست سیاه" و در آنجا "انتخاب از لیست" بروید. Blocklist مربوطه را فعال کنید.

فیلتر تلویزیون خانگی Raspberry Pi AdGuard

اکنون باید فیلترهای تبلیغاتی روسی/اوکراینی زبان را به صورت دستی اضافه کنید. دوباره روی «Add blacklist» کلیک کنید، سپس «Add your list» را بزنید و به ترتیب مقادیر زیر را در فیلدهای مربوطه وارد کنید:

نام URL
فیلتر پایه AdGuard https://filters.adtidy.org/extension/chromium/filters/2.txt
فیلتر روسی AdGuard https://filters.adtidy.org/extension/chromium/filters/1.txt
فیلتر محافظت از ردیابی AdGuard https://filters.adtidy.org/extension/chromium/filters/3.txt

برای شروع، این فیلترها کاملاً کافی هستند.

برای مقایسه، من معمولا از exler.ru، سایتی پر از بنرهای کلاسیک استفاده می کنم. در سمت چپ - قبل، در سمت راست - پس از اعمال فیلترها.

به روز رسانی AdGuard Home در حالت دستی انجام می شود، اما به معنای واقعی کلمه با یک دکمه شروع می شود و بدون نیاز به مداخله چند ثانیه طول می کشد.

به روز رسانی Raspberry Pi AdGuard Home

به طور کلی همه چیز همین است. از این پس، همه دستگاه‌های خانگی شما تقریباً بدون آگهی هستند. یک استثنای ناخوشایند در اینجا برنامه مشتری است YouTube روی کنسول ها Apple تلویزیون، اما در اینجا محدودیت های معماری tvOS اعمال می شود، بنابراین AdGuard در این مورد ناتوان است.

Apple لوگو ماشین زمان

نصب و پیکربندی Time Machine در Raspberry Pi

طبق ویکی پدیا، Time Machine یک سیستم پشتیبان توسعه یافته است Apple و در Mac OS X Leopard و نسخه‌های بعدی macOS، و همچنین برنامه‌ای به همین نام تعبیه شده است که به شما امکان می‌دهد محتویات نسخه‌های پشتیبان را مشاهده کرده و فایل‌های فردی و سیستم عامل را به طور کلی بازیابی کنید.

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

برای اینکه Time Machine به درستی کار کند، فقط Raspberry Pi 4 یا جدیدتر مناسب است، با پورت USB 3.0 (در مدل های قبلی، پورت ها کندتر هستند) و هارد دیسک مناسب با حجم 1-3 ترابایت (با برق خارجی، در صورت وجود) یک دیسک 3,5 اینچی).

مهم! دو پروتکل شبکه وجود دارد که به macOS اجازه می دهد تا داده های Time Machine را در یک شبکه محلی ذخیره کند. Netatalk منسوخ شده یا Samba مدرن تر. در اصل، شما می توانید از هر یک از آنها برای وظایف ماشین زمان استفاده کنید. اینترنت مملو از دستورالعمل‌هایی برای سازماندهی فرآیند از طریق نتاتالک است، و همه این دستورالعمل‌ها درجات مختلفی از هوس هستند، اما وظیفه من ارائه ساده‌ترین و تضمین‌شده‌ترین گزینه کار است. و وظیفه شما این است که موردی را که برای شما مناسب است انتخاب کنید. بنابراین در مقاله ما هر دو را در نظر خواهیم گرفت.

آماده سازی هارد

ما HDD را به پورت USB 3.0 Raspberry Pi خود متصل می کنیم، از طریق SSH در ترمینال به آن دسترسی پیدا می کنیم و دستور را اجرا می کنیم. lsblk، که لیستی از درایوهای متصل را در کنسول نمایش می دهد. ما به اندازه دیسک توجه می کنیم تا مطمئن شویم که با کدام دیسک کار خواهیم کرد، نام آن و نقطه نصب آن، در مورد من ساده است sda، به احتمال زیاد، مال شما همچنان نقطه اتصال خواهد داشت /dev/sda‌. ما به او نیاز داریم.

قالب بندی هارد Raspberry Pi

دستور را وارد کنید sudo fdisk /dev/sda (یا با هر نقطه نصب دیگری که در مورد شما مرتبط است)، سپس روی صفحه کلید کلیک کنید m، برای مشاهده لیست کامل دستورات. حتی می توانید آن را در یک فایل متنی جداگانه کپی کنید (یا از راهنمایی زیر استفاده کنید).

GPT M وارد محافظ/هیبرید MBR عمومی d حذف یک پارتیشن F لیست فضای پارتیشن بندی نشده رایگان l لیست انواع پارتیشن های شناخته شده n اضافه کردن پارتیشن جدید p چاپ جدول پارتیشن t تغییر نوع پارتیشن v تایید جدول پارتیشن من چاپ اطلاعات در مورد یک پارتیشن متفرقه m چاپ این منو x قابلیت اضافی (فقط متخصصان) اسکریپت بارگیری طرح دیسک از فایل اسکریپت sfdisk O طرح بندی دیسک به فایل اسکریپت sfdisk ذخیره و خروج w نوشتن جدول در دیسک و خروج q خروج بدون ذخیره تغییرات ایجاد یک برچسب جدید g ایجاد یک برچسب جدید جدول پارتیشن GPT خالی G ایجاد یک جدول پارتیشن خالی جدید SGI (IRIX) o ایجاد یک جدول پارتیشن DOS خالی جدید s ایجاد یک جدول پارتیشن خالی جدید Sun

وظیفه ما انجام دادن است delete a partition به تعداد دفعات مورد نیاز برای پاکسازی کامل دیسک از پارتیشن ها و سپس ایجاد یک دیسک جدید با استفاده از add a new partition. فراموش نکنید که تغییرات را یادداشت کنید، یعنی write table to disk and exit. توانستی مدیریت کنی؟ کاملاً.

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

دستور را وارد کنید sudo mkfs.ext4 /dev/sda1. انجام شده.

اکنون باید UUID پارتیشن جدید خود را پیدا کنیم.
وارد شویم ls -lha /dev/disk/by-uuid و ما چیزی شبیه به این را می بینیم:

قالب بندی هارد Raspberry Pi

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

اکنون باید پوشه ای ایجاد کنیم که در آن دیسک خود را سوار می کنیم و به آن حقوق دسترسی مناسب می دهیم.

sudo mkdir /mnt/tm && sudo chmod -R 777 /mnt/tm && sudo chown pi:pi /mnt/tm

دیسک را سوار کنید. برای این کار فایل پیکربندی را با دستور ویرایش کنید

sudo nano / etc / fstab

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

با افزودن خط زیر به فایل باز شده تغییراتی را در آن ایجاد کنید

UUID=b32c00d8-0aa8-4ec4-b01f-18cbade45e7c /mnt/tm ext4 nofail,defaults 0 2

اما با UUID شما از مرحله قبل. می بایست شبیه به این باشه:

قالب بندی هارد Raspberry Pi

تغییرات را با کلیک کردن ذخیره کنید Ctrl + O і واردو سپس با کلیک کردن از ویرایشگر خارج شوید کلیدهای Ctrl + X.

Raspberry Pi را با دستور sudo reboot مجددا راه اندازی کنید و پس از راه اندازی مجدد مجدداً از طریق SSH وارد شوید.

تیم را بکش df -h و مطمئن شوید که درایو روی سیستم در نقطه نصب شده است /mnt/tm.

بسیار عالی، دیسک آماده کار است.


نصب و پیکربندی NETATALK (گزینه 1)

ما نصب می کنیم:

sudo apt-get نصب netatalk -y

ما همه چیز را در همان ویرایشگر پیکربندی می کنیم نانو:

sudo nano /etc/netatalk/afp.conf

و محتویات فایل کانفیگ را دقیقاً به این صورت می سازیم:

‌ ; فایل پیکربندی Netatalk 3.x. [جهانی]؛ تنظیمات سرور جهانی مدل تقلید = TimeCapsule6,106 [Time Machine] path = /mnt/tm time machine = yes valid users = pi ; [خانه ها]؛ baseir regex = /xxxx ; [جلد AFP من] ; path = /path/to/volume ; [حجم ماشین زمان من] ; path = /path/to/backup ; ماشین زمان = بله

فراموش نکنید که نتیجه را با کمک ذخیره کنید Ctrl + O → Ctrl+X را وارد کنید

اکنون فایل ویرایش شده است nsswitch.conf، اضافه کردن در انتهای خط hosts: مقادیر اضافی mdns4 mdns.

sudo nano /etc/nsswitch.conf

نتیجه باید به این صورت باشد:

# /etc/nsswitch.conf
#
# پیکربندی نمونه عملکرد سوئیچ سرویس نام گنو.
# اگر بسته‌های «glibc-doc-reference» و «info» را نصب کرده‌اید، امتحان کنید:
# `info libc "Name Service Switch"" برای اطلاعات درباره این فایل.

passwd: فایل ها
گروه: فایل ها
shadow: فایل ها
gshadow: فایل ها

میزبان: فایل‌ها mdns4_minimal [NOTFOUND=return] dns mdns4 mdns
شبکه ها: فایل ها

پروتکل ها: فایل های db
سرویسces: فایل های db
اترها: فایل های db
فایل های rpc: db

netgroup: nis

دوباره تغییرات را از طریق ذخیره می کنیم Ctrl + O → Ctrl+X را وارد کنید

سپس فقط شروع خدمات باقی می ماند:

سرویس sudo avahi-daemon start sudo service netatalk start

و عملکرد آنها را در تیم ها بررسی کنید:

وضعیت netatalk سرویس sudo

و

وضعیت سرویس sudo avahi-daemon

نتیجه باید به این صورت باشد:

پیام وضعیت Netatatlk

تنها چیزی که باقی می ماند این است که به تنظیمات macOS بروید، بخش Time Machine را انتخاب کنید و Raspberry Pi خود را در درایوهای موجود ببینید.

ماشین زمان Netatalk

ما به عنوان یک ورود مشخص می کنیم pi، به عنوان رمز عبور - رمزی که برای دسترسی SSH استفاده می شود.

انجام شد، گزینه استاندارد از طریق Netatalk پیکربندی شده است. اکنون، هر زمان که مک شما در همان شبکه وای فای محلی Raspberry Pi باشد، به طور خودکار پشتیبان‌گیری در درایو شما ایجاد می‌شود.

اکنون جایگزینی را در قالب پروتکل سامبا در نظر بگیرید که قابل اعتمادتر است.

نصب و پیکربندی SAMBA (گزینه 2)

ما سامبا را نصب می کنیم:

sudo apt-get نصب سامبا

رمز عبور کاربر (برای همان کاربر pi) را تنظیم کرده و پیکربندی را ویرایش می کنیم. رمز اول:

‌sudo smbpasswd -a pi (می توانید از همان SSH استفاده کنید).

و سپس پیکربندی Samba همه در یک ویرایشگر است نانو:

sudo nano /etc/samba/smb.conf

مسدود کردن محتوا [global] در پایان باید به این شکل باشد:

امنیت [جهانی] = رمز عبور کاربر رمزگذاری شده = نقشه واقعی به مهمان = کاربر بد حساب مهمان = هیچ کس

در انتهای فایل پیکربندی، یک بلوک جدید اضافه کنید:

[TimeCapsule] comment = مسیر کپسول زمان = /mnt/tm قابل مرور = بله قابل نوشتن = بله ایجاد ماسک = 0600 ماسک دایرکتوری = 0700 spotlight = بدون اشیاء vfs = catia fruit streams_xattr fruit:aapl = yes fruit: ماشین زمان = بله

و نتیجه را ذخیره می کنیم: Ctrl + O, وارد, کلیدهای Ctrl + X.

راه اندازی مجدد سرویس:

sudo systemctl smb.service را راه اندازی مجدد کنید

انجام شده مانند مورد Netatalk، باید دیسک را در لیست ارائه شده در پانل تنظیمات Time Machine پیدا کنید.

لوگوی Homebridge

نصب و پیکربندی Homebridge در Raspberry Pi

خوب، ما با موفقیت به عظیم ترین بلوک مقاله رسیده ایم.

صفحه اصلی یک سرور مبتنی بر NodeJS است که از Homekit API برای ادغام دستگاه‌ها بدون گواهینامه و پشتیبانی اولیه برای کار با آن استفاده می‌کند. Apple HomeKit

مشکل پیکربندی Homebridge این است که پلاگین های آن از طیف گسترده ای از پروتکل ها و دستگاه ها پشتیبانی می کنند و آنها را قابل مشاهده و مدیریت می کند. Apple HomeKit. بر این اساس، هر افزونه به روش خاص خود پیکربندی شده است، که اغلب کاملاً متفاوت از همتای خود برای دستگاه دیگری است.

بیا شروع کنیم. طبق معمول از طریق SSH به Raspberry Pi دسترسی پیدا می کنیم و چندین مرحله را انجام می دهیم.

در حال نصب Node.js

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

# setup repo curl -sL https://deb.nodesource.com/setup_14.x | sudo bash - # install Node.js sudo apt install -y nodejs gcc g++ make python net-tools # test node node -v # upgrade npm (نسخه 6.13.4 مشکلاتی با وابستگی git دارد) sudo npm install -g npm

نصب Homebridge و Homebridge Config UI X

برای شروع، بیایید پایه را با دستور زیر تنظیم کنیم...

sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x

... و آن را به عنوان یک سرویس سیستم اجرا کنید.

sudo hb-service نصب --user homebridge

پیکربندی Homebridge از طریق رابط وب

به آدرس موجود در مرورگر رایانه خود بروید http://<ip address of your server>:8581 کجا به جای <ip address of your server> در مورد من هنوز همان IP از همان ابتدای مقاله است

مقادیر پیش فرض کاربر و رمز عبور یکسان است: admin

توصیه می کنم فوراً به منوی "کاربران" بروید و مقادیر پیش فرض را در آنجا به مقادیر ایمن تر تغییر دهید.

تنظیمات کاربر Raspberry Pi Homebridge

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

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

مجموعه پلاگین های من در زمان نوشتن:

  • رابط کاربری Homebridge (شامل در پیکربندی اولیه است و تنظیمات خاص خود را ندارد)
  • رنگ (برای کنترل روشنایی Philips رنگ)
  • Apple از راه دور تلویزیون (برای کنترل ست تاپ باکس ها Apple تلویزیون)
  • Mqttthing (برای مدیریت لامپ گایور з سیستم عامل از Whilser)
  • Samsung دوازده (برای کنترل تلویزیون هوشمند Samsung با سیستم عامل تایزن)
  • آب و هوا پلاس (برای اتوماسیون یک خانه هوشمند بسته به شرایط آب و هوایی)
  • وای فای Yeelight (برای کنترل لامپ Xiaomi Yeelight)

یکی یکی بریم

تنظیمات افزونه Hue

برای نصب هر افزونه در Homebridge کافی است به تب مربوطه رابط وب رفته، نام اتو مورد نظر را در نوار جستجو وارد کرده و از لیست پلاگین های موجود، افزونه را انتخاب کنید. توصیه می کنم به برچسب "🛡تأیید شده"، نسخه و تاریخ به روز رسانی افزونه توجه کنید (اگر نویسنده یکی دو سال است آن را به روز نکرده باشد، احتمال زیادی وجود دارد که کار نکند) و حتما پیوند به صفحه اصلی افزونه را باز کنید، که معمولاً با جزئیات فرآیند نصب توضیح داده می شود.

Raspberry Pi Homebridge Hue

روی دکمه «نصب» در افزونه مورد نیاز کلیک کنید و یک یا دو دقیقه صبر کنید تا افزونه نصب شود.

پلاگین Homebridge Hue بسیار آسان برای راه اندازی فقط باید نام پیش‌فرضی را که در گزارش‌های Homebridge نمایش داده می‌شود، تنظیم کنید و انتخاب کنید که کدام نوع دستگاه‌های سازگار توسط افزونه مدیریت می‌شوند. در مورد من، این فقط نورپردازی است Philips Hue، و حتی اولین نسخه از هاب، گرد است.

پس از پر کردن داده ها و لزوماً ذخیره نتیجه، فقط باید دکمه مرکزی روی هاب را فشار دهید. Philips رنگ کنید و 15 ثانیه صبر کنید تا پلاگین هاب را بشناسد. انجام شده!

تنها چیزی که باقی می ماند این است که آیفون را بردارید، دوربین آن را به سمت کد QR واقع در زبانه "Status" رابط وب Homebridge بگیرید و آن را به عنوان یک پل به HomeKit خود اضافه کنید.

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

  • "چراغ اتاق نشیمن را روشن کنید (همه لامپ های اتاق نشیمن روشن می شوند)"
  • "چراغ زمین را روشن کنید"
  • "درخشندگی نور شب بیست درصد است"
  • "چراغ شب را روشن کن"
  • "چراغ بالای سر را خاموش کن"
  • "رنگ آبی روی چراغ کف"
  • "چراغ های اتاق نشیمن را خاموش کنید (همه چراغ های اتاق نشیمن را خاموش می کند)"
  • "همه چراغ ها را خاموش کنید (روشنایی را در سراسر آپارتمان خاموش می کند)"

و غیره. اگر آن را به درستی پیکربندی کرده اید Appleدستورات خانوادگی، مرتبط و کاملاً منطقی به طور خودکار در دسترس همه اعضای خانواده شما قرار می گیرد Apple شناسه.

تنظیمات افزونه Apple از راه دور تلویزیون

من از این افزونه برای یک هدف استفاده می کنم: ایجاد یک سوئیچ اضافی برای کنسول Apple تلویزیون. واقعیت این است که در Apple HomeKit این قابلیت را دارد که به عنوان مثال، پخش یک آلبوم یا لیست پخش را با توجه به یک شرایط از پیش تعیین شده، مانند "وقتی به خانه می آیم"، برنامه ریزی کند. و همه چیز خوب خواهد بود، اما اگر ستاپ باکس در این زمان خواب باشد، وجود چنین سناریویی نمی تواند آن را بیدار کند. اما یک سوئیچ مجازی اضافی امکان پذیر است. ما رفتیم:

مرحله 1. ما یک سرویس برای گرفتن اعتبار نصب می کنیم Apple TV

sudo npm نصب -g node-appletv-x

مرحله 2. ما به دنبال ست تاپ باکس های موجود در شبکه محلی هستیم Apple TV

کد: sudo appleجفت تلویزیون

مرحله 3. یک جفت با پیشوند مورد نظر ایجاد می کنیم. خروجی کنسول چیزی شبیه به این خواهد بود:

% appleجفت تلویزیون ✔ اتصال به اتاق نشیمن ✔ شروع جفت کردن؟ پین 4 رقمی که در حال حاضر در اتاق نشیمن نمایش داده می شود را وارد کنید

روی پله ‌? Enter the 4-digit pin that's currently being displayed on... روی صفحه ستاپ باکس انتخابی شما Apple تلویزیون، یک کد چهار رقمی استاندارد برای جفت شدن با کنترل از راه دور ظاهر می شود (در مثال ما، 1234) که باید همانجا در کنسول کشته شود.

% appleجفت تلویزیون ✔ اتصال به اتاق نشیمن ✔ شروع جفت کردن؟ پین 4 رقمی را که در حال حاضر در اتاق نشیمن 1234 نشان داده شده است وارد کنید ✔ تکمیل مدارک جفت شدن: 77346115-ED48-46A8-A288-

بجای <snip> چندین خط از ترکیبی از حروف و اعداد وجود دارد، آنها باید به طور کامل در یک فایل متنی جداگانه کپی شوند، از اولین شماره در خط شروع می شوند. Credentials:. کمی بعد همین مدارک تحصیلی ما بسیار به آن نیاز خواهیم داشت.

مرحله 4. بلوک زیر را به بخش پیکربندی رابط وب Homebridge در تب "پیکربندی" اضافه کنید "platforms": [

{ "سکو": "AppleTVPlatform، "name": "Apple پلت فرم تلویزیون"
   "دیویces": [
      {
         "نام": "مهمان خانه"،
         "credentials": "77346115-ED48-46A8-A288-"،
         "isOnOffSwitchEnabled": درست است،
         "onOffSwitchName":Apple تلویزیون" } ] }،

... و در یک خط "credentials": فقط محتوای کامل فایل متنی مرحله قبل را وارد کنید.

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

مرحله 5. ما خود افزونه را نصب می کنیم.

در تب "Modules" رابط وب Homebridge، در نوار جستجو تایپ کنید  Apple TV Remote و دکمه "نصب" را فشار دهید. پس از نصب افزونه، از شما خواسته می شود که Homebridge را مجددا راه اندازی کنید، این کار با فشار دادن دکمه مربوطه انجام می شود.

دکمه راه اندازی مجدد Raspberry Pi Homebridge

تمام شد، یک سوئیچ جدید در iPhone در HomeKit ظاهر شد که اکنون می تواند به تمام سناریوهایی که باید به طور خودکار ست تاپ باکس را روشن کنید اضافه شود.

دستورات صوتی مانند «سیری، روشن کن Apple تلویزیون» یا «سیری، خاموش Apple TV" نیز به صورت خودکار پشتیبانی می شوند. علاوه بر این، اگر چندین ستاپ باکس را در اتاق های مختلف پیکربندی کنید، سیری نیز به طور خودکار شروع به درک درخواست برای خاموش کردن آن می کند. Apple تلویزیون در یک اتاق خاص یا همه به یکباره.

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

پیکربندی افزونه Mqttthing

من از این پلاگین با لامپ Guyver که در بالا ذکر شد استفاده می کنم - یک لامپ خانگی با برد آردوینو و یک ماتریس 16x16 از LED های آدرس پذیر. خود لامپ باید با سیستم عامل Whilser پر شود. باشد که نیرو با شما باشد!

لامپ گیور با گروگو

مرحله 1. نصب بروکر MQTT

ما تعدادی دستور را اجرا می کنیم. آنها به صورت دسته ای کار نمی کنند، بنابراین ما آنها را یکی یکی وارد کنسول می کنیم.

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key اضافه کردن mosquitto-repo.gpg.key
سی دی /etc/apt/sourceces.list.d/
سودو ویگت 
sudo apt update
sudo apt نصب پشه-مشتریان
sudo /etc/init.d/mosquitto stop
sudo nano /etc/mosquitto/mosquitto.conf

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

# پیکربندی محلی خود را در /etc/mosquitto/conf.d/ قرار دهید # # شرح کامل فایل پیکربندی در # /usr/share/doc/mosquitto/examples/mosquitto.conf.example # pid_file /var/run/ است. mosquitto.pid allow_anonymous real listener 1883 persistence true persistence_location /var/lib/mosquitto/ log_dest موضوع log_type خطا log_type warning log_type اطلاعیه log_type اطلاعات connection_messages log_timestamp درست true include_dir /etc/mosquitto

مثل همیشه، Ctrl + O, وارد, کلیدهای Ctrl + Xو سپس بروکر را با دستور ریستارت کنید

sudo /etc/init.d/mosquitto start

کارگزار MQTT نصب شده است.

مرحله 2. نصب افزونه Mqttthing

ما معمولاً به تب "Modules" در رابط وب Homebridge، جستجو می کنیم Mqttthing و روی "نصب" کلیک کنید.

مرحله 3. پیکربندی افزونه Mqttthing

هر لامپ Guyver دارای شناسه تراشه ESP مخصوص به خود است. برای مثال ESP-3bd20b. اگر خودتان لامپ را ساختید و فلش زدید، کاملاً از آن مطلع هستید، اگر نه، لامپ را در حالت جفت قرار دهید و وقتی به شبکه وای فای خود وصل شوید، کادر محاوره ای مناسب در آیفون شناسه مورد نیاز را نشان می دهد. . آن را بنویسید.

  1. برق لامپ را خاموش کنید؛
  2. روتر را خاموش کنید؛
  3. برق لامپ را روشن کنید؛
  4. در iPhone، به "تنظیمات → وای فای" بروید
  5. یک شبکه ناامن با SSID مانند "ESP12345678" را انتخاب کنید و روی "Configure WiFi" در کادر گفتگو کلیک کنید.
  6. شناسه تراشه در پایین پنجره پیکربندی مورد نیاز است

اگر لامپ قبلاً پیکربندی شده است، می توانید به سادگی آن را خاموش کنید، روتر را روشن کرده و دوباره لامپ را روشن کنید - تنظیمات قدیمی برداشته می شوند. اگر این اولین اتصال لامپ است، روتر را روشن کنید و شبکه خود را در لیست تنظیمات انتخاب کنید، سپس تمام داده های لازم مانند رمز عبور وای فای خانگی و آدرس IP رزبری پای را وارد کنید.

تب "پیکربندی" رابط وب Homebridge و در بخش را باز کنید "accessories": [ چنین قطعه کد بزرگی را وارد کنید و شناسه قبلی را جایگزین کنید ESP-3bd20b به تنهایی:

{
    " accessory": "mqttthing"، "type": "lightbulb"، "name": "Nightlight"، "url": "http://127.0.0.1:1883"، "mqttPubOptions": { "retain": false } , "موضوعات": { "getOn": "homeassistant/light/ESP-3bd20b/status"، "setOn": "homeassistant/light/ESP-3bd20b/switch"، "getBrightness": "homeassistant/light/ESP-3bd20b" /brightness/status، "setBrightness": "homeassistant/light/ESP-3bd20b/brightness/set"، "getRGB": "homeassistant/light/ESP-3bd20b/rgb/status"، "setRGB": "homeassistant/light" /ESP-3bd20b/rgb/set" }, "onValue": "ON", "offValue": "OFF" }, { "accessory": "mqttthing"، "type": "television"، "name": "Night-light effect"، "url": "http://127.0.0.1:1883"، "topics": { "setActive" : "homeassistant/light/ESP-3bd20b/switch"، "getActive": "homeassistant/light/ESP-3bd20b/status"، "setActiveInput": "homeassistant/light/ESP-3bd20b/effect/set"، "getActiveInput" : "homeassistant/light/ESP-3bd20b/effect/status" }, "inputs": [ { "name": "Confetti", "value": "Confetti" }, { "name": "Fire", "value" ": "Fire" }, { "name": "Rainbow Vert.", "value": "Rainbow Vert." }, { "name": "Rainbow Horrors.", "value": "Rainbow Horrors." } , { "name": "Color Change", "value": "Color Change" }, { "name": "3D Madness", "value": "3D Madness" }, { "name": "3D Clouds" , " value": "3D Clouds" }, { "name": "3D Bench", "value": "3D Bench" }, { "name": "3D Plasma", "value": "3D Plasma" } , { "name": "Rainbow 3D", "value": "Rainbow 3D" }, { "name": "Peacock 3D", "value": "Peacock 3D" }, { "name": "Zebra 3D" , " value": "Zebra 3D" }, { "name": "Forest 3D", "value": "Forest 3D" }, { "name": "Ocean 3D", "value": "Ocean 3D" } , { "name": "Snowfall", "value": "Snowfall" }, { "name": "Matrix", "value": "Matrix" }, { "name": "Fireflies"، "value": "Fireflies " }, { "name": "Aquarium", "value": "Aquarium" }, { "name": "Starfall", "value": "Starfall" }, { "name": "Paintball", "value ": "Paintball" }, { "name": "Spiral", "value": "Spiral" }, { "name": "Warm Light", "value": "Garm Light" }, { "name": "Spiral" ": "Pendulum", "value": "Pendulum" }, { "name": "Blink", "value": "Blink" }, { "name": "Police" آژیر پلیس، "value": "Police" " } , { "name": "Drift", "value": "Drift" }, { "name": "Flock", "value": "Flock" } ], "onValue": "ON", "offValue" ": "خاموش" }

انجام شده که در Apple دو دستگاه جدید در HomeKit ظاهر شده اند، لامپ "Night Light" و "Night Light Effects". آنها به هم مرتبط هستند و هدف آنها کاملاً روشن است. در صورت تمایل می توانید نام آنها را در تنظیمات تغییر دهید.

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

{ "name": "Fire", "value": "Ogon" },

سپس نتیجه در iOS به شکل زیر خواهد بود:

لامپ Gyver Siri پچ شده

تنظیمات افزونه Samsung دوازده

مرحله 1. بررسی سازگاری تلویزیون

در کنترل پنل روتر، همانطور که در همان ابتدا برای Raspberry Pi انجام دادیم، یک IP محلی ثابت به تلویزیون بدهید. به عنوان مثال، در مورد من 192.168.50 است.100.

به آدرس موجود در مرورگر رایانه خود بروید  http://TV_IP:8001/api/v2، که در مورد من به این معنی است http://192.168.50.100:8001/api/v2/

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

{"device":{"FrameTVSupport":"false","GamePadSupport":"true","ImeSyncedSupport":"true","OS":"Tizen","TokenAuthSupport":"true","VoiceSupport":"false","countryCode":"UA","description":"Samsung DTV RCR","developerIP":"0.0.0.0","developerMode":"0","duid": ......

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

مقدار فیلد را از صفحه سرویس کپی کنید"wifiMac": و کنترل از راه دور را از تلویزیون آماده کنید، بگذارید در دسترس باشد.

مرحله 2. در حال نصب افزونه

چیز جدیدی نیست، ما در صورت درخواست به دنبال یک افزونه هستیم Samsung Tizen، مورد نظر را انتخاب کنید (نویسندگی @tavicu) و نصب کنید.

تمشک پی Samsung پلاگین تایزن

پس از راه اندازی، به تنظیمات بروید و مقادیر زیر را در آنجا وارد کنید:

تمشک پی Samsung تنظیمات پلاگین تایزن

نام "تلویزیون" کاملاً کافی است، زیرا سیری درخواست روشن کردن تلویزیون در اتاق نشیمن را که به سختی 2 تلویزیون در آن دارید، کاملاً درک می کند. او همچنین دستور "تلویزیون را در اتاق خواب روشن کنید" را کاملاً درک می کند، بدون اینکه یک بار دیگر تلویزیون را در اتاق نشیمن بکشد.

مرحله 3. اتصال به تلویزیون

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

مرحله 4. تلویزیون را به آن اضافه کنید Apple HomeKit

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

  1. برنامه Home را اجرا کنید و در صفحه اصلی، + را در گوشه سمت راست بالا فشار دهید.
  2. "افزودن لوازم جانبی" را انتخاب کنید؛
  3. در پایین صفحه، روی "بدون کد یا اسکن" کلیک کنید.
  4. در صفحه بعدی، تلویزیون خود را انتخاب کنید.
  5. هنگامی که از شما خواسته شد کد تنظیم HomeKit را وارد کنید، روی "استفاده از دوربین" کلیک کنید.
  6. دوربین را به سمت کد QR در تب Homebridge Status بگیرید.

مرحله 5. تنظیمات افزونه

حفاری عمیق در مستندات به افزونه، می‌توانید سیری را از لیست برنامه‌های نصب‌شده، برنامه‌های خاصی را روی تلویزیون اجرا کنید، آن‌ها را متوقف کنید و غیره. اکنون به عنوان تمرین، عملکرد یک دکمه را در ریموت مجازی تغییر می دهیم Apple کنترل از راه دور، در "پرده" مرکز کنترل iOS تعبیه شده است.

این دکمه ℹ︎ (اطلاعات) است، به طور پیش فرض اطلاعات مربوط به حالت تصویر فعلی را در قسمت بالای صفحه تلویزیون نمایش می دهد. در همان زمان، از کنترل از راه دور دسترسی داشته باشید Apple هیچ راهی برای اضافه کردن Remote به لیست برنامه های نصب شده روی تلویزیون وجود ندارد. و الان درستش میکنیم

Apple iOS از راه دور برای Samsung TV

به تنظیمات افزونه، بخش «نقشه کلید» بروید، قسمت «INFORMATION» را جستجو کنید و مقدار آن را به KEY_HOME. Homebridge و voila را مجددا راه اندازی کنید - دکمه ℹ︎ در کنترل از راه دور مجازی منوی اصلی برنامه را نشان می دهد! ریموت مجازی معنا پیدا کرد.

راه اندازی افزونه Weather Plus

مرحله 1. یک حساب کاربری OpenWeather ایجاد کنید

بریم تو سایت https://home.openweathermap.org و ثبت نام کنید، خوبی این است که رایگان است.

مرحله 2. تولید کلید API

OpenWeather

به برگه مورد نظر حساب شخصی OpenWeather بروید و با مشخص کردن نام کلید، روی دکمه "Generate" کلیک کنید.

OpenWeather

مرحله 3. نصب و پیکربندی افزونه Weather Plus

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

در پیش بینی، من شخصاً فقط به مقادیر یک ساعت آینده علاقه مند هستم، بنابراین بقیه به سادگی غیرفعال می شوند:

تنظیمات پیش‌بینی رزبری پای OpenWeather

و برای اینکه سنسورهای غیر ضروری آب و هوای مجازی با فعال سازی های غیرضروری آزاردهنده نباشند، آنها را در قسمت Hide Values ​​مربوطه غیرفعال می کنیم. غیرفعال کردن مطلوب است:

  • فشار هوا
  • پوشش ابر
  • نقطه شبنم
  • دما ظاهری
  • جهت باد
  • شاخص اشعه ماوراء بنفش
  • سرعت باد
  • حداکثر سرعت باد

و روی "ذخیره" در پایین پنجره تنظیمات کلیک کنید.

در نتیجه، در رابط Apple HomeKit مقادیر دما و رطوبت را برای یک ساعت آینده و همچنین دو سنسور مجازی "Snow" و "Rain" را نشان می دهد که می توانند در سناریوهای مختلف از آنها استفاده کنند. به عنوان مثال، من اتوماسیون HomeKit را برنامه ریزی کرده ام، که در آن، هنگامی که باران یا برف در پیش بینی آینده نزدیک ظاهر می شود، لامپ Guyver اثر گودال یا دانه های برف در حال سقوط را برای یک دقیقه نشان می دهد. در همان زمان، افکت فقط بین ساعت 8 صبح تا 00 شب و فقط در صورتی فعال می شود که شخصی در خانه باشد. در مواقع دیگر، اخطار برای گرفتن چتر یا پوشیدن لباس ضد آب بعید است ضروری باشد.

راه اندازی پلاگین WiFi Yeelight

در صورت درخواست Yeelight Homebridge پلاگین های زیادی را برای نصب ارائه می دهد، از جمله یکی تایید شده. اما من یکی دیگر را ترجیح می‌دهم که در آن انتقال بین دولت‌ها تا حد امکان به آرامی انجام شود و نه به سبک "شب بر اردوگاه افتاده است". علاوه بر این، پشتیبانی می کند نور تطبیقی іі Apple، اما اینجا برنامه استاندارد است Xiaomi از زمانی که این ویژگی در HomeKit ظاهر شد هرگز این را یاد نگرفتم.

پلاگین وای فای Raspberry Pi Yeelight

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

پس از نصب افزونه، Homebridge را مجددا راه اندازی کنید و چیزی شبیه به این را در گزارش جستجو کنید: ‌[Yeelight] Received advertisement from ab1234. این مشروط است ab1234 و لامپ شما آنجاست. شاید ارزش باشد color-ab1234، سپس با او کار خواهید کرد.

به تنظیمات افزونه بروید و کد زیر را در آنجا قرار دهید:

{ "platform": "yeelight"، "name": "Yeelight"، "transitions": { "power": 400، "brightness": 400، "color": 1500، "demperature": 1500 }، "multicast" : { "interface": "0.0.0.0" }, "defaultValue": { "color-ab1234": { "name": "Floor lamp", "blacklist": [ "set_hsv" ] } } }

کجا به جای color-ab1234 باید مقدار از لاگ شما باشد و در عوض ‌"name": "Торшер" هر نامی که نشان دهنده مکانی باشد که لامپ در آن پیچ شده است: چراغ شب، دیوارکوب، سقف و غیره.

تنظیمات پلاگین وای فای Raspberry Pi Yeelight

کد پیست شده را با کلیک بر روی دکمه Save ذخیره کنید و Homebridge را مجددا راه اندازی کنید. تمام شد، لامپ در HomeKit با نامی که شما انتخاب کردید ظاهر شد. بقیه لامپ های Yeelight یکی یکی با فشار دادن دکمه "+ ADD PLATFORM" در تنظیمات افزونه دقیقاً به همین روش اضافه می شوند.

به روز رسانی Homebridge و Node.JS در Raspberry Pi

به روز رسانی (و بازگرداندن نسخه) خود Homebridge بسیار ساده است: باید روی شماره نسخه فعلی در رابط وب کلیک کنید و نسخه مورد نظر را از لیست در کادر گفتگو انتخاب کنید.

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

Node.JS با دستور زیر به روز می شود:

sudo hb-service update-node

و NPM به اندازه دو متوالی:

sudo npm cache -f
sudo npm نصب -g npm

متأسفانه، نه خود Homebridge، نه پلاگین‌های آن، و نه «ریل‌هایی» که روی آن سوار می‌شود، نمی‌توانند به‌طور خودکار به‌روزرسانی شوند. و رفتن به کنترل پنل هر روز و بررسی اینکه آیا چیز جدیدی وجود دارد دیر یا زود خسته کننده می شود. بنابراین، برای خودکارسازی فرآیند، ویجت ویژه‌ای برای iOS 14 ارائه کردند که وضعیت تمام گره‌های Homebridge را نظارت می‌کند و قادر است وجود به‌روزرسانی‌ها یا هرگونه مشکل را به صورت بصری و با پیام‌های PUSH نشان دهد.

نصب ویجت Homebridge Status

ویجت وضعیت Raspberry Pi Homebridge

همانطور که می بینید، ویجت اطلاعات مفید و نه چندان مفید زیادی را در مورد Homebridge شما نشان می دهد، اما با ارزش ترین قسمت آن اطلاعاتی در مورد وضعیت Homebridge، پلاگین های آن و Node.JS است.

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

قابل اسکریپت
قابل اسکریپت
توسعهدهنده: سایمون بی استورینگ
قیمت: رایگان+

و اکنون روند نسبتا طولانی اما هیجان انگیز نصب ویجت آغاز می شود. ما آن را با کمک اسکریپت دیگری به نام ScriptDude در داخل برنامه Scriptable نصب می کنیم. ScriptDude خوب است زیرا تغییرات در کد انبوه اسکریپت های موجود در گالری در آدرس را ردیابی می کند. scriptables.net. شاید در آنجا چیز دیگری برای شما مفید باشد، اما اکنون یک کار داریم و آن را حل می کنیم.

مرحله 1. Scriptable.app را از اپ استور نصب کنید.

مرحله 2. سایت را در مرورگر آیفون باز کنید scriptdu.de و روی دکمه Install ScriptDude کلیک کنید.

وب سایت scriptdu.de

مرحله 3. در صفحه باز شده، روی دکمه Copy Installer کلیک کنید و با دریافت پیامی در مورد کد اسکریپت در کلیپ بورد ما، روی دکمه Open Scriptable کلیک کنید.

مرحله 4. محتویات کلیپ بورد را در قسمت خالی با عنوان Untitled Script وارد کنید و دکمه Play ▶️ را فشار دهید.

نصب ScriptDude

مرحله 5. در صفحه ای که باز می شود، روی پیوند کلیک کنید scriptables.net را مرور کنید و در صفحه بعد روی برچسب ضربه بزنید (فن آوری). هورای، اسکریپت Homebridge Status اولین لیست است! با خیال راحت روی دکمه Download with ScriptDude کلیک کنید.

مرحله 6. Install را فشار می دهیم و با موافقت با دو اخطار، اسکریپت مورد نظر را در لیست نصب شده می بینیم. صفحه اصلی Scriptables اکنون مانند اسکرین شات چهارم زیر است و ما روی سه نقطه در کاشی Homebridge Status کلیک می کنیم و به گزینه های ویرایش می رویم.

مرحله 7. اول از همه، مقدار را تغییر می دهیم overwritePersistedConfig з غلط بر درست

overwritePersistedConfig = درست است

برای ذخیره تنظیمات اسکریپت در iCloud.

پیکربندی وضعیت Raspberry Pi Homebridge

مرحله 8. کمی پایین تر، سه فیلد را ویرایش می کنیم: آدرس IP و پورت Homebridge (به یاد داشته باشید، این همان چیزی است که قبلا ذکر شد. http://<ip address of your server>:8581 کجا به جای <ip address of your server> در مورد من هنوز همان IP از همان ابتدای مقاله است ) و با هشدار در مورد جستجوی دستگاه ها در شبکه محلی موافقت کنید. هورا، فیلمنامه کار می کند!

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

USE_CONFIG:purple.json

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

overwritePersistedConfig = نادرست

همین. ویجت کار می کند و هنگامی که Node.JS، Homebridge یا افزونه های آن به روز رسانی می شود، اعلان های PUSH را با محتوای مربوطه دریافت خواهید کرد.

ویزنووک

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

به عنوان مثال، در زمان تاریک روز، اولین عضو خانواده که به خانه باز می گردد با چراغ های روشن از بیرون، در راهرو، اتاق نشیمن و حمام استقبال می شود - و اکنون دیگر نیازی به دویدن به سمت سوئیچ ها نیست. با دست های شسته نشده

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

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

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

به طور کلی، سناریوهای برنامه فقط به تخیل شما بستگی دارد و فشار زیادی بر کیف پول وارد نمی کند، زیرا محصولاتی با برچسب "کار می کند با Apple HomeKit دیگر تنها گزینه موجود نیست.

در مقاله بعدی چرخه، من و شما کمی لذت خواهیم برد: آموزش خواهیم داد ما Raspberry Pi دانلود تورنت، اجازه دهید آن را به یک مرکز رسانه قدرتمند و کنسول بازی یکپارچهسازی با سیستمعامل تبدیل کنیم.

گوش به زنگ باشید!

یوری استانیسلاوسکی
یوری استانیسلاوسکیhttp://notarecords.com
توسعه دهنده SwiftUI. من وینیل جمع می کنم. گاهی یک روزنامه نگار. صاحب فروشگاه نوتا رکورد.
- تبلیغات -
ثبت نام
اطلاع رسانی در مورد
مهمان

0 نظرات
بررسی های جاسازی شده
مشاهده همه نظرات
برای به روز رسانی مشترک شوید