Root NationDasturiy ta'minotKo'rsatmalarUy ekotizimidagi Raspberry Pi: xususiyatlar va misollar (1-qism)

Uy ekotizimidagi Raspberry Pi: xususiyatlar va misollar (1-qism)

-

Biroz vaqt oldin men sotib olingan bitta taxtali mini-kompyuter Raspberry Pi 4 (aka "Malina» havaskorlar orasida), ayniqsa uyda qanday va nima uchun ishlatilishini tushunmaydi. Aksincha, bu boshqa texnologik o'yinchoq edi va mutlaqo maqbul pul evaziga siz tajriba o'tkazishingiz mumkin edi. Oldinga qarab, aytishim mumkinki, menda hozirda RPi4-da ishlaydigan tarmoq bo'ylab reklama blokeri kabi xizmatlar mavjud. AdGuard uyi, zaxira saqlash tizimi Apple Time MachineUy ko'prigi ekotizimga sertifikatlanmagan qurilmalarni qo'shish Apple Bosh sahifaKit, torrentlarni yuklab olish uchun dastur uzatish, media server Plex va retro o'yin konsoli RetroPie. Men o'z-o'zidan joylashtirilgan parol menejeri bilan tajriba o'tkazishni rejalashtirmoqdaman Bitwarden, mashhur 1Password ning ochiq manba analogi. Bir quti sigaret kattaligidagi bunday kichkina odam uchun juda kam emas, to'g'rimi?

Raspberry Pi 4 klaviatura va sichqoncha bilan

Bu tsiklda bilan ikki maqolalar, men bularning barchasini qanday o'rnatganim va sozlaganimni iloji boricha batafsil aytib berishga harakat qilaman.

Birinchi maqola ko'knori dehqonlari uchun foydaliroq bo'ladi, chunki u ekotizim uchun o'ziga xos xususiyatga ega Apple punktlari, garchi AdGuard bilan bog'liq bo'lim har qanday ish stoli yoki mobil operatsion tizim foydalanuvchilari uchun qiziqish uyg'otadi.

Ikkinchi maqolada istisnosiz hamma uchun foydali bo'lishi mumkin bo'lgan universal xizmatlarni ko'rib chiqing. Va siz va men oddiy odamlar kabi rivojlanamiz - oddiydan murakkabga.

Raspberry Pi tayyorlash

Shuni ta'kidlash kerakki, Raspberry Pi-ning dastlabki versiyalari apparat jihatidan ancha zaif edi, shuning uchun har bir dastur ishlab chiqaruvchisi ushbu kompyuterni bitta vazifali mashina sifatida qabul qildi. Shu sababli, RPi da ishga tushirilishi mumkin bo'lgan har qanday xizmat sukut bo'yicha operatsion tizimning tayyor tasviri sifatida taklif etiladi. Men uni yuklab oldim, SD-kartaga yozib oldim, RPi-ga joylashtirdim va o'rnatilgan xizmat bilan tayyor kompyuterni yoqdim. Ammo bizning vazifamiz bir vaqtning o'zida bir nechta xizmatlarni ishga tushirishdir, chunki joriy tahrir bunga imkon beradi. Shuning uchun biz ularni ilovalar sifatida o'rnatamiz.

Faraz qilaylik, siz allaqachon Raspberry Pi-ni "toza" Raspbian tizimi bilan mahalliy tarmoqqa ulagansiz. Agar siz yangi boshlovchi bo'lsangiz va qaerdan boshlashni bilmasangiz, unda boshlang  rasmiy ko'rsatmalar (havolaga rioya qiling - juda ko'p interaktiv rasmlarga ega bo'lgan ajoyib bosqichma-bosqich sehrgar) va keyin keyingi bosqichga o'ting.

1 -qadam

Avvalo, kirishni yoqishingiz kerak sSH Raspberry Pi-ga. Buning uchun siz bir necha oddiy amallarni bajarishingiz kerak:

  • Preferences menyusida Raspberry Pi konfiguratsiyasi oynasini ochingces" operatsion tizim
  • "Interfa" tugmasini bosingces»
  • SSH yonidagi Yoqish-ni tanlang
  • O'zgarishlar kuchga kirishi uchun "OK" tugmasini bosing

Agar sizda grafik interfeyssiz Raspbian Lite o'rnatilgan bo'lsa, Raspberry Pi-ning o'zida terminalda quyidagi buyruqlarni bajaring:

sudo systemctl ssh ni yoqish sudo systemctl start ssh

Kirish yoqilgan.

- Reklama -

Mening macOS kompyuterim bor, shuning uchun men xuddi Linux kompyuter egalari kabi keyingi bosqichlarga o'tishim mumkin. Windows 10 foydalanuvchilari ham bir muncha vaqt oldin o'zlarining operatsion tizimining bir qismi sifatida o'rnatilgan OpenSSH mijozini olishgan, ammo uni faollashtirish uchun ba'zi manipulyatsiyalar talab qilinishi mumkin.

Windows buyruq satrini yoki PowerShell qobig'ini oching (qaysi birini afzal ko'rasiz) va quyidagi buyruqni kiriting:

Get-WindowsCapability -Onlayn | ? Nomi - "OpenSSH*" kabi

Agar SSH mijozi o'rnatilgan bo'lsa, buyruqqa javob quyidagicha bo'ladi:

Windows 10 OpenSSH o'rnatilgan

Agar OpenSSH.Client bizga Davlat maydonida u NotPresent ekanligini aytsa, uni faollashtirishning eng tezkor usuli quyidagi buyruqni kiritishdir:

Add-WindowsCapability -Online -OpenSSH.Client nomi*

Bu tayyorgarlikning birinchi bosqichini yakunlaydi, shu jumladan Windows foydalanuvchilari uchun. Raspberry Pi ning tabiatini va Raspbian OS aslida Linuxning boshqa versiyasi ekanligini hisobga olsak, biz buyruq satrida biroz ishlashimiz kerak bo'ladi. Ba'zilar uchun bu g'ayrioddiy tuyulishi mumkin, lekin menga ishoning, bu erda hech qanday qiyin yoki tuzatib bo'lmaydigan narsa yo'q, shuning uchun jasurroq bo'ling. Hammasi yaxshi bo'ladi.

2 -qadam

Endi siz Raspberry Pi har doim mahalliy tarmoqda bir xil ichki IP-manzilni olishiga ishonch hosil qilishingiz kerak. Buning eng oson yo'li yo'riqnoma sozlamalarida.

Men uch komponentli MESH tizimidan foydalanaman  ASUS ZenWiFi Mini ushbu kompaniyaning har qanday routerining standart veb-interfeysi bilan. MAC va IP manzillarini bog'lash uchun siz ulangan qurilmalar ro'yxatidan qurilmani tanlashingiz kerak va qalqib chiquvchi oynada kerakli IP-ni ko'rsatish kifoya. Mening ishimda men 192.168.50 ni tanladim.10 shunchaki eslab qolish qulayligi uchun.

ASUS WiFi sozlamalari

Boshqa ishlab chiqaruvchilarning marshrutizatorlarida menyu elementi boshqacha nomlanishi mumkin, ammo uning mohiyati bir xil bo'lib qoladi - ulangan qurilmalarga statik mahalliy IP-larni berish.

3 -qadam

Biz macOS, Linux yoki Windows standart to'plamidan kompyuteringizda Terminalni (buyruqlar qatori, PowerShell va boshqalar) ishga tushiramiz.

Biz jamoani o'ldiramiz

ssh pi@

(qaerda o'rniga <ip address of your server> biz oldingi bosqichdagi "malina" IP-ni kiritamiz) va biz taxminan quyidagi rasmni ko'ramiz:

Raspberry Pi ssh parol

Bu erda siz dastlabki sozlash paytida ko'rsatgan Raspberry Pi parolini o'ldirishingiz kerak.

- Reklama -

Muhim! Parolni kiritganingizda ekranda ko'rsatilmaydi. Va "yulduzlar" ham ko'rsatilmaydi. Parolni tom ma'noda "ko'r-ko'rona" kiritishingiz va Enter tugmasini bosishingiz kerak.

Agar parol to'g'ri kiritilgan bo'lsa, natija quyidagicha bo'ladi:

Raspberry Pi ssh kiritingSalom, siz Raspberry Pi-dasiz. Xush kelibsiz! Siz individual xizmatlarning sozlamalariga o'tishingiz mumkin. Va biz eng oddiyidan boshlaymiz.

AdGuard uy logotipi

Raspberry Pi-da AdGuard Home-ni o'rnatish va sozlash

AdGuard uyi, ishlab chiquvchining guvohligiga ko'ra - "reklama va kuzatuvga qarshi kuchli tarmoq vositasi. Narsalar internetining roli ortib borishi bilan butun tarmoqni boshqarish tobora muhim ahamiyat kasb etmoqda. Sozlangandan so'ng, AdGuard Home mijoz tomonidan dasturiy ta'minotga muhtoj bo'lmasdan BARCHA uy qurilmalaringizni qamrab oladi."

Oddiy qilib aytganda, bu har bir qurilmangizda alohida ilovalar yoki brauzer plaginlari sifatida ishlamaydigan reklama filtri, balki butun uy LANni filtrlar bilan qoplaydigan universal yechim.

Terminal oynasiga qaytaylik (Keling, Windows PowerShell va buyruqlarni kiritish uchun boshqa qobiqlar, matnda men shunchaki Terminalni chaqiraman, shundaymi?), Biz AdGuard Home arxivini yuklab olish va ochish uchun quyidagi buyruqlarni bajaramiz:

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

Xizmatni o'rnatish va ishga tushirish qoladi:

cd AdGuardHome sudo ./AdGuardHome -s o'rnatish

Natija shunday ko'rinadi:

AdGuard Home o'rnatilgan

AdGuard Home allaqachon o'rnatilgan! Bu oddiy edi, shunday emasmi?

Endi siz yangi o'rnatilgan xizmatning veb-interfeysiga tashrif buyurishingiz kerak. Brauzerni ishga tushiring (Safari, Chrome, Firefox yoki sizda nima bo'lishidan qat'i nazar - bu muhim emas) va manzil satrida o'ldirish https://<ip address of your server>:3000. Mening holimda, biz eslaganimizdek, https://192.168.50.10: 3000.

Siz bosqichma-bosqich dastlabki o'rnatish ustasini ko'rasiz. Agar siz boshqa tildagi interfeys bilan qulayroq bo'lsangiz, darhol kerakli tilga o'tishingiz mumkin. Ro'yxatga, jumladan, ukrain, polsha va rus tillari kiradi.

Raspberry Pi AdGuard Bosh sahifasiga xush kelibsiz ekraniUchinchi bosqichda sizdan AdGuard Home foydalanuvchisini yaratish va parolni o'ylab topish so'raladi. To'rtinchidan, Raspberry Pi IP-manzili (mening ishimda bir xil 192.168.50.10) router sozlamalarining tegishli bo'limida DNS sifatida ro'yxatdan o'tkazilishi kerakligi tushuntiriladi. Buni bajaring:

ASUS router DNS sozlamalari

Boshqa ishlab chiqaruvchilarning marshrutizatorlarida kerakli sozlash nuqtasi taxminan bir xil yo'lda joylashgan bo'ladi.

Keyinchalik, biz AdGuard Home sozlamalariga o'tamiz, u hali ham toza.

Raspberry Pi AdGuard Home toza o'rnatish

Agar sizda Smart TV bo'lsa Samsung, LG yoki shunga o'xshash bo'lsa, "Filtrlar - Qora ro'yxatga qo'shish" menyusiga o'ting va u erda "Ro'yxatdan tanlang". Tegishli Bloklar ro'yxatini faollashtiring.

Raspberry Pi AdGuard Home TV filtri

Endi siz rus/ukrain tilidagi reklama filtrlarini qo'lda qo'shishingiz kerak. Yana "Qora ro'yxatga qo'shish" tugmasini bosing, keyin "Ro'yxatingizni qo'shing" va tegishli maydonlarga ketma-ket quyidagi qiymatlarni kiriting:

Im'ya URL
AdGuard bazasi filtri https://filters.adtidy.org/extension/chromium/filters/2.txt
AdGuard rus filtri https://filters.adtidy.org/extension/chromium/filters/1.txt
AdGuard Tracking Protection filtri https://filters.adtidy.org/extension/chromium/filters/3.txt

Boshlash uchun bu filtrlar etarli.

Taqqoslash uchun men odatda klassik bannerlar bilan to'la sayt exler.ru dan foydalanaman. Chapda - oldin, o'ngda - filtrlarni qo'llashdan keyin.

AdGuard Home-ni yangilash qo'lda rejimda amalga oshiriladi, lekin u tom ma'noda bitta tugma bilan boshlanadi va aralashuvni talab qilmasdan bir necha soniya davom etadi.

Raspberry Pi AdGuard Home yangilanishi

Umuman olganda, hammasi shu. Bundan buyon barcha uy qurilmalaringiz deyarli reklamasiz. Bu erda noxush istisno mijoz dasturidir YouTube konsollarda Apple TV, lekin bu erda tvOS arxitekturasining cheklovlari kuchga kiradi, shuning uchun AdGuard bu holatda kuchsizdir.

Apple Vaqt mashinasi logotipi

Raspberry Pi-da Time Machine-ni o'rnatish va sozlash

Vikipediyaga ko'ra, Time Machine ishlab chiqilgan zaxira tizimi Apple va Mac OS X Leopard va macOS ning keyingi versiyalarida, shuningdek, zaxira nusxalari tarkibini ko'rish va alohida fayllarni va umuman operatsion tizimni tiklash imkonini beruvchi bir xil nomdagi dasturga o'rnatilgan.

Oddiy qilib aytganda, bu mos keladigan fayl serverini talab qiluvchi macOS’ga o‘rnatilgan soatlik zaxira tizimi. Raspberry Pi-ni xuddi shunday serverga aylantirishingiz mumkin, agar siz unga tashqi USB HDD ulansangiz.

Time Machine to'g'ri ishlashi uchun USB 4 portlari (oldingi modellarda portlar sekinroq) va 3.0-1 terabayt hajmli mos HDD (agar u bo'lsa, tashqi quvvat bilan) bo'lgan faqat Raspberry Pi 3 yoki undan keyingi versiyalari mos keladi. 3,5 dyuymli disk).

Muhim! MacOS-ga Time Machine ma'lumotlarini mahalliy tarmoqda saqlashga imkon beruvchi ikkita tarmoq protokoli mavjud. Eskirgan Netatalk yoki zamonaviyroq Samba. Asosan, ularning har qandayidan Time Machine vazifalari uchun foydalanishingiz mumkin. Internet Netatalk orqali jarayonni tashkil qilish bo'yicha ko'rsatmalarga to'la va bu ko'rsatmalarning barchasi turli darajadagi injiqliklarga ega, ammo mening vazifam eng oddiy, kafolatlangan ish variantini berishdir. Va sizning vazifangiz siz uchun qulay bo'lganini tanlashdir. Shunday qilib, maqolada biz ikkalasini ham ko'rib chiqamiz.

HDD tayyorlash

Biz HDD-ni Raspberry Pi-ning USB 3.0 portiga ulaymiz, unga SSH orqali terminalga kiramiz va buyruqni bajaramiz. lsblk, bu konsolda ulangan drayverlar ro'yxatini ko'rsatadi. Qaysi biri bilan ishlashimizga, uning nomi va o'rnatish nuqtasiga ishonch hosil qilish uchun biz diskning o'lchamiga e'tibor beramiz, mening holimda bu oddiy. sda, sizniki baribir o'rnatish nuqtasi bo'ladi, katta ehtimol /dev/sda‌. Bizga u kerak.

Raspberry Pi HDD formatlash

Buyruqni kiriting sudo fdisk /dev/sda (yoki sizning holatingizga mos keladigan boshqa o'rnatish nuqtasi bilan), keyin klaviaturani bosing m, buyruqlarning toʻliq roʻyxatini koʻrish uchun. Siz hatto uni alohida matn fayliga nusxalashingiz mumkin (yoki quyidagi maslahatdan foydalaning).

GPT M himoya/gibrid MBR Generic kiriting d bo‘limni o‘chiring F bo‘linmagan bo‘sh joy ro‘yxatini bo‘shating l ma’lum bo‘lim turlarini ro‘yxatlash n yangi bo‘lim qo‘shish p bo‘lim jadvalini chop etish t bo‘lim turini o‘zgartirish v bo‘lim jadvalini tekshirish i bo‘lim haqidagi ma’lumotlarni chop etish Boshqa m ushbu menyuni chop etish x qo‘shimcha funksiyalar (faqat ekspertlar uchun) Skript Men disk tartibini sfdisk skript faylidan yuklayman O disk tartibini sfdisk skript fayliga tashlab qo‘yaman Saqlash va chiqish w jadvalni diskka yozish va chiqish q o‘zgarishlarni saqlamasdan chiqish Yangi yorliq yaratish g yangisini yaratish bo'sh GPT bo'lim jadvali G yangi bo'sh SGI (IRIX) bo'lim jadvalini yaratish yoki yangi bo'sh DOS bo'lim jadvalini yaratish s yangi bo'sh Sun bo'lim jadvalini yaratish

Bizning vazifamiz qilishdir delete a partition diskni bo'limlardan to'liq tozalash uchun qancha marta kerak bo'lsa, so'ngra yangisini yarating add a new partition. O'zgarishlarni yozishni unutmang, ya'ni write table to disk and exit. Siz boshqardingizmi? Mukammal.

Endi biz diskda fayl tizimini yaratamiz. Diskni fayl tizimlaridan birida formatlash kerak degan tarmoqdagi fikrlar xilma-xilligiga qaramay, odatiy ext4 etarli. Apple. Aslida, bu hech qanday foyda keltirmasdan tayyorgarlik jarayonini murakkablashtiradi.

Buyruqni kiriting sudo mkfs.ext4 /dev/sda1. Bajarildi.

Endi biz yangi bo'limimizning UUID-ni topishimiz kerak.
Keling, kiraylik ls -lha /dev/disk/by-uuid va biz shunga o'xshash narsani ko'ramiz:

Raspberry Pi HDD formatlash

UUIDni biznikidan nusxa oling sda1 Agar tarixga ega kengaytirilgan almashuv buferidan foydalanmasangiz, alohida matn fayliga kiriting.

Endi biz diskimizni o'rnatadigan va unga tegishli kirish huquqlarini beradigan papkani yaratishimiz kerak.

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

Diskni o'rnating. Buning uchun buyruq bilan konfiguratsiya faylini tahrirlang

sudo nano / etc / fstab

Nano bu holda, men foydalanishni afzal ko'rgan tizimda o'rnatilgan muharrirning nomi.

Ochilgan faylga quyidagi qatorni qo'shish orqali o'zgartirishlar kiriting

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

lekin oldingi bosqichdagi UUID bilan. Bu shunday ko'rinishi kerak:

Raspberry Pi HDD formatlash

O'zgarishlarni bosish orqali saqlang Ctrl + O і kiritingni bosing va keyin bosish orqali muharrirdan chiqing Ctrl + X.

Sudo reboot buyrug'i bilan Raspberry Pi-ni qayta ishga tushiring va qayta ishga tushirilgandan so'ng SSH orqali qayta kiring.

Jamoani o'ldiring df -h va haydovchi nuqtada tizimga o'rnatilganligiga ishonch hosil qiling /mnt/tm.

Zo'r, disk ishlashga tayyor.


NETATALK ni o'rnatish va sozlash (1-variant)

Biz o'rnatamiz:

sudo apt-get install netatalk -y

Biz hamma narsani bir xil muharrirda sozlaymiz Nano:

sudo nano /etc/netatalk/afp.conf

Va biz konfiguratsiya faylining mazmunini aynan shunday qilamiz:

‌; ; Netatalk 3.x konfiguratsiya fayli; [Global]; Global server sozlamalari taqlid modeli = TimeCapsule6,106 [Time Machine] path = /mnt/tm time machine = ha to'g'ri foydalanuvchilar = pi ; [Uylar]; basedir regex = /xxxx ; [Mening AFP hajmi]; yo'l = /path/to/volume ; [Mening vaqt mashinasi hajmi]; yo'l = /path/to/backup ; vaqt mashinasi = ha`

Natijani yordam bilan saqlashni unutmang Ctrl + O → Kirish → Ctrl+X

Fayl endi tahrirlangan nsswitch.conf, satr oxiriga qo'shish hosts: qo'shimcha qiymatlar mdns4 mdns.

sudo nano /etc/nsswitch.conf

Natija quyidagicha ko'rinishi kerak:

# /etc/nsswitch.conf
#
# GNU Name Service Switch funksiyasining konfiguratsiya namunasi.
# Agar sizda "glibc-doc-reference" va "info" paketlari o'rnatilgan bo'lsa, harakat qilib ko'ring:
Ushbu fayl haqida ma'lumot olish uchun # `info libc "Name Service Switch"'.

passwd: fayllar
guruh: fayllar
soya: fayllar
gshadow: fayllar

xostlar: mdns4_minimal fayllari [NOTFOUND=qaytish] dns mdns4 mdns
tarmoqlar: fayllar

protokollar: db fayllari
xizmatces: db fayllari
efirlar: db fayllari
rpc: db fayllari

tarmoq guruhi: nis

Biz yana o'zgarishlarni saqlaymiz Ctrl + O → Kirish → Ctrl+X

Keyin xizmatlarni ishga tushirishgina qoladi:

sudo xizmati avahi-daemon ishga tushirish sudo xizmati netatalk start

Va ularning jamoalardagi faoliyatini tekshiring:

sudo xizmati netatalk holati

va

sudo xizmati avahi-daemon holati

Natija quyidagicha ko'rinishi kerak:

Netatatlk holati xabari

Faqat macOS sozlamalariga o'tish, Time Machine bo'limini tanlash va mavjud drayverlarda Raspberry Pi-ni ko'rish qoladi.

Vaqt mashinasi Netatalk

Biz login sifatida belgilaymiz pi, parol sifatida - SSH kirish uchun ishlatiladigan parol.

Bajarildi, Netatalk orqali standart variant sozlandi. Endi, Mac kompyuteringiz Raspberry Pi bilan bir xil mahalliy Wi-Fi tarmog'ida bo'lganda, zaxira nusxalari avtomatik ravishda diskingizga amalga oshiriladi.

Endi Samba protokoli ko'rinishidagi muqobilni ko'rib chiqing, u yanada ishonchli hisoblanadi.

SAMBA-ni o'rnatish va sozlash (2-variant)

Biz Samba-ni o'rnatamiz:

sudo apt-get samba-ni o'rnating

Biz foydalanuvchi parolini o'rnatamiz (xuddi shu pi foydalanuvchisi uchun) va konfiguratsiyani tahrirlaymiz. Birinchi parol:

‌sudo smbpasswd -a pi (siz SSH bilan bir xil foydalanishingiz mumkin).

Va keyin Samba konfiguratsiyasi hammasi bir xil muharrirda Nano:

sudo nano /etc/samba/smb.conf

Kontentni bloklash [global] oxirida shunday bo'lishi kerak:

[global] xavfsizlik = foydalanuvchi shifrlash parollari = mehmon uchun haqiqiy xarita = yomon foydalanuvchi mehmon hisobi = hech kim

Konfiguratsiya faylining oxirida yangi blok qo'shing:

[TimeCapsule] izoh = Vaqt kapsulasi yo'li = /mnt/tm ko'rib chiqilishi mumkin = ha yozish mumkin = ha niqob yaratish = 0600 katalog niqobi = 0700 diqqat markazida = vfs ob'ektlari yo'q = catia fruit streams_xattr fruit:aapl = ha meva: vaqt mashinasi = ha

Va biz natijani saqlaymiz: Ctrl + O, kiriting, Ctrl + X.

Xizmatni qayta ishga tushiring:

sudo systemctl smb.service ni qayta ishga tushiring

bajarildi Netatalk misolida bo'lgani kabi, Time Machine sozlamalari panelida taqdim etilgan ro'yxatdagi diskni topish qoladi.

Homebridge logotipi

Raspberry Pi-da Homebridge-ni o'rnatish va sozlash

Xo'sh, biz maqolaning eng katta qismiga muvaffaqiyatli etib keldik.

Uy ko'prigi sertifikatlanmagan qurilmalar integratsiyasi va dastlabki yordam uchun Homekit API-dan foydalanadigan NodeJS-ga asoslangan server. Apple Uy to'plami.

Homebridge-ni sozlashning qiyinligi shundaki, uning plaginlari turli xil protokollar va qurilmalarni qo'llab-quvvatlaydi va ularni ko'rinadigan va boshqariladigan qiladi. Apple HomeKit. Shunga ko'ra, har bir plagin o'ziga xos tarzda tuzilgan, ko'pincha boshqa qurilma uchun hamkasbidan butunlay farq qiladi.

Boshlaylik. Odatdagidek, biz Raspberry Pi-ga SSH orqali kiramiz va bir necha qadamlarni bajaramiz.

Node.js o'rnatilmoqda

Sizda butun kod blokini Terminalga nusxalash va joylashtirish imkoniyati mavjud. Aksariyat hollarda bu etarli. Ammo, agar biron bir bosqichda o'rnatish muvaffaqiyatsiz bo'lsa, blokdan qolgan buyruqlarni birma-bir kiriting.

# o'rnatish 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 tugunlari ishlayapti node -v # upgrade npm (6.13.4-versiyasida git bog‘liqliklari bilan bog‘liq muammolar mavjud) sudo npm install -g npm

Homebridge va Homebridge Config UI X o‘rnatilmoqda

Boshlash uchun, keling, quyidagi buyruq bilan poydevor o'rnatamiz ...

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

...va uni tizim xizmati sifatida ishga tushiring.

sudo hb-service install --user homebridge

Homebridge-ni veb-interfeys orqali sozlash

Kompyuteringizdagi brauzerdagi manzilga o'ting http://<ip address of your server>:8581 o'rniga qaerda <ip address of your server> hali ham maqolaning boshidan bir xil IP, mening holimda

Foydalanuvchi va parolning standart qiymatlari bir xil: admin

Men darhol "Foydalanuvchilar" menyusiga o'tishni va u erdagi standart qiymatlarni xavfsizroq qiymatlarga o'zgartirishni tavsiya qilaman.

Raspberry Pi Homebridge foydalanuvchi sozlamalari

Siz buni qildingizmi? Zo'r, biz keyingi plaginlarni sozlaymiz.

Uyda turli xil jihozlarga ega bo'lishimiz qaysi plaginlarni o'rnatishimiz kerakligini belgilaydi. Sizning holatlaringizda plaginlar to'plami biroz boshqacha bo'lishi mumkin, ammo mening konfiguratsiyam misolidan foydalanib, siz ularni o'rnatish jarayonida qanday nuanslarga duch kelishingiz mumkinligi haqida tasavvurga ega bo'lishingiz mumkin.

Yozish paytida mening plaginlar to'plamim:

  • Homebridge UI (asosiy konfiguratsiyaga kiradi va o'z sozlamalariga ega emas)
  • Hue (yorug'likni boshqarish uchun Philips Rang)
  • Apple Televizorni masofadan boshqarish pulti (pristavkalarni boshqarish uchun Apple televizor)
  • Mqttthing (boshqaruv uchun Guyver lampasi з proshivka Uilserdan)
  • Samsung Tizen (Smart TV boshqaruvi uchun Samsung Tizen OS bilan)
  • Ob-havo Plus (ob-havo sharoitlariga qarab aqlli uyni avtomatlashtirish uchun)
  • Yeelight Wi-Fi (chiroqni boshqarish uchun Xiaomi Yeelight)

Keling, birma-bir boraylik.

Hue plagin sozlamalari

Homebridge-da istalgan plaginni o'rnatish uchun veb-interfeysning tegishli yorlig'iga o'tish, qidiruv satriga kerakli dazmol nomini kiritish va mavjudlar ro'yxatidan plaginni tanlash kifoya. Men "🛡Verified" yorlig'iga, plagin versiyasiga va yangilanish sanasiga e'tibor berishni tavsiya qilaman (agar muallif uni bir necha yil davomida yangilamagan bo'lsa, u ishlamasligi ehtimoli yuqori) va ishonch hosil qiling. plaginning bosh sahifasiga havolani oching, bu odatda o'rnatish jarayonida batafsil tavsiflanadi.

Raspberry Pi Homebridge Hue

Kerakli plagindagi "O'rnatish" tugmasini bosing va plagin o'rnatilguncha bir yoki ikki daqiqa kuting.

Plagin Homebridge Hue sozlash juda oson. Siz shunchaki Homebridge jurnallarida ko'rsatiladigan standart nomni o'rnatishingiz va plagin tomonidan qaysi turdagi mos keluvchi qurilmalar ishlashini tanlashingiz kerak. Mening vaziyatimda bu shunchaki yorug'lik Philips Hue va hatto markazning birinchi versiyasi ham yumaloq.

Ma'lumotlarni to'ldirgandan so'ng va natijani saqlab qo'yganingizdan so'ng, siz faqat markazdagi markaziy tugmani bosishingiz kerak. Philips Rangni o'zgartiring va plagin markazni tanib olguncha 15 soniya kuting. Bajarildi!

Faqat iPhone-ni olib, kamerasini Homebridge veb-interfeysining “Holat” yorlig'ida joylashgan QR kodiga yo'naltirish va uni HomeKit-ga ko'prik sifatida qo'shish qoladi.

Agar HomeKit allaqachon oldindan sozlangan bo'lsa (tanlangan Apple Televizor yoki iPad asosiy markaz sifatida, qo'shilgan xonalar va boshqalar), keyin bosqichma-bosqich sehrgar darhol barcha topilgan Hue yoritish moslamalarini tegishli xonalarga tarqatishni va har bir qurilmaga nom berishni taklif qiladi. Masalan, mening yashash xonamda "1-shift", "2-shift" va "3-ship" lampalarim bor, lekin iPhone-dagi HomeKit-ning o'zi ("Boshqa qurilmalar bilan birlashtirish" bandi) yordamida men ularni birlashtirdim. mantiqiy guruh " Yuqori yorug'lik", bu men uchun qulayroq. Shu bilan birga, xuddi shu yashash xonasida menda "Yer chiroq" va "Tungi chiroq" bor - alohida qurilmalar, ammo Siri qo'shimcha mashg'ulotlarsiz juda ko'p turli xil buyruqlarni tushunadi:

  • "Yashash xonasida chiroqni yoqing (yashash xonasidagi barcha lampalar yonadi)"
  • "Yerdagi chiroqni yoqing"
  • "Tungi yorug'likning yorqinligi yigirma foiz"
  • "Tungi chiroqni yoqing"
  • "Ustki chiroqni o'chiring"
  • "Yer chiroqidagi ko'k rang"
  • "Yashash xonasidagi chiroqlarni o'chiring (yashash xonasidagi barcha chiroqlarni o'chiradi)"
  • "Barcha chiroqlarni o'chiring (kvartira bo'ylab yoritishni o'chiradi)"

Va hokazo. Agar siz uni to'g'ri sozlagan bo'lsangiz Apple-oilaviy, tegishli va mutlaqo mantiqiy buyruqlar sizning oilangizga kirgan barcha a'zolar uchun avtomatik ravishda mavjud bo'ladi Apple ID.

Plagin sozlamalari Apple Televizorni masofadan boshqarish pulti

Men ushbu plaginni bitta maqsadda ishlataman: konsol uchun qo'shimcha kalit yaratish Apple televizor. Gap shundaki, ichida Apple HomeKit, masalan, "Men uyga kelganimda" kabi oldindan belgilangan shartga muvofiq albom yoki pleylistni ijro etishni dasturlash qobiliyatiga ega. Va hamma narsa yaxshi bo'lar edi, lekin pristavka bu vaqtda uxlab yotgan bo'lsa, bunday stsenariyning mavjudligi uni uyg'ota olmaydi. Ammo qo'shimcha virtual o'tish mumkin. Biz bordik:

1-qadam. Biz hisobga olish ma'lumotlarini olish uchun xizmatni o'rnatamiz Apple TV

sudo npm install -g node-appletv-x

2-qadam. Biz mahalliy tarmoqda mavjud pristavkalarni qidirmoqdamiz Apple TV

sudo appletelevizor juftligi

3-qadam. Biz kerakli prefiks bilan juftlik yaratamiz. Konsol chiqishi quyidagicha ko'rinadi:

% appletv juftligi ✔ Mehmonxonaga ulanish ✔ Ulanishni boshlash kerakmi? Hozirda Yashash xonasida ko'rsatilayotgan 4 xonali pinni kiriting

Qadamda ‌? Enter the 4-digit pin that's currently being displayed on... siz tanlagan pristavka ekranida Apple Televizorda masofadan boshqarish pulti bilan bog'lash uchun standart to'rt xonali kod paydo bo'ladi (bizning misolimizda shunday bo'ladi). 1234), uni konsolda o'ldirish kerak.

% appletv juftligi ✔ Mehmonxonaga ulanish ✔ Ulanishni boshlash kerakmi? 4-sonli yashash xonasida hozirda ko‘rsatilayotgan 1234 xonali PIN kodni kiriting ✔ Ulanishni yakunlash: 77346115-ED48-46A8-A288-

Buning o'rniga <snip> harflar va raqamlar aralashmasidan bir nechta satrlar bo'ladi, ular qatordagi birinchi raqamdan boshlab to'liq alohida matn fayliga ko'chirilishi kerak. Credentials:. Birozdan keyin xuddi shunday hisobga olish ma'lumotlari bizga juda kerak bo'ladi.

4-qadam. "Konfiguratsiya" yorlig'idagi Homebridge veb-interfeysining konfiguratsiya bo'limiga quyidagi blokni qo'shing "platforms": [

{ "platforma": "AppleTvPlatform", "nom": "Apple TV platformasi",
   "Devices": [
      {
         "name": "Mehmonxona",
         "hisob ma'lumotlari": "77346115-ED48-46A8-A288-",
         "isOnOffSwitchEnabled": rost,
         "onOffSwitchName": "Apple TV" } ] },

...va qatorda "credentials": faqat oldingi bosqichdagi matn faylining to'liq mazmunini kiriting.

Biz prefiks uchun istalgan nomni tanlaymiz, bu erda "Mehmonlar uyi" misol uchun.

5-qadam. Biz plaginni o'zi o'rnatamiz.

Homebridge veb-interfeysining "Modullar" yorlig'ida qidiruv satriga yozing  Apple TV Remote va "O'rnatish" tugmasini bosing. Plaginni o'rnatganingizdan so'ng sizdan Homebridge-ni qayta ishga tushirish so'raladi, bu tegishli tugmani bosish orqali amalga oshiriladi.

Raspberry Pi Homebridge qayta ishga tushirish tugmasi

Mana, HomeKit-da iPhone-da yangi kalit paydo bo'ldi, u endi pristavkani avtomatik ravishda yoqish kerak bo'lgan barcha stsenariylarga qo'shilishi mumkin.

Ovozli buyruqlar “Siri, yoqing Apple TV" yoki "Siri, o'chiring Apple TV" ham avtomatik ravishda qo'llab-quvvatlanadi. Bundan tashqari, agar siz turli xonalarda bir nechta pristavkalarni sozlasangiz, Siri ham avtomatik ravishda uni o'chirish so'rovini tushuna boshlaydi. Apple Muayyan xonada yoki bir vaqtning o'zida televizor.

Aslida, ushbu plagin jadal rivojlanmoqda, u konsolda ishlaydigan ilovalar uchun Bundle ID-ni qanday tanib olishni va ularning ishiga aralashishni, masalan, Netflix-da filmni to'xtatib turishni biladi. Ammo, agar xohlasangiz, buni o'zingiz hal qilasiz.

Mqttthing plaginini sozlash

Men ushbu plaginni yuqorida aytib o'tilgan Guyver chiroq bilan ishlataman - Arduino platasi va 16x16 manzilli LED matritsasi bo'lgan uy qurilishi chiroq. Chiroqning o'zi Whilser proshivkasi bilan to'ldirilgan bo'lishi kerak. Kuch siz bilan bo'lsin!

Grogu bilan Giver chiroq

1-qadam. MQTT brokerini o'rnatish

Biz bir qator buyruqlarni bajaramiz. Ular partiyalarda ishlamaydi, shuning uchun biz ularni birma-bir konsolga kiritamiz.

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key mosquitto-repo.gpg.key qo'shing
cd /etc/apt/sourceces.list.d/
sudo wget 
sudo apt yangilanishi
sudo apt o'rnatish chivin chivin-mijozlari
sudo /etc/init.d/mosquitto stop
sudo nano /etc/mosquitto/mosquitto.conf

Oxirgi buyruq allaqachon tanish muharrirni ishga tushiradi Nano, unda biz ochilgan fayl tarkibini quyidagilar bilan almashtiramiz:

# Mahalliy konfiguratsiyangizni /etc/mosquitto/conf.d/ ga joylashtiring # # Konfiguratsiya faylining toʻliq tavsifi # /usr/share/doc/mosquitto/examples/mosquitto.conf.example # pid_file /var/run/ sahifasida. mosquitto.pid allow_anonymous haqiqiy tinglovchi 1883 qat'iylik haqiqiy persistence_location /var/lib/mosquitto/ log_dest topic log_type error log_type ogohlantirish log_type notice log_type information connection_messages true log_timestamp true include_dir /etc/mosquitto/conf.

Odatdagidek, Ctrl + O, kiriting, Ctrl + X, va keyin buyruq bilan brokerni qayta ishga tushiring

sudo /etc/init.d/mosquitto boshlang

MQTT brokeri oʻrnatildi.

2-qadam. Mqttthing plaginini o'rnatish

Biz odatda Homebridge veb-interfeysidagi "Modullar" yorlig'iga o'tamiz, qidiruv Mqttthing va "O'rnatish" tugmasini bosing.

3-qadam. Mqttthing plagin konfiguratsiyasi

Har bir Guyver lampasi o'zining ESP chip identifikatoriga ega. Masalan, ESP-3bd20b. Agar siz chiroqni o'zingiz yasagan va yondirgan bo'lsangiz, unda siz bu haqda juda yaxshi ma'lumotga egasiz, agar yo'q bo'lsa, chiroqni ulash rejimiga qo'ying va Wi-Fi tarmog'ingizga ulanganingizda, iPhone-dagi tegishli dialog oynasida kerakli identifikator ko'rsatiladi. . Yozing.

  1. Chiroqning quvvatini o'chiring;
  2. Routerni o'chiring;
  3. Chiroqning quvvatini yoqing;
  4. iPhone-da "Sozlamalar → WiFi" ga o'ting.
  5. "ESP12345678" kabi SSID bilan himoyalanmagan tarmoqni tanlang va dialog oynasida "WiFi-ni sozlash" tugmasini bosing.
  6. Chip identifikatori konfiguratsiya oynasining eng pastki qismida talab qilinadi

Agar chiroq allaqachon sozlangan bo'lsa, siz shunchaki uni o'chirib qo'yishingiz, marshrutizatorni yoqishingiz va chiroqni qayta yoqishingiz mumkin - eski sozlamalar olinadi. Agar bu chiroqning birinchi ulanishi bo'lsa, marshrutizatorni yoqing va sozlamalar ro'yxatida tarmog'ingizni tanlang, so'ngra uy Wi-Fi paroli va Raspberry Pi IP manzili kabi barcha kerakli ma'lumotlarni kiriting.

Homebridge veb-interfeysining "Konfiguratsiya" yorlig'ini va bo'limini oching "accessories": [ oldingi identifikatorni o'rniga shunday ulkan kod qismini kiriting ESP-3bd20b o'z-o'zidan:

{"accessory": "mqttthing", "turi": "lampochka", "nom": "Nightlight", "url": "http://127.0.0.1:1883", "mqttPubOptions": { "saqlash": noto'g'ri } , "mavzular": { "getOn": "homeassistant/light/ESP-3bd20b/status", "setOn": "homeassistant/light/ESP-3bd20b/switch", "getBrightness": "homeassistant/light/ESP-3bd20b /yorqinlik/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" }, { "ac"cessory": "mqttthing", "turi": "televideniya", "nom": "Tungi yorug'lik effektlari", "url": "http://127.0.0.1:1883", "mavzular": { "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" }, "kirishlar": [ { "nom": "Konfeti", "qiymat": "Konfeti" }, { "nom": "Olov", "qiymat" ": "Olov" }, { "nom": "Kamalak Vert.", "qiymat": "Kamalak Vert." }, { "nom": "Kamalak dahshatlari.", "qiymat": "Kamalak dahshatlari." } , { "nom": "Rangni o'zgartirish", "qiymat": "Rangni o'zgartirish" }, { "nom": "3D aqldan ozish", "qiymat": "3D jinnilik" }, { "nom": "3D bulutlar" , "qiymat": "3D bulutlar" }, { "nom": "3D dastgoh", "qiymat": "3D dastgoh" }, { "nom": "3D plazma", "qiymat": "3D plazma" } , { "nom": "Rainbow 3D", "qiymat": "Rainbow 3D" }, { "nom": "Peacock 3D", "qiymat": "Peacock 3D" }, { "name": "Zebra 3D" , "qiymat": "Zebra 3D" }, { "nom": "Forest 3D", "qiymat": "Forest 3D" }, { "nom": "Ocean 3D", "qiymat": "Ocean 3D" } , { "nom": "Qor yog'ishi", "qiymat": "Qor yog'ishi" }, { "nom": "Matrisa", "qiymat": "Matrisa" }, { "nom": "O't o'chiruvchilar", "qiymat": "Fireflies " }, { "nom": "Akvarium", "qiymat": "Akvarium" }, { "nom": "Starfall", "qiymat": "Starfall" }, { "nom": "Paintball", "qiymat ": "Paintball" }, { "nom": "Spiral", "qiymat": "Spiral" }, { "nom": "Issiq yorug'lik", "qiymat": "Iliq yorug'lik" }, { "nomi ": "Mayatnik", "qiymat": "Mayatnik" }, { "nom": "Ko'zni qamashtirish", "qiymat": "Blink" }, { "nom": "Politsiya sirenasi", "qiymat": "Politsiya sirenasi" " } , { "name": "Drift", "qiymat": "Drift" }, { "nom": "Flock", "qiymat": "Flock" } ], "onValue": "ON", "offValue" ": "OFF" }

bajarildi IN Apple HomeKit-da ikkita yangi qurilma paydo bo'ldi, ular "Night Light" va "Night Light Effects" chiroqlari. Ular bir-biriga bog'langan va ularning maqsadi juda aniq. Agar xohlasangiz, ularni konfiguratsiyada qayta nomlashingiz mumkin.

Afsuski, proshivka muallifi parametrlarni rus tilida yozgan, shuning uchun bunday konfiguratsiya bilan siz Siri bilan rus tilida ham bog'lanishingiz kerak bo'ladi. Ammo agar siz Siri bilan ingliz tilida gaplashayotgan bo'lsangiz, har bir kod nuqtasini quyidagicha tuzatishingiz mumkin:

{ "nom": "Olov", "qiymat": "Ogon"},

Keyin iOS-da natija quyidagicha ko'rinadi:

Gyver chiroq Siri yamoqli

Plagin sozlamalari Samsung Tizen

1-qadam. Televizorning mosligini tekshirish

Routerning boshqaruv panelida biz boshida Raspberry Pi uchun qilganimizdek, televizorga statik mahalliy IP-ni bering. Misol uchun, mening holatimda bu 192.168.50.100.

Kompyuteringizdagi brauzerdagi manzilga o'ting  http://TV_IP:8001/api/v2, bu mening holimda degani http://192.168.50.100:8001/api/v2/

Agar siz shunga o'xshash ko'plab xizmat ma'lumotlariga ega sahifani ko'rsangiz ...

{"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": ......

...demak, bu muvaffaqiyatga erishish imkoniyati borligini anglatadi. Lekin siz televizorlarning barcha modellari emasligini tushunishingiz kerak Samsung plagin bilan mos keladi. Masalan, PIN identifikatsiyani talab qiladiganlar ishlamaydi.

Xizmat sahifasidan maydon qiymatini nusxalash"wifiMac": va masofadan boshqarish pultini televizordan tayyorlang, u qo'lda bo'lsin.

2-qadam. Plagin o'rnatilmoqda

Hech qanday yangilik yo'q, biz so'rov bo'yicha plaginni qidirmoqdamiz Samsung Tizen, keraklisini tanlang (mualliflik @tavicu) va o'rnating.

Raspberry Pi Samsung Tizen plagini

Ishga tushgandan so'ng, sozlamalarga o'ting va u erda quyidagi qiymatlarni kiriting:

Raspberry Pi Samsung Tizen plagin sozlamalari

"Televizor" nomi juda etarli, chunki Siri sizda deyarli ikkita televizor bo'lmagan yashash xonasida televizorni yoqish so'rovini juda yaxshi tushunadi. Shuningdek, u yashash xonasidagi televizorni yana bir bor tortmasdan turib, "yotoqxonada televizorni yoqing" buyrug'ini juda yaxshi tushunadi.

3-qadam. Televizorga ulanish

Bu erda hamma narsa oddiy: televizorning masofadan boshqarish pultini oling va qandaydir qurilma tomonidan televizorni boshqarishga urinish haqida ogohlantirish bilan ekranda kontekst menyusi paydo bo'lishini kuting. Albatta, televizor yoqilgan bo'lishi kerak. Ekranning yuqori o'ng burchagida tegishli so'rov paydo bo'lganda, tugmani tanlash uchun televizorning masofadan boshqarish pultidan foydalaning Allow. Bajarildi.

4-qadam. Televizorni qo'shing Apple Bosh sahifaKit

Ha, oldingi holatlardan farqli o'laroq, televizor sizning uyingizdagi qurilmalar ro'yxatida sehrli tarzda ko'rinmaydi. Shuning uchun biz iPhone-ni qo'llarimizga va bosqichma-bosqich olamiz:

  1. Bosh sahifa ilovasini ishga tushiring va asosiy sahifada yuqori o'ng burchakdagi + tugmasini bosing;
  2. "Aksessuar qo'shish" -ni tanlang;
  3. Ekranning pastki qismida "Kod yoki skanerlash yo'q" tugmasini bosing;
  4. Keyingi ekranda televizoringizni tanlang;
  5. HomeKit-ni sozlash kodini kiritish so'ralganda, "Kameradan foydalanish" tugmasini bosing;
  6. Kamerani Homebridge Status ilovasidagi QR kodiga qarating.

5-qadam. Plagin sozlamalari

Chuqur qazib olgan hujjatlar plagin uchun siz Siri-ni televizorda o'rnatilganlar ro'yxatidan ma'lum dasturlarni ishga tushirishingiz, ularni to'xtatib turishingiz va hokazo. Endi mashq sifatida biz virtual pultdagi bitta tugma funksiyasini o'zgartiramiz Apple Masofadan boshqarish pulti, iOS boshqaruv markazining "pardasi" ichiga o'rnatilgan.

Bu ℹ︎ (ma'lumot) tugmasi, sukut bo'yicha u televizor ekranining yuqori qismida joriy tasvir rejimi haqidagi ma'lumotlarni ko'rsatadi. Shu bilan birga, masofadan boshqarish pultidan qo'lingizni uzating Apple Televizorda o'rnatilgan dasturlar ro'yxatiga masofadan boshqarish pultini qo'shishning hech qanday usuli yo'q. Va biz buni hozir tuzatamiz.

Apple uchun iOS masofadan boshqarish pulti Samsung TV

Plagin sozlamalari, "Kalitlarni xaritalash" bo'limiga o'ting, "MA'LUMOT" maydonini toping va uning qiymatini o'zgartiring. KEY_HOME. Homebridge va voila-ni qayta ishga tushiring - virtual pultdagi ℹ︎ tugmasi ilovaning asosiy menyusini ochadi! Virtual pult mantiqiy edi.

Weather Plus plaginini sozlash

1-qadam. OpenWeather hisobini yarating

Keling, saytga boramiz https://home.openweathermap.org va hisob qaydnomasini ro'yxatdan o'tkazing, yaxshi narsa bu bepul.

2-qadam. API kalitlarini yaratish

OpenWeather

OpenWeather shaxsiy hisobining kerakli yorlig'iga o'ting va kalit nomini belgilab, "Yaratish" tugmasini bosing.

OpenWeather

3-qadam. Weather Plus plaginini o'rnatish va sozlash

Biz odatdagi usul yordamida kerakli plaginni qidiramiz va o'rnatamiz, so'ngra uning sozlamalariga o'tamiz. Natija shunday ko'rinishi kerak:

Prognozda men shaxsan faqat keyingi soatdagi qadriyatlarga qiziqaman, shuning uchun boshqalar shunchaki o'chirib qo'yilgan:

Raspberry Pi OpenWeather prognozi sozlamalari

Va keraksiz virtual ob-havo sensorlari keraksiz faollashuvlar bilan bezovta qilmasligi uchun biz ularni tegishli qiymatlarni yashirish bo'limida o'chirib qo'yamiz. O'chirib qo'yish tavsiya etiladi:

  • Havo bosimi
  • Bulutli qopqoq
  • Choy nuqtasi
  • Ko'rinadigan harorat
  • Shamol yo'nalishi
  • UV indekslari
  • Shamol tezligi
  • Shamol tezligi Maks

Va sozlamalar oynasining pastki qismidagi "Saqlash" tugmasini bosing.

Natijada, interfeysda Apple HomeKit keyingi soat uchun harorat va namlik qiymatlarini, shuningdek, turli stsenariylarda ishlatilishi mumkin bo'lgan ikkita virtual "Qor" va "Yomg'ir" sensorlarini ko'rsatadi. Misol uchun, men HomeKit avtomatizatsiyasini dasturladim, unda yaqin kelajakda prognozda yomg'ir yoki qor paydo bo'lganda, Guyver chirog'i bir daqiqaga mos keladigan ko'lmak yoki qor parchalari effektini ko'rsatadi. Shu bilan birga, effekt faqat ertalab 8:00 dan 23:00 gacha va faqat uyda kimdir bo'lsa faollashadi. Boshqa paytlarda soyabon olish yoki suv o'tkazmaydigan kiyim kiyish haqida ogohlantirish kerak bo'lmaydi.

Yeelight WiFi plaginini sozlash

Talab bo'yicha Yeelight Homebridge o'rnatish uchun juda ko'p plaginlarni taklif qiladi, shu jumladan bitta tasdiqlangan. Ammo men boshqasini afzal ko'raman, unda davlatlar o'rtasidagi o'tishlar "lagerga tun tushdi" uslubida emas, balki iloji boricha silliq amalga oshiriladi. Bundan tashqari, u qo'llab-quvvatlaydi moslashuvchan yoritish vid Apple, lekin bu erda standart dastur Xiaomi Bu xususiyat HomeKit-da paydo bo'lganidan beri bir yil ichida buni hech qachon o'rganmaganman.

Raspberry Pi Yeelight WiFi plagini

Muhim! Faqat bitta lampochkani yoniq qoldiring Xiaomi, dastlab chalkashmaslik uchun. Biz u bilan ishlaymiz.

Plaginni o'rnatgandan so'ng, Homebridge-ni qayta ishga tushiring va jurnalda shunga o'xshash narsani qidiring: ‌[Yeelight] Received advertisement from ab1234. Bu shartli ab1234 va sizning lampochkangiz bor. Ehtimol, qiymat bo'ladi color-ab1234, keyin siz u bilan ishlaysiz.

Plagin sozlamalariga o'ting va u erga quyidagi kod qismini joylashtiring:

{ "platforma": "yeelight", "nom": "Yeelight", "o'tishlar": { "kuch": 400, "yorqinlik": 400, "rang": 1500, "harorat": 1500 }, "multikast" : { "interfeys": "0.0.0.0" }, "defaultValue": { "color-ab1234": { "name": "Ploor lamp", "qora ro'yxat": [ "set_hsv" ] } } }

Buning o'rniga qayerda color-ab1234 jurnalingizdagi qiymat bo'lishi kerak va buning o'rniga ‌"name": "Торшер" chiroq vidalanadigan joyni aks ettiruvchi har qanday nom: Tungi chiroq, Aplik, Shift va boshqalar.

Raspberry Pi Yeelight WiFi plagin sozlamalari

Saqlash tugmasini bosish orqali qo'yilgan kodni saqlang va Homebridge-ni qayta ishga tushiring. Bajarildi, lampochka siz tanlagan nom ostida HomeKit-da paydo bo'ldi. Qolgan Yeelight lampalari plagin sozlamalarida "+ PLATFORM QO'SHISH" tugmasini bosish orqali birma-bir qo'shiladi.

Raspberry Pi-da Homebridge va Node.JS yangilanmoqda

Homebridge-ni yangilash (va versiyasini orqaga qaytarish) juda oddiy: veb-interfeysdagi joriy versiyaning raqamini bosishingiz va dialog oynasidagi ro'yxatdan kerakli versiyani tanlashingiz kerak.

Ammo ertami-kechmi ba'zi plaginlarning yangilanishini o'rnatishda kerak bo'ladigan Node.JS va NPM yangilanishi bilan bu unchalik oson emas. Aniqrog'i, buyruqlar standart ko'rsatmalarda tasvirlanganlarga to'liq mos kelmaydi.

Node.JS quyidagi buyruq bilan yangilanadi:

sudo hb-xizmatni yangilash-tugun

Va NPM ikkita ketma-ket:

sudo npm keshini tozalash -f
sudo npm install -g npm

Afsuski, Homebridge-ning o'zi ham, uning plaginlari ham, u minadigan "relslar" ham avtomatik ravishda yangilana olmaydi. Va har kuni boshqaruv paneliga kirib, yangi narsa bor-yo'qligini tekshirish ertami-kechmi zerikarli bo'ladi. Shunday qilib, jarayonni avtomatlashtirish uchun ular iOS 14 uchun barcha Homebridge tugunlarining holatini kuzatib boruvchi va yangilanishlar mavjudligi yoki har qanday muammolarni vizual ravishda va PUSH xabarlari bilan bildira oladigan maxsus vidjetni ishlab chiqdilar.

Homebridge Status vidjetini o'rnatish

Raspberry Pi Homebridge holati vidjeti

Ko'rib turganingizdek, vidjet sizning Homebridge haqida juda ko'p foydali va unchalik foydali bo'lmagan ma'lumotlarni ko'rsatadi, lekin uning eng qimmatli qismi Homebridge holati, uning plaginlari va Node.JS haqida ma'lumotdir.

Vidjetning o'zini olish uchun bizga birinchi navbatda uning asosiy ilovasi kerak. Uni App Store do'konidan iPhone-ga o'rnating.

Skript mumkin
Skript mumkin
Tuzuvchi: Simon B. Stvring
Narx: Ozod+

Va endi vidjetni o'rnatishning ancha uzoq, ammo qiziqarli jarayoni boshlanadi. Biz uni Scriptable dasturi ichida ScriptDude deb nomlangan boshqa skript yordamida o'rnatamiz. ScriptDude yaxshi, chunki u manzildagi galereyada joylashgan skriptlar massasi kodidagi o'zgarishlarni kuzatib boradi. scriptables.net. Ehtimol, u erda siz o'zingiz uchun yana bir foydali narsani topasiz, ammo endi bizda bitta vazifa bor va biz uni hal qilamiz.

1-qadam. Scriptable.app ilovasini App Store doʻkonidan oʻrnating.

2-qadam. Saytni iPhone brauzerida oching scriptdu.de va ScriptDude-ni o'rnatish tugmasini bosing.

scriptdu.de veb-sayti

3-qadam. Ochilgan sahifada "O'rnatuvchini nusxalash" tugmasini bosing va bizning clipboardimizdagi skript kodi haqida xabar olgandan so'ng, "Skriptni ochish" tugmasini bosing.

4-qadam. Sarlavhasiz skript sarlavhasi bilan bo'sh maydonga almashuv buferi tarkibini kiriting va O'ynatish tugmasini ▶️ bosing.

ScriptDude o'rnatish

5-qadam. Ochilgan ekranda havolani bosing scriptables.net saytiga tashrif buyuring va keyingi sahifada tegga teging (texnologiya). Hooray, Homebridge Status skripti ro'yxatda birinchi! ScriptDude bilan yuklab olish tugmasini bosing.

6-qadam. Biz "O'rnatish" tugmachasini bosamiz va ikkita ogohlantirishga rozi bo'lib, O'rnatilgan ro'yxatda kerakli skriptni ko'ramiz. Asosiy Scriptables ekrani endi quyidagi to'rtinchi skrinshotga o'xshaydi va biz Homebridge Status plitasidagi uchta nuqta ustiga bosing va tahrirlash opsiyalariga o'tamiz.

7-qadam. Avvalo, biz qiymatni o'zgartiramiz overwritePersistedConfig з yolg'on haqida haqiqiy

overwritePersistedConfig = rost

skript sozlamalarini iCloud-ga saqlash uchun.

Raspberry Pi Homebridge holati konfiguratsiyasi

8-qadam. Biroz pastga tushib, biz uchta maydonni tahrirlaymiz: IP manzili va Homebridge porti (esda tutingki, bu allaqachon aytib o'tilgan. http://<ip address of your server>:8581 o'rniga qaerda <ip address of your server> hali ham maqolaning boshidan bir xil IP, mening holimda ) va mahalliy tarmoqdagi qurilmalarni qidirish haqidagi ogohlantirishga rozilik bildiring. Hoora, skript ishlaydi!

Qolgan narsa - vidjetni iOS 14 ekraniga boshqa har qanday tarzda qo'shish. Qo'shgandan so'ng, siz vidjet sozlamalariga o'tishingiz kerak (uni uzoq vaqt bosib turing) va bir qator parametrlarni belgilang: kerakli skriptni tanlang, u bilan ishlashda nima qilish kerakligini belgilang va Parametr maydoniga quyidagi qiymatni kiriting.

USE_CONFIG:purple.json

Shundan so'ng, skript kodiga qaytishni va qiymatni qaytarishni unutmang

overwritePersistedConfig = noto'g'ri

Ana xolos. Vidjet ishlaydi va Node.JS, Homebridge yoki uning plaginlari uchun yangilanishlar mavjud bo'lganda, siz tegishli tarkibga ega PUSH-xabarnomalarni olasiz.

Visnovok

Imkoniyatlar Apple HomeKit men uchun ko'p marta o'sdi. Men o'zim va yaqinlarim uchun hayotni osonlashtiradigan bir qancha skriptlar va avtomatlashtirishlarni o'ylab topdim.

Misol uchun, kunning qorong'u vaqtida uyga qaytgan birinchi oila a'zosini tashqaridan, koridorda, yashash xonasida va hammomdagi chiroqlar kutib oladi - endi kalitlarga yugurishning hojati yo'q. yuvilmagan qo'llar bilan.

Oilaning oxirgi a'zosi uydan chiqib ketganda, HomeKit televizorlarni, chiroqlarni va umuman, o'chirilishi mumkin bo'lgan barcha narsalarni ehtiyotkorlik bilan o'chiradi. Va agar uyda kamida bir kishi bo'lsa, kechqurun boshlanishi bilan tashqi yoritish va ichidagi ba'zi lampalar yoqiladi.

Shunga qaramay, Siri barcha ulangan qurilmalarni to'liq mantiqiy buyruqlar bilan boshqarishi mumkin, ma'lum bir xonada biror narsani yoqish yoki o'chirish kerak bo'lganda uydagi kimdandir so'rashingiz mumkin bo'lgan so'zma-so'z. Faqat bu xonaga endi hech kim yugurmasligi kerak.

dan ertalab va kechqurun musiqa aralashadi Apple, unga Guyver chiroqining yorug'lik effektlari biriktirilgan. Yengil musiqa bilan boshqa yoritishni ham qilish mumkin, lekin men bu effektdan mamnun emasman.

Umuman olganda, dastur stsenariylari faqat sizning tasavvuringizga bog'liq va hamyonga juda ko'p yuk keltirmaydi, chunki "Ishlaydi" yorlig'i bo'lgan mahsulotlar Apple HomeKit endi yagona mavjud tanlov emas.

Tsiklning keyingi maqolasida siz va men biroz zavqlanamiz: biz o'rgatamiz bizning Raspberry Pi torrentlarini yuklab oling, keling, uni kuchli media markaz va retro o'yin konsoliga aylantiraylik.

Yangiliklarni kuzatib boring, xabardor bo'lib boring; Biz bilan qoling!

Yuriy Stanislavskiy
Yuriy Stanislavskiyhttp://notarecords.com
SwiftUI dasturchisi. Men vinil yig'aman. Ba'zan jurnalist. Nota Record Store egasi.
- Reklama -
Ro'yxatdan o'tish
Xabar berish
mehmon

0 Izoh
O'rnatilgan sharhlar
Barcha sharhlarni ko'ring