Root NationSoftwareInstruktionerRaspberry Pi i hjemmets økosystem: funktioner og eksempler (del 1)

Raspberry Pi i hjemmets økosystem: funktioner og eksempler (del 1)

-

For noget tid siden jeg købt enkeltbord mini-computer Raspberry Pi 4 (aka "hindbær» blandt amatører), der ikke forstår, hvordan og til hvad det kan bruges derhjemme. Det var snarere endnu et teknologisk legetøj, og til absolut acceptable penge, så du havde råd til at eksperimentere. Når jeg ser fremad, kan jeg sige, at jeg i øjeblikket har sådanne tjenester som en netværksdækkende annonceblokering kørende på min RPi4 AdGuard Hjem, backup-lagringssystem Apple tid MachineHjemmebro at tilføje ikke-certificerede enheder til økosystemet Apple HomeKit, et program til at downloade torrents Transmissionsprojekter, medieserver PLEX og en retro spillekonsol RetroPie. Jeg planlægger at eksperimentere med en selv-hostet password manager Bitwarden, en open source-analog af det berømte 1Password. Ikke for lidt til sådan en på størrelse med en pakke cigaretter, vel?

Raspberry Pi 4 med tastatur og mus

I denne cyklus med to artikler, vil jeg forsøge at fortælle så detaljeret som muligt, hvordan jeg installerede og konfigurerede alt dette.

Den første artikel vil være mere nyttigt for valmuebønder, da det berører specifikt for økosystemet Apple point, selvom afsnittet, der omhandler AdGuard, vil være interessant for brugere af ethvert desktop- eller mobiloperativsystem.

I den anden artikel overveje universelle tjenester, der kan være nyttige for alle uden undtagelse. Og du og jeg vil udvikle dig som normale mennesker – fra simple til komplekse.

Raspberry Pi forberedelse

Det skal bemærkes, at de tidlige revisioner af Raspberry Pi var ret svage med hensyn til hardware, så enhver softwareudvikler opfattede denne computer som en enkeltopgavemaskine. På grund af dette vil enhver tjeneste, der kan køres på RPi, som standard blive tilbudt som et færdiglavet billede af operativsystemet. Jeg downloadede det, optog det på et SD-kort, indsatte det i RPi'en og tændte den færdige computer med den installerede service. Men vores opgave er at lancere flere tjenester på samme tid, da den nuværende revision tillader det. Derfor vil vi installere dem som applikationer.

Lad os antage, at du allerede har forbundet en Raspberry Pi med et "rent" Raspbian-system til et lokalt netværk. Hvis du er nybegynder og ikke ved, hvor du overhovedet skal starte, så start med  officielle instruktioner (følg linket - en vidunderlig trin-for-trin guide med en masse interaktive illustrationer), og fortsæt derefter til næste trin.

Trin 1

Først og fremmest skal du aktivere adgang ved SSH til din Raspberry Pi. For at gøre dette skal du udføre et par enkle trin:

  • Åbn Raspberry Pi-konfigurationsvinduet i menuen Præferencerces" operativ system
  • Klik på "Interfaces»
  • Vælg Aktiver ud for SSH
  • Klik på knappen "OK" for at ændringerne træder i kraft

Hvis du har Raspbian Lite installeret uden en grafisk grænseflade, skal du udføre følgende kommandoer i terminalen på selve Raspberry Pi:

sudo systemctl aktiver ssh sudo systemctl start ssh

Adgang aktiveret.

- Annonce -

Jeg har en macOS-computer, så jeg kan springe direkte ind i de næste trin, ligesom Linux-computerejere. Windows 10-brugere modtog også en indbygget OpenSSH-klient som en del af deres operativsystem for noget tid siden, men nogle manipulationer kan være nødvendige for at aktivere den.

Åbn en Windows-kommandoprompt eller en PowerShell-skal (alt efter hvad du foretrækker), og skriv følgende kommando:

Get-WindowsCapability -Online | ? Navn-lignende 'OpenSSH*'

Hvis SSH-klienten er installeret, vil svaret på kommandoen være sådan her:

Windows 10 OpenSSH installeret

Hvis OpenSSH.Client fortæller os i tilstandsfeltet, at det ikke er til stede, så er den hurtigste måde at aktivere det på at indtaste følgende kommando:

Tilføj-WindowsCapability -Online -Navn OpenSSH.Client*

Dette fuldender den første fase af forberedelsen, også for Windows-brugere. I betragtning af arten af ​​Raspberry Pi og det faktum, at Raspbian OS faktisk er en anden version af Linux, bliver vi nødt til at gøre en del arbejde på kommandolinjen. Det kan virke usædvanligt for nogle, men tro mig, der er intet svært eller uopretteligt i dette, så vær modigere. Alt ordner sig.

Trin 2

Nu skal du sikre dig, at din Raspberry Pi altid får den samme interne IP-adresse på det lokale netværk. Den nemmeste måde at gøre dette på er i routerindstillingerne.

Jeg bruger et tre-komponent MESH system  ASUS ZenWiFi Mini med standardwebgrænsefladen for enhver router fra dette firma. For at forbinde MAC- og IP-adresser skal du vælge en enhed fra listen over tilsluttede enheder, og i pop op-vinduet skal du blot angive den ønskede IP. I mit tilfælde valgte jeg 192.168.50.10 bare for at lette at huske.

ASUS WiFi-indstillinger

I routere fra andre producenter kan menupunktet kaldes anderledes, men dets essens forbliver den samme - udstedelse af statiske lokale IP'er til tilsluttede enheder.

Trin 3

Vi starter Terminal (kommandolinje, PowerShell osv.) på din computer fra standardsættet af macOS, Linux eller Windows.

Vi dræber holdet

ssh pi@

(hvor i stedet for <ip address of your server> vi indsætter IP'en for "hindbær" fra det forrige trin), og vi ser omtrent følgende billede:

Raspberry Pi ssh adgangskode

Her skal du dræbe adgangskoden til din Raspberry Pi, som du angav under den indledende opsætning.

- Annonce -

Vigtig! Adgangskoden vil ikke blive vist på skærmen, når du indtaster den. Og "stjernerne" vil heller ikke blive vist. Du skal skrive adgangskoden bogstaveligt "blindt" og trykke på Enter.

Hvis adgangskoden er indtastet korrekt, vil resultatet være sådan her:

Raspberry Pi ssh enterHej, du er inde i din Raspberry Pi. Velkommen! Du kan gå videre til indstillingerne for individuelle tjenester. Og vi starter med det enkleste.

AdGuard Home Logo

Installation og konfiguration af AdGuard Home på Raspberry Pi

AdGuard Hjem, ifølge udviklerens vidnesbyrd - "et kraftfuldt netværksværktøj mod annoncering og sporing. Med Internet of Things stigende rolle bliver det mere og mere vigtigt at styre hele dit netværk. Når AdGuard Home er konfigureret, dækker ALLE dine hjemmeenheder uden behov for software på klientsiden."

Kort sagt er det et annoncefilter, der ikke fungerer som separate apps eller browser-plugins på hver af dine enheder, men en universel løsning, der dækker hele dit hjemme-LAN med filtre.

Lad os vende tilbage til terminalvinduet (lad os blive enige om, at Windows PowerShell og andre skaller til indtastning af kommandoer, i teksten vil jeg simpelthen kalde Terminal, okay?), Vi udfører følgende kommandoer, der vil downloade og pakke AdGuard Home-arkivet ud:

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

Det eneste, der er tilbage, er at installere tjenesten og køre den:

cd AdGuardHome sudo ./AdGuardHome -s installation

Resultatet vil se nogenlunde således ud:

AdGuard Home installeret

AdGuard Home er allerede installeret! Det var simpelt, var det ikke?

Nu skal du besøge webgrænsefladen for den nyligt installerede tjeneste. Start browseren (Safari, Chrome, Firefox eller hvad du nu har - det er lige meget) og dræb i adresselinjen https://<ip address of your server>:3000. I mit tilfælde er det, som vi husker, https://192.168.50.10: 3000.

Du vil se en trin-for-trin indledende opsætningsguide. Hvis du er mere komfortabel med grænsefladen på et andet sprog, kan du straks skifte til det ønskede. Listen omfatter blandt andet ukrainske, polske og russiske.

Raspberry Pi AdGuard Hjem velkomstskærmI det tredje trin bliver du bedt om at oprette en AdGuard Home-bruger og komme med en adgangskode. På den fjerde vil det blive forklaret, at Raspberry Pi IP-adressen (samme 192.168.50.10 i mit tilfælde) skal registreres som DNS i det relevante afsnit af routerindstillingerne. Gør dette:

ASUS routerens DNS-indstillinger

I routere fra andre producenter vil det ønskede indstillingspunkt være placeret omtrent på samme vej.

Dernæst går vi til indstillingerne for selve AdGuard Home, som stadig er uskyldigt rent.

Raspberry Pi AdGuard Home ren installation

Hvis du har et Smart TV Samsung, LG eller lignende, gå til menuen "Filtre - Tilføj sortliste" og der "Vælg fra listen". Aktiver den tilsvarende blokeringsliste.

Raspberry Pi AdGuard Home TV-filter

Nu skal du tilføje russisk/ukrainsk-sprogede annoncefiltre manuelt. Klik på "Tilføj sortliste" igen, derefter "Tilføj din liste" og indtast sekventielt følgende værdier i de tilsvarende felter:

Ім'я URL'en
AdGuard Base filter https://filters.adtidy.org/extension/chromium/filters/2.txt
AdGuard russisk filter https://filters.adtidy.org/extension/chromium/filters/1.txt
AdGuard-sporingsbeskyttelsesfilter https://filters.adtidy.org/extension/chromium/filters/3.txt

Til at begynde med er disse filtre ganske nok.

Til sammenligning bruger jeg normalt exler.ru, et websted fyldt med klassiske bannere. Til venstre - før, til højre - efter påføring af filtre.

Opdateringen af ​​AdGuard Home foregår i manuel tilstand, men den starter bogstaveligt talt med én knap og tager et par sekunder, uden at det kræver indgriben.

Raspberry Pi AdGuard Home-opdatering

Det er alt, generelt. Fra nu af er alle dine hjemmeenheder stort set reklamefri. En ubehagelig undtagelse her er klientprogrammet YouTube på konsoller Apple TV, men her træder begrænsningerne i tvOS-arkitekturen i kraft, så AdGuard er magtesløs i dette tilfælde.

Apple Time Machine-logo

Installation og konfiguration af Time Machine på Raspberry Pi

Ifølge Wikipedia er Time Machine et backup-system udviklet Apple og er indbygget i Mac OS X Leopard og senere versioner af macOS, samt et program af samme navn, der giver dig mulighed for at se indholdet af sikkerhedskopier og gendanne både individuelle filer og operativsystemet som helhed.

Kort sagt er det et sikkerhedskopieringssystem på timebasis indbygget i macOS, der kræver en kompatibel filserver. Du kan gøre Raspberry Pi til netop sådan en server, hvis du tilslutter en ekstern USB HDD til den.

For at Time Machine skal fungere korrekt, er kun Raspberry Pi 4 eller nyere egnet med USB 3.0-porte (i tidligere modeller er portene langsommere) og en passende HDD med en volumen på 1-3 terabyte (med ekstern strøm, hvis den er en 3,5-tommers disk).

Vigtig! Der er to netværksprotokoller, der gør det muligt for macOS at gemme Time Machine-data på et lokalt netværk. Forældet Netatalk, eller mere moderne Samba. I princippet kan du bruge enhver af dem til Time Machine-opgaver. Internettet er fyldt med instruktioner til at organisere processen gennem Netatalk, og alle disse instruktioner er af forskellig grad af lune, men min opgave er at give den enkleste, garanterede arbejdsmulighed. Og din opgave er at vælge den, der passer dig. Så i artiklen vil vi overveje begge dele.

HDD klargøring

Vi forbinder HDD'en til USB 3.0-porten på vores Raspberry Pi, får adgang til den i terminalen via SSH og kører kommandoen lsblk, som viser en liste over tilsluttede drev i konsollen. Vi er opmærksomme på størrelsen af ​​disken for at sikre, hvilken vi vil arbejde med, dens navn og monteringspunkt, i mit tilfælde er det enkelt sda, din vil sandsynligvis stadig have et monteringspunkt /dev/sda‌. Vi har brug for hende.

Raspberry Pi HDD formatering

Indtast kommandoen sudo fdisk /dev/sda (eller med et hvilket som helst andet monteringspunkt, der er relevant i dit tilfælde), klik derefter på tastaturet m, for at se den fulde liste over kommandoer. Du kan endda kopiere den til en separat tekstfil (eller brug tippet nedenfor).

GPT M indtast beskyttende/hybrid MBR Generisk d slet en partition F liste fri upartitioneret plads l liste kendte partitionstyper n tilføje en ny partition p udskrive partitionstabellen t ændre en partitionstype v verificere partitionstabellen i udskrive oplysninger om en partition Diverse m udskriv denne menu x ekstra funktionalitet (kun eksperter) Script Jeg indlæser disklayout fra sfdisk scriptfil O dump disklayout til sfdisk scriptfil Gem & Afslut w skriv tabel til disk og afslut q luk uden at gemme ændringer Opret en ny etiket g opret en ny tom GPT-partitionstabel G opret en ny tom SGI (IRIX) partitionstabel o opret en ny tom DOS-partitionstabel s opret en ny tom Sun-partitionstabel

Vores opgave er at gøre delete a partition så mange gange som nødvendigt for at rense disken fuldstændigt fra partitioner, og opret derefter en ny ved hjælp af add a new partition. Glem ikke at skrive ændringerne ned, dvs write table to disk and exit. Klarede du dig? Perfekt.

Nu opretter vi et filsystem på disken. Den sædvanlige ext4 er ganske nok, på trods af mangfoldigheden af ​​meninger på netværket, at disken skal formateres i et af filsystemerne Apple. I virkeligheden komplicerer dette kun forberedelsesprocessen uden at bringe nogen fordel overhovedet.

Indtast kommandoen sudo mkfs.ext4 /dev/sda1. Færdig

Nu skal vi finde ud af UUID for vores nye partition.
Lad os komme ind ls -lha /dev/disk/by-uuid og vi ser noget som dette:

Raspberry Pi HDD formatering

Kopiér UUID fra vores sda1 ind i en separat tekstfil, hvis du ikke bruger det avancerede udklipsholder med historik.

Nu skal vi oprette en mappe, hvori vi monterer vores disk og giver den de relevante adgangsrettigheder.

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

Monter disken. For at gøre dette skal du redigere konfigurationsfilen med kommandoen

sudo nano / etc / fstab

nano i dette tilfælde navnet på den editor, der er installeret i systemet, som jeg foretrækker at bruge.

Foretag ændringer i den åbnede fil ved at tilføje følgende linje til den

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

men med dit UUID fra forrige trin. Det skal se sådan ud:

Raspberry Pi HDD formatering

Gem ændringer ved at klikke Ctrl + A і Indtast, og forlad derefter editoren ved at klikke Ctrl + X.

Genstart Raspberry Pi med kommandoen sudo reboot og log ind igen via SSH efter genstarten.

Dræb holdet df -h og sørg for, at drevet er monteret på systemet på det punkt /mnt/tm.

Fremragende, disken er klar til arbejde.


Installation og konfiguration af NETATALK (mulighed 1)

Vi installerer:

sudo apt-get install netatalk -y

Vi konfigurerer alt i samme editor nano:

sudo nano /etc/netatalk/afp.conf

Og vi laver indholdet af konfigurationsfilen nøjagtigt sådan her:

‌; ; Netatalk 3.x konfigurationsfil; [Global] ; Globale serverindstillinger efterligner model = TimeCapsule6,106 [Time Machine] sti = /mnt/tm tidsmaskine = ja gyldige brugere = pi ; [Hjem] ; baseret regex = /xxxx ; [Mit AFP bind] ; sti = /sti/til/volumen ; [My Time Machine Volume] ; sti = /sti/til/sikkerhedskopi ; tidsmaskine = ja`

Glem ikke at gemme resultatet med hjælp Ctrl + A → Indtast → Ctrl+X

Filen er nu redigeret nsswitch.conf, tilføjer i slutningen af ​​linjen hosts: yderligere værdier mdns4 mdns.

sudo nano /etc/nsswitch.conf

Resultatet skulle se sådan ud:

# /etc/nsswitch.conf
#
# Eksempel på konfiguration af GNU Name Service Switch funktionalitet.
# Hvis du har `glibc-doc-reference' og `info'-pakkerne installeret, prøv:
# `info libc "Name Service Switch"' for information om denne fil.

passwd: filer
gruppe: filer
skygge: filer
gshadow: filer

værter: filer mdns4_minimal [NOTFOUND=retur] dns mdns4 mdns
netværk: filer

protokoller: db filer
serviceces: db filer
ethere: db-filer
rpc: db filer

netgruppe: nis

Igen gemmer vi ændringerne igennem Ctrl + A → Indtast → Ctrl+X

Så er det kun at starte tjenesterne:

sudo service avahi-daemon start sudo service netatalk start

Og tjek deres præstationer i hold:

sudo service netatalk status

og

sudo service avahi-daemon status

Resultatet skulle se sådan ud:

Netatatlk Statusmeddelelse

Det eneste, der er tilbage, er at gå til macOS-indstillinger, vælge Time Machine-sektionen og se vores Raspberry Pi i de tilgængelige drev.

Time Machine Netatalk

Vi angiver som et login pi, som adgangskoden - den der bruges til SSH-adgang.

Udført, standardindstillingen gennem Netatalk er konfigureret. Nu, når din Mac er på det samme lokale Wi-Fi-netværk som Raspberry Pi, vil der automatisk blive lavet sikkerhedskopier til dit drev.

Overvej nu et alternativ i form af Samba-protokollen, som anses for mere pålidelig.

Installation og konfiguration af SAMBA (mulighed 2)

Vi installerer Samba:

sudo apt-get install samba

Vi indstiller brugeradgangskoden (for den samme pi-bruger) og redigerer konfigurationen. Første adgangskode:

‌sudo smbpasswd -a pi (du kan bruge det samme som til SSH).

Og så er Samba-konfigurationen alt sammen i den samme editor nano:

‌sudo nano /etc/samba/smb.conf

Bloker indhold [global] skal se sådan ud til sidst:

[global] sikkerhed = brugerkrypter adgangskoder = sand kort til gæst = dårlig brugergæstekonto = ingen

Til allersidst i konfigurationsfilen skal du tilføje en ny blok:

[TimeCapsule] kommentar = Time Capsule-sti = /mnt/tm gennemselig = ja skrivbar = ja opret maske = 0600 mappemaske = 0700 spotlight = ingen vfs-objekter = catia fruit streams_xattr fruit:aapl = ja frugt:tidsmaskine = ja

Og vi gemmer resultatet: Ctrl + A, Indtast, Ctrl + X.

Genstart tjenesten:

‌sudo systemctl genstart smb.service

Færdig Det er tilbage, som i tilfældet med Netatalk, at finde disken på listen præsenteret i Time Machine-indstillingspanelet.

Homebridge logo

Installation og konfiguration af Homebridge på Raspberry Pi

Nå, vi har med succes nået den mest massive blok af artiklen.

Hjemmebro er en NodeJS-baseret server, der bruger Homekit API til ikke-certificeret enhedsintegration og indledende support til Apple Hjemmesæt.

Vanskeligheden ved at konfigurere Homebridge er, at dens plugins understøtter en bred vifte af protokoller og enheder, hvilket gør dem synlige og håndterbare fra Apple HomeKit. Derfor er hvert plugin konfigureret på sin egen måde, ofte helt anderledes end dets modstykke til en anden enhed.

Lad os begynde. Som sædvanlig får vi adgang til Raspberry Pi via SSH og udfører flere trin.

Installerer Node.js

Du har mulighed for at kopiere og indsætte hele kodeblokken i terminalen. I de fleste tilfælde er det nok. Men hvis det skete, at installationen på et tidspunkt mislykkedes, skal du indtaste de resterende kommandoer fra blokken én efter én.

# 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 fungerer node -v # opgrader npm (version 6.13.4 har problemer med git-afhængigheder) sudo npm install -g npm

Installation af Homebridge og Homebridge Config UI X

Til at begynde med, lad os sætte fundamentet med følgende kommando...

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

...og køre det som en systemtjeneste.

‌sudo hb-service install --user homebridge

Konfiguration af Homebridge via webgrænsefladen

Gå til adressen i browseren på din computer http://<ip address of your server>:8581 hvor i stedet for <ip address of your server> stadig den samme IP fra begyndelsen af ​​artiklen, i mit tilfælde

Standardværdierne for brugeren og adgangskoden er de samme: admin

Jeg anbefaler straks at gå til menupunktet "Brugere" og ændre standardværdierne der til mere sikre.

Raspberry Pi Homebridge brugerindstillinger

Gjorde du det? Fremragende, vi konfigurerer plugins næste gang.

At have en række forskellige udstyr derhjemme dikterer, hvilke plugins vi skal installere. Det er meget muligt, at i dit tilfælde vil sættet af plugins være lidt anderledes, men ved at bruge eksemplet med min konfiguration kan du få en idé om, hvilke nuancer du kan støde på i processen med at konfigurere dem.

Mit sæt plugins i skrivende stund:

  • Homebridge UI (inkluderer i den grundlæggende konfiguration og har ikke sine egne indstillinger)
  • Hue (til lysstyring Philips farvetone)
  • Apple Fjernsyns fjernbetjening (til styring af set-top-bokse Apple TV)
  • Mqttthing (til ledelse Guyvers lampe з firmware fra Whilser)
  • Samsung Tizen (til Smart TV-styring Samsung med Tizen OS)
  • Vejr Plus (til automatisering af et smart hjem afhængigt af vejrforholdene)
  • Yeelight Wi-Fi (til lampestyring Xiaomi Yeelight)

Lad os gå en efter en.

Hue plugin indstillinger

For at installere ethvert plug-in i Homebridge er det nok at gå til den tilsvarende fane på webgrænsefladen, indtaste navnet på det ønskede jern i søgelinjen og vælge plug-in'et fra listen over tilgængelige. Jeg anbefaler at være opmærksom på "🛡Verified"-etiketten, versionen og opdateringsdatoen for pluginnet (hvis forfatteren ikke har opdateret det i et par år, er der en god chance for, at det ikke virker) og sørg for at åbn linket til plugin's hjemmeside, som normalt beskrives i detaljeret installationsproces.

Raspberry Pi Homebridge Hue

Klik på knappen "Installer" på det ønskede plug-in, og vent et minut eller to, indtil plug-in'et er installeret.

Plugin Homebridge Hue ret nem at sætte op. Du skal blot indstille standardnavnet, der vil blive vist i Homebridge-logfilerne, og vælge hvilken type kompatible enheder, der skal håndteres af plugin'et. I mit tilfælde er det kun belysning Philips Hue, og endda den første version af navet, er rund.

Efter at have udfyldt dataene og nødvendigvis gemt resultatet, behøver du kun at trykke på den centrale knap på hub'en Philips Hue og vent 15 sekunder, indtil plugin'et genkender hubben. Færdig!

Det eneste, der er tilbage, er at tage iPhone'en op, rette kameraet mod QR-koden, der er placeret på fanen "Status" på Homebridge-webgrænsefladen og tilføje den som en bro til dit HomeKit.

Hvis HomeKit som sådan allerede er konfigureret på forhånd (valgt Apple TV eller iPad som hovedhub, tilføjede rum osv.), så vil trin-for-trin guiden straks tilbyde at distribuere alle fundne Hue-lysenheder til de tilsvarende rum og give hver enhed et navn. I min stue har jeg f.eks. "Ceiling 1", "Ceiling 2" og "Ceiling 3" lamper, men ved hjælp af HomeKit selv på iPhonen (elementet "Kombiner med andre enheder") kombinerede jeg dem til en logisk gruppe "Øvre lys", det er mere bekvemt for mig. På samme tid, i den samme stue, har jeg en "gulvlampe" og "natlampe" - separate enheder, men Siri forstår perfekt en bred vifte af kommandoer uden yderligere træning:

  • "Tænd lyset i stuen (alle lamperne i stuen lyser)"
  • "Tænd gulvlampen"
  • "Lysstyrken af ​​natlyset er tyve procent"
  • "Tænd natlyset"
  • "Sluk loftslyset"
  • "Blå farve på gulvlampen"
  • "Sluk lyset i stuen (slukker alt lys i stuen)"
  • "Sluk alt lys (slukker lyset i hele lejligheden)"

Og så videre. Hvis du har den korrekt konfigureret Apple-familie, relevante og absolut logiske kommandoer bliver automatisk tilgængelige for alle medlemmer, der er indtastet i din familie Apple ID.

Plugin-indstillinger Apple Fjernsyns fjernbetjening

Jeg bruger dette plugin til ét enkelt formål: at oprette en ekstra switch til konsollen Apple TV. Faktum er, at i Apple HomeKit har evnen til at programmere for eksempel medtagelsen af ​​afspilning af et album eller en afspilningsliste i henhold til en forudbestemt tilstand, såsom "Når jeg kommer hjem." Og alt ville være fint, men hvis set-top-boksen sover på dette tidspunkt, kan tilstedeværelsen af ​​et sådant scenario ikke vække den. Men en ekstra virtuel switch er mulig. Vi gik:

Trin 1. Vi installerer en tjeneste til registrering af legitimationsoplysninger Apple TV

sudo npm installer -g node-appletv-x

Trin 2. Vi leder efter set-top-bokse tilgængelige på det lokale netværk Apple TV

sudo appletv par

Trin 3. Vi opretter et par med det ønskede præfiks. Konsoloutputtet vil se nogenlunde sådan ud:

% appletv-par ✔ Tilslutning til stue ✔ Påbegynder parring? Indtast den 4-cifrede pin, der i øjeblikket vises på Living Room

På trappen ‌? Enter the 4-digit pin that's currently being displayed on... på skærmen på din valgte set-top-boks Apple TV, vises en standard firecifret kode til parring med fjernbetjeningen (i vores eksempel vil det være det 1234), som skal dræbes lige der i konsollen.

% appletv-par ✔ Tilslutning til stue ✔ Påbegynder parring? Indtast den 4-cifrede pin, der i øjeblikket vises på Living Room 1234 ✔ Fuldførelse af parringsoplysninger: 77346115-ED48-46A8-A288-

I stedet <snip> der vil være flere linjer af en blanding af bogstaver og tal, de skal kopieres til en separat tekstfil i deres helhed, startende fra det første tal i linjen Credentials:. Lidt senere de samme Legitimationsoplysninger vi får meget brug for det.

Trin 4. Tilføj følgende blok til konfigurationssektionen af ​​Homebridge-webgrænsefladen på fanen "Konfiguration". "platforms": [

{ "platform": "AppleTvPlatform", "name": "Apple TV-platform",
   "Devices": [
      {
         "name": "Gæstehus",
         "credentials": "77346115-ED48-46A8-A288-",
         "isOnOffSwitchEnabled": sandt,
         "onOffSwitchName": "Apple TV" } ] },

...og i rækken "credentials": bare indsæt det fulde indhold af tekstfilen fra det forrige trin.

Vi vælger et hvilket som helst navn til præfikset, "Gæstehus" her er bare f.eks.

Trin 5. Vi installerer selve plugin'et.

På fanen "Moduler" på Homebridge-webgrænsefladen skal du skrive i søgefeltet  Apple TV Remote og tryk på knappen "Installer". Efter installation af plugin, vil du blive bedt om at genstarte Homebridge, dette gøres ved at trykke på den relevante knap.

Raspberry Pi Homebridge genstartknap

Det er det, en ny switch er dukket op på iPhone i HomeKit, som nu kan tilføjes til alle scenarier, hvor du automatisk skal tænde for set-top-boksen.

Stemmekommandoer som "Siri, tænd Apple TV" eller "Siri, sluk Apple TV" understøttes også automatisk. Desuden, hvis du konfigurerer flere set-top-bokse i forskellige rum, vil Siri også automatisk begynde at forstå anmodningen om at slå den fra Apple TV i et bestemt rum eller det hele på én gang.

Faktisk udvikler dette plugin sig hurtigt, det ved allerede, hvordan man genkender bundle-id'et for programmer, der kører på konsollen, og griber ind i deres arbejde, for eksempel at sætte en film på Netflix på pause. Men du vil klare dette på egen hånd, hvis der er et ønske.

Konfiguration af Mqttthing-pluginnet

Jeg bruger dette plugin med Guyver-lampen nævnt ovenfor - en hjemmelavet lampe med et Arduino-kort og en 16x16 matrix af adresserbare LED'er. Selve lampen skal være fyldt med firmware fra Whilser. Må kraften være med dig!

Gyver Lampe med Grogu

Trin 1. Installation af MQTT-mægleren

Vi udfører en række kommandoer. De fungerer ikke i batches, så vi indtaster dem i konsollen en ad gangen.

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 opdatering
sudo apt install mosquitto mosquitto-klienter
sudo /etc/init.d/mosquitto stop
sudo nano /etc/mosquitto/mosquitto.conf

Den sidste kommando starter den allerede velkendte editor nano, hvori vi erstatter indholdet af den åbnede fil med følgende:

# Placer din lokale konfiguration i /etc/mosquitto/conf.d/ # # En fuldstændig beskrivelse af konfigurationsfilen findes på # /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 warning log_type notice log_type information connection_messages true log_timestamp true include_dir /etc/mosquitto/conf.d

Som sædvanligt, Ctrl + A, Indtast, Ctrl + X, og genstart derefter mægleren med kommandoen

‌sudo /etc/init.d/mosquitto start

MQTT-mægler installeret.

Trin 2. Installation af Mqttthing plugin

Vi går normalt til fanen "Moduler" i Homebridges webgrænseflade, søg Mqttthing og klik på "Installer".

Trin 3. Mqttthing plugin konfiguration

Hver Guyver-lampe har sit eget ESP-chip-id. For eksempel ESP-3bd20b. Hvis du selv har lavet og blinket lampen, så er du perfekt informeret om det, hvis ikke, så sæt lampen i parringstilstand, og når du er tilsluttet dit Wi-Fi-netværk, vil den relevante dialogboks på iPhone vise det nødvendige ID . Skriv det ned.

  1. Sluk for strømmen til lampen;
  2. Sluk routeren;
  3. Tænd for strømmen til lampen;
  4. På iPhone skal du gå til "Indstillinger → WiFi"
  5. Vælg et usikret netværk med et SSID som "ESP12345678", og klik på "Konfigurer WiFi" i dialogboksen
  6. Chip-id'et vil være påkrævet helt nederst i konfigurationsvinduet

Hvis lampen allerede er konfigureret tidligere, kan du blot slukke for den, tænde routeren og tænde lampen igen - de gamle indstillinger vil blive samlet op. Hvis dette er den første forbindelse af lampen, skal du tænde for routeren og vælge dit netværk på indstillingslisten, og derefter indtaste alle de nødvendige data, såsom adgangskoden til hjemmets Wi-Fi og IP-adressen til Raspberry Pi.

Åbn fanen "Konfiguration" på Homebridge-webgrænsefladen og i afsnittet "accessories": [ indtast sådan et stort stykke kode, og erstatte det tidligere ID med ESP-3bd20b alene:

{ "accessory": "mqttthing", "type": "lightbulb", "name": "Nightlight", "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 /lysstyrke/status", "setBrightness": "hjemmeassistent/lys/ESP-3bd20b/lysstyrke/sæt", "getRGB": "hjemmeassistent/lys/ESP-3bd20b/rgb/status", "setRGB": "hjemmeassistent/lys /ESP-3bd20b/rgb/set" }, "onValue": "ON", "offValue": "OFF" }, { "accessory": "mqttthing", "type": "tv", "name": "Natlyseffekter", "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": "Farveændring", "value": "Farveændring" }, { "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": "Skov 3D", "value": "Skov 3D" }, { "name": "Ocean 3D", "value": "Ocean 3D" } , { "name": "Snefald", "value": "Snefald" }, { "name": "Matrix", "value": "Matrix" }, { "name": "Fireflies", "value": "Ildfluer " }, { "name": "Akvarium", "value": "Akvarium" }, { "name": "Starfall", "value": "Starfall" }, { "name": "Paintball", "value ": "Paintball" }, { "name": "Spiral", "value": "Spiral" }, { "name": "Varmt lys", "value": "Varmt lys" }, { "name ": "Pendulum", "value": "Pendulum" }, { "name": "Blink", "value": "Blink" }, { "name": "Politisirene", "value": "Politisirene " } , { "name": "Drift", "value": "Drift" }, { "name": "Flok", "value": "Flok" } ], "onValue": "ON", "offValue ": "AF" }

Færdig I Apple To nye enheder er dukket op i HomeKit, lampen "Night Light" og "Night Light Effects". De hænger sammen, og deres formål er helt klart. Hvis det ønskes, kan du omdøbe dem i konfigurationen.

Desværre skrev forfatteren af ​​firmwaren parametrene på russisk, så med en sådan konfiguration skal du også kontakte Siri på russisk. Men hvis du taler med Siri på engelsk, kan du rette hvert kodepunkt på denne måde:

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

Så vil resultatet på iOS se sådan ud:

Gyver Lampe Siri Patched

Plugin-indstillinger Samsung Tizen

Trin 1. Tjek tv'et for kompatibilitet

I routerens kontrolpanel skal du give tv'et en statisk lokal IP, som vi gjorde for Raspberry Pi helt i begyndelsen. For eksempel er det i mit tilfælde 192.168.50.100.

Gå til adressen i browseren på din computer  http://TV_IP:8001/api/v2, hvilket i mit tilfælde betyder http://192.168.50.100:8001/api/v2/

Hvis du ser en side med en masse serviceoplysninger, der ser sådan ud...

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

...så betyder det, at der er chancer for succes. Men du skal forstå, at ikke alle modeller af tv'er Samsung kompatibel med plugin'et. For eksempel vil dem, der kræver PIN-identifikation, ikke fungere.

Kopier feltværdien fra servicesiden"wifiMac": og klargør fjernbetjeningen fra TV'et, lad den være ved hånden.

Trin 2. Installation af plugin

Intet nyt, vi leder efter et plugin efter anmodning Samsung Tizen, vælg den ønskede (forfatterskab @tavicu) og installer.

raspberry Pi Samsung Tizen plugin

Efter lanceringen skal du gå til indstillingerne og indtaste følgende værdier der:

raspberry Pi Samsung Tizen plugin indstillinger

Navnet "TV" er ganske nok, for Siri forstår perfekt anmodningen om at tænde for tv'et i stuen, hvor du næppe har 2 tv'er. Hun forstår også udmærket kommandoen "tænd fjernsynet i soveværelset", uden at trække tv-apparatet i stuen en gang mere.

Trin 3. Tilslutning til et tv

Alt er enkelt her: Tag fjernbetjeningen til tv'et og vent på, at kontekstmenuen vises på skærmen med en advarsel om et forsøg fra en enhed på at tage kontrol over tv'et. TV'et skal selvfølgelig være tændt. Når en tilsvarende anmodning vises i øverste højre hjørne af skærmen, skal du bruge tv-fjernbetjeningen til at vælge knappen Allow. Færdig

Trin 4. Tilføj tv'et til Apple HomeKit

Ja, i modsætning til tidligere tilfælde vil tv'et ikke på magisk vis dukke op på listen over enheder i dit hjem. Derfor tager vi iPhonen i vores hænder og trin for trin:

  1. Start Home-appen, og tryk på + i øverste højre hjørne på hovedsiden;
  2. Vælg "Tilføj tilbehør";
  3. Nederst på skærmen skal du klikke på "Ingen kode eller scanning";
  4. På den næste skærm skal du vælge dit TV;
  5. Når du bliver bedt om at indtaste HomeKit-opsætningskoden, skal du klikke på "Brug kamera";
  6. Ret kameraet mod QR-koden på fanen Homebridge Status.

Trin 5. Plugin-indstillinger

Efter at have gravet dybt i dokumentation til plug-in'et, kan du få Siri til at køre bestemte programmer på tv'et fra listen over installerede, sætte dem på pause og så videre. Nu vil vi som en øvelse ændre funktionaliteten af ​​en enkelt knap i den virtuelle fjernbetjening Apple Fjernbetjening, indbygget i "gardinet" i iOS Control Center.

Dette er knappen ℹ︎ (information), som som standard viser information om den aktuelle billedtilstand i den øverste del af tv-skærmen. Ræk samtidig fra fjernbetjeningen Apple Der er ingen måde at tilføje fjernbetjening til listen over programmer, der er installeret på tv'et. Og vi ordner det nu.

Apple iOS fjernbetjening til Samsung TV

Gå til plugin-indstillingerne, sektionen "Key Mapping", se efter feltet "INFORMATION" og skift dets værdi til KEY_HOME. Genstart Homebridge og voila - knappen ℹ︎ i den virtuelle fjernbetjening bringer hovedapplikationsmenuen frem! Den virtuelle fjernbetjening gav mening.

Opsætning af Weather Plus-plugin

Trin 1. Opret en OpenWeather-konto

Lad os gå til siden https://home.openweathermap.org og registrer en konto, det gode er, at det er gratis.

Trin 2. Generering af API-nøgler

OpenWeather

Gå til den ønskede fane på OpenWeather personlige konto, og efter at have angivet navnet på nøglen, klik på knappen "Generer".

OpenWeather

Trin 3. Installation og konfiguration af Weather Plus plugin

Vi søger efter og installerer det ønskede plugin ved hjælp af den sædvanlige metode, og fortsætter derefter til dets indstillinger. Resultatet skulle se sådan ud:

I prognosen er jeg personligt kun interesseret i værdierne for den næste time, så de andre er simpelthen deaktiveret:

Raspberry Pi OpenWeather-prognoseindstillinger

Og for at unødvendige virtuelle vejrsensorer ikke er irriterende med unødvendige aktiveringer, deaktiverer vi dem i den tilsvarende Skjul værdier-sektion. Det er ønskeligt at deaktivere:

  • Lufttryk
  • Skydække
  • Dugpunkt
  • Tilsyneladende temperatur
  • Vindretning
  • UV-indeks
  • Vindhastighed
  • Vindhastighed Maks

Og klik på "Gem" helt nederst i indstillingsvinduet.

Som et resultat, i grænsefladen Apple HomeKit vil vise temperatur- og luftfugtighedsværdier for den næste time, samt to virtuelle sensorer "Sne" og "Regn", som kan bruges i forskellige scenarier. For eksempel har jeg programmeret HomeKit-automatisering, hvor, når regn eller sne dukker op i vejrudsigten for den nærmeste fremtid, viser Guyver-lampen den tilsvarende vandpyt eller faldende snefnug-effekt i et minut. Samtidig aktiveres effekten kun mellem kl. 8 og 00 og kun hvis nogen er hjemme. På andre tidspunkter er det usandsynligt nødvendigt at advare om at tage en paraply eller bære vandtæt tøj.

Opsætning af Yeelight WiFi plug-in

Efter anmodning Yeelight Homebridge tilbyder en masse plugins til installation, inklusive et verificeret. Men jeg foretrækker en anden, hvor overgangene mellem stater sker så gnidningsfrit som muligt, og ikke i stil med "natten er faldet på lejren". Derudover understøtter den adaptiv belysning fra Apple, men her er standardapplikationen Xiaomi aldrig lært dette i året siden denne funktion dukkede op i HomeKit.

Raspberry Pi Yeelight WiFi-plugin

Vigtig! Lad kun én pære være tændt Xiaomi, for at undgå forvirring i starten. Vi vil arbejde med hende.

Efter installation af plugin, genstart Homebridge og se efter noget som dette i loggen: ‌[Yeelight] Received advertisement from ab1234. Dette er betinget ab1234 og der er din pære. Måske vil værdien være color-ab1234, så vil du arbejde sammen med ham.

Gå til plugin-indstillingerne og indsæt følgende stykke kode der:

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

Hvor i stedet for color-ab1234 skal være værdien fra din log, og i stedet ‌"name": "Торшер" ethvert navn, der afspejler det sted, hvor lampen er skruet i: Natlampe, Lampete, Loft osv.

Raspberry Pi Yeelight WiFi Plugin-indstillinger

Gem den indsatte kode ved at klikke på knappen Gem og genstart Homebridge. Færdig, pæren er dukket op i HomeKit under det navn, du valgte. Resten af ​​Yeelight-pærerne tilføjes én efter én ved at trykke på knappen "+ TILFØJ PLATFORM" der i plugin-indstillingerne på nøjagtig samme måde.

Opdatering af Homebridge og Node.JS på Raspberry Pi

Opdatering (og tilbagerulning af versionen) af selve Homebridge er ret simpel: du skal klikke på nummeret på den aktuelle version i webgrænsefladen og vælge den ønskede version fra listen i dialogboksen.

Men med opdateringen af ​​Node.JS og NPM, som før eller siden bliver nødvendig, når man installerer en opdatering af et eller andet plugin, er det ikke så nemt. Mere præcist er kommandoerne ikke nøjagtigt dem, der er beskrevet i standardinstruktionerne.

Node.JS opdateres med kommandoen:

sudo hb-service update-node

Og NPM så mange som to på hinanden følgende:

sudo npm cache clean -f
sudo npm installer -g npm

Desværre kan hverken Homebridge selv, dens plugins eller de "skinner" den kører på, opdatere automatisk. Og det bliver før eller siden kedeligt at gå ind i kontrolpanelet hver dag og tjekke, om der er nyt. Så for at automatisere processen kom de med en speciel widget til iOS 14, der overvåger status for alle Homebridge-noder og er i stand til at signalere tilstedeværelsen af ​​opdateringer eller eventuelle problemer visuelt og med PUSH-meddelelser.

Installation af Homebridge Status-widgetten

Raspberry Pi Homebridge Status Widget

Som du kan se, viser widgetten en masse nyttige og knap så nyttige oplysninger om din Homebridge, men den mest værdifulde del af den er information om selve Homebridges tilstand, dens plugins og Node.JS.

For at få selve widgetten har vi først brug for dens overordnede applikation. Installer det på din iPhone fra App Store.

Scriptbar
Scriptbar
Pris: Gratis+

Og nu begynder den ret lange, men spændende proces med at installere widgetten. Vi installerer det ved hjælp af et andet script kaldet ScriptDude inde i Scriptable-programmet. ScriptDude er god, fordi den sporer ændringer i koden for massen af ​​scripts placeret i galleriet på adressen scriptables.net. Måske finder du noget andet nyttigt for dig der, men nu har vi én opgave, og den løser vi.

Trin 1. Installer Scriptable.app fra App Store.

Trin 2. Åbn webstedet i iPhone-browseren scriptdu.de og klik på knappen Install ScriptDude.

scriptdu.de hjemmeside

Trin 3. På siden, der åbnes, skal du klikke på knappen Kopier installationsprogram, og efter at have modtaget en besked om scriptkoden i vores udklipsholder, skal du klikke på knappen Åbn scriptbar.

Trin 4. Indsæt indholdet af udklipsholderen i det tomme felt med titlen Unavngivet script og tryk på knappen Afspil ▶️.

ScriptDude installation

Trin 5. Klik på linket på den skærm, der åbnes Gennemse scriptables.net og på næste side skal du trykke på tagget (teknologi). Hurra, Homebridge Status-scriptet er først på listen! Du er velkommen til at klikke på knappen Download med ScriptDude.

Trin 6. Vi trykker på Installer, og efter at have accepteret to advarsler, ser vi det ønskede script på listen Installeret. Hovedskærmen for Scriptables ser nu ud som det fjerde skærmbillede nedenfor, og vi klikker på de tre prikker i Homebridge Status-flisen og går til redigeringsmuligheder.

Trin 7. Først og fremmest ændrer vi værdien overskrivPersistedConfig з falsksand

overskrivPersistedConfig = sand

for at gemme scriptindstillinger i iCloud.

Raspberry Pi Homebridge-statuskonfiguration

Trin 8. Går vi lidt lavere ned, redigerer vi tre felter: IP-adressen og Homebridge-porten (husk, dette er den allerede nævnte http://<ip address of your server>:8581 hvor i stedet for <ip address of your server> stadig den samme IP fra begyndelsen af ​​artiklen, i mit tilfælde ) og acceptere advarslen om søgning efter enheder i det lokale netværk. Hurra, scriptet virker!

Det eneste, der er tilbage, er at tilføje widgetten til iOS 14-skærmen på samme måde som enhver anden. Efter tilføjelse skal du gå til widgetindstillingerne (langt tryk på den) og angive en række parametre: vælg det ønskede script, angiv, hvad du skal gøre, når du interagerer med det, og indtast følgende værdi i feltet Parameter

USE_CONFIG:purple.json

Derefter skal du ikke glemme at vende tilbage til scriptkoden og returnere værdien

overskrivPersistedConfig = falsk

Det er alt. Widgetten virker, og når der er opdateringer til Node.JS, Homebridge eller dets plugins, vil du modtage PUSH-notifikationer med det relevante indhold.

Visnovok

Muligheder Apple HomeKit er vokset mange gange for mig. Jeg fandt på en masse scripts og automatiseringer, der gør livet lettere for mig og mine kære.

I den mørke tid på dagen vil det første familiemedlem, der kommer hjem, f.eks. blive mødt af lyset tændt udefra, i entreen, stuen og badeværelset - og nu er der ingen grund til at løbe hen til kontakterne med uvaskede hænder.

Når det sidste medlem af familien forlader huset, slukker HomeKit forsigtigt fjernsyn, lys og i det hele taget alt, hvad der kan slukkes. Og hvis der er mindst én person hjemme, med skumringens begyndelse, tændes den eksterne belysning og nogle lamper indeni.

Igen kan Siri styre alle tilsluttede enheder med helt logiske kommandoer, ord for ord de samme, som du ville spørge nogen i huset, når du skal tænde eller slukke for noget i et bestemt rum. Kun ingen behøver at løbe til dette rum længere.

Morgen og aften musik blandes fra Apple, hvortil Guyver-lampens lyseffekter er knyttet. Det er muligt at få andet lys til at fungere med let musik, men jeg er ikke glad for effekten.

Generelt afhænger anvendelsesscenarierne kun af din fantasi og vil ikke belaste tegnebogen meget, da produkter med mærket "Works with Apple HomeKit er ikke længere det eneste tilgængelige valg.

I den næste artikel i cyklussen vil du og jeg have det lidt sjovt: vi vil undervise vores Raspberry Pi download torrents, lad os gøre det til et kraftfuldt mediecenter og retro-spilkonsol.

Bliv hængende!

Yuri Stanislavsky
Yuri Stanislavskyhttp://notarecords.com
SwiftUI udvikler. Jeg samler på vinyl. Nogle gange journalist. Ejer af Nota Record Store.
- Annonce -
Tilmelde
Giv besked om
gæst

0 Kommentarer
Indlejrede anmeldelser
Se alle kommentarer