Root NationSoftBruksanvisningRaspberry Pi in the Home Ecosystem: Funksjoner og eksempler (del 1)

Raspberry Pi in the Home Ecosystem: Funksjoner og eksempler (del 1)

-

For en tid siden jeg kjøpt enkeltbrett minidatamaskin Raspberry Pi 4 (aka "bringebær» blant amatører), forstår ikke spesielt hvordan og til hva det kan brukes hjemme. Snarere var det et annet teknologisk leketøy, og for absolutt akseptable penger, så du hadde råd til å eksperimentere. Når jeg ser fremover, kan jeg si at jeg for øyeblikket har tjenester som en nettverksomfattende annonseblokkering kjører på min RPi4 AdGuard Hjem, backup lagringssystem Apple Time MachineHjemmebrygga å legge til ikke-sertifiserte enheter til økosystemet Apple HomeKit, et program for å laste ned torrents Transmission, medieserver PLEX og en retro spillkonsoll RetroPie. Jeg planlegger å eksperimentere med en passordbehandler med egen vertskap Bitwarden, en åpen kildekode-analog av det berømte 1Password. Ikke for lite for en sånn liten en på størrelse med en sigarettpakke, ikke sant?

Raspberry Pi 4 med tastatur og mus

I denne syklusen med to artikler, vil jeg prøve å fortelle så detaljert som mulig hvordan jeg installerte og konfigurerte alt dette.

Den første artikkel vil være mer nyttig for valmuebønder, da det berører spesifikke for økosystemet Apple poeng, selv om delen som omhandler AdGuard vil være av interesse for brukere av alle desktop- eller mobiloperativsystemer.

I den andre artikkelen vurdere universelle tjenester som kan være nyttige for alle uten unntak. Og du og jeg vil utvikle oss som vanlige mennesker – fra enkelt til komplekst.

Raspberry Pi forberedelse

Det skal bemerkes at de tidlige revisjonene av Raspberry Pi var ganske svake når det gjelder maskinvare, så hver programvareutvikler oppfattet denne datamaskinen som en enkeltoppgavemaskin. På grunn av dette vil enhver tjeneste som kan kjøres på RPi som standard tilbys som et ferdiglagd bilde av operativsystemet. Jeg lastet det ned, tok det opp på et SD-kort, satte det inn i RPi og slo på den ferdige datamaskinen med den installerte tjenesten. Men vår oppgave er å lansere flere tjenester samtidig, siden den nåværende revisjonen tillater det. Derfor vil vi installere dem som applikasjoner.

La oss anta at du allerede har koblet en Raspberry Pi med et "rent" Raspbian-system til et lokalt nettverk. Hvis du er nybegynner og ikke vet hvor du en gang skal begynne, så start med  offisielle instruksjoner (følg lenken - en fantastisk trinn-for-trinn-veiviser med mange interaktive illustrasjoner), og fortsett deretter til neste trinn.

Trinn 1

Først av alt må du aktivere tilgang ved å SSH til din Raspberry Pi. For å gjøre dette, må du utføre noen få enkle trinn:

  • Åpne Raspberry Pi-konfigurasjonsvinduet i Innstillinger-menyences" operativsystem
  • Klikk på "Interfaces»
  • Velg Aktiver ved siden av SSH
  • Klikk på "OK"-knappen for at endringene skal tre i kraft

Hvis du har Raspbian Lite installert uten et grafisk grensesnitt, utfør følgende kommandoer i terminalen på selve Raspberry Pi:

sudo systemctl aktiver ssh sudo systemctl start ssh

Tilgang aktivert.

- Annonse -

Jeg har en macOS-datamaskin, så jeg kan hoppe rett inn i de neste trinnene, akkurat som Linux-datamaskiner. Windows 10-brukere mottok også en innebygd OpenSSH-klient som en del av operativsystemet for en tid siden, men noen manipulasjoner kan være nødvendig for å aktivere den.

Åpne en Windows-ledetekst eller et PowerShell-skall (avhengig av hva du foretrekker) og skriv inn følgende kommando:

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

Hvis SSH-klienten er installert, vil svaret på kommandoen være noe slikt:

Windows 10 OpenSSH installert

Hvis OpenSSH.Client forteller oss i State-feltet at den er NotPresent, er den raskeste måten å aktivere den på å skrive inn følgende kommando:

Add-WindowsCapability -Online -Name OpenSSH.Client*

Dette fullfører den første forberedelsen, inkludert for Windows-brukere. Gitt naturen til Raspberry Pi og det faktum at Raspbian OS faktisk er en annen versjon av Linux, må vi gjøre en del arbeid på kommandolinjen. Det kan virke uvanlig for noen, men tro meg, det er ikke noe vanskelig eller uopprettelig i dette, så vær modigere. Alt vil ordne seg.

Trinn 2

Nå må du sørge for at Raspberry Pi alltid får den samme interne IP-adressen på det lokale nettverket. Den enkleste måten å gjøre dette på er i ruterinnstillingene.

Jeg bruker et tre-komponent MESH-system  ASUS ZenWiFi Mini med standard nettgrensesnitt til en hvilken som helst ruter i dette selskapet. For å koble MAC- og IP-adresser, må du velge en enhet fra listen over tilkoblede enheter, og i popup-vinduet spesifiserer du bare ønsket IP. I mitt tilfelle valgte jeg 192.168.50.10 bare for å lette å huske.

ASUS WiFi-innstillinger

I rutere fra andre produsenter kan menyelementet kalles annerledes, men essensen vil forbli den samme - utstede statiske lokale IP-er til tilkoblede enheter.

Trinn 3

Vi starter Terminal (kommandolinje, PowerShell, etc.) på datamaskinen din fra standardsettet med macOS, Linux eller Windows.

Vi dreper laget

ssh pi@

(hvor i stedet for <ip address of your server> vi setter inn IP-en til "bringebær" fra forrige trinn), og vi ser omtrent følgende bilde:

Raspberry Pi ssh passord

Her må du drepe passordet til Raspberry Pi, som du spesifiserte under det første oppsettet.

- Annonse -

Viktigere! Passordet vil ikke vises på skjermen når du skriver det inn. Og «stjernene» vil heller ikke vises. Du må skrive passordet bokstavelig talt "blindt" og trykke Enter.

Hvis passordet er skrevet inn riktig, vil resultatet være noe slikt:

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

AdGuard Home Logo

Installere og konfigurere AdGuard Home på Raspberry Pi

AdGuard Hjem, ifølge utviklerens vitnesbyrd - "et kraftig nettverksverktøy mot annonsering og sporing. Med den økende rollen til tingenes internett, blir det mer og mer viktig å administrere hele nettverket ditt. Når AdGuard Home er konfigurert, dekker ALLE hjemmeenhetene dine uten behov for programvare på klientsiden.»

Enkelt sagt er det et annonsefilter som ikke fungerer som separate apper eller nettleserplugins på hver av enhetene dine, men en universalløsning som dekker hele hjemme-LAN med filtre.

La oss gå tilbake til terminalvinduet (la oss bli enige om at Windows PowerShell og andre skjell for å legge inn kommandoer, i teksten vil jeg ganske enkelt kalle Terminal, ok?), Vi utfører følgende kommandoer som vil laste ned og pakke ut AdGuard Home-arkivet:

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

Alt som gjenstår er å installere tjenesten og kjøre den:

cd AdGuardHome sudo ./AdGuardHome -s install

Resultatet vil se omtrent slik ut:

AdGuard Home installert

AdGuard Home er allerede installert! Det var enkelt, var det ikke?

Nå må du besøke nettgrensesnittet til den nylig installerte tjenesten. Start nettleseren (Safari, Chrome, Firefox eller hva du har - det spiller ingen rolle) og drep i adressefeltet https://<ip address of your server>:3000. I mitt tilfelle er det, som vi husker, https://192.168.50.10: 3000.

Du vil se en trinn-for-trinn veiviser for første oppsett. Hvis du er mer komfortabel med grensesnittet på et annet språk, kan du umiddelbart bytte til ønsket. Listen inkluderer blant annet ukrainske, polske og russiske.

Raspberry Pi AdGuard Hjem velkomstskjermI det tredje trinnet vil du bli bedt om å opprette en AdGuard Home-bruker og komme opp med et passord. På den fjerde vil det bli forklart at Raspberry Pi IP-adressen (samme 192.168.50.10 i mitt tilfelle) må registreres som DNS i den aktuelle delen av ruterinnstillingene. Gjør dette:

ASUS ruterens DNS-innstillinger

I rutere fra andre produsenter vil ønsket innstillingspunkt ligge omtrent på samme bane.

Deretter går vi til innstillingene til selve AdGuard Home, som fortsatt er uskyldig rene.

Raspberry Pi AdGuard Home ren installasjon

Hvis du har en Smart TV Samsung, LG, eller lignende, gå til menyen "Filtre - Legg til svarteliste" og der "Velg fra listen". Aktiver den tilsvarende blokkeringslisten.

Raspberry Pi AdGuard Home TV-filter

Nå må du legge til russisk/ukrainskspråklige annonsefiltre manuelt. Klikk "Legg til svarteliste" igjen, deretter "Legg til listen din" og skriv inn følgende verdier sekvensielt i de tilsvarende feltene:

Ім'я URL
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 å begynne med er disse filtrene ganske nok.

Til sammenligning bruker jeg vanligvis exler.ru, et nettsted fullt av klassiske bannere. Til venstre - før, til høyre - etter påføring av filtre.

Oppdateringen av AdGuard Home skjer i manuell modus, men den starter bokstavelig talt med én knapp og tar noen sekunder, uten å kreve inngrep.

Raspberry Pi AdGuard Home-oppdatering

Det er alt, generelt. Fra nå av er alle hjemmeenhetene dine praktisk talt annonsefrie. Et ubehagelig unntak her er klientprogrammet YouTube på konsoller Apple TV, men her trer begrensningene i tvOS-arkitekturen i kraft, så AdGuard er maktesløs i dette tilfellet.

Apple Time Machine-logo

Installere og konfigurere Time Machine på Raspberry Pi

Ifølge Wikipedia er Time Machine et sikkerhetskopisystem utviklet Apple og er innebygd i Mac OS X Leopard og senere versjoner av macOS, samt et program med samme navn som lar deg se innholdet i sikkerhetskopier og gjenopprette både individuelle filer og operativsystemet som helhet.

Enkelt sagt er det et timebasert backup-system innebygd i macOS som krever en kompatibel filserver. Du kan gjøre Raspberry Pi om til akkurat en slik server hvis du kobler en ekstern USB HDD til den.

For at Time Machine skal fungere riktig er det bare Raspberry Pi 4 eller nyere som er egnet, med USB 3.0-porter (i tidligere modeller er portene tregere) og en passende HDD med et volum på 1-3 terabyte (med ekstern strøm, hvis den er en 3,5-tommers disk).

Viktigere! Det er to nettverksprotokoller som lar macOS lagre Time Machine-data på et lokalt nettverk. Utdatert Netatalk, eller mer moderne Samba. I prinsippet kan du bruke hvilken som helst av dem til Time Machine-oppgaver. Internett er fullt av instruksjoner for å organisere prosessen gjennom Netatalk, og alle disse instruksjonene er av ulik grad av lunefullhet, men min oppgave er å gi det enkleste, garanterte arbeidsalternativet. Og din oppgave er å velge den som passer for deg. Så i artikkelen vil vi vurdere begge deler.

HDD klargjøring

Vi kobler harddisken til USB 3.0-porten på vår Raspberry Pi, får tilgang til den i terminalen via SSH og kjører kommandoen lsblk, som vil vise en liste over tilkoblede stasjoner i konsollen. Vi tar hensyn til størrelsen på disken for å være sikker på hvilken vi skal jobbe med, navnet og monteringspunktet, i mitt tilfelle er det enkelt sda, din vil fortsatt ha et monteringspunkt, mest sannsynlig /dev/sda‌. Vi trenger henne.

Raspberry Pi HDD-formatering

Skriv inn kommandoen sudo fdisk /dev/sda (eller med et annet monteringspunkt som er relevant i ditt tilfelle), klikk deretter på tastaturet m, for å se hele listen over kommandoer. Du kan til og med kopiere den til en egen tekstfil (eller bruk tipset nedenfor).

GPT M angi beskyttende/hybrid MBR Generisk d slette en partisjon F liste ledig upartisjonert plass l liste kjente partisjonstyper n legg til en ny partisjon p skrive ut partisjonstabellen t endre en partisjonstype v verifisere partisjonstabellen i skrive ut informasjon om en partisjon Diverse m skriv ut denne menyen x ekstra funksjonalitet (kun eksperter) Skript Jeg laster disklayout fra sfdisk-skriptfil O dump diskoppsett til sfdisk-skriptfil Lagre og avslutt w skrive tabell til disk og avslutte q avslutte uten å lagre endringer Lag en ny etikett g opprette en ny tom GPT-partisjonstabell G opprett en ny tom SGI (IRIX) partisjonstabell o lag en ny tom DOS-partisjonstabell s lag en ny tom Sun-partisjonstabell

Vår oppgave er å gjøre delete a partition så mange ganger som nødvendig for å fullstendig rense disken fra partisjoner, og deretter opprette en ny med add a new partition. Ikke glem å skrive ned endringene, dvs write table to disk and exit. Klarte du deg? Perfekt.

Nå lager vi et filsystem på disken. Den vanlige ext4 er ganske nok, til tross for mangfoldet av meninger på nettverket om at disken må formateres i et av filsystemene Apple. I virkeligheten kompliserer dette bare forberedelsesprosessen uten å gi noen fordel i det hele tatt.

Skriv inn kommandoen sudo mkfs.ext4 /dev/sda1. Ferdig.

Nå må vi finne ut UUID til vår nye partisjon.
La oss gå inn ls -lha /dev/disk/by-uuid og vi ser noe slikt:

Raspberry Pi HDD-formatering

Kopier UUID fra vår sda1 inn i en egen tekstfil hvis du ikke bruker den avanserte utklippstavlen med historikk.

Nå må vi lage en mappe der vi skal montere disken vår og gi den de riktige tilgangsrettighetene.

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

Monter disken. For å gjøre dette, rediger konfigurasjonsfilen med kommandoen

sudo nano / etc / fstab

nano i dette tilfellet, navnet på editoren som er installert i systemet, som jeg foretrekker å bruke.

Gjør endringer i den åpnede filen ved å legge til følgende linje i den

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

men med din UUID fra forrige trinn. Det skal se slik ut:

Raspberry Pi HDD-formatering

Lagre endringer ved å klikke Ctrl + A і Enter, og gå ut av redigeringsprogrammet ved å klikke Ctrl + X.

Start Raspberry Pi på nytt med kommandoen sudo reboot og etter omstart logg på igjen via SSH.

Drep laget df -h og sørg for at stasjonen er montert til systemet på punktet /mnt/tm.

Utmerket, disken er klar for arbeid.


Installasjon og konfigurasjon av NETATALK (alternativ 1)

Vi installerer:

sudo apt-get install netatalk -y

Vi konfigurerer alt i samme editor nano:

sudo nano /etc/netatalk/afp.conf

Og vi lager innholdet i konfigurasjonsfilen nøyaktig slik:

‌; ; Netatalk 3.x konfigurasjonsfil; [Global] ; Globale serverinnstillinger etterligner modell = TimeCapsule6,106 [Time Machine] bane = /mnt/tm tidsmaskin = ja gyldige brukere = pi ; [Hjem] ; basert regex = /xxxx ; [Mitt AFP-volum] ; bane = /bane/til/volum ; [Min tidsmaskinvolum] ; bane = /bane/til/sikkerhetskopi ; tidsmaskin = ja`

Ikke glem å lagre resultatet med hjelp Ctrl + A → Enter → Ctrl+X

Filen er nå redigert nsswitch.conf, legger til på slutten av linjen hosts: tilleggsverdier mdns4 mdns.

sudo nano /etc/nsswitch.conf

Resultatet skal se slik ut:

# /etc/nsswitch.conf
#
# Eksempelkonfigurasjon av GNU Name Service Switch-funksjonalitet.
# Hvis du har installert pakkene `glibc-doc-reference' og `info', prøv:
# `info libc "Name Service Switch"' for informasjon om denne filen.

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

verter: filer mdns4_minimal [NOTFOUND=retur] dns mdns4 mdns
nettverk: filer

protokoller: db-filer
serviceces: db filer
etere: db-filer
rpc: db-filer

nettgruppe: nis

Igjen lagrer vi endringene Ctrl + A → Enter → Ctrl+X

Da gjenstår det bare å starte tjenestene:

sudo tjeneste avahi-daemon start sudo tjeneste netatalk start

Og sjekk deres prestasjoner i lag:

sudo tjeneste netatalk status

og

sudo tjeneste avahi-daemon status

Resultatet skal se slik ut:

Netatatlk Statusmelding

Alt som gjenstår er å gå til macOS-innstillinger, velg Time Machine-delen og se vår Raspberry Pi i de tilgjengelige stasjonene.

Time Machine Netatalk

Vi spesifiserer som en pålogging pi, som passord - det som brukes for SSH-tilgang.

Ferdig, standardalternativet gjennom Netatalk er konfigurert. Nå, når Mac-en din er på det samme lokale Wi-Fi-nettverket som Raspberry Pi, vil det automatisk bli tatt sikkerhetskopier til stasjonen din.

Vurder nå et alternativ i form av Samba-protokollen, som anses som mer pålitelig.

Installere og konfigurere SAMBA (alternativ 2)

Vi installerer Samba:

‌sudo apt-get install samba

Vi setter brukerpassordet (for samme pi-bruker) og redigerer konfigurasjonen. Første passord:

‌sudo smbpasswd -a pi (du kan bruke det samme som for SSH).

Og så er Samba-konfigurasjonen i samme editor nano:

‌sudo nano /etc/samba/smb.conf

Blokker innhold [global] skal se slik ut til slutt:

[global] sikkerhet = brukerkrypterer passord = sant kart til gjest = dårlig bruker gjestekonto = ingen

Helt på slutten av konfigurasjonsfilen legger du til en ny blokk:

[TimeCapsule] kommentar = Time Capsule-bane = /mnt/tm bla gjennom = ja skrivbar = ja opprette maske = 0600 katalogmaske = 0700 spotlight = ingen vfs-objekter = catia fruit streams_xattr fruit:aapl = ja frukt:tidsmaskin = ja

Og vi lagrer resultatet: Ctrl + A, Enter, Ctrl + X.

Start tjenesten på nytt:

‌sudo systemctl start smb.service på nytt

ferdig Det gjenstår, som i tilfellet med Netatalk, å finne disken i listen presentert i Time Machine-innstillingspanelet.

Homebridge-logo

Installere og konfigurere Homebridge på Raspberry Pi

Vel, vi har nådd den mest massive blokken av artikkelen.

Hjemmebrygga er en NodeJS-basert server som bruker Homekit API for usertifisert enhetsintegrasjon og førstegangsstøtte for Apple Hjemmesett.

Vanskeligheten med å konfigurere Homebridge er at pluginene støtter et bredt utvalg av protokoller og enheter, noe som gjør dem synlige og håndterbare fra Apple HomeKit. Følgelig er hver plugin konfigurert på sin egen måte, ofte helt forskjellig fra motparten for en annen enhet.

La oss begynne. Som vanlig får vi tilgang til Raspberry Pi via SSH og utfører flere trinn.

Installerer Node.js

Du har muligheten til å kopiere og lime inn hele kodeblokken i terminalen. I de aller fleste tilfeller er dette nok. Men hvis det skjedde at installasjonen på et tidspunkt mislyktes, skriv inn de gjenværende kommandoene fra blokken en etter en.

# 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 # testnode fungerer node -v # oppgradering npm (versjon 6.13.4 har problemer med git-avhengigheter) sudo npm install -g npm

Installere Homebridge og Homebridge Config UI X

Til å begynne med, la oss sette grunnlaget med følgende kommando...

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

...og kjøre den som en systemtjeneste.

‌sudo hb-service install --user homebridge

Konfigurere Homebridge gjennom webgrensesnittet

Gå til adressen i nettleseren på datamaskinen din http://<ip address of your server>:8581 hvor i stedet for <ip address of your server> fortsatt samme IP helt fra begynnelsen av artikkelen, i mitt tilfelle

Standardverdiene for bruker og passord er de samme: admin

Jeg anbefaler umiddelbart å gå til menypunktet "Brukere" og endre standardverdiene der til sikrere.

Raspberry Pi Homebridge brukerinnstillinger

Gjorde du det? Utmerket, vi vil konfigurere plugins neste gang.

Å ha en rekke utstyr hjemme dikterer hvilke plugins vi må installere. Det er ganske mulig at i ditt tilfelle vil settet med plugins være litt annerledes, men ved å bruke eksemplet på konfigurasjonen min kan du få en ide om hvilke nyanser du kan møte i prosessen med å sette dem opp.

Mitt sett med plugins i skrivende stund:

  • Homebridge UI (inkluderer i grunnkonfigurasjonen og har ikke egne innstillinger)
  • Hue (for lysstyring Philips fargetone)
  • Apple TV-fjernkontroll (for å kontrollere set-top-bokser Apple TV)
  • Mqttthing (for ledelsen Guyvers lampe з fastvare fra Whilser)
  • Samsung Tolv (for Smart TV-kontroll Samsung med Tizen OS)
  • Vær pluss (for automatisering av et smarthus avhengig av værforhold)
  • Yeelight Wi-Fi (for lampekontroll Xiaomi Yeelight)

La oss gå en etter en.

Hue-plugininnstillinger

For å installere en plug-in i Homebridge, er det nok å gå til den tilsvarende fanen i webgrensesnittet, skriv inn navnet på ønsket jern i søkefeltet og velg plug-in fra listen over tilgjengelige. Jeg anbefaler å ta hensyn til "🛡Verified"-etiketten, versjonen og oppdateringsdatoen til plugin-en (hvis forfatteren ikke har oppdatert den på et par år, er det en god sjanse for at den ikke fungerer) og sørg for å åpne lenken til pluginens hjemmeside, som vanligvis er beskrevet i detalj installasjonsprosessen.

Raspberry Pi Homebridge Hue

Klikk på "Installer"-knappen på den nødvendige plugin-modulen og vent et minutt eller to til plugin-modulen er installert.

Plugg inn Homebridge Hue ganske enkelt å sette opp. Du trenger bare å angi standardnavnet som skal vises i Homebridge-loggene og velge hvilken type kompatible enheter som skal håndteres av plugin-en. I mitt tilfelle er det bare belysning Philips Hue, og til og med den første versjonen av navet, er rund.

Etter å ha fylt ut dataene og nødvendigvis lagret resultatet, trenger du bare å trykke på sentralknappen på huben Philips Nyans og vent 15 sekunder til plugin-en gjenkjenner huben. Ferdig!

Alt som gjenstår er å plukke opp iPhone, peke kameraet mot QR-koden som ligger på "Status"-fanen i Homebridge-nettgrensesnittet, og legge den til som en bro til HomeKit.

Hvis HomeKit som sådan allerede er konfigurert på forhånd (valgt Apple TV eller iPad som hovedhub, ekstra rom osv.), vil trinn-for-trinn-veiviseren umiddelbart tilby å distribuere alle funnet Hue-belysningsenheter til de tilsvarende rommene og gi hver enhet et navn. I stuen min har jeg for eksempel "Ceiling 1", "Ceiling 2" og "Ceiling 3" lamper, men ved hjelp av HomeKit selv på iPhone (elementet "Kombiner med andre enheter"), kombinerte jeg dem til en logisk gruppe "Øvre lys", det er mer praktisk for meg. Samtidig, i samme stue, har jeg en "gulvlampe" og "nattlampe" - separate enheter, men Siri forstår perfekt et bredt utvalg av kommandoer uten ekstra trening:

  • "Slå på lyset i stua (alle lampene i stua lyser)"
  • "Slå på gulvlampen"
  • "Lysstyrken til nattlyset er tjue prosent"
  • "Slå på nattlyset"
  • "Slå av taklyset"
  • "Blå farge på gulvlampen"
  • "Slå av lyset i stuen (slår av alle lysene i stuen)"
  • "Slå av alle lysene (slår av lyset i hele leiligheten)"

Og så videre. Hvis du har den riktig konfigurert Apple-familie, relevante og absolutt logiske kommandoer blir automatisk tilgjengelige for alle medlemmer som er registrert i familien din Apple ID.

Plugin-innstillinger Apple TV-fjernkontroll

Jeg bruker denne plugin til ett enkelt formål: å lage en ekstra bryter for konsollen Apple TV. Faktum er at i Apple HomeKit har muligheten til å programmere for eksempel inkludering av avspilling av et album eller spilleliste i henhold til en forhåndsbestemt tilstand, for eksempel "Når jeg kommer hjem." Og alt ville være bra, men hvis set-top-boksen sover på dette tidspunktet, kan tilstedeværelsen av et slikt scenario ikke vekke den. Men en ekstra virtuell svitsj er mulig. Vi dro:

Trinn 1. Vi installerer en tjeneste for innhenting av legitimasjon Apple TV

sudo npm install -g node-appletv-x

Trinn 2. Vi ser etter set-top-bokser tilgjengelig på det lokale nettverket Apple TV

sudo appletv-par

Trinn 3. Vi lager et par med ønsket prefiks. Konsollutgangen vil se omtrent slik ut:

% appletv-par ✔ Koble til stue ✔ Starte sammenkobling? Skriv inn den 4-sifrede pin-koden som vises på Living Room

På trinnet ‌? Enter the 4-digit pin that's currently being displayed on... på skjermen til den valgte set-top-boksen Apple TV, vil en standard firesifret kode vises for sammenkobling med fjernkontrollen (i vårt eksempel vil det være det 1234), som må drepes der i konsollen.

% appletv-par ✔ Koble til stue ✔ Starte sammenkobling? Skriv inn den 4-sifrede pin-koden som for øyeblikket vises på Living Room 1234 ✔ Fullføre paringslegitimasjon: 77346115-ED48-46A8-A288-

I stedet <snip> det vil være flere linjer med en blanding av bokstaver og tall, de må kopieres til en egen tekstfil i sin helhet, fra det første tallet i linjen Credentials:. Litt senere disse samme Legitimasjon vi vil trenge det veldig mye.

Trinn 4. Legg til følgende blokk i konfigurasjonsdelen av Homebridge-nettgrensesnittet på fanen "Konfigurasjon". "platforms": [

{ "plattform": "AppleTvPlatform", "name": "Apple TV-plattform",
   "Devices": [
      {
         "name": "Gjestehus",
         "credentials": "77346115-ED48-46A8-A288-",
         "isOnOffSwitchEnabled": sant,
         "onOffSwitchName": "Apple TV" } ] },

...og i kø "credentials": bare sett inn hele innholdet i tekstfilen fra forrige trinn.

Vi velger hvilket som helst navn for prefikset, "Gjestehus" her er bare for eksempel.

Trinn 5. Vi installerer selve plugin-en.

På "Moduler"-fanen i Homebridge-nettgrensesnittet skriver du inn søkefeltet  Apple TV Remote og trykk på "Installer"-knappen. Etter at du har installert plugin, vil du bli bedt om å starte Homebridge på nytt, dette gjøres ved å trykke på tilsvarende knapp.

Raspberry Pi Homebridge omstart-knapp

Det er det, en ny bryter har dukket opp på iPhone i HomeKit, som nå kan legges til alle scenarier der du automatisk må slå på set-top-boksen.

Talekommandoer som «Siri, slå på Apple TV" eller "Siri, slå av Apple TV" støttes også automatisk. Dessuten, hvis du konfigurerer flere set-top-bokser i forskjellige rom, vil Siri også automatisk begynne å forstå forespørselen om å slå den av Apple TV i et spesifikt rom eller alt på en gang.

Faktisk utvikler denne plugin seg raskt, den vet allerede hvordan den skal gjenkjenne Bundle ID for applikasjoner som kjører på konsollen og gripe inn i arbeidet deres, for eksempel å sette en film på Netflix på pause. Men du vil takle dette på egen hånd, hvis det er et ønske.

Konfigurering av Mqttthing-plugin

Jeg bruker denne plugin-en med Guyver-lampen nevnt ovenfor - en hjemmelaget lampe med et Arduino-kort og en 16x16-matrise med adresserbare lysdioder. Selve lampen skal fylles med firmware fra Whilser. Må kraften være med deg!

Gyver Lampe med Grogu

Trinn 1. Installere MQTT-megleren

Vi utfører en rekke kommandoer. De fungerer ikke i grupper, så vi legger dem inn i konsollen en om 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 oppdatering
sudo apt install mygg mygg-klienter
sudo /etc/init.d/mosquitto stop
sudo nano /etc/mosquitto/mosquitto.conf

Den siste kommandoen starter den allerede kjente editoren nano, der vi erstatter innholdet i den åpnede filen med følgende:

# Plasser din lokale konfigurasjon i /etc/mosquitto/conf.d/ # # En fullstendig beskrivelse av konfigurasjonsfilen er 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 vanlig, Ctrl + A, Enter, Ctrl + X, og start deretter megleren på nytt med kommandoen

‌sudo /etc/init.d/mosquitto start

MQTT-megler installert.

Trinn 2. Installerer Mqttthing-plugin

Vi går vanligvis til fanen "Moduler" i Homebridges nettgrensesnitt, søk Mqttthing og klikk "Installer".

Trinn 3. Mqttthing-pluginkonfigurasjon

Hver Guyver-lampe har sin egen ESP-brikke-ID. For eksempel ESP-3bd20b. Hvis du har laget og blinket lampen selv, er du perfekt informert om det, hvis ikke, sett lampen i sammenkoblingsmodus, og når du er koblet til Wi-Fi-nettverket ditt, vil den aktuelle dialogboksen på iPhone vise den nødvendige IDen . Skriv det ned.

  1. Slå av strømmen til lampen;
  2. Slå av ruteren;
  3. Slå på strømmen til lampen;
  4. På iPhone, gå til "Innstillinger → WiFi"
  5. Velg et usikret nettverk med en SSID som "ESP12345678" og klikk "Konfigurer WiFi" i dialogboksen
  6. Chip-ID-en kreves helt nederst i konfigurasjonsvinduet

Hvis lampen allerede er konfigurert tidligere, kan du ganske enkelt slå den av, slå på ruteren og slå på lampen igjen - de gamle innstillingene vil bli plukket opp. Hvis dette er den første tilkoblingen til lampen, slå på ruteren og velg nettverket ditt i innstillingslisten, skriv inn alle nødvendige data, for eksempel passordet til hjemmets Wi-Fi og IP-adressen til Raspberry Pi.

Åpne fanen "Konfigurasjon" i Homebridge-nettgrensesnittet og i delen "accessories": [ skriv inn en så stor kodebit, og erstatte den forrige IDen med ESP-3bd20b på egenhånd:

{ "accessory": "mqttthing", "type": "lightbulb", "name": "Nightlight", "url": "http://127.0.0.1:1883", "mqttPubOptions": { "retain": false } , "topics": { "getOn": "homeassistant/light/ESP-3bd20b/status", "setOn": "homeassistent/light/ESP-3bd20b/switch", "getBrightness": "homeassistent/light/ESP-3bd20b /lysstyrke/status", "setBrightness": "hjemmeassistent/lys/ESP-3bd20b/lysstyrke/sett", "getRGB": "hjemmeassistent/lys/ESP-3bd20b/rgb/status", "setRGB": "hjemmeassistent/lys /ESP-3bd20b/rgb/set" }, "onValue": "ON", "offValue": "OFF" }, { "accessory": "mqttthing", "type": "tv", "name": "Nattlyseffekter", "url": "http://127.0.0.1:1883", "topics": { "setActive" : " hjemmeassistent/lys/ESP-3bd20b/bryter", "getActive": "hjemmeassistent/lys/ESP-3bd20b/status", "setActiveInput": "hjemmeassistent/lys/ESP-3bd20b/effekt/sett", "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": "Fargeendring", "value": "Fargeendring" }, { "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øfall", "value": "Snøfall" }, { "name": "Matrix", "value": "Matrix" }, { "name": "Fireflies", "value": "Fireflies " }, { "name": "Aquarium", "value": "Aquarium" }, { "name": "Starfall", "value": "Starfall" }, { "name": "Paintball", "value ": "Paintball" }, { "name": "Spiral", "value": "Spiral" }, { "name": "Varmt lys", "value": "Varmt lys" }, { "name ": "Pendulum", "value": "Pendulum" }, { "name": "Blink", "value": "Blink" }, { "name": "Politisirene", "value": "Politisirene " } , { "name": "Drift", "value": "Drift" }, { "name": "Flock", "value": "Flock" } ], "onValue": "ON", "offValue" ": "AV" }

ferdig I Apple To nye enheter har dukket opp i HomeKit, lampen "Night Light" og "Night Light Effects". De henger sammen og formålet deres er ganske klart. Hvis ønskelig, kan du gi dem nytt navn i konfigurasjonen.

Dessverre skrev forfatteren av fastvaren parametrene på russisk, så med en slik konfigurasjon må du også kontakte Siri på russisk. Men hvis du snakker med Siri på engelsk, kan du fikse hvert kodepunkt slik:

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

Da vil resultatet på iOS se slik ut:

Gyver Lampe Siri Patched

Plugin-innstillinger Samsung Tolv

Trinn 1. Sjekker TV-en for kompatibilitet

I kontrollpanelet til ruteren, gi TV-en en statisk lokal IP, slik vi gjorde for Raspberry Pi helt i begynnelsen. For eksempel, i mitt tilfelle er det 192.168.50.100.

Gå til adressen i nettleseren på datamaskinen din  http://TV_IP:8001/api/v2, som i mitt tilfelle betyr http://192.168.50.100:8001/api/v2/

Hvis du ser en side med en haug med tjenesteinformasjon som ser omtrent slik ut...

{"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å betyr dette at det er sjanser for å lykkes. Men du må forstå at ikke alle modeller av TV-er Samsung kompatibel med plugin. For eksempel vil de som krever PIN-identifikasjon ikke fungere.

Kopier feltverdien fra tjenestesiden"wifiMac": og klargjør fjernkontrollen fra TV-en, la den være for hånden.

Trinn 2. Installerer plugin

Ikke noe nytt, vi ser etter en plugin på forespørsel Samsung Tizen, velg ønsket (forfatterskap @tavicu) og installer.

Raspberry Pi Samsung Tizen-plugin

Etter lansering, gå til innstillingene og skriv inn følgende verdier der:

Raspberry Pi Samsung Innstillinger for Tizen-plugin

Navnet "TV" er ganske nok, fordi Siri forstår perfekt forespørselen om å slå på TV-en i stuen, der du knapt har 2 TV-er. Hun forstår også perfekt kommandoen «slå på TV-en på soverommet», uten å trekke TV-apparatet i stua en gang til.

Trinn 3. Koble til en TV

Alt er enkelt her: Ta opp TV-fjernkontrollen og vent til kontekstmenyen vises på skjermen med en advarsel om et forsøk fra en enhet på å ta kontroll over TVen. TV-en må selvfølgelig være slått på. Når en tilsvarende forespørsel vises i øvre høyre hjørne av skjermen, bruk TV-fjernkontrollen til å velge knappen Allow. Ferdig.

Trinn 4. Legg til TV-en Apple HomeKit

Ja, i motsetning til tidligere tilfeller vil ikke TV-en på magisk vis vises i listen over enheter i hjemmet ditt. Derfor tar vi iPhone i våre hender og trinn for trinn:

  1. Start Home-appen og på hovedsiden trykker du på + i øvre høyre hjørne;
  2. Velg "Legg til tilbehør";
  3. Klikk på "Ingen kode eller skanning" nederst på skjermen;
  4. På neste skjerm velger du TV-en din;
  5. Når du blir bedt om å angi HomeKit-oppsettkoden, klikker du på "Bruk kamera";
  6. Pek kameraet mot QR-koden på Homebridge Status-fanen.

Trinn 5. Plugin-innstillinger

Etter å ha gravd dypt i dokumentasjon til plugin-modulen, kan du få Siri til å kjøre spesifikke programmer på TV-en fra listen over installerte, pause dem og så videre. Nå, som en øvelse, vil vi endre funksjonaliteten til én enkelt knapp i den virtuelle fjernkontrollen Apple Fjernkontroll, innebygd i "gardinen" til iOS Control Center.

Dette er ℹ︎ (informasjon)-knappen, som standard viser den informasjon om gjeldende bildemodus i den øvre delen av TV-skjermen. Nå fra fjernkontrollen samtidig Apple Det er ingen måte å legge til Remote i listen over programmer som er installert på TV-en. Og vi skal fikse det nå.

Apple iOS-fjernkontroll for Samsung TV

Gå til plugin-innstillingene, delen "Key Mapping", se etter "INFORMASJON"-feltet og endre verdien til KEY_HOME. Start Homebridge på nytt og voila - ℹ︎-knappen i den virtuelle fjernkontrollen viser hovedapplikasjonsmenyen! Den virtuelle fjernkontrollen ga mening.

Sette opp Weather Plus-plugin

Trinn 1. Opprett en OpenWeather-konto

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

Trinn 2. Generering av API-nøkler

OpenWeather

Gå til ønsket fane for den personlige OpenWeather-kontoen, og etter å ha spesifisert navnet på nøkkelen, klikk på "Generer"-knappen.

OpenWeather

Trinn 3. Installere og konfigurere Weather Plus-plugin

Vi søker etter og installerer ønsket plugin ved å bruke den vanlige metoden, og fortsetter deretter til innstillingene. Resultatet skal se omtrent slik ut:

I prognosen er jeg personlig bare interessert i verdiene for den neste timen, så de andre er ganske enkelt deaktivert:

Raspberry Pi OpenWeather-prognoseinnstillinger

Og slik at unødvendige virtuelle værsensorer ikke er irriterende med unødvendige aktiveringer, deaktiverer vi dem i den tilsvarende Skjul verdier-delen. Det er ønskelig å deaktivere:

  • Lufttrykk
  • Skydekke
  • Duggpunkt
  • Tilsynelatende temperatur
  • Vindretning
  • UV-indeks
  • Vindfart
  • Vindhastighet Maks

Og klikk "Lagre" helt nederst i innstillingsvinduet.

Som et resultat, i grensesnittet Apple HomeKit vil vise temperatur- og fuktighetsverdier for den neste timen, samt to virtuelle sensorer "Snø" og "Regn", som kan brukes i ulike scenarier. For eksempel har jeg programmert HomeKit-automatisering, der, når regn eller snø dukker opp i varselet for nær fremtid, viser Guyver-lampen den tilsvarende kulpen eller fallende snøfnuggeffekten i et minutt. Samtidig vil effekten aktiveres kun mellom 8 og 00 og kun hvis noen er hjemme. Andre ganger er det neppe nødvendig med advarsler om å ta en paraply eller bruke vanntette klær.

Sette opp Yeelight WiFi-plugin-modulen

På forespørsel Yeelight Homebridge tilbyr mange plugins for installasjon, inkludert en bekreftet. Men jeg foretrekker en annen, der overgangene mellom stater gjøres så myke som mulig, og ikke i stil med «natten har falt på leiren». I tillegg støtter den adaptiv belysning fra Apple, men her er standardapplikasjonen Xiaomi aldri lært dette på året siden denne funksjonen dukket opp i HomeKit.

Raspberry Pi Yeelight WiFi-plugin

Viktigere! La bare en pære være på Xiaomi, for å unngå forvirring i begynnelsen. Vi skal jobbe med henne.

Etter å ha installert plugin, start Homebridge på nytt og se etter noe slikt i loggen: ‌[Yeelight] Received advertisement from ab1234. Dette er betinget ab1234 og der er lyspæren din. Kanskje verdien vil være color-ab1234, så vil du jobbe med ham.

Gå til plugin-innstillingene og lim inn følgende kodebit 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 bør være verdien fra loggen din, og i stedet ‌"name": "Торшер" et hvilket som helst navn som gjenspeiler stedet hvor lampen er skrudd inn: Nattlampe, Lampete, Tak, etc.

Raspberry Pi Yeelight WiFi Plugin-innstillinger

Lagre den limte koden ved å klikke på Lagre-knappen og start Homebridge på nytt. Ferdig, pæren har dukket opp i HomeKit under navnet du valgte. Resten av Yeelight-pærene legges til en etter en ved å trykke på "+ ADD PLATFORM"-knappen der i plugin-innstillingene på nøyaktig samme måte.

Oppdaterer Homebridge og Node.JS på Raspberry Pi

Å oppdatere (og rulle tilbake versjonen) av selve Homebridge er ganske enkelt: du må klikke på nummeret til gjeldende versjon i nettgrensesnittet og velge ønsket versjon fra listen i dialogboksen.

Men med oppdateringen av Node.JS og NPM, som før eller siden vil være nødvendig når du installerer en oppdatering av en eller annen plugin, er det ikke så lett. Mer presist er kommandoene ikke akkurat de som er beskrevet i standardinstruksjonene.

Node.JS oppdateres med kommandoen:

sudo hb-service update-node

Og NPM så mange som to på rad:

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

Dessverre kan verken Homebridge selv, eller pluginene eller "skinnene" den kjører på, oppdateres automatisk. Og å gå inn i kontrollpanelet hver dag og sjekke om det er noe nytt før eller siden blir kjedelig. Så, for å automatisere prosessen, kom de med en spesiell widget for iOS 14 som overvåker statusen til alle Homebridge-noder og er i stand til å signalisere tilstedeværelsen av oppdateringer eller eventuelle problemer visuelt og med PUSH-meldinger.

Installere Homebridge Status-widgeten

Raspberry Pi Homebridge-statuswidget

Som du kan se, viser widgeten mye nyttig og ikke så nyttig informasjon om Homebridge, men den mest verdifulle delen av den er informasjon om tilstanden til Homebridge selv, plugins og Node.JS.

For å få selve widgeten trenger vi først dens overordnede applikasjon. Installer den på iPhone fra App Store.

Skriptbar
Skriptbar
Pris: Gratis+

Og nå begynner den ganske lange, men spennende prosessen med å installere widgeten. Vi vil installere det ved hjelp av et annet skript kalt ScriptDude inne i Scriptable-programmet. ScriptDude er bra fordi det sporer endringer i koden til massen av skript som ligger i galleriet på adressen scriptables.net. Kanskje finner du noe annet nyttig for deg der, men nå har vi én oppgave, og vi skal løse den.

Trinn 1. Installer Scriptable.app fra App Store.

Trinn 2. Åpne nettstedet i iPhone-nettleseren scriptdu.de og klikk på Install ScriptDude-knappen.

scriptdu.de nettsted

Trinn 3. På siden som åpnes klikker du på Kopier Installer-knappen, og etter å ha mottatt en melding om skriptkoden i utklippstavlen, klikker du på Åpne skriptbar-knappen.

Trinn 4. Sett inn innholdet på utklippstavlen i det tomme feltet med tittelen Untitled Script og trykk på Play-knappen ▶️.

Installasjon av ScriptDude

Trinn 5. Klikk på lenken på skjermen som åpnes Bla gjennom scriptables.net og på neste side trykker du på taggen (teknologi). Hurra, Homebridge Status-skriptet er først på listen! Klikk gjerne på Last ned med ScriptDude-knappen.

Trinn 6. Vi trykker på Installer, og etter å ha godtatt to advarsler, ser vi ønsket skript i Installert-listen. Hovedskjermen for Scriptables ser nå ut som det fjerde skjermbildet nedenfor, og vi klikker på de tre prikkene i Homebridge Status-flisen og går til redigeringsalternativer.

Trinn 7. Først av alt endrer vi verdien overskrivPersistedConfig з falsksant

overwritePersistedConfig = true

for å lagre skriptinnstillinger til iCloud.

Raspberry Pi Homebridge-statuskonfigurasjon

Trinn 8. Når vi går ned litt lavere, redigerer vi tre felt: IP-adressen og Homebridge-porten (husk at dette er den allerede nevnte http://<ip address of your server>:8581 hvor i stedet for <ip address of your server> fortsatt samme IP helt fra begynnelsen av artikkelen, i mitt tilfelle ) og godta advarselen om søk etter enheter i det lokale nettverket. Hurra, manuset fungerer!

Alt som gjenstår er å legge til widgeten på iOS 14-skjermen på samme måte som alle andre. Etter å ha lagt til, må du gå til widgetinnstillingene (langt trykk på den) og spesifisere en rekke parametere: velg ønsket skript, spesifiser hva du skal gjøre når du samhandler med det, og skriv inn følgende verdi i Parameter-feltet

USE_CONFIG:purple.json

Etter det, ikke glem å gå tilbake til skriptkoden og returnere verdien

overwritePersistedConfig = false

Det er alt. Widgeten fungerer, og når det er oppdateringer til Node.JS, Homebridge eller dets plugins, vil du motta PUSH-varsler med relevant innhold.

Konklusjon

Muligheter Apple HomeKit har vokst mange ganger for meg. Jeg kom opp med en haug med skript og automatiseringer som gjør livet enklere for meg og mine kjære.

For eksempel, i den mørke tiden på dagen, vil det første familiemedlemmet som kommer hjem bli møtt av lysene på fra utsiden, i gangen, stuen og badet - og nå er det ingen grunn til å løpe til bryterne med uvaskede hender.

Når det siste familiemedlemmet forlater huset, slår HomeKit forsiktig av TV-er, lys og generelt alt som kan slås av. Og hvis det er minst én person hjemme, med begynnelsen av skumringen, vil den eksterne belysningen og noen lamper inne slås på.

Igjen kan Siri kontrollere alle tilkoblede enheter med helt logiske kommandoer, ord for ord de samme du ville spurt noen i huset når du trenger å slå noe på eller av i et bestemt rom. Bare ingen trenger å løpe til dette rommet lenger.

Morgen- og kveldsmusikk blander fra Apple, som lyseffektene til Guyver-lampen er festet til. Det er mulig å få annen lyssetting til å fungere med lett musikk, men jeg er ikke fornøyd med effekten.

Generelt avhenger applikasjonsscenarioene bare av fantasien din og vil ikke belaste lommeboken mye, da produkter med etiketten "Fungerer med Apple HomeKit er ikke lenger det eneste tilgjengelige valget.

I den neste artikkelen i syklusen vil du og jeg ha det litt moro: vi skal undervise våre Raspberry Pi laster ned torrenter, la oss gjøre det om til et kraftig mediesenter og retro spillkonsoll.

Følg med!

Yuri Stanislavsky
Yuri Stanislavskyhttp://notarecords.com
SwiftUI-utvikler. Jeg samler på vinyl. Noen ganger journalist. Eier av Nota Record Store.
- Annonse -
Melde deg på
Gi beskjed om
gjest

0 Kommentar
Innebygde anmeldelser
Se alle kommentarer