Root NationSoftwareInstrukceRaspberry Pi v domácím ekosystému: Funkce a příklady (část 1)

Raspberry Pi v domácím ekosystému: Funkce a příklady (část 1)

-

Před časem jsem zakoupeno jednodeskový minipočítač Raspberry Pi 4 (aka "malina» mezi amatéry), nijak zvlášť nechápou, jak a k čemu se dá doma používat. Spíš to byla další technologická hračka a navíc za naprosto přijatelné peníze, takže jste si mohli dovolit experimentovat. Při pohledu do budoucna mohu říci, že v současné době mám na svém RPi4 spuštěné takové služby, jako je celosíťový blokovač reklam Domovská stránka AdGuard, zálohovací úložný systém Apple Time Machinehomebridge přidat necertifikovaná zařízení do ekosystému Apple HomeKit, program pro stahování torrentů Přenos, mediální server PLEX a retro herní konzole RetroPie. Plánuji experimentovat se správcem hesel s vlastním hostitelem Bitwarden, open source obdoba slavného 1Password. Není to příliš málo pro takového malého o velikosti krabičky cigaret, že?

Raspberry Pi 4 s klávesnicí a myší

V tomto cyklu s dva článků, pokusím se co nejpodrobněji popsat, jak jsem to všechno nainstaloval a nakonfiguroval.

První článek bude užitečnější pro pěstitele máku, protože se dotýká specifických pro daný ekosystém Apple bodů, i když část zabývající se AdGuard bude zajímat uživatele jakéhokoli desktopového nebo mobilního operačního systému.

V druhém článku zvážit univerzální služby, které mohou být užitečné pro každého bez výjimky. A vy i já budeme postupovat jako normální lidé – od jednoduchých ke složitým.

Příprava Raspberry Pi

Nutno podotknout, že rané revize Raspberry Pi byly po hardwarové stránce dost slabé, takže každý softwarový vývojář vnímal tento počítač jako jednoúlohový stroj. Z tohoto důvodu bude každá služba, kterou lze na RPi provozovat, standardně nabízena jako hotový obraz operačního systému. Stáhl jsem to, nahrál na SD kartu, vložil do RPi a zapnul hotový počítač s nainstalovanou službou. Naším úkolem je ale spustit několik služeb současně, protože to aktuální revize umožňuje. Proto je nainstalujeme jako aplikace.

Předpokládejme, že jste již připojili Raspberry Pi s „čistým“ systémem Raspbian do místní sítě. Pokud jste začátečník a vůbec nevíte, kde začít, začněte s  oficiální pokyny (následujte odkaz - úžasný průvodce krok za krokem se spoustou interaktivních ilustrací) a poté pokračujte do další fáze.

Krok 1

Nejprve musíte povolit přístup pomocí SSH do vašeho Raspberry Pi. Chcete-li to provést, musíte provést několik jednoduchých kroků:

  • Otevřete okno Konfigurace Raspberry Pi v nabídce Předvolbyces" operační systém
  • Klikněte na "Interfaces»
  • Vyberte Povolit vedle SSH
  • Kliknutím na tlačítko "OK" se změny projeví

Pokud máte Raspbian Lite nainstalovaný bez grafického rozhraní, v samotném terminálu Raspberry Pi proveďte následující příkazy:

sudo systemctl povolit ssh sudo systemctl spustit ssh

Přístup povolen.

- Reklama -

Mám počítač s macOS, takže se mohu rovnou vrhnout na další kroky, stejně jako majitelé počítačů s Linuxem. Uživatelé Windows 10 také před časem obdrželi vestavěného klienta OpenSSH jako součást svého operačního systému, ale k jeho aktivaci mohou být nutné určité manipulace.

Otevřete příkazový řádek Windows nebo prostředí PowerShell (podle toho, co chcete) a zadejte následující příkaz:

Get-WindowsCapability -Online | ? Název – jako 'OpenSSH*'

Pokud je nainstalován klient SSH, odpověď na příkaz bude vypadat takto:

Nainstalovaný Windows 10 OpenSSH

Pokud nám OpenSSH.Client v poli State řekne, že je NotPresent, pak nejrychlejší způsob, jak jej aktivovat, je zadat následující příkaz:

Add-WindowsCapability -Online -Name OpenSSH.Client*

Tím je dokončena první fáze přípravy, včetně uživatelů Windows. Vzhledem k povaze Raspberry Pi a skutečnosti, že Raspbian OS je ve skutečnosti jinou verzí Linuxu, budeme muset udělat docela dost práce na příkazovém řádku. Někomu se to může zdát neobvyklé, ale věřte, že v tom není nic těžkého ani nenapravitelného, ​​tak buďte odvážnější. Všechno vyjde.

Krok 2

Nyní se musíte ujistit, že vaše Raspberry Pi získá v místní síti vždy stejnou interní IP adresu. Nejjednodušší způsob, jak to udělat, je v nastavení routeru.

Používám třísložkový systém MESH  ASUS ZenWiFi Mini se standardním webovým rozhraním kteréhokoli routeru této společnosti. Chcete-li propojit MAC a IP adresy, musíte vybrat zařízení ze seznamu připojených zařízení a ve vyskakovacím okně jednoduše zadat požadovanou IP. V mém případě jsem zvolil 192.168.50.10 jen pro snadnější zapamatování.

ASUS Nastavení WiFi

V routerech jiných výrobců se může položka menu jmenovat jinak, ale její podstata zůstane stejná – vydávání statických lokálních IP připojeným zařízením.

Krok 3

Terminál (příkazový řádek, PowerShell atd.) spustíme na vašem počítači ze standardní sady macOS, Linux nebo Windows.

Zabijeme tým

ssh pi@

(kde místo <ip address of your server> vložíme IP "malin" z předchozího kroku) a uvidíme přibližně následující obrázek:

Raspberry Pi ssh heslo

Zde musíte zabít heslo vašeho Raspberry Pi, které jste zadali při úvodním nastavení.

- Reklama -

Důležité! Heslo se při zadávání nezobrazí na obrazovce. A nezobrazí se ani „hvězdy“. Heslo musíte napsat doslova „naslepo“ a stisknout Enter.

Pokud je heslo zadáno správně, bude výsledek vypadat takto:

Zadejte Raspberry Pi sshDobrý den, jste uvnitř svého Raspberry Pi. Vítejte! Můžete přejít k nastavení jednotlivých služeb. A začneme tím nejjednodušším.

Domovské logo AdGuard

Instalace a konfigurace AdGuard Home na Raspberry Pi

Domovská stránka AdGuard, podle svědectví vývojáře - „výkonný síťový nástroj proti reklamě a sledování. S rostoucí rolí internetu věcí je stále důležitější spravovat celou vaši síť. Po nastavení bude AdGuard Home pokrývat VŠECHNA vaše domácí zařízení bez potřeby softwaru na straně klienta.“

Jednoduše řečeno, je to filtr reklam, který nefunguje jako samostatné aplikace nebo pluginy prohlížeče na každém z vašich zařízení, ale univerzální řešení, které pokryje filtry celou vaši domácí LAN.

Vraťme se do okna Terminál (shodneme se, že Windows PowerShell a další shelly pro zadávání příkazů, v textu budu jednoduše volat Terminál, ano?), Provedeme následující příkazy, které stáhnou a rozbalí archiv AdGuard Home:

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

Zbývá pouze nainstalovat službu a spustit ji:

cd AdGuardHome sudo ./AdGuardHome -s install

Výsledek bude vypadat nějak takto:

AdGuard Home nainstalován

AdGuard Home je již nainstalován! Bylo to jednoduché, že?

Nyní je třeba navštívit webové rozhraní nově nainstalované služby. Spusťte prohlížeč (Safari, Chrome, Firefox nebo co máte - na tom nezáleží) a v adresním řádku zabijte https://<ip address of your server>:3000. V mém případě je to, jak si pamatujeme, https://192.168.50.10: 3000.

Zobrazí se průvodce úvodním nastavením krok za krokem. Pokud vám více vyhovuje rozhraní v jiném jazyce, můžete okamžitě přejít na požadovaný. Na seznamu jsou mimo jiné ukrajinština, polština a ruština.

Úvodní obrazovka Raspberry Pi AdGuard HomeVe třetím kroku budete požádáni, abyste vytvořili uživatele AdGuard Home a přišli s heslem. Na čtvrtém bude vysvětleno, že IP adresa Raspberry Pi (v mém případě stejná 192.168.50.10) musí být registrována jako DNS v příslušné sekci nastavení routeru. Udělej to:

ASUS nastavení DNS routeru

V routerech jiných výrobců bude požadovaný bod nastavení umístěn přibližně na stejné cestě.

Dále přejdeme do nastavení samotného AdGuard Home, které je stále nevinně čisté.

Čistá instalace Raspberry Pi AdGuard Home

Pokud máte Smart TV Samsung, LG, nebo podobné, přejděte do nabídky "Filtry - Přidat černou listinu" a tam "Vybrat ze seznamu". Aktivujte příslušný seznam blokování.

Domácí TV filtr Raspberry Pi AdGuard

Nyní musíte ručně přidat filtry reklam v ruštině/ukrajinštině. Znovu klikněte na „Přidat černou listinu“, poté na „Přidat svůj seznam“ a postupně zadejte do příslušných polí následující hodnoty:

Já jsem URL
Základní filtr AdGuard https://filters.adtidy.org/extension/chromium/filters/2.txt
Ruský filtr AdGuard https://filters.adtidy.org/extension/chromium/filters/1.txt
Filtr ochrany před sledováním AdGuard https://filters.adtidy.org/extension/chromium/filters/3.txt

Pro začátek tyto filtry úplně stačí.

Pro srovnání většinou používám exler.ru, stránku plnou klasických bannerů. Vlevo - před, vpravo - po použití filtrů.

Aktualizace AdGuard Home probíhá v manuálním režimu, ale začíná doslova jedním tlačítkem a trvá několik sekund, bez nutnosti zásahu.

Aktualizace Raspberry Pi AdGuard Home

To je obecně vše. Od této chvíle jsou všechna vaše domácí zařízení prakticky bez reklam. Nepříjemnou výjimkou je zde klientský program YouTube na konzolích Apple TV, ale zde vstoupí v platnost omezení architektury tvOS, takže AdGuard je v tomto případě bezmocný.

Apple Logo stroje času

Instalace a konfigurace Time Machine na Raspberry Pi

Podle Wikipedie je Time Machine vyvinutý záložní systém Apple a je zabudován do Mac OS X Leopard a novějších verzí macOS, stejně jako do stejnojmenného programu, který umožňuje prohlížet obsah záložních kopií a obnovovat jak jednotlivé soubory, tak operační systém jako celek.

Jednoduše řečeno, je to hodinový zálohovací systém zabudovaný do macOS, který vyžaduje kompatibilní souborový server. Raspberry Pi můžete proměnit právě v takový server, pokud k němu připojíte externí USB HDD.

Aby Time Machine správně fungoval, je vhodný pouze Raspberry Pi 4 nebo novější s porty USB 3.0 (u dřívějších modelů jsou porty pomalejší) a vhodným HDD o objemu 1-3 terabajty (s externím napájením, pokud je 3,5palcový disk).

Důležité! Existují dva síťové protokoly, které umožňují macOS ukládat data Time Machine v místní síti. Zastaralý Netatalk, nebo modernější Samba. Pro úkoly Time Machine můžete v zásadě použít kteroukoli z nich. Internet je plný návodů na organizaci procesu přes Netatalk a všechny tyto návody jsou různého stupně rozmarnosti, ale mým úkolem je poskytnout nejjednodušší, zaručeně fungující možnost. A vaším úkolem je vybrat si ten, který vám vyhovuje. V článku se tedy budeme zabývat oběma.

Příprava HDD

Připojíme HDD k USB 3.0 portu našeho Raspberry Pi, přistoupíme k němu v Terminálu přes SSH a spustíme příkaz lsblk, který zobrazí seznam připojených jednotek v konzole. Dbáme na velikost disku, abychom se ujistili, se kterým budeme pracovat, jeho název a bod připojení, v mém případě je to jednoduché sda, váš bude mít s největší pravděpodobností bod připojení /dev/sda‌. Potřebujeme ji.

Formátování pevného disku Raspberry Pi

Zadejte příkaz sudo fdisk /dev/sda (nebo s jakýmkoli jiným přípojným bodem relevantním ve vašem případě), poté klikněte na klávesnici m, zobrazí se úplný seznam příkazů. Můžete jej dokonce zkopírovat do samostatného textového souboru (nebo použít nápovědu níže).

GPT M zadat ochranný/hybridní MBR Generic d odstranit oddíl F seznam uvolnit místo bez oddílů l uvést známé typy oddílů n přidat nový oddíl p vytisknout tabulku oddílů t změnit typ oddílu v ověřit tabulku oddílů i vytisknout informace o oddílu Různé vytisknout tuto nabídku x další funkce (pouze pro odborníky) Skript Načtu rozložení disku ze souboru skriptu sfdisk O vypsat rozložení disku do souboru skriptu sfdisk Uložit a ukončit w zapsat tabulku na disk a ukončit q ukončit bez uložení změn Vytvořit nový štítek g vytvořit nový vyprázdnit tabulku oddílů GPT G vytvořit novou prázdnou tabulku oddílů SGI (IRIX) o vytvořit novou prázdnou tabulku oddílů DOS s vytvořit novou prázdnou tabulku oddílů Sun

Naším úkolem je dělat delete a partition tolikrát, kolikrát je potřeba k úplnému vyčištění disku od diskových oddílů, a poté vytvořte nový pomocí add a new partition. Nezapomeňte si zapsat změny, tzn write table to disk and exit. Zvládli jste to? Dokonale.

Nyní vytvoříme souborový systém na disku. Obvyklý ext4 je docela dost, i přes různorodost názorů na síti, že disk musí být naformátován v některém ze souborových systémů Apple. Ve skutečnosti to jen komplikuje proces přípravy, aniž by to přineslo jakýkoli užitek.

Zadejte příkaz sudo mkfs.ext4 /dev/sda1... Hotovo.

Nyní musíme zjistit UUID našeho nového oddílu.
Pojďme vstoupit ls -lha /dev/disk/by-uuid a vidíme něco takového:

Formátování pevného disku Raspberry Pi

Zkopírujte UUID z našeho sda1 do samostatného textového souboru, pokud nepoužíváte pokročilou schránku s historií.

Nyní musíme vytvořit složku, do které připojíme náš disk a udělíme mu příslušná přístupová práva.

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

Namontujte disk. Chcete-li to provést, upravte konfigurační soubor pomocí příkazu

sudo nano / etc / fstab

nano v tomto případě název editoru nainstalovaného v systému, který raději používám.

Proveďte změny v otevřeném souboru přidáním následujícího řádku

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

ale s vaším UUID z předchozího kroku. Mělo by to vypadat takto:

Formátování pevného disku Raspberry Pi

Změny uložte kliknutím Ctrl + і vstoupita poté kliknutím ukončete editor Ctrl + X.

Restartujte Raspberry Pi příkazem sudo reboot a po restartu se znovu přihlaste přes SSH.

Zabijte tým df -h a ujistěte se, že je disk připojen k systému v daném bodě /mnt/tm.

Výborně, disk je připraven k práci.


Instalace a konfigurace NETATALK (možnost 1)

Instalujeme:

sudo apt-get install netatalk -y

Vše nakonfigurujeme ve stejném editoru nano:

sudo nano /etc/netatalk/afp.conf

A uděláme obsah konfiguračního souboru přesně takto:

‌; ; konfigurační soubor Netatalk 3.x; [Globální] ; Globální nastavení serveru napodobující model = TimeCapsule6,106 [Time Machine] cesta = /mnt/tm time machine = yes valid users = pi ; [domovy] ; basedir regex = /xxxx ; [Můj svazek AFP] ; cesta = /cesta/k/volumu ; [My Time Machine Volume] ; cesta = /cesta/k/zalohe ; stroj času = ano

Nezapomeňte výsledek uložit s nápovědou Ctrl + → Enter → Ctrl+X

Soubor je nyní upraven nsswitch.conf, přidání na konec řádku hosts: dodatečné hodnoty mdns4 mdns.

sudo nano /etc/nsswitch.conf

Výsledek by měl vypadat takto:

# /etc/nsswitch.conf
#
# Příklad konfigurace funkce GNU Name Service Switch.
# Pokud máte nainstalované balíčky `glibc-doc-reference' a ,info', zkuste:
# `info libc "Name Service Switch"' pro informace o tomto souboru.

passwd: soubory
skupina: soubory
stín: soubory
gshadow: soubory

hostitelé: soubory mdns4_minimal [NOTFOUND=return] dns mdns4 mdns
sítě: soubory

protokoly: soubory db
servisces: soubory db
ethers: soubory db
rpc: soubory db

síťová skupina: nis

Opět provedeme uložení změn Ctrl + → Enter → Ctrl+X

Poté zbývá pouze spustit služby:

sudo service avahi-daemon start sudo service netatalk start

A zkontrolujte jejich výkon v týmech:

stav služby sudo netatalk

to

stav sudo služby avahi-daemon

Výsledek by měl vypadat takto:

Netatatlk stavová zpráva

Zbývá jen přejít do Nastavení macOS, vybrat sekci Time Machine a prohlédnout si naše Raspberry Pi na dostupných discích.

Stroj času Netatalk

Uvádíme jako přihlašovací jméno pi, jako heslo - to, které se používá pro přístup SSH.

Hotovo, standardní možnost přes Netatalk je nakonfigurována. Nyní, kdykoli je váš Mac ve stejné místní síti Wi-Fi jako Raspberry Pi, zálohy se automaticky provedou na váš disk.

Nyní zvažte alternativu v podobě protokolu Samba, který je považován za spolehlivější.

Instalace a konfigurace SAMBA (možnost 2)

Nainstalujeme Sambu:

Sudo apt-get nainstalujte sambu

Nastavíme uživatelské heslo (pro stejného uživatele pí) a upravíme konfiguraci. První heslo:

‌sudo smbpasswd -a pi (můžete použít stejně jako pro SSH).

A pak je konfigurace Samby ve stejném editoru nano:

‌sudo nano /etc/samba/smb.conf

Blokovat obsah [global] by mělo na konci vypadat takto:

[globální] zabezpečení = uživatel zašifruje hesla = pravdivá mapa na hosta = špatný uživatelský účet hosta = nikdo

Na úplný konec konfiguračního souboru přidejte nový blok:

[TimeCapsule] comment = Cesta Time Capsule = /mnt/tm browseable = yes writeable = yes create mask = 0600 directory mask = 0700 spotlight = no vfs objects = catia fruit streams_xattr fruit:aapl = yes fruit:time machine = yes

A uložte výsledek: Ctrl +, vstoupit, Ctrl + X.

Restartujte službu:

sudo systemctl restart smb.service

Hotovo Zbývá, stejně jako v případě Netatalk, najít disk v seznamu prezentovaném na panelu nastavení Time Machine.

Logo Homebridge

Instalace a konfigurace Homebridge na Raspberry Pi

No a úspěšně jsme se dostali k nejmasivnějšímu bloku článku.

homebridge je server založený na NodeJS, který používá rozhraní Homekit API pro necertifikovanou integraci zařízení a počáteční podporu Apple Domácí sada.

Obtížnost konfigurace Homebridge spočívá v tom, že jeho pluginy podporují širokou škálu protokolů a zařízení, díky čemuž jsou viditelné a spravovatelné z Apple HomeKit. V souladu s tím je každý plugin nakonfigurován svým vlastním způsobem, často zcela odlišným od jeho protějšku pro jiné zařízení.

Začněme. Jako obvykle přistupujeme k Raspberry Pi přes SSH a provádíme několik kroků.

Instalace Node.js

Máte možnost zkopírovat a vložit celý blok kódu do terminálu. V naprosté většině případů to stačí. Pokud se však stalo, že v určité fázi instalace selhala, zadejte zbývající příkazy z bloku jeden po druhém.

# 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 # testovací uzel funguje uzel -v # upgrade npm (verze 6.13.4 má problémy se závislostmi git) sudo npm install -g npm

Instalace Homebridge a Homebridge Config UI X

Pro začátek položme základy následujícím příkazem...

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

...a spusťte jej jako systémovou službu.

‌ sudo hb-service install --user homebridge

Konfigurace Homebridge přes webové rozhraní

Přejděte na adresu v prohlížeči v počítači http://<ip address of your server>:8581 kde místo toho <ip address of your server> stále stejná IP hned od začátku článku, v mém případě

Výchozí hodnoty uživatele a hesla jsou stejné: admin

Doporučuji okamžitě přejít na položku nabídky „Uživatelé“ a změnit tam výchozí hodnoty na bezpečnější.

Uživatelská nastavení Raspberry Pi Homebridge

Udělal jsi to? Výborně, příště nakonfigurujeme pluginy.

Mít doma různé vybavení určuje, které pluginy musíme nainstalovat. Je docela možné, že ve vašem případě bude sada pluginů mírně odlišná, ale na příkladu mé konfigurace si můžete udělat představu o tom, s jakými nuancemi se můžete setkat v procesu jejich nastavování.

Moje sada pluginů v době psaní:

  • Uživatelské rozhraní Homebridge (je součástí základní konfigurace a nemá vlastní nastavení)
  • Odstín (pro ovládání osvětlení Philips Odstín)
  • Apple TV dálkové ovládání (pro ovládání set-top boxů Apple TELEVIZE)
  • Mqttthing (pro řízení Guyverova lampa з firmware od Whilser)
  • Samsung Tizen (pro ovládání Smart TV Samsung s Tizen OS)
  • Počasí Plus (pro automatizaci chytré domácnosti v závislosti na povětrnostních podmínkách)
  • Yeelight Wi-Fi (pro ovládání lampy Xiaomi Yeelight)

Pojďme jeden po druhém.

Nastavení pluginu Hue

Chcete-li nainstalovat jakýkoli zásuvný modul do Homebridge, stačí přejít na odpovídající kartu webového rozhraní, zadat název požadovaného železa do vyhledávacího pole a vybrat zásuvný modul ze seznamu dostupných. Doporučuji věnovat pozornost označení "🛡Verified", verzi a datu aktualizace pluginu (pokud jej autor pár let neaktualizoval, je velká šance, že nebude fungovat) a určitě otevřete odkaz na domovskou stránku pluginu, kde je obvykle podrobně popsán proces instalace.

Raspberry Pi Homebridge Hue

Klikněte na tlačítko "Instalovat" na požadovaném zásuvném modulu a počkejte minutu nebo dvě, než se zásuvný modul nainstaluje.

Zapojit Homebridge Hue docela snadné nastavit. Stačí nastavit výchozí název, který se bude zobrazovat v protokolech Homebridge, a vybrat, který typ kompatibilních zařízení bude plugin zpracovávat. V mém případě je to jen osvětlení Philips Hue, a dokonce i první verze náboje, je kulatý.

Po vyplnění údajů a nutně uložení výsledku stačí stisknout centrální tlačítko na hubu Philips Hue a počkejte 15 sekund, než plugin rozpozná hub. Hotovo!

Zbývá pouze zvednout iPhone, namířit jeho fotoaparát na QR kód umístěný na záložce „Stav“ webového rozhraní Homebridge a přidat jej jako most do vašeho HomeKitu.

Pokud byl HomeKit jako takový již předem nakonfigurován (vybráno Apple TV nebo iPad jako hlavní hub, přidané místnosti atd.), pak průvodce krok za krokem okamžitě nabídne distribuci všech nalezených osvětlovacích zařízení Hue do odpovídajících místností a každému zařízení přidělí název. V obýváku mám například lampy "Strop 1", "Strop 2" a "Strop 3", ale pomocí samotného HomeKitu na iPhonu (položka "Kombinovat s jinými zařízeními") jsem je spojil do logická skupina " Horní světlo", je to pro mě pohodlnější. Zároveň ve stejném obývacím pokoji mám „Stropní lampu“ a „Noční lampu“ – samostatná zařízení, ale Siri dokonale rozumí široké škále příkazů bez dalšího školení:

  • "Zapněte světlo v obývacím pokoji (všechny lampy v obývacím pokoji svítí)"
  • "Zapni stojací lampu"
  • "Jas nočního světla je dvacet procent"
  • "Zapni noční světlo"
  • "Vypněte stropní světlo"
  • "Modrá barva na stojací lampě"
  • "Vypněte světla v obývacím pokoji (zhasne všechna světla v obývacím pokoji)"
  • "Vypněte všechna světla (vypne osvětlení v celém bytě)"

A tak dále. Pokud to máš správně nastavené Apple-rodina, relevantní a naprosto logické příkazy se automaticky stanou dostupnými pro všechny členy vaší rodiny Apple ID.

Nastavení pluginu Apple TV dálkové ovládání

Tento plugin používám k jedinému účelu: vytvořit další přepínač pro konzoli Apple TELEVIZE. Faktem je, že v Apple HomeKit má schopnost naprogramovat například zahrnutí přehrávání alba nebo playlistu podle předem stanovené podmínky, jako je „Když přijdu domů“. A všechno by bylo v pořádku, ale pokud set-top box v tuto dobu spí, přítomnost takového scénáře ho nemůže probudit. Je však možný další virtuální přepínač. Šli jsme:

KROK 1. Instalujeme službu pro získávání přihlašovacích údajů Apple TV

sudo npm install -g node-appletv-x

KROK 2. Hledáme set-top boxy dostupné v lokální síti Apple TV

sudo appletelevizní pár

KROK 3. Vytvoříme pár s požadovanou předponou. Výstup konzole bude vypadat nějak takto:

% appleTV pár ✔ Připojení k obývacímu pokoji ✔ Zahájení párování? Zadejte čtyřmístný kód PIN, který je aktuálně zobrazen v obývacím pokoji

Na schodu ‌? Enter the 4-digit pin that's currently being displayed on... na obrazovce zvoleného set-top boxu Apple TV, zobrazí se standardní čtyřmístný kód pro spárování s dálkovým ovladačem (v našem příkladu to bude 1234), který musí být zabit přímo v konzole.

% appleTV pár ✔ Připojení k obývacímu pokoji ✔ Zahájení párování? Zadejte 4místný kód PIN, který je aktuálně zobrazen v obývacím pokoji 1234 ✔ Dokončení přihlašovacích údajů pro párování: 77346115-ED48-46A8-A288-

Namísto <snip> bude několik řádků směsi písmen a číslic, je třeba je zkopírovat do samostatného textového souboru celé, počínaje prvním číslem v řádku Credentials:. O něco později ty samé pověření budeme to moc potřebovat.

KROK 4. Přidejte následující blok do konfigurační sekce webového rozhraní Homebridge na kartě "Konfigurace". "platforms": [

{ "plošina": "AppleTvPlatform", "name": "Apple TV platforma",
   "Devices": [
      {
         "name": "Pension",
         "přihlašovací údaje": "77346115-ED48-46A8-A288-",
         "isOnOffSwitchEnabled": true,
         "onOffSwitchName": "Apple TV" } ] },

...a v řadě "credentials": stačí vložit celý obsah textového souboru z předchozího kroku.

Jako předponu volíme libovolný název, "Guest house" zde je jen pro příklad.

KROK 5. Nainstalujeme samotný plugin.

Na kartě "Moduly" webového rozhraní Homebridge zadejte do vyhledávacího pole  Apple TV Remote a stiskněte tlačítko "Instalovat". Po instalaci pluginu budete vyzváni k restartování Homebridge, to se provede stisknutím příslušného tlačítka.

Tlačítko restartování Raspberry Pi Homebridge

To je vše, na iPhonu se v HomeKitu objevil nový přepínač, který lze nyní přidat do všech scénářů, kdy je potřeba automaticky zapnout set-top box.

Hlasové příkazy jako „Siri, zapni Apple TV“ nebo „Siri, vypněte Apple TV“ jsou také automaticky podporovány. Navíc, pokud nakonfigurujete několik set-top boxů v různých místnostech, Siri také automaticky začne chápat požadavek na jeho vypnutí. Apple TV v konkrétní místnosti nebo všechny najednou.

Ve skutečnosti se tento plugin rychle vyvíjí, už ví, jak rozpoznat Bundle ID pro aplikace běžící na konzoli a zasáhnout do jejich práce, například pozastavit film na Netflixu. Ale vypořádáte se s tím sami, pokud existuje touha.

Konfigurace pluginu Mqttthing

Tento plugin používám s výše zmíněnou Guyver lampou - podomácku vyrobenou lampou s deskou Arduino a maticí 16x16 adresovatelných LED. Samotná lampa musí být naplněna firmwarem od Whilser. Nechť tě provází síla!

Gyverova lampa s Grogu

KROK 1. Instalace zprostředkovatele MQTT

Provádíme řadu příkazů. Nefungují dávkově, takže je zadáváme do konzole po jednom.

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sourceces.list.d/
sudo wget 
sudo apt update
sudo apt install mosquitto mosquitto-clients
sudo /etc/init.d/mosquitto stop
sudo nano /etc/mosquitto/mosquitto.conf

Poslední příkaz spustí již známý editor nano, ve kterém nahradíme obsah otevřeného souboru následujícím:

# Umístěte svou místní konfiguraci do /etc/mosquitto/conf.d/ # # Úplný popis konfiguračního souboru je na # /usr/share/doc/mosquitto/examples/mosquitto.conf.example # pid_file /var/run/ mosquitto.pid allow_anonymous true listener 1883 persistence true persistence_location /var/lib/mosquitto/ log_dest topic log_type error log_type upozornění typ_logu upozornění log_type informace o připojení_zprávy true log_timestamp true include_dir /etc/mosquitto/conf.d

Jako obvykle, Ctrl +, vstoupit, Ctrl + Xa poté restartujte zprostředkovatele pomocí příkazu

‌sudo /etc/init.d/mosquitto start

Nainstalovaný broker MQTT.

KROK 2. Instalace pluginu Mqttthing

Obvykle jdeme na záložku "Moduly" ve webovém rozhraní Homebridge, hledat Mqttthing a klikněte na "Instalovat".

KROK 3. Konfigurace pluginu Mqttthing

Každá lampa Guyver má své vlastní ID čipu ESP. Například ESP-3bd20b. Pokud jste si lampu vyrobili a nasvítili sami, tak jste o tom perfektně informováni, pokud ne, tak lampu uveďte do režimu párování a po připojení k vaší Wi-Fi síti se v příslušném dialogovém okně na iPhonu zobrazí požadované ID . Napište to.

  1. Vypněte napájení lampy;
  2. Vypněte router;
  3. Zapněte napájení lampy;
  4. Na iPhone přejděte do „Nastavení → WiFi“
  5. Vyberte nezabezpečenou síť s SSID jako „ESP12345678“ a v dialogovém okně klikněte na „Konfigurovat WiFi“
  6. ID čipu bude vyžadováno úplně dole v konfiguračním okně

Pokud již byla lampa nakonfigurována dříve, můžete ji jednoduše vypnout, zapnout směrovač a znovu rozsvítit lampu - stará nastavení se převezmou. Pokud se jedná o první připojení lampy, zapněte router a v seznamu nastavení vyberte svou síť, poté zadejte všechny potřebné údaje, jako je heslo domácí Wi-Fi a IP adresa Raspberry Pi.

Otevřete záložku "Konfigurace" webového rozhraní Homebridge a v sekci "accessories": [ zadejte takový obrovský kus kódu, kterým nahradíte předchozí ID ESP-3bd20b na vlastní pěst:

{ "accessory": "mqttthing", "type": "žárovka", "name": "Noční světlo", "url": "http://127.0.0.1:1883", "mqttPubOptions": { "retain": false } , "topics": { "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/stav", "setRGB": "homeassistant/light /ESP-3bd20b/rgb/set" }, "onValue": "ON", "offValue": "OFF" }, { "accessory": "mqttthing", "type": "televize", "name": "Efekty nočního světla", "url": "http://127.0.0.1:1883", "topics": { "setActive" : " homeassistant/light/ESP-3bd20b/switch", "getActive": "homeassistant/light/ESP-3bd20b/stav", "setActiveInput": "homeassistant/light/ESP-3bd20b/efekt/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": "Sněžení", "value": "Sněžení" }, { "name": "Matrix", "value": "Matrix" }, { "name": "Světlušky", "value": "Světlušky " }, { "name": "Aquarium", "value": "Aquarium" }, { "name": "Starfall", "value": "Starfall" }, { "name": "Paintball", "value ": "Paintball" }, { "name": "Spirála", "value": "Spirála" }, { "name": "Teplé světlo", "value": "Teplé světlo" }, { "název" ": "Kyvadlo", "value": "Kyvadlo" }, { "name": "Blink", "value": "Blink" }, { "name": "Policejní siréna", "value": "Policejní siréna " } , { "name": "Drift", "value": "Drift" }, { "name": "Flock", "value": "Flock" } ], "onValue": "ON", "offValue" ": "VYPNUTO" }

Hotovo V Apple V HomeKitu se objevila dvě nová zařízení, lampa „Night Light“ a „Night Light Effects“. Jsou vzájemně propojené a jejich účel je zcela jasný. V případě potřeby je můžete přejmenovat v konfiguraci.

Bohužel autor firmwaru napsal parametry v ruštině, takže s takovou konfigurací budete muset Siri kontaktovat i v ruštině. Ale pokud mluvíte se Siri v angličtině, můžete každý bod kódu opravit takto:

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

Pak bude výsledek na iOS vypadat takto:

Gyver Lamp Siri Patched

Nastavení pluginu Samsung Tizen

KROK 1. Kontrola kompatibility televizoru

V ovládacím panelu routeru dejte televizi statickou lokální IP, jako jsme to udělali u Raspberry Pi úplně na začátku. Například v mém případě je to 192.168.50.100.

Přejděte na adresu v prohlížeči v počítači  http://TV_IP:8001/api/v2, což v mém případě znamená http://192.168.50.100:8001/api/v2/

Pokud uvidíte stránku se spoustou servisních informací, která vypadá asi takto…

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

...pak to znamená, že existuje šance na úspěch. Ale musíte pochopit, že ne všechny modely televizorů Samsung kompatibilní s pluginem. Například ty, které vyžadují identifikaci PIN, nebudou fungovat.

Zkopírujte hodnotu pole ze stránky služby"wifiMac": a připravte si dálkový ovladač od TV, ať je po ruce.

KROK 2. Instalace pluginu

Nic nového, na požádání hledáme plugin Samsung Tizen, vyberte požadované (autorství @tavicu) a nainstalujte.

Raspberry Pi Samsung Tizen plugin

Po spuštění přejděte do nastavení a zadejte tam následující hodnoty:

Raspberry Pi Samsung Nastavení pluginu Tizen

Název „TV“ je docela dost, protože Siri dokonale rozumí požadavku na zapnutí televizoru v obývacím pokoji, ve kterém máte sotva 2 televizory. Dokonale rozumí i povelu „zapni televizi v ložnici“, aniž by ještě jednou zatáhla za televizi v obýváku.

KROK 3. Připojení k televizoru

Zde je vše jednoduché: zvedněte dálkové ovládání televizoru a počkejte, až se na obrazovce objeví kontextové menu s upozorněním na pokus nějakého zařízení převzít ovládání televizoru. Televize samozřejmě musí být zapnutá. Když se v pravém horním rohu obrazovky objeví odpovídající požadavek, pomocí dálkového ovladače televizoru vyberte tlačítko Allow... Hotovo.

KROK 4. Přidejte televizi do Apple HomeKit

Ano, na rozdíl od předchozích případů se televizor magicky neobjeví v seznamu zařízení ve vaší domácnosti. Proto vezmeme iPhone do rukou a krok za krokem:

  1. Spusťte aplikaci Home a na hlavní stránce stiskněte + v pravém horním rohu;
  2. Vyberte "Přidat příslušenství";
  3. V dolní části obrazovky klikněte na „Žádný kód nebo skenování“;
  4. Na další obrazovce vyberte svůj televizor;
  5. Až budete vyzváni k zadání kódu nastavení HomeKit, klikněte na „Použít kameru“;
  6. Namiřte fotoaparát na QR kód na kartě Homebridge Status.

KROK 5. Nastavení pluginu

Hluboko do toho dokumentace k zásuvnému modulu můžete přimět Siri spouštět na televizoru konkrétní programy ze seznamu nainstalovaných, pozastavit je a tak dále. Nyní jako cvičení změníme funkčnost jediného tlačítka ve virtuálním ovladači Apple Dálkové, zabudované do „opony“ ovládacího centra iOS.

Toto je tlačítko ℹ︎ (informace), ve výchozím nastavení zobrazuje informace o aktuálním režimu obrazu v horní části obrazovky TV. Současně sáhněte z dálkového ovladače Apple Neexistuje žádný způsob, jak přidat Remote do seznamu programů nainstalovaných v televizoru. A teď to napravíme.

Apple Dálkové ovládání pro iOS Samsung TV

Přejděte do nastavení pluginu, sekce "Mapování klíčů", vyhledejte pole "INFORMACE" a změňte jeho hodnotu na KEY_HOME. Restartujte Homebridge a voila – tlačítko ℹ︎ na virtuálním ovladači vyvolá hlavní nabídku aplikace! Virtuální dálkový ovladač dával smysl.

Nastavení pluginu Weather Plus

KROK 1. Vytvořte si účet OpenWeather

Pojďme na web https://home.openweathermap.org a zaregistrujte si účet, dobrá věc je, že je to zdarma.

KROK 2. Generování API klíče

OpenWeather

Přejděte na požadovanou kartu osobního účtu OpenWeather a po zadání názvu klíče klikněte na tlačítko "Generovat".

OpenWeather

KROK 3. Instalace a konfigurace pluginu Weather Plus

Vyhledáme a nainstalujeme požadovaný plugin obvyklou metodou a poté přistoupíme k jeho nastavení. Výsledek by měl vypadat nějak takto:

V předpovědi mě osobně zajímají pouze hodnoty na další hodinu, takže ostatní jsou prostě zakázány:

Nastavení předpovědi Raspberry Pi OpenWeather

A aby nepotřebné virtuální senzory počasí neobtěžovaly zbytečnými aktivacemi, deaktivujeme je v příslušné sekci Skrýt hodnoty. Je žádoucí zakázat:

  • Tlak vzduchu
  • Oblačnost
  • Rosný bod
  • Teplota Zdánlivá
  • Směr větru
  • Uv index
  • Rychlost větru
  • Rychlost větru Max

A klikněte na "Uložit" úplně dole v okně nastavení.

V důsledku toho v rozhraní Apple HomeKit zobrazí hodnoty teploty a vlhkosti na další hodinu a také dva virtuální senzory „Sníh“ a „Déšť“, které lze použít v různých scénářích. Mám například naprogramovanou automatiku HomeKit, ve které, když se v předpovědi na blízkou budoucnost objeví déšť nebo sníh, Guyverova lampa na minutu ukazuje odpovídající efekt louže nebo padajících vloček. Efekt se přitom aktivuje pouze mezi 8:00 a 23:00 a pouze v případě, že je někdo doma. Jindy varování, abyste si vzali deštník nebo oblékli nepromokavé oblečení, pravděpodobně nebude nutné.

Nastavení zásuvného modulu Yeelight WiFi

Na požádání Yeelight Homebridge nabízí spoustu pluginů k instalaci, včetně jednoho ověřeného. Ale preferuji jiný, ve kterém jsou přechody mezi státy provedeny co nejplynuleji a ne stylem „na tábor padla noc“. Navíc podporuje adaptivní osvětlení z Apple, ale zde je standardní aplikace Xiaomi za rok, co se tato funkce objevila v HomeKitu, jsem se to nikdy nenaučil.

Raspberry Pi Yeelight WiFi Plugin

Důležité! Nechte svítit pouze jednu žárovku Xiaomi, aby nedošlo k záměně na začátku. Budeme s ní pracovat.

Po instalaci pluginu restartujte Homebridge a vyhledejte v protokolu něco takového: ‌[Yeelight] Received advertisement from ab1234. Toto je podmíněné ab1234 a tam je vaše žárovka. Možná ta hodnota bude color-ab1234, pak s ním budete pracovat.

Přejděte do nastavení pluginu a vložte tam následující část kódu:

{ "platform": "yeelight", "name": "Yeelight", "transitions": { "power": 400, "jas": 400, "color": 1500, "temperature": 1500 }, "multicast" : { "interface": "0.0.0.0" }, "defaultValue": { "color-ab1234": { "name": "Stropní lampa", "blacklist": [ "set_hsv" ] } } }

Kde místo color-ab1234 by měla být hodnota z vašeho protokolu a místo toho ‌"name": "Торшер" jakýkoli název odrážející místo, kde je lampa zašroubována: noční lampa, nástěnné svítidlo, strop atd.

Nastavení pluginu Raspberry Pi Yeelight WiFi

Uložte vložený kód kliknutím na tlačítko Uložit a restartujte Homebridge. Hotovo, žárovka se v HomeKitu objevila pod vámi zvoleným názvem. Zbytek žárovek Yeelight se přidává jeden po druhém stisknutím tlačítka "+ PŘIDAT PLATFORMU" tam v nastavení pluginu úplně stejným způsobem.

Aktualizace Homebridge a Node.JS na Raspberry Pi

Samotná aktualizace (a vrácení verze) Homebridge je vcelku jednoduchá: ve webovém rozhraní je potřeba kliknout na číslo aktuální verze a vybrat požadovanou verzi ze seznamu v dialogovém okně.

Ale s aktualizací Node.JS a NPM, která bude dříve nebo později potřeba při instalaci aktualizace nějakého pluginu, to není tak jednoduché. Přesněji řečeno, příkazy nejsou přesně ty, které jsou popsány ve standardních pokynech.

Node.JS se aktualizuje pomocí příkazu:

sudo hb-service update-node

A NPM až dvě po sobě jdoucí:

sudo npm cache clean -f
sudo npm install -g npm

Bohužel ani Homebridge samotný, ani jeho pluginy, ani „kolejnice“, po kterých jezdí, se neumí automaticky aktualizovat. A chodit každý den do ovládacího panelu a kontrolovat, zda není něco nového dříve nebo později, vás nudí. Pro automatizaci procesu tedy přišli se speciálním widgetem pro iOS 14, který monitoruje stav všech uzlů Homebridge a je schopen signalizovat přítomnost aktualizací nebo jakékoli problémy vizuálně i pomocí PUSH zpráv.

Instalace widgetu Homebridge Status

Widget stavu Raspberry Pi Homebridge

Jak vidíte, widget zobrazuje spoustu užitečných i ne tak užitečných informací o vašem Homebridge, ale nejcennější na něm jsou informace o stavu samotného Homebridge, jeho pluginech a Node.JS.

K získání samotného widgetu potřebujeme nejprve jeho nadřazenou aplikaci. Nainstalujte si jej do svého iPhone z App Store.

Skriptovatelný
Skriptovatelný
Vývojář: Simon B. Stovring
Cena: Zdarma+

A nyní začíná poměrně dlouhý, ale vzrušující proces instalace widgetu. Nainstalujeme jej pomocí dalšího skriptu s názvem ScriptDude uvnitř programu Scriptable. ScriptDude je dobrý, protože sleduje změny v kódu množství skriptů umístěných v galerii na adrese scriptables.net. Snad se vám tam ještě něco hodí, ale teď máme jeden úkol a ten vyřešíme.

KROK 1. Nainstalujte Scriptable.app z App Store.

KROK 2. Otevřete web v prohlížeči iPhone scriptdu.de a klikněte na tlačítko Install ScriptDude.

webové stránky scriptdu.de

KROK 3. Na stránce, která se otevře, klikněte na tlačítko Kopírovat instalační program a po obdržení zprávy o kódu skriptu do naší schránky klikněte na tlačítko Otevřít skriptovatelné.

KROK 4. Vložte obsah schránky do prázdného pole s názvem Untitled Script a stiskněte tlačítko Přehrát ▶️.

Instalace ScriptDude

KROK 5. Na obrazovce, která se otevře, klikněte na odkaz Procházet scriptables.net a na další stránce klepněte na značku (technika). Hurá, skript Homebridge Status je první na seznamu! Neváhejte a klikněte na tlačítko Stáhnout pomocí ScriptDude.

KROK 6. Stiskneme Install a po souhlasu se dvěma varováními uvidíme požadovaný skript v seznamu Installed. Hlavní obrazovka Scriptables nyní vypadá jako čtvrtý snímek obrazovky níže a klikneme na tři tečky na dlaždici Homebridge Status a přejdeme k možnostem úprav.

KROK 7. Nejprve změníme hodnotu overwritePersistedConfig з nepravdivý na pravdivý

overwritePersistedConfig = true

pro uložení nastavení skriptu na iCloud.

Konfigurace stavu Raspberry Pi Homebridge

KROK 8. Když půjdeme o něco níže, upravíme tři pole: IP adresu a port Homebridge (nezapomeňte, toto je již zmíněný http://<ip address of your server>:8581 kde místo toho <ip address of your server> stále stejná IP hned od začátku článku, v mém případě ) a souhlasíte s upozorněním na vyhledávání zařízení v místní síti. Hurá, scénář funguje!

Zbývá pouze přidat widget na obrazovku iOS 14 stejným způsobem jako kterýkoli jiný. Po přidání musíte přejít do nastavení widgetu (dlouhým klepnutím na něj) a zadat řadu parametrů: vyberte požadovaný skript, určete, co dělat při interakci s ním, a do pole Parametr zadejte následující hodnotu

USE_CONFIG:purple.json

Poté se nezapomeňte vrátit do kódu skriptu a vrátit hodnotu

overwritePersistedConfig = false

To je vše. Widget funguje a když dojde k aktualizacím Node.JS, Homebridge nebo jeho pluginů, budete dostávat PUSH-notifikace s příslušným obsahem.

Závěr

Příležitosti Apple HomeKit se mi mnohonásobně rozrostl. Vymyslel jsem hromadu skriptů a automatizací, které usnadňují život mně i mým blízkým.

Například v tmavém období dne prvního člena rodiny, který se vrátí domů, přivítají rozsvícená světla zvenčí, na chodbě, v obývacím pokoji a koupelně – a nyní není třeba utíkat k vypínačům. s neumytýma rukama.

Když z domu odejde poslední člen rodiny, HomeKit opatrně vypne televizory, světla a vůbec vše, co se vypnout dá. A pokud je doma alespoň jedna osoba, s přicházejícím soumrakem se rozsvítí vnější osvětlení a některé lampy uvnitř.

Siri opět dokáže ovládat všechna připojená zařízení zcela logickými příkazy, slovo od slova stejnými, na které byste se zeptali někoho v domě, když potřebujete něco zapnout nebo vypnout v konkrétní místnosti. Jen do této místnosti už nikdo nemusí utíkat.

Ranní a večerní hudba se mísí z Apple, ke kterému jsou připevněny světelné efekty lampy Guyver. S lehkou hudbou je možné vytvořit i jiné osvětlení, ale z efektu nejsem nadšený.

Obecně platí, že scénáře aplikace závisí pouze na vaší fantazii a peněženku příliš nezatíží, jelikož produkty s označením „Works with Apple HomeKit' již není jedinou dostupnou volbou.

V dalším článku cyklu se vy i já trochu pobavíme: naučíme naše Raspberry Pi stahujte torrenty, pojďme z něj udělat výkonné mediální centrum a retro herní konzoli.

Zůstaňte naladěni!

Jurij Stanislavskij
Jurij Stanislavskijhttp://notarecords.com
Vývojář SwiftUI. Sbírám vinyly. Někdy novinář. Majitel Nota Record Store.
- Reklama -
Přihlásit se
Upozornit na
host

0 Komentáře
Vložené recenze
Zobrazit všechny komentáře