Root NationSoftwareMga tagubilinRaspberry Pi sa Home Ecosystem: Mga Tampok at Halimbawa (Bahagi 1)

Raspberry Pi sa Home Ecosystem: Mga Tampok at Halimbawa (Bahagi 1)

-

Kanina pa ako binili single-board mini-computer Raspberry Pi 4 (aka "prambuwesas» sa mga amateurs), hindi partikular na nauunawaan kung paano at para sa kung ano ito magagamit sa bahay. Sa halip, ito ay isa pang teknolohikal na laruan, at para sa ganap na katanggap-tanggap na pera, kaya maaari mong kayang mag-eksperimento. Sa hinaharap, masasabi kong mayroon akong kasalukuyang mga serbisyo bilang ad blocker sa buong network na tumatakbo sa aking RPi4 AdGuard Home, backup na sistema ng imbakan Apple Time MachineHomebridge upang magdagdag ng mga hindi na-certify na device sa ecosystem Apple HomeKit, isang programa para sa pag-download ng mga torrents Transmisyon, media server PLEX at isang retro game console RetroPie. Plano kong mag-eksperimento sa isang self-hosted password manager Bitwarden, isang open source analogue ng sikat na 1Password. Hindi masyadong maliit para sa gayong maliit na kasing laki ng isang pakete ng sigarilyo, tama ba?

Raspberry Pi 4 na may keyboard at mouse

Sa siklong ito na may dalawa mga artikulo, susubukan kong sabihin sa mas maraming detalye hangga't maaari kung paano ko na-install at na-configure ang lahat ng ito.

Ang una artikulo ay magiging mas kapaki-pakinabang para sa mga magsasaka ng poppy, dahil ito ay tumutukoy sa partikular para sa ecosystem Apple puntos, bagama't ang seksyong tumatalakay sa AdGuard ay magiging interesado sa mga user ng anumang desktop o mobile operating system.

Sa ikalawang artikulo isaalang-alang ang mga pangkalahatang serbisyo na maaaring maging kapaki-pakinabang sa lahat nang walang pagbubukod. At ikaw at ako ay uunlad tulad ng mga normal na tao - mula sa simple hanggang sa kumplikado.

Paghahanda ng Raspberry Pi

Dapat pansinin na ang mga unang pagbabago ng Raspberry Pi ay medyo mahina sa mga tuntunin ng hardware, kaya ang bawat developer ng software ay nakita ang computer na ito bilang isang single-task machine. Dahil dito, ang anumang serbisyo na maaaring patakbuhin sa RPi ay sa pamamagitan ng default ay iaalok bilang isang yari na imahe ng operating system. Na-download ko ito, naitala ito sa isang SD card, ipinasok ito sa RPi at binuksan ang handa na computer na may naka-install na serbisyo. Ngunit ang aming gawain ay maglunsad ng ilang mga serbisyo sa parehong oras, dahil pinapayagan ito ng kasalukuyang rebisyon. Samakatuwid, i-install namin ang mga ito bilang mga application.

Ipagpalagay natin na naikonekta mo na ang isang Raspberry Pi na may "malinis" na sistema ng Raspbian sa isang lokal na network. Kung ikaw ay isang baguhan at hindi mo alam kung saan magsisimula, pagkatapos ay magsimula sa  opisyal na mga tagubilin (sundin ang link - isang kahanga-hangang step-by-step na wizard na may maraming interactive na mga guhit), at pagkatapos ay magpatuloy sa susunod na yugto.

Hakbang 1

Una sa lahat, kailangan mong paganahin ang pag-access sa pamamagitan ng SSH sa iyong Raspberry Pi. Upang gawin ito, kailangan mong magsagawa ng ilang mga simpleng hakbang:

  • Buksan ang window ng Configuration ng Raspberry Pi sa menu ng Mga Kagustuhances» operating system
  • Mag-click sa "Interfaces»
  • Piliin ang Paganahin sa tabi ng SSH
  • Mag-click sa pindutang "OK" para magkabisa ang mga pagbabago

Kung mayroon kang Raspbian Lite na naka-install nang walang graphical na interface, sa Terminal sa Raspberry Pi mismo, isagawa ang mga sumusunod na command:

sudo systemctl paganahin ang ssh sudo systemctl simulan ang ssh

Pinagana ang access.

- Advertisement -

Mayroon akong macOS computer, kaya maaari akong tumalon sa mga susunod na hakbang, tulad ng mga may-ari ng Linux computer. Nakatanggap din ang mga user ng Windows 10 ng built-in na OpenSSH client bilang bahagi ng kanilang operating system noong nakaraan, ngunit maaaring kailanganin ang ilang manipulasyon para ma-activate ito.

Magbukas ng command prompt ng Windows o PowerShell shell (alinman ang gusto mo) at i-type ang sumusunod na command:

Get-WindowsCapability -Online | ? Pangalan -tulad ng 'OpenSSH*'

Kung naka-install ang SSH client, ang tugon sa command ay magiging ganito:

Naka-install ang Windows 10 OpenSSH

Kung sasabihin sa amin ng OpenSSH.Client sa field ng Estado na ito ay NotPresent, kung gayon ang pinakamabilis na paraan upang maisaaktibo ito ay ang pagpasok ng sumusunod na command:

Add-WindowsCapability -Online -Name OpenSSH.Client*

Kinukumpleto nito ang unang yugto ng paghahanda, kabilang ang para sa mga gumagamit ng Windows. Dahil sa likas na katangian ng Raspberry Pi at ang katotohanan na ang Raspbian OS ay talagang isa pang bersyon ng Linux, kailangan nating gumawa ng kaunting trabaho sa command line. Ito ay maaaring tila hindi karaniwan sa ilan, ngunit maniwala ka sa akin, walang mahirap o hindi maibabalik dito, kaya maging matapang. Magiging maayos ang lahat.

Hakbang 2

Ngayon ay kailangan mong tiyakin na ang iyong Raspberry Pi ay palaging nakakakuha ng parehong panloob na IP address sa lokal na network. Ang pinakamadaling paraan upang gawin ito ay sa mga setting ng router.

Gumagamit ako ng three-component MESH system  ASUS ZenWiFi Mini gamit ang karaniwang web interface ng anumang router ng kumpanyang ito. Upang i-link ang mga MAC at IP address, kailangan mong pumili ng isang device mula sa listahan ng mga konektadong device, at sa pop-up window, tukuyin lamang ang nais na IP. Sa aking kaso pinili ko ang 192.168.50.10 para lang madaling maalala.

ASUS Mga setting ng WiFi

Sa mga router ng iba pang mga tagagawa, maaaring iba ang tawag sa item sa menu, ngunit ang kakanyahan nito ay mananatiling pareho - pag-isyu ng mga static na lokal na IP sa mga konektadong device.

Hakbang 3

Inilunsad namin ang Terminal (command line, PowerShell, atbp.) sa iyong computer mula sa karaniwang hanay ng macOS, Linux o Windows.

Pinapatay namin ang koponan

ssh pi@

(saan sa halip na <ip address of your server> ipinasok namin ang IP ng "raspberries" mula sa nakaraang hakbang) at nakikita namin ang humigit-kumulang sa sumusunod na larawan:

Raspberry Pi ssh password

Dito kailangan mong patayin ang password ng iyong Raspberry Pi, na iyong tinukoy sa paunang pag-setup.

- Advertisement -

Ang mahalaga! Ang password ay hindi ipapakita sa screen habang ipinasok mo ito. At ang "mga bituin" ay hindi rin ipapakita. Kailangan mong i-type ang password nang literal na "bulag" at pindutin ang Enter.

Kung ang password ay naipasok nang tama, ang resulta ay magiging katulad nito:

Pumasok ang Raspberry Pi sshKumusta, ikaw ay nasa loob ng iyong Raspberry Pi. Maligayang pagdating! Maaari kang magpatuloy sa mga setting ng mga indibidwal na serbisyo. At magsisimula tayo sa pinakasimpleng.

Logo ng AdGuard Home

Pag-install at pag-configure ng AdGuard Home sa Raspberry Pi

AdGuard Home, ayon sa patotoo ng developer - "isang makapangyarihang tool sa network laban sa advertising at pagsubaybay. Sa pagtaas ng papel ng Internet of Things, nagiging mas mahalaga ang pamamahala sa iyong buong network. Kapag na-set up na, sasakupin ng AdGuard Home ang LAHAT ng iyong device sa bahay nang hindi nangangailangan ng software sa panig ng kliyente."

Sa madaling salita, isa itong filter ng ad na hindi gumagana bilang mga hiwalay na app o browser plugin sa bawat isa sa iyong mga device, ngunit isang pangkalahatang solusyon na sumasaklaw sa iyong buong LAN ng tahanan gamit ang mga filter.

Bumalik tayo sa window ng Terminal (magkasundo tayo na ang Windows PowerShell at iba pang mga shell para sa pagpasok ng mga utos, sa text ay tatawagan ko lang ang Terminal, okay?), Isinasagawa namin ang mga sumusunod na command na magda-download at mag-unpack ng AdGuard Home archive:

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

Ang natitira na lang ay i-install ang serbisyo at patakbuhin ito:

cd AdGuardHome sudo ./AdGuardHome -s install

Magiging ganito ang resulta:

Naka-install ang AdGuard Home

Naka-install na ang AdGuard Home! Ito ay simple, ay hindi ito?

Ngayon ay kailangan mong bisitahin ang web interface ng bagong naka-install na serbisyo. Simulan ang browser (Safari, Chrome, Firefox o anumang mayroon ka - hindi mahalaga) at sa address bar pumatay https://<ip address of your server>:3000. Sa aking kaso, ito ay, tulad ng naaalala natin, https://192.168.50.10: 3000.

Makakakita ka ng step-by-step na paunang setup wizard. Kung mas komportable ka sa interface sa ibang wika, maaari kang agad na lumipat sa ninanais. Kasama sa listahan, bukod sa iba pa, Ukrainian, Polish at Russian.

Raspberry Pi AdGuard Home welcome screenSa ikatlong hakbang, hihilingin sa iyong lumikha ng user ng AdGuard Home at magkaroon ng password. Sa ikaapat, ipapaliwanag na ang Raspberry Pi IP address (ang parehong 192.168.50.10 sa aking kaso) ay dapat na nakarehistro bilang DNS sa naaangkop na seksyon ng mga setting ng router. Gawin ito:

ASUS mga setting ng DNS ng router

Sa mga router ng iba pang mga tagagawa, ang nais na punto ng mga setting ay matatagpuan humigit-kumulang sa parehong landas.

Susunod, pumunta kami sa mga setting ng AdGuard Home mismo, na malinis pa rin.

Malinis na pag-install ng Raspberry Pi AdGuard Home

Kung mayroon kang Smart TV Samsung, LG, o katulad, pumunta sa menu na "Mga Filter - Magdagdag ng blacklist" at doon "Pumili mula sa listahan". I-activate ang kaukulang Blocklist.

Filter ng Raspberry Pi AdGuard Home TV

Ngayon ay kailangan mong magdagdag ng mga filter ng ad sa Russian/Ukrainian-language nang manu-mano. I-click muli ang "Magdagdag ng blacklist", pagkatapos ay "Idagdag ang iyong listahan" at sunud-sunod na ipasok ang mga sumusunod na halaga sa kaukulang mga field:

Ім'я URL
Filter ng AdGuard Base https://filters.adtidy.org/extension/chromium/filters/2.txt
AdGuard Russian filter https://filters.adtidy.org/extension/chromium/filters/1.txt
Filter ng AdGuard Tracking Protection https://filters.adtidy.org/extension/chromium/filters/3.txt

Para sa isang panimula, ang mga filter na ito ay sapat na.

Para sa paghahambing, karaniwan kong ginagamit ang exler.ru, isang site na puno ng mga klasikong banner. Sa kaliwa - bago, sa kanan - pagkatapos mag-apply ng mga filter.

Ang pag-update ng AdGuard Home ay nagaganap sa manual mode, ngunit literal itong nagsisimula sa isang pindutan at tumatagal ng ilang segundo, nang hindi nangangailangan ng interbensyon.

Pag-update ng Raspberry Pi AdGuard Home

Iyon lang, sa pangkalahatan. Mula ngayon, halos walang ad ang lahat ng iyong device sa bahay. Ang isang hindi kasiya-siyang pagbubukod dito ay ang programa ng kliyente YouTube sa mga console Apple TV, ngunit dito ang mga limitasyon ng arkitektura ng tvOS ay magkakabisa, kaya ang AdGuard ay walang kapangyarihan sa kasong ito.

Apple Logo ng Time Machine

Pag-install at pag-configure ng Time Machine sa Raspberry Pi

Ayon sa Wikipedia, ang Time Machine ay isang backup system na binuo Apple at binuo sa Mac OS X Leopard at sa mga susunod na bersyon ng macOS, pati na rin sa isang programa ng parehong pangalan na nagbibigay-daan sa iyo upang tingnan ang mga nilalaman ng mga backup na kopya at ibalik ang parehong mga indibidwal na file at ang operating system sa kabuuan.

Sa madaling salita, ito ay isang oras-oras na backup system na binuo sa macOS na nangangailangan ng isang katugmang file server. Maaari mong gawing ganoong server ang Raspberry Pi kung ikinonekta mo ang isang panlabas na USB HDD dito.

Para gumana nang tama ang Time Machine, ang Raspberry Pi 4 o mas bago lang ang angkop, na may mga USB 3.0 port (sa mga naunang modelo, ang mga port ay mas mabagal) at isang angkop na HDD na may volume na 1-3 terabytes (na may panlabas na kapangyarihan, kung ito ay isang 3,5-pulgada na disk).

Ang mahalaga! Mayroong dalawang network protocol na nagpapahintulot sa macOS na mag-imbak ng data ng Time Machine sa isang lokal na network. Lumang Netatalk, o mas modernong Samba. Sa prinsipyo, maaari mong gamitin ang alinman sa mga ito para sa mga gawain sa Time Machine. Ang Internet ay puno ng mga tagubilin para sa pag-aayos ng proseso sa pamamagitan ng Netatalk, at lahat ng mga tagubiling ito ay may iba't ibang antas ng kapritso, ngunit ang aking gawain ay magbigay ng pinakasimpleng, garantisadong opsyon sa pagtatrabaho. At ang iyong gawain ay piliin ang isa na maginhawa para sa iyo. Kaya sa artikulo ay isasaalang-alang natin ang pareho.

Paghahanda ng HDD

Ikinonekta namin ang HDD sa USB 3.0 port ng aming Raspberry Pi, i-access ito sa Terminal sa pamamagitan ng SSH at patakbuhin ang command lsblk, na magpapakita ng listahan ng mga konektadong drive sa console. Binibigyang-pansin namin ang laki ng disk upang matiyak kung alin ang gagana namin, ang pangalan nito at mount point, sa aking kaso ito ay simple sda, magkakaroon pa rin ng mount point ang sa iyo, malamang /dev/sda‌. Kailangan natin siya.

Pag-format ng Raspberry Pi HDD

Ipasok ang utos sudo fdisk /dev/sda (o sa anumang iba pang mount point na nauugnay sa iyong kaso), pagkatapos ay mag-click sa keyboard m, para makita ang buong listahan ng mga command. Maaari mo ring kopyahin ito sa isang hiwalay na text file (o gamitin ang pahiwatig sa ibaba).

GPT M maglagay ng proteksiyon/hybrid MBR Generic d magtanggal ng partition F list free unpartitioned space l maglista ng mga kilalang uri ng partition n magdagdag ng bagong partition p i-print ang partition table t baguhin ang partition type v i-verify ang partition table i print ang impormasyon tungkol sa partition Misc m i-print ang menu na ito x karagdagang functionality (mga eksperto lamang) Script I-load ang disk layout mula sa sfdisk script file O dump disk layout sa sfdisk script file I-save at Lumabas w write table to disk at exit q quit nang hindi nagse-save ng mga pagbabago Lumikha ng bagong label g lumikha ng bago walang laman na GPT partition table G lumikha ng bagong walang laman na SGI (IRIX) partition table o gumawa ng bagong walang laman na DOS partition table s lumikha ng bagong walang laman na Sun partition table

Ang aming gawain ay gawin delete a partition nang maraming beses hangga't kinakailangan upang ganap na linisin ang disk mula sa mga partisyon, at pagkatapos ay lumikha ng bago gamit add a new partition. Huwag kalimutang isulat ang mga pagbabago, ibig sabihin write table to disk and exit. Inayos mo ba? Perpekto.

Ngayon lumikha kami ng isang file system sa disk. Ang karaniwang ext4 ay sapat na, sa kabila ng pagkakaiba-iba ng mga opinyon sa network na ang disk ay dapat na mai-format sa isa sa mga file system Apple. Sa katotohanan, ginagawa lamang nitong kumplikado ang proseso ng paghahanda nang hindi nagdudulot ng anumang benepisyo.

Ipasok ang utos sudo mkfs.ext4 /dev/sda1. Tapos na.

Ngayon ay kailangan nating malaman ang UUID ng ating bagong partition.
pasok na tayo ls -lha /dev/disk/by-uuid at may nakikita tayong ganito:

Pag-format ng Raspberry Pi HDD

Kopyahin ang UUID mula sa amin sda1 sa isang hiwalay na text file kung hindi mo ginagamit ang advanced na clipboard na may kasaysayan.

Ngayon ay kailangan naming lumikha ng isang folder kung saan namin i-mount ang aming disk at bigyan ito ng naaangkop na mga karapatan sa pag-access.

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

I-mount ang disk. Upang gawin ito, i-edit ang configuration file gamit ang command

sudo nano / etc / fstab

nano sa kasong ito, ang pangalan ng editor na naka-install sa system, na mas gusto kong gamitin.

Gumawa ng mga pagbabago sa binuksan na file sa pamamagitan ng pagdaragdag ng sumusunod na linya dito

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

ngunit sa iyong UUID mula sa nakaraang hakbang. Dapat itong magmukhang ganito:

Pag-format ng Raspberry Pi HDD

I-save ang mga pagbabago sa pamamagitan ng pag-click Ctrl + O і Magpasok, at pagkatapos ay lumabas sa editor sa pamamagitan ng pag-click Ctrl + X.

I-reboot ang Raspberry Pi gamit ang command sudo reboot at pagkatapos ng reboot mag-log in muli sa pamamagitan ng SSH.

Patayin ang koponan df -h at siguraduhin na ang drive ay naka-mount sa system sa punto /mnt/tm.

Napakahusay, ang disk ay handa na para sa trabaho.


Pag-install at pagsasaayos ng NETATALK (opsyon 1)

Nag-install kami:

sudo apt-get install netatalk -y

Kino-configure namin ang lahat sa parehong editor nano:

sudo nano /etc/netatalk/afp.conf

At ginagawa namin ang mga nilalaman ng file ng pagsasaayos nang eksakto tulad nito:

; ; Netatalk 3.x configuration file; [Global] ; Pangkalahatang mga setting ng server na ginagaya ang modelo = TimeCapsule6,106 [Time Machine] path = /mnt/tm time machine = yes valid users = pi ; [Mga Bahay] ; basedir regex = /xxxx ; [Aking AFP Volume] ; landas = /path/to/volume ; [Ang Dami ng Aking Time Machine] ; landas = /path/to/backup ; time machine = oo`

Huwag kalimutang i-save ang resulta sa tulong Ctrl + O → Ipasok → Ctrl+X

Ang file ay na-edit na ngayon nsswitch.conf, pagdaragdag sa dulo ng linya hosts: karagdagang mga halaga mdns4 mdns.

sudo nano /etc/nsswitch.conf

Ang resulta ay dapat magmukhang ganito:

# /etc/nsswitch.conf
#
# Halimbawang configuration ng GNU Name Service Switch functionality.
# Kung mayroon kang naka-install na `glibc-doc-reference' at `info' packages, subukan ang:
# `info libc "Name Service Switch"' para sa impormasyon tungkol sa file na ito.

passwd: mga file
pangkat: mga file
anino: mga file
gshadow: mga file

mga host: mga file mdns4_minimal [NOTFOUND=return] dns mdns4 mdns
mga network: mga file

mga protocol: db file
serbisyoces: db file
ethers: db file
rpc: mga db file

netgroup: hindi

Muli naming i-save ang mga pagbabago sa pamamagitan ng Ctrl + O → Ipasok → Ctrl+X

Pagkatapos ay nananatili lamang ito upang simulan ang mga serbisyo:

sudo service avahi-daemon start sudo service netatalk start

At suriin ang kanilang pagganap sa mga koponan:

katayuan ng sudo service netatalk

na

sudo service avahi-daemon status

Ang resulta ay dapat magmukhang ganito:

Mensahe sa Katayuan ng Netatatlk

Ang natitira na lang ay pumunta sa Mga Setting ng macOS, piliin ang seksyong Time Machine at tingnan ang aming Raspberry Pi sa mga available na drive.

Time Machine Netatalk

Tinukoy namin bilang isang pag-login pi, bilang password - ang ginagamit para sa pag-access sa SSH.

Tapos na, ang karaniwang opsyon sa pamamagitan ng Netatalk ay na-configure. Ngayon, sa tuwing ang iyong Mac ay nasa parehong lokal na Wi-Fi network gaya ng Raspberry Pi, awtomatikong gagawin ang mga backup sa iyong drive.

Ngayon isaalang-alang ang isang alternatibo sa anyo ng Samba protocol, na itinuturing na mas maaasahan.

Pag-install at pag-configure ng SAMBA (opsyon 2)

Nag-install kami ng Samba:

‌sudo apt-get install samba

Itinakda namin ang password ng user (para sa parehong pi user) at i-edit ang configuration. Unang password:

‌sudo smbpasswd -a pi (maaari mong gamitin ang parehong bilang para sa SSH).

At pagkatapos ay ang pagsasaayos ng Samba ay nasa parehong editor nano:

‌sudo nano /etc/samba/smb.conf

I-block ang nilalaman [global] dapat magmukhang ganito sa huli:

[global] seguridad = user encrypt password = totoong mapa sa bisita = masamang user guest account = walang tao

Sa pinakadulo ng configuration file, magdagdag ng bagong block:

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

At nai-save namin ang resulta: Ctrl + O, Magpasok, Ctrl + X.

I-restart ang serbisyo:

‌sudo systemctl i-restart ang smb.service

tapos na Ito ay nananatili, tulad ng sa kaso ng Netatalk, upang mahanap ang disk sa listahan na ipinakita sa panel ng mga setting ng Time Machine.

Logo ng Homebridge

Pag-install at pag-configure ng Homebridge sa Raspberry Pi

Well, matagumpay naming naabot ang pinaka-napakalaking bloke ng artikulo.

Homebridge ay isang server na nakabase sa NodeJS na gumagamit ng Homekit API para sa hindi sertipikadong pagsasama ng device at paunang suporta para sa Apple Kit ng Bahay.

Ang kahirapan ng pag-configure ng Homebridge ay ang mga plugin nito ay sumusuporta sa isang malawak na iba't ibang mga protocol at device, na ginagawa itong nakikita at napapamahalaan mula sa Apple HomeKit. Alinsunod dito, ang bawat plugin ay na-configure sa sarili nitong paraan, kadalasan ay ganap na naiiba mula sa katapat nito para sa isa pang device.

Magsimula na tayo. Gaya ng dati, ina-access namin ang Raspberry Pi sa pamamagitan ng SSH at nagsasagawa kami ng ilang hakbang.

Ini-install ang Node.js

May kakayahan kang kopyahin at i-paste ang buong bloke ng code sa Terminal. Sa ganap na karamihan ng mga kaso, ito ay sapat na. Ngunit kung nangyari na sa ilang yugto ay nabigo ang pag-install, pagkatapos ay ipasok ang natitirang mga utos mula sa block nang paisa-isa.

# 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 is working node -v # upgrade npm (bersyon 6.13.4 ay may mga isyu sa git dependencies) sudo npm install -g npm

Pag-install ng Homebridge at Homebridge Config UI X

Upang magsimula, itakda natin ang pundasyon gamit ang sumusunod na utos...

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

...at patakbuhin ito bilang isang serbisyo ng system.

‌sudo hb-service install --user homebridge

Pag-configure ng Homebridge sa pamamagitan ng web interface

Pumunta sa address sa browser sa iyong computer http://<ip address of your server>:8581 saan sa halip na <ip address of your server> pareho pa rin ang IP mula sa simula ng artikulo, sa aking kaso

Ang mga default na halaga ng user at password ay pareho: admin

Inirerekumenda ko kaagad na pumunta sa item ng menu na "Mga Gumagamit" at baguhin ang mga default na halaga doon sa mga mas ligtas.

Mga Setting ng User ng Raspberry Pi Homebridge

Ginawa mo ba? Mahusay, susunod kaming mag-configure ng mga plugin.

Ang pagkakaroon ng iba't ibang kagamitan sa bahay ang nagdidikta kung aling mga plugin ang kailangan nating i-install. Posible na sa iyong kaso, ang hanay ng mga plugin ay bahagyang naiiba, ngunit gamit ang halimbawa ng aking pagsasaayos, maaari kang makakuha ng ideya kung anong mga nuances ang maaari mong makaharap sa proseso ng pag-set up ng mga ito.

Ang aking hanay ng mga plugin sa oras ng pagsulat:

  • Homebridge UI (kasama sa pangunahing pagsasaayos at walang sariling mga setting)
  • Kulay (para sa kontrol ng ilaw Philips kulay)
  • Apple Remote ng TV (para sa pagkontrol sa mga set-top box Apple TV)
  • Mqttthing (para sa pamamahala lampara ni Guyver з firmware mula sa Whilser)
  • Samsung Tizen (para sa Smart TV control Samsung gamit ang Tizen OS)
  • Weather Plus (para sa automation ng isang matalinong tahanan depende sa kondisyon ng panahon)
  • Yeelight Wi-Fi (para sa kontrol ng lampara Xiaomi Yeelight)

Isa-isa tayo.

Mga setting ng Hue plugin

Upang mag-install ng anumang plug-in sa Homebridge, sapat na upang pumunta sa kaukulang tab ng web interface, ipasok ang pangalan ng nais na bakal sa search bar at piliin ang plug-in mula sa listahan ng mga magagamit. Inirerekomenda kong bigyang pansin ang label na "🛡Na-verify", ang bersyon at petsa ng pag-update ng plugin (kung hindi ito na-update ng may-akda sa loob ng ilang taon, malaki ang posibilidad na hindi ito gagana) at siguraduhing buksan ang link sa home page ng plugin, na kadalasang inilalarawan nang detalyado ang proseso ng pag-install.

Raspberry Pi Homebridge Hue

I-click ang button na "I-install" sa kinakailangang plug-in at maghintay ng isa o dalawa hanggang sa ma-install ang plug-in.

Isaksak Homebridge Hue medyo madaling i-set up. Kailangan mo lang itakda ang default na pangalan na ipapakita sa mga log ng Homebridge at piliin kung aling uri ng mga katugmang device ang hahawakan ng plugin. Sa kaso ko, ilaw lang Philips Ang hue, at maging ang unang bersyon ng hub, ay bilog.

Matapos punan ang data at kinakailangang i-save ang resulta, kailangan mo lamang pindutin ang central button sa hub Philips Hue at maghintay ng 15 segundo hanggang makilala ng plugin ang hub. Tapos na!

Ang natitira na lang ay kunin ang iPhone, ituro ang camera nito sa QR code na matatagpuan sa tab na "Status" ng web interface ng Homebridge, at idagdag ito bilang tulay sa iyong HomeKit.

Kung ang HomeKit tulad nito ay na-configure nang maaga (pinili Apple TV o iPad bilang pangunahing hub, mga idinagdag na kwarto, atbp.), pagkatapos ay agad na mag-aalok ang step-by-step na wizard na ipamahagi ang lahat ng nahanap na Hue lighting device sa mga kaukulang kuwarto at bibigyan ang bawat device ng pangalan. Sa aking sala, halimbawa, mayroon akong mga lamp na "Ceiling 1", "Ceiling 2" at "Ceiling 3", ngunit sa pamamagitan ng HomeKit mismo sa iPhone (item na "Pagsamahin sa iba pang mga device"), pinagsama ko ang mga ito sa isang lohikal na grupo na " Upper light ", ito ay mas maginhawa para sa akin. Kasabay nito, sa parehong sala, mayroon akong "Floor lamp" at "Night lamp" - magkahiwalay na mga aparato, ngunit perpektong nauunawaan ni Siri ang iba't ibang uri ng mga utos nang walang karagdagang pagsasanay:

  • "Buksan ang ilaw sa sala (nakasindi ang lahat ng lampara sa sala)"
  • "Buksan ang lampara sa sahig"
  • "Ang liwanag ng nightlight ay dalawampung porsyento"
  • "Buksan ang ilaw sa gabi"
  • "I-off ang overhead light"
  • "Asul na kulay sa lampara sa sahig"
  • "Patayin ang mga ilaw sa sala (patayin lahat ng ilaw sa sala)"
  • "Patayin ang lahat ng ilaw (patayin ang ilaw sa buong apartment)"

At iba pa. Kung nai-configure mo ito nang tama Apple-pamilya, may-katuturan at ganap na lohikal na mga utos ay awtomatikong magiging available sa lahat ng miyembrong pumasok sa iyong pamilya Apple ID.

Mga setting ng plugin Apple Remote ng TV

Ginagamit ko ang plugin na ito para sa isang layunin: upang lumikha ng karagdagang switch para sa console Apple TV. Ang katotohanan ay na sa Apple Ang HomeKit ay may kakayahang mag-program, halimbawa, ang pagsasama ng pag-playback ng isang album o playlist ayon sa isang paunang natukoy na kundisyon, gaya ng "Pag-uwi ko." At magiging maayos ang lahat, ngunit kung ang set-top box ay natutulog sa oras na ito, ang pagkakaroon ng gayong senaryo ay hindi magising dito. Ngunit posible ang isang karagdagang virtual switch. Pumunta kami:

Hakbang 1. Nag-install kami ng serbisyo para sa pagkuha ng mga kredensyal Apple TV

sudo npm install -g node-appletv-x

Hakbang 2. Naghahanap kami ng mga set-top box na available sa lokal na network Apple TV

sudo applepares ng tv

Hakbang 3. Lumilikha kami ng isang pares na may gustong prefix. Ang output ng console ay magiging ganito:

% applepares ng tv ✔ Kumokonekta sa Sala ✔ Nagsisimula ng Pagpares ? Ilagay ang 4-digit na pin na kasalukuyang ipinapakita sa Living Room

Sa hakbang ‌? Enter the 4-digit pin that's currently being displayed on... sa screen ng iyong napiling set-top box Apple TV, isang karaniwang apat na digit na code ang lalabas para sa pagpapares sa remote control (sa aming halimbawa, ito ay 1234), na dapat patayin doon mismo sa console.

% applepares ng tv ✔ Kumokonekta sa Sala ✔ Nagsisimula ng Pagpares ? Ilagay ang 4-digit na pin na kasalukuyang ipinapakita sa Living Room 1234 ✔ Pagkumpleto ng Mga Kredensyal ng Pagpares: 77346115-ED48-46A8-A288-

sa halip <snip> magkakaroon ng ilang linya ng pinaghalong mga titik at numero, kailangan nilang kopyahin sa isang hiwalay na text file sa kabuuan nito, simula sa unang numero sa linya Credentials:. Maya-maya pa ang mga ito Kredensyal kakailanganin natin ito nang husto.

Hakbang 4. Idagdag ang sumusunod na block sa seksyon ng config ng Homebridge web interface sa tab na "Configuration." "platforms": [

{ "platform": "AppleTvPlatform", "pangalan": "Apple Platform sa TV",
   "Devices": [
      {
         "name": "Guesthouse",
         "credentials": "77346115-ED48-46A8-A288-",
         "isOnOffSwitchEnabled": totoo,
         "onOffSwitchName": "Apple TV" } ] },

...at sa isang linya "credentials": ipasok lamang ang buong nilalaman ng text file mula sa nakaraang hakbang.

Pinipili namin ang anumang pangalan para sa prefix, "Guest house" dito ay halimbawa lamang.

Hakbang 5. Ini-install namin ang plugin mismo.

Sa tab na "Mga Module" ng web interface ng Homebridge, i-type ang search bar  Apple TV Remote at pindutin ang pindutan ng "I-install". Pagkatapos i-install ang plugin, sasabihan ka na i-restart ang Homebridge, ginagawa ito sa pamamagitan ng pagpindot sa kaukulang pindutan.

Button ng pag-restart ng Raspberry Pi Homebridge

Iyon lang, isang bagong switch ang lumitaw sa iPhone sa HomeKit, na maaari na ngayong idagdag sa lahat ng mga sitwasyon kung saan kailangan mong awtomatikong i-on ang set-top box.

Mga voice command tulad ng “Siri, i-on Apple TV" o "Siri, patayin Apple TV" ay awtomatikong sinusuportahan din. Higit pa rito, kung magko-configure ka ng ilang set-top box sa iba't ibang kwarto, awtomatikong sisimulan din ni Siri na maunawaan ang kahilingang i-off ito. Apple TV sa isang partikular na kwarto o sabay-sabay.

Sa katunayan, mabilis na umuunlad ang plugin na ito, alam na nito kung paano makilala ang Bundle ID para sa mga application na tumatakbo sa console at makialam sa kanilang trabaho, halimbawa, pag-pause ng isang pelikula sa Netflix. Ngunit haharapin mo ito sa iyong sarili, kung may pagnanais.

Pag-configure ng Mqttthing plugin

Ginagamit ko ang plugin na ito kasama ang Guyver lamp na nabanggit sa itaas - isang homemade lamp na may Arduino board at isang 16x16 matrix ng mga addressable na LED. Ang lampara mismo ay dapat na puno ng firmware mula sa Whilser. Naway ang pwersa ay suma-iyo!

Gyver Lamp kasama si Grogu

Hakbang 1. Pag-install ng MQTT broker

Nagpapatupad kami ng isang bilang ng mga utos. Hindi sila gumagana sa mga batch, kaya pinapasok namin sila sa console nang paisa-isa.

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key magdagdag ng 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

Ang huling utos ay magsisimula sa pamilyar na editor nano, kung saan pinapalitan namin ang mga nilalaman ng binuksan na file ng mga sumusunod:

# Ilagay ang iyong lokal na configuration sa /etc/mosquitto/conf.d/ # # Ang buong paglalarawan ng configuration file ay nasa # /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

Gaya ng dati, Ctrl + O, Magpasok, Ctrl + X, at pagkatapos ay i-restart ang broker gamit ang command

‌sudo /etc/init.d/mosquitto start

Naka-install ang MQTT broker.

Hakbang 2. Pag-install ng Mqttthing plugin

Karaniwan kaming pumunta sa tab na "Mga Module" sa web interface ng Homebridge, maghanap Mqttthing at i-click ang "I-install".

Hakbang 3. Mqttthing plugin configuration

Ang bawat lampara ng Guyver ay may sariling ESP chip ID. Halimbawa, ang ESP-3bd20b. Kung ikaw mismo ang gumawa at nag-flash ng lampara, ikaw ay ganap na nalaman tungkol dito, kung hindi, pagkatapos ay ilagay ang lampara sa mode ng pagpapares, at kapag nakakonekta sa iyong Wi-Fi network, ang naaangkop na dialog box sa iPhone ay magpapakita ng kinakailangang ID . Isulat mo.

  1. Patayin ang kapangyarihan sa lampara;
  2. I-off ang router;
  3. I-on ang kapangyarihan ng lampara;
  4. Sa iPhone, pumunta sa "Mga Setting → WiFi"
  5. Pumili ng hindi secure na network na may SSID tulad ng "ESP12345678" at i-click ang "I-configure ang WiFi" sa dialog box
  6. Kakailanganin ang Chip ID sa pinakailalim ng configuration window

Kung ang lamp ay na-configure nang mas maaga, maaari mo lamang itong i-off, i-on ang router at i-on muli ang lamp - ang mga lumang setting ay kukunin. Kung ito ang unang koneksyon ng lampara, i-on ang router at piliin ang iyong network sa listahan ng mga setting, pagkatapos ay ipasok ang lahat ng kinakailangang data, tulad ng password ng home Wi-Fi at ang IP address ng Raspberry Pi.

Buksan ang tab na "Configuration" ng homebridge web interface at sa seksyon "accessories": [ maglagay ng napakalaking piraso ng code, na pinapalitan ang dating ID ng ESP-3bd20b sa iyong sarili:

{ "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 /brightness/status", "setBrightness": "homeassistant/light/ESP-3bd20b/brightness/set", "getRGB": "homeassistant/light/ESP-3bd20b/rgb/status", "setRGB": "homeassistant/light /ESP-3bd20b/rgb/set" }, "onValue": "ON", "offValue": "OFF" }, { "accessory": "mqttthing", "type": "telebisyon", "name": "Night-light effects", "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 ": "Sunog" }, { "pangalan": "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" } , { "pangalan": "Rainbow 3D", "value": "Rainbow 3D" }, { "name": "Peacock 3D", "value": "Peacock 3D" }, { "name": "Zebra 3D" , " value": "Zebra 3D" }, { "name": "Forest 3D", "value": "Forest 3D" }, { "name": "Ocean 3D", "value": "Ocean 3D" } , { "name": "Snowfall", "value": "Snowfall" }, { "name": "Matrix", "value": "Matrix" }, { "name": "Fireflies", "value": "Mga Alitaptap " }, { "pangalan": "Aquarium", "value": "Aquarium" }, { "name": "Starfall", "value": "Starfall" }, { "name": "Paintball", "value ": "Paintball" }, { "name": "Spiral", "value": "Spiral" }, { "name": "Warm light", "value": "Warm light" }, { "name ": "Pendulum", "value": "Pendulum" }, { "name": "Blink", "value": "Blink" }, { "name": "Police siren", "value": "Police siren " } , { "name": "Drift", "value": "Drift" }, { "name": "Flock", "value": "Flock" } ], "onValue": "ON", "offValue ": "OFF" }

tapos na SA Apple Dalawang bagong device ang lumitaw sa HomeKit, ang lamp na "Night Light" at "Night Light Effects". Ang mga ito ay magkakaugnay at ang kanilang layunin ay medyo malinaw. Kung nais, maaari mong palitan ang pangalan ng mga ito sa config.

Sa kasamaang palad, isinulat ng may-akda ng firmware ang mga parameter sa Russian, kaya sa ganitong pagsasaayos, kailangan mo ring makipag-ugnay sa Siri sa Russian. Ngunit kung nakikipag-usap ka kay Siri sa Ingles, maaari mong ayusin ang bawat punto ng code tulad nito:

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

Pagkatapos ang resulta sa iOS ay magiging ganito:

Naka-Patch ang Gyver Lamp na Siri

Mga setting ng plugin Samsung Tizen

Hakbang 1. Sinusuri ang TV para sa compatibility

Sa control panel ng router, bigyan ang TV ng isang static na lokal na IP, tulad ng ginawa namin para sa Raspberry Pi sa pinakadulo simula. Halimbawa, sa aking kaso ito ay 192.168.50.100.

Pumunta sa address sa browser sa iyong computer  http://TV_IP:8001/api/v2, na sa aking kaso ay nangangahulugang http://192.168.50.100:8001/api/v2/

Kung makakita ka ng page na may maraming impormasyon ng serbisyo na mukhang ganito...

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

...at nangangahulugan ito na may mga pagkakataong magtagumpay. Ngunit kailangan mong maunawaan na hindi lahat ng mga modelo ng TV Samsung tugma sa plugin. Halimbawa, ang mga nangangailangan ng pagkakakilanlan ng PIN ay hindi gagana.

Kopyahin ang halaga ng field mula sa pahina ng serbisyo"wifiMac": at ihanda ang remote control mula sa TV, hayaan itong nasa kamay.

Hakbang 2. Pag-install ng plugin

Walang bago, naghahanap kami ng isang plugin kapag hiniling Samsung Tizen, piliin ang gusto (autorship @tavicu) at i-install.

Prambuwesas Lara Samsung Tizen plugin

Pagkatapos ng paglunsad, pumunta sa mga setting at ipasok ang mga sumusunod na halaga doon:

Prambuwesas Lara Samsung Mga setting ng plugin ng Tizen

Ang pangalang "TV" ay sapat na, dahil perpektong nauunawaan ni Siri ang kahilingan na i-on ang TV sa sala, kung saan halos wala kang 2 TV. Ganap din niyang nauunawaan ang utos na "i-on ang TV sa kwarto", nang hindi hinila ang TV set sa sala ng isa pang beses.

Hakbang 3. Kumokonekta sa isang TV

Simple lang ang lahat dito: kunin ang remote control ng TV at hintaying lumabas ang menu ng konteksto sa screen na may babala tungkol sa pagtatangka ng ilang device na kontrolin ang TV. Siyempre, dapat naka-on ang TV. Kapag lumitaw ang isang kaukulang kahilingan sa kanang sulok sa itaas ng screen, gamitin ang remote control ng TV upang piliin ang button Allow. Tapos na.

Hakbang 4. Idagdag ang TV sa Apple HomeKit

Oo, hindi tulad ng mga nakaraang kaso, ang TV ay hindi magically lalabas sa listahan ng mga device sa iyong tahanan. Samakatuwid, kinuha namin ang iPhone sa aming mga kamay at hakbang-hakbang:

  1. Ilunsad ang Home app at sa pangunahing page, pindutin ang + sa kanang sulok sa itaas;
  2. Piliin ang "Magdagdag ng Accessory";
  3. Sa ibaba ng screen, i-click ang "Walang code o scan";
  4. Sa susunod na screen, piliin ang iyong TV;
  5. Kapag sinenyasan na ipasok ang code sa pag-setup ng HomeKit, i-click ang "Gumamit ng Camera";
  6. Ituro ang camera sa QR code sa tab na Katayuan ng Homebridge.

Hakbang 5. Mga setting ng plugin

Nahukay ng malalim dokumentasyon sa plug-in, maaari mong patakbuhin ang Siri ng mga partikular na programa sa TV mula sa listahan ng mga naka-install, i-pause ang mga ito, at iba pa. Ngayon, bilang ehersisyo, babaguhin namin ang functionality ng isang solong button sa virtual remote Apple Remote, nakapaloob sa "kurtina" ng iOS Control Center.

Ito ang button na ℹ︎ (impormasyon), bilang default ay nagpapakita ito ng impormasyon tungkol sa kasalukuyang mode ng imahe sa itaas na bahagi ng screen ng TV. Sa parehong oras, maabot mula sa remote control Apple Walang paraan upang magdagdag ng Remote sa listahan ng mga program na naka-install sa TV. At aayusin natin ito ngayon.

Apple iOS Remote para sa Samsung TV

Pumunta sa mga setting ng plugin, ang seksyong "Key Mapping", hanapin ang field na "IMPORMASYON" at baguhin ang halaga nito sa KEY_HOME. I-restart ang Homebridge at voila - ang ℹ︎ button sa virtual remote ay naglalabas ng pangunahing menu ng application! Ang virtual remote ay may katuturan.

Pagse-set up ng Weather Plus plugin

Hakbang 1. Gumawa ng OpenWeather account

Pumunta tayo sa site https://home.openweathermap.org at magrehistro ng account, ang maganda ay libre ito.

Hakbang 2. Pagbuo ng key ng API

OpenWeather

Pumunta sa nais na tab ng OpenWeather personal na account at, nang matukoy ang pangalan ng susi, i-click ang pindutang "Bumuo".

OpenWeather

Hakbang 3. Pag-install at pag-configure ng Weather Plus plugin

Hinahanap namin at i-install ang nais na plugin gamit ang karaniwang pamamaraan, at pagkatapos ay magpatuloy sa mga setting nito. Ang resulta ay dapat magmukhang ganito:

Sa hula, ako ay personal na interesado lamang sa mga halaga para sa susunod na oras, kaya ang iba ay hindi pinagana:

Mga setting ng pagtataya ng Raspberry Pi OpenWeather

At upang ang mga hindi kinakailangang virtual na sensor ng panahon ay hindi nakakainis sa mga hindi kinakailangang pag-activate, hindi namin pinagana ang mga ito sa kaukulang seksyon ng Itago ang Mga Halaga. Ito ay kanais-nais na huwag paganahin:

  • Air Pressure
  • Cover ng Cloud
  • temperatura ng pagtutunaw
  • Maliwanag na Temperatura
  • Direksyon ng hangin
  • UV index
  • Bilis ng hangin
  • Max na Bilis ng Hangin

At i-click ang "I-save" sa pinakailalim ng window ng mga setting.

Bilang isang resulta, sa interface Apple Ipapakita ng HomeKit ang mga halaga ng temperatura at halumigmig para sa susunod na oras, pati na rin ang dalawang virtual na sensor na "Snow" at "Rain", na maaaring magamit sa iba't ibang mga senaryo. Halimbawa, na-program ko ang pag-aautomat ng HomeKit, kung saan, kapag umuulan o niyebe sa hula sa malapit na hinaharap, ipinapakita ng Guyver lamp ang kaukulang puddle o bumabagsak na epekto ng snowflake sa loob ng isang minuto. Kasabay nito, ang epekto ay isaaktibo lamang sa pagitan ng 8:00 a.m. at 23:00 p.m. at kung may tao lamang sa bahay. Sa ibang pagkakataon, ang mga babala na kumuha ng payong o magsuot ng damit na hindi tinatablan ng tubig ay malamang na hindi kinakailangan.

Pagse-set up ng Yeelight WiFi plug-in

Sa kahilingan Yeelight Nag-aalok ang Homebridge ng maraming plugin para sa pag-install, kabilang ang isang na-verify. Ngunit mas gusto ko ang isa pa, kung saan ang mga paglipat sa pagitan ng mga estado ay ginawa nang maayos hangga't maaari, at hindi sa estilo ng "gabi ay bumagsak sa kampo". Bilang karagdagan, sinusuportahan nito adaptive lighting mula sa Apple, ngunit narito ang karaniwang aplikasyon Xiaomi hindi kailanman natutunan ito sa taon mula nang lumabas ang feature na ito sa HomeKit.

Raspberry Pi Yeelight WiFi Plugin

Ang mahalaga! Mag-iwan lamang ng isang bumbilya Xiaomi, para maiwasan muna ang kalituhan. Makikipagtulungan kami sa kanya.

Pagkatapos i-install ang plugin, i-restart ang Homebridge at hanapin ang isang bagay na tulad nito sa log: ‌[Yeelight] Received advertisement from ab1234. Ito ay may kondisyon ab1234 at nariyan ang iyong bumbilya. Marahil ang halaga ay magiging color-ab1234, tapos makikipagtulungan ka sa kanya.

Pumunta sa mga setting ng plugin at i-paste ang sumusunod na piraso ng code doon:

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

Saan sa halip na color-ab1234 dapat ang halaga mula sa iyong log, at sa halip ‌"name": "Торшер" anumang pangalan na sumasalamin sa lugar kung saan naka-screw ang lampara: Night lamp, Sconce, Ceiling, atbp.

Mga Setting ng Plugin ng Raspberry Pi Yeelight WiFi

I-save ang na-paste na code sa pamamagitan ng pag-click sa button na I-save at i-restart ang Homebridge. Tapos na, lumabas na ang bombilya sa HomeKit sa ilalim ng pangalang pinili mo. Ang natitirang mga bombilya ng Yeelight ay idinaragdag nang paisa-isa sa pamamagitan ng pagpindot sa "+ ADD PLATFORM" na button doon sa mga setting ng plugin sa eksaktong parehong paraan.

Ina-update ang Homebridge at Node.JS sa Raspberry Pi

Ang pag-update (at pagbabalik ng bersyon) ng Homebridge mismo ay medyo simple: kailangan mong mag-click sa numero ng kasalukuyang bersyon sa web interface at piliin ang nais na bersyon mula sa listahan sa dialog box.

Ngunit sa pag-update ng Node.JS at NPM, na maaga o huli ay kakailanganin kapag nag-i-install ng update ng ilang plugin, hindi ito ganoon kadali. Mas tiyak, ang mga utos ay hindi eksakto sa mga inilarawan sa karaniwang mga tagubilin.

Ang Node.JS ay na-update gamit ang command:

sudo hb-service update-node

At NPM kasing dami ng dalawang magkasunod:

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

Sa kasamaang palad, alinman sa Homebridge mismo, o ang mga plugin nito, o ang "mga riles" na sinasakyan nito ay hindi maaaring awtomatikong mag-update. At ang pagpunta sa control panel araw-araw at pagsuri kung may bago o huli ay nakakasawa. Kaya, upang i-automate ang proseso, gumawa sila ng isang espesyal na widget para sa iOS 14 na sinusubaybayan ang katayuan ng lahat ng mga Homebridge node at nagagawang magsenyas ng pagkakaroon ng mga update o anumang mga problema sa visual at sa mga mensahe ng PUSH.

Pag-install ng Homebridge Status widget

Widget ng Katayuan ng Raspberry Pi Homebridge

Tulad ng nakikita mo, ang widget ay nagpapakita ng maraming kapaki-pakinabang at hindi gaanong kapaki-pakinabang na impormasyon tungkol sa iyong Homebridge, ngunit ang pinakamahalagang bahagi nito ay ang impormasyon tungkol sa estado ng Homebridge mismo, ang mga plugin nito at Node.JS.

Upang makuha ang widget mismo, kailangan muna namin ang parent application nito. I-install ito sa iyong iPhone mula sa App Store.

Scriptable
Scriptable
Developer: Simon B. Stovring
presyo: Libre+

At ngayon ang medyo mahaba ngunit kapana-panabik na proseso ng pag-install ng widget ay nagsisimula. I-install namin ito sa tulong ng isa pang script na tinatawag na ScriptDude sa loob ng Scriptable program. Maganda ang ScriptDude dahil sinusubaybayan nito ang mga pagbabago sa code ng masa ng mga script na matatagpuan sa gallery sa address scriptables.net. Marahil ay makakahanap ka ng ibang bagay na kapaki-pakinabang para sa iyo doon, ngunit ngayon ay mayroon kaming isang gawain, at malulutas namin ito.

Hakbang 1. I-install ang Scriptable.app mula sa App Store.

Hakbang 2. Buksan ang site sa iPhone browser scriptdu.de at i-click ang pindutang I-install ang ScriptDude.

website ng scriptdu.de

Hakbang 3. Sa page na bubukas, i-click ang Copy Installer button at, pagkatanggap ng mensahe tungkol sa script code sa aming clipboard, i-click ang Open Scriptable na button.

Hakbang 4. Ipasok ang mga nilalaman ng clipboard sa walang laman na field na may pamagat na Untitled Script at pindutin ang Play button ▶️.

Pag-install ng ScriptDude

Hakbang 5. Sa screen na bubukas, i-click ang link Mag-browse sa scriptables.net at sa susunod na pahina tapikin ang tag (teknolohiya). Hooray, ang Homebridge Status script ang una sa listahan! Huwag mag-atubiling i-click ang pindutang I-download gamit ang ScriptDude.

Hakbang 6. Pinindot namin ang I-install at, nang sumang-ayon sa dalawang babala, nakita namin ang nais na script sa Naka-install na listahan. Ang pangunahing screen ng Scriptables ngayon ay mukhang ang pang-apat na screenshot sa ibaba, at nag-click kami sa tatlong tuldok sa Homebridge Status tile at pumunta sa mga opsyon sa pag-edit.

Hakbang 7. Una sa lahat, binabago namin ang halaga overwritePersistedConfig з hindi totoo sa totoo

overwritePersistedConfig = totoo

upang i-save ang mga setting ng script sa iCloud.

Raspberry Pi Homebridge Status Configuration

Hakbang 8. Bumaba ng kaunti, ine-edit namin ang tatlong field: ang IP address at ang Homebridge port (tandaan, ito ang nabanggit na http://<ip address of your server>:8581 saan sa halip na <ip address of your server> pareho pa rin ang IP mula sa simula ng artikulo, sa aking kaso ) at sumang-ayon sa babala tungkol sa paghahanap ng mga device sa lokal na network. Hooray, gumagana ang script!

Ang natitira na lang ay idagdag ang widget sa iOS 14 screen sa parehong paraan tulad ng iba pa. Pagkatapos magdagdag, kailangan mong pumunta sa mga setting ng widget (matagal na tapikin ito) at tukuyin ang isang bilang ng mga parameter: piliin ang nais na script, tukuyin kung ano ang gagawin kapag nakikipag-ugnayan dito, at ipasok ang sumusunod na halaga sa field na Parameter

USE_CONFIG:purple.json

Pagkatapos nito, huwag kalimutang bumalik sa script code at ibalik ang halaga

overwritePersistedConfig = false

Iyon lang. Gumagana ang widget, at kapag may mga update sa Node.JS, Homebridge, o mga plugin nito, makakatanggap ka ng mga PUSH-notification na may kaugnay na nilalaman.

Konklusyon

Mga pagkakataon Apple Ang HomeKit ay lumago nang maraming beses para sa akin. Nakabuo ako ng isang grupo ng mga script at automation na nagpapadali sa buhay para sa akin at sa aking mga mahal sa buhay.

Halimbawa, sa madilim na oras ng araw, ang unang miyembro ng pamilya na uuwi sa bahay ay sasalubungin ng mga ilaw na bukas mula sa labas, sa pasilyo, sala, at banyo - at ngayon ay hindi na kailangang tumakbo sa mga switch na hindi naghugas ng mga kamay.

Kapag ang huling miyembro ng pamilya ay umalis sa bahay, maingat na papatayin ng HomeKit ang mga TV, ilaw at, sa pangkalahatan, lahat ng maaaring i-off. At kung mayroong kahit isang tao sa bahay, sa pagsisimula ng takipsilim, ang panlabas na ilaw at ilang mga lamp sa loob ay bubuksan.

Muli, makokontrol ng Siri ang lahat ng nakakonektang device na may ganap na lohikal na mga utos, salita para sa salita ang parehong mga itatanong mo sa isang tao sa bahay kapag kailangan mong i-on o i-off ang isang bagay sa isang partikular na silid. Wala nang kailangang tumakbo pa sa kwartong ito.

Pinaghalong musika sa umaga at gabi mula sa Apple, kung saan nakakabit ang mga light effect ng Guyver lamp. Posibleng gumawa ng iba pang pag-iilaw gamit ang magaan na musika, ngunit hindi ako nalulugod sa epekto.

Sa pangkalahatan, ang mga sitwasyon ng aplikasyon ay nakasalalay lamang sa iyong imahinasyon at hindi maglalagay ng maraming strain sa wallet, dahil ang mga produktong may label na "Works with Apple Ang HomeKit ay hindi na ang tanging magagamit na pagpipilian.

Sa susunod na artikulo ng cycle, ikaw at ako ay magkakaroon ng kaunting kasiyahan: tayo ay magtuturo ang aming Raspberry Pi download torrents, gawin natin itong isang malakas na media center at retro game console.

Manatiling nakatutok!

Yuri Stanislavsky
Yuri Stanislavskyhttp://notarecords.com
Developer ng SwiftUI. Kinokolekta ko ang vinyl. Minsan isang mamamahayag. May-ari ng Nota Record Store.
Higit pa mula sa may-akda
- Advertisement -
Mag-sign up
Abisuhan ang tungkol sa
bisita

0 Comments
Naka-embed na Mga Review
Tingnan ang lahat ng komento
Iba pang mga artikulo
Mag-subscribe para sa mga update
Sikat ngayon