Root NationmacioInstruçõesRaspberry Pi no ecossistema doméstico: recursos e exemplos (parte 1)

Raspberry Pi no ecossistema doméstico: recursos e exemplos (parte 1)

-

Algum tempo atrás eu comprado minicomputador de placa única Raspberry Pi 4 (também conhecido como "framboesa» entre amadores), não entendendo particularmente como e para que pode ser usado em casa. Em vez disso, era outro brinquedo tecnológico, e por um dinheiro absolutamente aceitável, para que você pudesse experimentar. Olhando para o futuro, posso dizer que atualmente tenho serviços como um bloqueador de anúncios em toda a rede em execução no meu RPi4 Página inicial do AdGuard, sistema de armazenamento de backup Apple máquina do tempohomebridge para adicionar dispositivos não certificados ao ecossistema Apple HomeKit, um programa para baixar torrents Transmissão, servidor de mídia PLEX e um console de jogos retrô RetroPie. Pretendo experimentar um gerenciador de senhas auto-hospedado Bitwarden, um análogo de código aberto do famoso 1Password. Não é pouco para um pequenino do tamanho de um maço de cigarros, certo?

Raspberry Pi 4 com teclado e mouse

Neste ciclo com dois artigos, tentarei contar com o máximo de detalhes possível como instalei e configurei tudo isso.

Persha artigo será mais útil para os produtores de papoula, pois toca em específicos para o ecossistema Apple pontos, embora a seção que trata do AdGuard seja de interesse para usuários de qualquer sistema operacional de desktop ou móvel.

No segundo artigo considerar serviços universais que possam ser úteis a todos, sem exceção. E você e eu progrediremos como pessoas normais - do simples ao complexo.

Preparação de framboesa Pi

Deve-se notar que as primeiras revisões do Raspberry Pi eram bastante fracas em termos de hardware, então todo desenvolvedor de software percebeu este computador como uma máquina de tarefa única. Por isso, qualquer serviço que possa ser executado no RPi será oferecido por padrão como uma imagem pronta do sistema operacional. Baixei, gravei em um cartão SD, inseri no RPi e liguei o computador pronto com o serviço instalado. Mas nossa tarefa é lançar vários serviços ao mesmo tempo, desde que a revisão atual o permita. Portanto, vamos instalá-los como aplicativos.

Vamos supor que você já tenha conectado um Raspberry Pi com um sistema Raspbian "limpo" a uma rede local. Se você é iniciante e não sabe por onde começar, comece com  instruções oficiais (siga o link - um maravilhoso assistente passo a passo com muitas ilustrações interativas) e, em seguida, prossiga para a próxima etapa.

Passo 1

Primeiro de tudo, você precisa habilitar o acesso por SSH para o seu Raspberry Pi. Para fazer isso, você precisa executar algumas etapas simples:

  • Abra a janela Configuração do Raspberry Pi no menu Preferênciasces" sistema operacional
  • Clique no botão "Interfaces»
  • Selecione Ativar ao lado de SSH
  • Clique no botão "OK" para que as alterações entrem em vigor

Se você tiver o Raspbian Lite instalado sem uma interface gráfica, no Terminal do próprio Raspberry Pi, execute os seguintes comandos:

sudo systemctl habilitar ssh sudo systemctl iniciar ssh

Acesso habilitado.

- Propaganda -

Eu tenho um computador macOS, então posso ir direto para as próximas etapas, assim como os proprietários de computadores Linux. Os usuários do Windows 10 também receberam um cliente OpenSSH integrado como parte de seu sistema operacional há algum tempo, mas algumas manipulações podem ser necessárias para ativá-lo.

Abra um prompt de comando do Windows ou um shell do PowerShell (o que você preferir) e digite o seguinte comando:

Get-WindowsCapability -Online | ? Nome - como 'OpenSSH*'

Se o cliente SSH estiver instalado, a resposta ao comando será algo assim:

Windows 10 OpenSSH instalado

Se o OpenSSH.Client nos informar no campo State que é NotPresent, a maneira mais rápida de ativá-lo é digitar o seguinte comando:

Add-WindowsCapability -Online -Nome OpenSSH.Client*

Isso conclui o primeiro estágio de preparação, inclusive para usuários do Windows. Dada a natureza do Raspberry Pi e o fato de que o Raspbian OS é na verdade outra versão do Linux, teremos que trabalhar bastante na linha de comando. Pode parecer incomum para alguns, mas acredite, não há nada difícil ou irreparável nisso, então seja mais corajoso. Tudo vai dar certo.

Passo 2

Agora você precisa garantir que seu Raspberry Pi sempre obtenha o mesmo endereço IP interno na rede local. A maneira mais fácil de fazer isso é nas configurações do roteador.

Eu uso um sistema MESH de três componentes  ASUS ZenWiFi Mini com a interface web padrão de qualquer roteador desta empresa. Para vincular endereços MAC e IP, você precisa selecionar um dispositivo na lista de dispositivos conectados e, na janela pop-up, basta especificar o IP desejado. No meu caso eu escolhi 192.168.50.10 apenas para facilitar a memorização.

ASUS Configurações de wifi

Em roteadores de outros fabricantes, o item de menu pode ser chamado de maneira diferente, mas sua essência permanecerá a mesma - emitir IPs locais estáticos para dispositivos conectados.

Passo 3

Lançamos o Terminal (linha de comando, PowerShell, etc.) no seu computador a partir do conjunto padrão de macOS, Linux ou Windows.

Nós matamos a equipe

ssh pi @

(onde em vez de <ip address of your server> inserimos o IP de "framboesas" da etapa anterior) e vemos aproximadamente a seguinte imagem:

Senha ssh do Raspberry Pi

Aqui você precisa matar a senha do seu Raspberry Pi, que você especificou durante a configuração inicial.

- Propaganda -

Importante! A senha não será exibida na tela conforme você a digita. E as "estrelas" também não serão exibidas. Você precisa digitar a senha literalmente "às cegas" e pressionar Enter.

Se a senha for digitada corretamente, o resultado será algo assim:

Raspberry Pi ssh entrarOlá, você está dentro do seu Raspberry Pi. Bem-vindo! Você pode prosseguir para as configurações de serviços individuais. E vamos começar com o mais simples.

Logotipo inicial do AdGuard

Instalando e configurando o AdGuard Home no Raspberry Pi

Página inicial do AdGuard, de acordo com o depoimento do desenvolvedor - "uma poderosa ferramenta de rede contra publicidade e rastreamento. Com o crescente papel da Internet das Coisas, está se tornando cada vez mais importante gerenciar toda a sua rede. Uma vez configurado, o AdGuard Home cobrirá TODOS os seus dispositivos domésticos sem a necessidade de software do lado do cliente.”

Simplificando, é um filtro de anúncios que não funciona como aplicativos separados ou plug-ins de navegador em cada um de seus dispositivos, mas uma solução universal que cobre toda a sua LAN doméstica com filtros.

Vamos voltar para a janela do Terminal (vamos concordar que o Windows PowerShell e outros shells para digitar comandos, no texto vou simplesmente chamar Terminal, ok?), executamos os seguintes comandos que irão baixar e descompactar o arquivo AdGuard Home:

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

Tudo o que resta é instalar o serviço e executá-lo:

cd AdGuardHome sudo ./AdGuardHome -s install

O resultado será algo assim:

AdGuard Home instalado

O AdGuard Home já está instalado! Foi simples, não foi?

Agora você precisa visitar a interface web do serviço recém-instalado. Inicie o navegador (Safari, Chrome, Firefox ou o que você tiver - não importa) e na barra de endereço kill https://<ip address of your server>:3000. No meu caso é, como lembramos, https://192.168.50.10: 3000.

Você verá um assistente de configuração inicial passo a passo. Se você estiver mais confortável com a interface em outro idioma, poderá alternar imediatamente para o desejado. A lista inclui, entre outros, ucranianos, poloneses e russos.

Tela inicial de boas-vindas do Raspberry Pi AdGuardNa terceira etapa, você será solicitado a criar um usuário AdGuard Home e criar uma senha. Na quarta, será explicado que o endereço IP do Raspberry Pi (o mesmo 192.168.50.10 no meu caso) deve ser registrado como DNS na seção apropriada das configurações do roteador. Fazem isto:

ASUS configurações de DNS do roteador

Em roteadores de outros fabricantes, o ponto de configuração desejado estará localizado aproximadamente no mesmo caminho.

Em seguida, vamos para as configurações do próprio AdGuard Home, que ainda está inocentemente limpo.

Instalação limpa do Raspberry Pi AdGuard Home

Se você tem uma SmartTV Samsung, LG, ou similar, vá ao menu "Filtros - Adicionar lista negra" e lá "Selecione da lista". Ative a lista de bloqueio correspondente.

Filtro de TV doméstico Raspberry Pi AdGuard

Agora você precisa adicionar filtros de anúncios em russo/ucraniano manualmente. Clique em "Adicionar lista negra" novamente, depois em "Adicionar sua lista" e insira sequencialmente os seguintes valores nos campos correspondentes:

Ім'я URL
Filtro básico do AdGuard https://filters.adtidy.org/extension/chromium/filters/2.txt
Filtro russo AdGuard https://filters.adtidy.org/extension/chromium/filters/1.txt
Filtro de proteção contra rastreamento do AdGuard https://filters.adtidy.org/extension/chromium/filters/3.txt

Para começar, esses filtros são suficientes.

Para comparação, costumo usar o exler.ru, um site cheio de banners clássicos. À esquerda - antes, à direita - depois de aplicar os filtros.

A atualização do AdGuard Home ocorre em modo manual, mas começa literalmente com um botão e demora alguns segundos, sem necessidade de intervenção.

Atualização do Raspberry Pi AdGuard Home

Isso é tudo, em geral. A partir de agora, todos os seus dispositivos domésticos estarão praticamente livres de anúncios. Uma exceção desagradável aqui é o programa cliente YouTube em consoles Apple TV, mas aqui as limitações da arquitetura tvOS entram em vigor, então o AdGuard é impotente neste caso.

Apple Logo da Máquina do Tempo

Instalando e configurando o Time Machine no Raspberry Pi

Segundo a Wikipedia, o Time Machine é um sistema de backup desenvolvido Apple e é integrado ao Mac OS X Leopard e versões posteriores do macOS, bem como um programa com o mesmo nome que permite visualizar o conteúdo de cópias de backup e restaurar arquivos individuais e o sistema operacional como um todo.

Simplificando, é um sistema de backup de hora em hora integrado ao macOS que requer um servidor de arquivos compatível. Você pode transformar o Raspberry Pi em um servidor desse tipo se conectar um HDD USB externo a ele.

Para que o Time Machine funcione corretamente, apenas o Raspberry Pi 4 ou posterior é adequado, com portas USB 3.0 (nos modelos anteriores, as portas são mais lentas) e um HDD adequado com volume de 1-3 terabytes (com alimentação externa, se for um disco de 3,5 polegadas).

Importante! Existem dois protocolos de rede que permitem que o macOS armazene dados do Time Machine em uma rede local. Netatalk desatualizado, ou Samba mais moderno. Em princípio, você pode usar qualquer um deles para tarefas do Time Machine. A Internet está cheia de instruções para organizar o processo através do Netatalk, e todas essas instruções são de vários graus de capricho, mas minha tarefa é fornecer a opção de trabalho mais simples e garantida. E sua tarefa é escolher o conveniente para você. Portanto, no artigo, consideraremos ambos.

Preparação do disco rígido

Conectamos o HDD à porta USB 3.0 do nosso Raspberry Pi, acessamos no Terminal via SSH e executamos o comando lsblk, que exibirá uma lista de unidades conectadas no console. Prestamos atenção no tamanho do disco para ter certeza com qual vamos trabalhar, seu nome e ponto de montagem, no meu caso é simples sda, o seu ainda terá um ponto de montagem, provavelmente /dev/sda‌. Nós precisamos dela.

Formatação de HDD Raspberry Pi

Digite o comando sudo fdisk /dev/sda (ou com qualquer outro ponto de montagem relevante no seu caso), clique no teclado m, para ver a lista completa de comandos. Você pode até copiá-lo para um arquivo de texto separado (ou usar a dica abaixo).

GPT M inserir proteção/híbrido MBR Genérico d excluir uma partição F listar espaço livre não particionado l listar tipos de partição conhecidos n adicionar uma nova partição p imprimir a tabela de partições t alterar um tipo de partição v verificar a tabela de partições i imprimir informações sobre uma partição Misc m imprimir este menu x funcionalidade extra (somente para especialistas) Script I carregar o layout do disco do arquivo de script sfdisk O despejar o layout do disco para o arquivo de script sfdisk Salvar e sair w gravar a tabela no disco e sair q sair sem salvar as alterações Criar um novo rótulo g criar um novo tabela de partição GPT vazia G cria uma nova tabela de partição SGI (IRIX) vazia o cria uma nova tabela de partição DOS vazia s cria uma nova tabela de partição Sun vazia

Nossa tarefa é fazer delete a partition quantas vezes forem necessárias para limpar completamente o disco das partições e, em seguida, criar um novo usando add a new partition. Não se esqueça de anotar as alterações, ou seja, write table to disk and exit. Você conseguiu? Perfeitamente.

Agora criamos um sistema de arquivos no disco. O ext4 usual é suficiente, apesar da diversidade de opiniões na rede de que o disco deve ser formatado em um dos sistemas de arquivos Apple. Na realidade, isso só complica o processo de preparação sem trazer nenhum benefício.

Digite o comando sudo mkfs.ext4 /dev/sda1. feito

Agora precisamos descobrir o UUID da nossa nova partição.
Vamos entrar ls -lha /dev/disk/by-uuid e vemos algo assim:

Formatação de HDD Raspberry Pi

Copie o UUID do nosso sda1 em um arquivo de texto separado se você não estiver usando a área de transferência avançada com histórico.

Agora precisamos criar uma pasta na qual montaremos nosso disco e forneceremos os direitos de acesso apropriados.

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

Monte o disco. Para fazer isso, edite o arquivo de configuração com o comando

sudo nano / etc / fstab

nano neste caso, o nome do editor instalado no sistema, que prefiro usar.

Faça alterações no arquivo aberto adicionando a seguinte linha a ele

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

mas com seu UUID da etapa anterior. Deve ficar assim:

Formatação de HDD Raspberry Pi

Salve as alterações clicando Ctrl + A і Entrare saia do editor clicando em Ctrl + X.

Reinicie o Raspberry Pi com o comando sudo reboot e após a reinicialização faça login novamente via SSH.

Mate a equipe df -h e certifique-se de que a unidade esteja montada no sistema no ponto /mnt/tm.

Excelente, o disco está pronto para o trabalho.


Instalação e configuração do NETATALK (opção 1)

Instalamos:

sudo apt-get instalar netatalk -y

Configuramos tudo no mesmo editor nano:

sudo nano /etc/netatalk/afp.conf

E fazemos o conteúdo do arquivo de configuração exatamente assim:

‌; ; arquivo de configuração Netatalk 3.x; [Global] ; Configurações globais do servidor mimic model = TimeCapsule6,106 [Time Machine] caminho = /mnt/tm time machine = sim usuários válidos = pi ; [Casas] ; baseir regex = /xxxx ; [Meu volume AFP] ; caminho = /caminho/para/volume ; [Volume da minha máquina do tempo] ; caminho = /caminho/para/backup; máquina do tempo = sim`

Não se esqueça de salvar o resultado com ajuda Ctrl + A → Entrar → Ctrl+X

O arquivo já está editado nsswitch.conf, adicionando no final da linha hosts: valores adicionais mdns4 mdns.

sudo nano /etc/nsswitch.conf

O resultado deve ficar assim:

# /etc/nsswitch.conf
#
# Exemplo de configuração da funcionalidade GNU Name Service Switch.
# Se você possui os pacotes `glibc-doc-reference' e `info' instalados, tente:
# `info libc "Name Service Switch"' para obter informações sobre este arquivo.

senha: arquivos
grupo: arquivos
sombra: arquivos
gshadow: arquivos

hosts: arquivos mdns4_minimal [NOTFOUND=return] dns mdns4 mdns
redes: arquivos

protocolos: arquivos db
serviçoces: arquivos db
éteres: arquivos db
rpc: arquivos db

grupo de rede: nis

Novamente salvamos as alterações através Ctrl + A → Entrar → Ctrl+X

Então resta apenas iniciar os serviços:

sudo service avahi-daemon start serviço sudo netatalk start

E confira seu desempenho nas equipes:

estado do netatalk do serviço sudo

que

status avahi-daemon do serviço sudo

O resultado deve ficar assim:

Mensagem de status do Netatatlk

Tudo o que resta é acessar as configurações do macOS, selecionar a seção Time Machine e ver nosso Raspberry Pi nas unidades disponíveis.

Rede do Time Machine

Especificamos como um login pi, como a senha - aquela usada para acesso SSH.

Pronto, a opção padrão através do Netatalk está configurada. Agora, sempre que o seu Mac estiver na mesma rede Wi-Fi local que o Raspberry Pi, os backups serão feitos automaticamente na sua unidade.

Agora considere uma alternativa na forma do protocolo Samba, que é considerado mais confiável.

Instalando e configurando o SAMBA (opção 2)

Instalamos o Samba:

‌sudo apt-get install samba

Definimos a senha do usuário (para o mesmo usuário pi) e editamos a configuração. Primeira senha:

‌sudo smbpasswd -a pi (você pode usar o mesmo que para SSH).

E então a configuração do Samba está tudo no mesmo editor nano:

‌sudo nano /etc/samba/smb.conf

Bloquear conteúdo [global] deve ficar assim no final:

[global] security = usuário criptografa senhas = true map to guest = usuário inválido conta de convidado = ninguém

No final do arquivo de configuração, adicione um novo bloco:

[TimeCapsule] comment = Caminho do Time Capsule = /mnt/tm navegável = sim gravável = sim criar máscara = 0600 diretório mask = 0700 spotlight = não objetos vfs = catia fruit streams_xattr fruit:aapl = sim fruit:time machine = sim

E salvamos o resultado: Ctrl + A, Entrar, Ctrl + X.

Reinicie o serviço:

‌sudo systemctl reiniciar smb.service

feito Resta, como no caso do Netatalk, encontrar o disco na lista apresentada no painel de configurações do Time Machine.

Logo Homebridge

Instalando e configurando o Homebridge no Raspberry Pi

Bem, chegamos com sucesso ao bloco mais massivo do artigo.

homebridge é um servidor baseado em NodeJS que usa a API Homekit para integração de dispositivos não certificados e suporte inicial para Apple Kit Casa.

A dificuldade de configurar o Homebridge é que seus plugins suportam uma grande variedade de protocolos e dispositivos, tornando-os visíveis e gerenciáveis ​​a partir de Apple HomeKit. Assim, cada plug-in é configurado à sua maneira, muitas vezes completamente diferente de sua contraparte para outro dispositivo.

Vamos começar. Como de costume, acessamos o Raspberry Pi via SSH e executamos várias etapas.

Instalando o Node.js

Você tem a capacidade de copiar e colar todo o bloco de código no Terminal. Na maioria absoluta dos casos, isso é suficiente. Mas se aconteceu que em algum momento a instalação falhou, digite os comandos restantes do bloco um por um.

# 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 está funcionando node -v # upgrade npm (versão 6.13.4 tem problemas com dependências do git) sudo npm install -g npm

Instalando o Homebridge e o Homebridge Config UI X

Para começar, vamos definir as bases com o seguinte comando...

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

...e execute-o como um serviço do sistema.

‌sudo hb-service install --user homebridge

Configurando o Homebridge através da interface web

Acesse o endereço no navegador do seu computador http://<ip address of your server>:8581 onde em vez de <ip address of your server> ainda o mesmo IP desde o início do artigo, no meu caso

Os valores padrão do usuário e senha são os mesmos: admin

Eu recomendo ir imediatamente ao item de menu "Usuários" e alterar os valores padrão para outros mais seguros.

Configurações do usuário do Raspberry Pi Homebridge

Você fez isso? Excelente, vamos configurar os plugins a seguir.

Ter uma variedade de equipamentos em casa determina quais plugins precisamos instalar. É bem possível que no seu caso, o conjunto de plugins seja um pouco diferente, mas usando o exemplo da minha configuração, você pode ter uma ideia de quais nuances você pode encontrar no processo de configurá-los.

Meu conjunto de plugins no momento da escrita:

  • IU do Homebridge (inclui na configuração básica e não possui configurações próprias)
  • Matiz (para controle de iluminação Philips Matiz)
  • Apple Controle remoto (para controlar set-top boxes Apple TELEVISÃO)
  • Mqttthing (para gestão lâmpada de Guyver з firmware de Whiller)
  • Samsung Tizen (para controle de Smart TV Samsung com Tizen OS)
  • Tempo Plus (para automação de uma casa inteligente, dependendo das condições climáticas)
  • Yeelight Wi-Fi (para controle da lâmpada Xiaomi Yeelight)

Vamos um por um.

Configurações do plug-in Hue

Para instalar qualquer plug-in no Homebridge, basta acessar a aba correspondente da interface web, digitar o nome do ferro desejado na barra de pesquisa e selecionar o plug-in na lista de disponíveis. Eu recomendo prestar atenção ao rótulo "🛡Verified", a versão e a data de atualização do plugin (se o autor não o atualizou por alguns anos, há uma boa chance de que não funcione) e certifique-se de abra o link para a página inicial do plugin, que geralmente é descrito em detalhes do processo de instalação.

Tonalidade Raspberry Pi Homebridge

Clique no botão "Instalar" no plug-in necessário e aguarde um minuto ou dois até que o plug-in seja instalado.

Plugar Matiz Homebridge bastante fácil de configurar. Você só precisa definir o nome padrão que será exibido nos logs do Homebridge e escolher qual tipo de dispositivo compatível será tratado pelo plug-in. No meu caso, é apenas iluminação Philips Hue, e até mesmo a primeira versão do hub, é redondo.

Depois de preencher os dados e necessariamente salvar o resultado, basta pressionar o botão central do hub Philips Hue e aguarde 15 segundos até que o plug-in reconheça o hub. Feito!

Tudo o que resta é pegar o iPhone, apontar sua câmera para o código QR localizado na guia "Status" da interface da web do Homebridge e adicioná-lo como uma ponte ao seu HomeKit.

Se o HomeKit como tal já tiver sido configurado com antecedência (selecionado Apple TV ou iPad como hub principal, salas adicionadas etc.), o assistente passo a passo oferecerá imediatamente a distribuição de todos os dispositivos de iluminação Hue encontrados para as salas correspondentes e dará um nome a cada dispositivo. Na minha sala, por exemplo, tenho as lâmpadas "Ceiling 1", "Ceiling 2" e "Ceiling 3", mas por meio do próprio HomeKit no iPhone (item "Combine with other devices"), combinei-as em um grupo lógico "Luz superior", é mais conveniente para mim. Ao mesmo tempo, na mesma sala de estar, tenho uma "lâmpada de assoalho" e uma "lâmpada noturna" - dispositivos separados, mas a Siri entende perfeitamente uma grande variedade de comandos sem nenhum treinamento adicional:

  • "Acenda a luz da sala (todas as lâmpadas da sala acendem)"
  • "Acenda a luminária de chão"
  • "O brilho da luz noturna é de vinte por cento"
  • "Acenda a luz noturna"
  • "Desligue a luz do teto"
  • "Cor azul no candeeiro de pé"
  • "Apague as luzes da sala (apaga todas as luzes da sala)"
  • "Apague todas as luzes (desliga a iluminação em todo o apartamento)"

E assim por diante. Se você o configurou corretamente Apple-família, comandos relevantes e absolutamente lógicos ficam automaticamente disponíveis para todos os membros inseridos em sua família Apple ID.

Configurações do plug-in Apple Controle remoto

Eu uso este plugin para um único propósito: criar um switch adicional para o console Apple TELEVISÃO. O fato é que em Apple O HomeKit tem a capacidade de programar, por exemplo, a inclusão da reprodução de um álbum ou playlist de acordo com uma condição pré-determinada, como "Quando eu voltar para casa". E tudo ficaria bem, mas se o decodificador estiver dormindo neste momento, a presença de tal cenário não poderá acordá-lo. Mas um switch virtual adicional é possível. Nós fomos:

Passo 1. Instalamos um serviço de captura de credenciais Apple TV

sudo npm install -g nó-appletv-x

Passo 2. Procuramos descodificadores disponíveis na rede local Apple TV

sudo applepar de tv

Passo 3. Criamos um par com o prefixo desejado. A saída do console será algo como isto:

% applepar de tv ✔ Conectando à sala de estar ✔ Iniciando o emparelhamento ? Digite o PIN de 4 dígitos que está sendo exibido no momento na Sala de estar

Na etapa ‌? Enter the 4-digit pin that's currently being displayed on... na tela do seu decodificador escolhido Apple TV, um código padrão de quatro dígitos aparecerá para emparelhar com o controle remoto (no nosso exemplo, será 1234), que deve ser morto ali mesmo no console.

% applepar de tv ✔ Conectando à sala de estar ✔ Iniciando o emparelhamento ? Digite o PIN de 4 dígitos que está sendo exibido no momento na Sala de estar 1234 ✔ Concluindo as credenciais de emparelhamento: 77346115-ED48-46A8-A288-

Em vez de <snip> haverá várias linhas de uma mistura de letras e números, eles precisam ser copiados em um arquivo de texto separado em sua totalidade, começando pelo primeiro número da linha Credentials:. Um pouco mais tarde esses mesmos Credenciais vamos precisar muito.

Passo 4. Adicione o seguinte bloco à seção de configuração da interface da web do Homebridge na guia "Configuração" "platforms": [

{ "plataforma": "AppleTvPlatform", "nome": "Apple Plataforma de TV",
   "Devices": [
      {
         "nome": "Pousada",
         "credenciais": "77346115-ED48-46A8-A288-",
         "isOnOffSwitchEnabled": verdadeiro,
         "onOffSwitchName": "Apple TELEVISÃO" } ] },

... e em uma linha "credentials": basta inserir o conteúdo completo do arquivo de texto da etapa anterior.

Escolhemos qualquer nome para o prefixo, "Guest house" aqui é apenas por exemplo.

Passo 5. Instalamos o próprio plugin.

Na guia "Módulos" da interface da Web do Homebridge, digite na barra de pesquisa  Apple TV Remote e pressione o botão "Instalar". Depois de instalar o plugin, você será solicitado a reiniciar o Homebridge, isso é feito pressionando o botão correspondente.

Botão de reinicialização do Raspberry Pi Homebridge

É isso, um novo switch apareceu no iPhone no HomeKit, que agora pode ser adicionado a todos os cenários em que você precisa ligar automaticamente o decodificador.

Comandos de voz como “Siri, ligue Apple TV" ou "Siri, desligue Apple TV" também são suportados automaticamente. Além disso, se você configurar vários decodificadores em salas diferentes, a Siri também começará automaticamente a entender o pedido para desativá-lo Apple TV em uma sala específica ou tudo de uma vez.

Na verdade, este plugin está se desenvolvendo rapidamente, ele já sabe reconhecer o Bundle ID para aplicativos em execução no console e intervir em seu trabalho, por exemplo, pausando um filme no Netflix. Mas você vai lidar com isso por conta própria, se houver um desejo.

Configurando o plugin Mqttthing

Eu uso este plugin com a lâmpada Guyver mencionada acima - uma lâmpada caseira com uma placa Arduino e uma matriz 16x16 de LEDs endereçáveis. A própria lâmpada deve ser preenchida com firmware da Whilser. Que a força esteja com você!

Gyver Lamp com Grogu

Passo 1. Instalando o broker MQTT

Executamos vários comandos. Eles não funcionam em lotes, então os inserimos no console um de cada vez.

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key adicionar mosquito-repo.gpg.key
cd /etc/apt/sourceces.lista.d/
sudo wget 
sudo apt update
sudo apt instalar mosquitos mosquito-clientes
sudo /etc/init.d/mosquitto parar
sudo nano /etc/mosquitto/mosquitto.conf

O último comando inicia o editor já familiar nano, no qual substituímos o conteúdo do arquivo aberto pelo seguinte:

# Coloque sua configuração local em /etc/mosquitto/conf.d/ # # Uma descrição completa do arquivo de configuração está em # /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 tópico log_type erro log_type aviso log_type aviso log_type informações connection_messages true log_timestamp true include_dir /etc/mosquitto/conf.d

Como sempre, Ctrl + A, Entrar, Ctrl + X, e reinicie o broker com o comando

‌sudo /etc/init.d/mosquitto start

Agente MQTT instalado.

Passo 2. Instalando o plugin Mqttthing

Costumamos ir para a guia "Módulos" na interface da Web do Homebridge, pesquisar Mqttthing e clique em "Instalar".

Passo 3. Configuração do plugin Mqttthing

Cada lâmpada Guyver possui seu próprio ID de chip ESP. Por exemplo, ESP-3bd20b. Se você mesmo fez e acendeu a lâmpada, está perfeitamente informado sobre isso; caso contrário, coloque a lâmpada no modo de emparelhamento e, quando conectado à sua rede Wi-Fi, a caixa de diálogo apropriada no iPhone exibirá o ID necessário . Anotá-la.

  1. Desligue a energia da lâmpada;
  2. Desligue o roteador;
  3. Ligue a energia da lâmpada;
  4. No iPhone, vá para "Configurações → WiFi"
  5. Selecione uma rede não segura com um SSID como “ESP12345678” e clique em “Configurar WiFi” na caixa de diálogo
  6. O Chip ID será necessário na parte inferior da janela de configuração

Se a lâmpada já foi configurada anteriormente, você pode simplesmente desligá-la, ligar o roteador e ligar a lâmpada novamente - as configurações antigas serão recuperadas. Se esta for a primeira conexão da lâmpada, ligue o roteador e selecione sua rede na lista de configurações, insira todos os dados necessários, como a senha do Wi-Fi doméstico e o endereço IP do Raspberry Pi.

Abra a guia "Configuração" da interface web do Homebridge e na seção "accessories": [ digite um pedaço de código tão grande, substituindo o ID anterior por ESP-3bd20b por si só:

{ "accesdesculpe": "mqttthing", "type": "lâmpada", "nome": "Luz noturna", "url": "http://127.0.0.1:1883", "mqttPubOptions": { "reter": falso } , "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": "television", "name": "Efeitos de luz noturna", "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/efeito/set", "getActiveInput" : "homeassistant/light/ESP-3bd20b/efeito/status" }, "inputs": [ { "nome": "Confete", "valor": "Confete" }, { "nome": "Fogo", "valor ": "Fire" }, { "name": "Rainbow Vert.", "value": "Rainbow Vert." }, { "name": "Rainbow Horrors.", "value": "Rainbow Horrors." } , { "name": "Mudança de cor", "value": "Mudança de cor" }, { "name": "3D Madness", "value": "3D Madness" }, { "name": "Nuvens 3D" , "valor": "Nuvens 3D" }, { "nome": "Banco 3D", "valor": "Banco 3D" }, { "nome": "Plasma 3D", "valor": "Plasma 3D" } , { "nome": "Arco-íris 3D", "valor": "Arco-íris 3D" }, { "nome": "Pavão 3D", "valor": "Pavão 3D" }, { "nome": "Zebra 3D" , "valor": "Zebra 3D" }, { "nome": "Floresta 3D", "valor": "Floresta 3D" }, { "nome": "Oceano 3D", "valor": "Oceano 3D" } , { "nome": "Queda de neve", "valor": "Queda de neve" }, { "nome": "Matriz", "valor": "Matriz" }, { "nome": "Vaga-lumes", "valor": "Vaga-lumes " }, { "nome": "Aquário", "valor": "Aquário" }, { "nome": "Starfall", "valor": "Starfall" }, { "nome": "Paintball", "valor": "Paintball" }, { "nome": "Espiral", "valor": "Espiral" }, { "nome": "Luz quente", "valor": "Luz quente" }, { "nome ": "Pêndulo", "value": "Pêndulo" }, { "name": "Blink", "value": "Blink" }, { "name": "Sirene de polícia", "value": "Sirene de polícia " } , { "nome": "Drift", "valor": "Drift" }, { "nome": "Rebanho", "valor": "Rebanho" } ], "onValue": "ON", "offValue ": "DESLIGADO" }

feito DENTRO Apple Dois novos dispositivos apareceram no HomeKit, a lâmpada "Night Light" e "Night Light Effects". Eles estão interligados e seu propósito é bastante claro. Se desejar, você pode renomeá-los no arquivo config.

Infelizmente, o autor do firmware escreveu os parâmetros em russo; portanto, com essa configuração, você também precisará entrar em contato com a Siri em russo. Mas se você estiver conversando com a Siri em inglês, poderá corrigir cada ponto de código assim:

{ "name": "Fogo", "valor": "Ogon" },

Então o resultado no iOS ficará assim:

Gyver Lamp Siri remendado

Configurações do plug-in Samsung Tizen

Passo 1. Verificando a compatibilidade da TV

No painel de controle do roteador, dê à TV um IP local estático, como fizemos para o Raspberry Pi no início. Por exemplo, no meu caso é 192.168.50.100.

Acesse o endereço no navegador do seu computador  http://TV_IP:8001/api/v2, que no meu caso significa http://192.168.50.100:8001/api/v2/

Se você vir uma página com várias informações de serviço parecidas com isso…

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

...então isso significa que há chances de sucesso. Mas você precisa entender que nem todos os modelos de TVs Samsung compatível com o plug-in. Por exemplo, aqueles que exigem identificação por PIN não funcionarão.

Copie o valor do campo da página de serviço"wifiMac": e prepare o controle remoto da TV, deixe-o à mão.

Passo 2. Instalando o plug-in

Nada de novo, estamos procurando um plugin mediante solicitação Samsung Tizen, selecione o desejado (autoria @tavicu) e instale.

Raspberry Pi Samsung Plug-in Tizen

Após o lançamento, vá para as configurações e insira os seguintes valores lá:

Raspberry Pi Samsung Configurações do plug-in Tizen

O nome "TV" é suficiente, porque a Siri entende perfeitamente o pedido de ligar a TV na sala de estar, na qual você dificilmente tem 2 TVs. Ela também entende perfeitamente o comando "ligar a TV no quarto", sem puxar mais uma vez a TV da sala.

Passo 3. Conectando a uma TV

Tudo é simples aqui: pegue o controle remoto da TV e espere o menu de contexto aparecer na tela com um aviso sobre uma tentativa de algum dispositivo de assumir o controle da TV. A TV, é claro, deve estar ligada. Quando uma solicitação correspondente aparecer no canto superior direito da tela, use o controle remoto da TV para selecionar o botão Allow. feito

Passo 4. Adicione a TV a Apple HomeKit

Sim, diferentemente dos casos anteriores, a TV não aparecerá magicamente na lista de dispositivos da sua casa. Portanto, pegamos o iPhone em nossas mãos e passo a passo:

  1. Inicie o aplicativo Home e na página principal, pressione + no canto superior direito;
  2. Selecione "Adicionar acessório";
  3. Na parte inferior da tela, clique em "Sem código ou digitalização";
  4. Na próxima tela, selecione sua TV;
  5. Quando solicitado a inserir o código de configuração do HomeKit, clique em "Usar câmera";
  6. Aponte a câmera para o código QR na guia Status do Homebridge.

Passo 5. Configurações do plug-in

Tendo cavado fundo documentação ao plug-in, você pode fazer com que a Siri execute programas específicos na TV a partir da lista de programas instalados, pausá-los e assim por diante. Agora, como exercício, vamos alterar a funcionalidade de um único botão no controle remoto virtual Apple Remoto, embutido na "cortina" do iOS Control Center.

Este é o botão ℹ︎ (informações), por padrão ele exibe informações sobre o modo de imagem atual na parte superior da tela da TV. Ao mesmo tempo, alcance do controle remoto Apple Não há como adicionar Remote à lista de programas instalados na TV. E vamos corrigi-lo agora.

Apple iOS remoto para Samsung TV

Vá para as configurações do plugin, na seção "Mapeamento de teclas", procure o campo "INFORMAÇÃO" e altere seu valor para KEY_HOME. Reinicie o Homebridge e pronto - o botão ℹ︎ no controle remoto virtual abre o menu principal do aplicativo! O controle remoto virtual fazia sentido.

Configurando o plug-in Weather Plus

Passo 1. Crie uma conta OpenWeather

Vamos ao sítio https://home.openweathermap.org e registre uma conta, o bom é que é grátis.

Passo 2. Geração de chave de API

OpenWeather

Vá para a guia desejada da conta pessoal do OpenWeather e, depois de especificar o nome da chave, clique no botão "Gerar".

OpenWeather

Passo 3. Instalando e configurando o plugin Weather Plus

Procuramos e instalamos o plug-in desejado usando o método usual e, em seguida, procedemos às suas configurações. O resultado deve ser algo assim:

Na previsão, estou pessoalmente interessado apenas nos valores para a próxima hora, então os demais estão simplesmente desabilitados:

Configurações de previsão do Raspberry Pi OpenWeather

E para que os sensores climáticos virtuais desnecessários não sejam irritantes com ativações desnecessárias, nós os desabilitamos na seção Ocultar valores correspondente. É desejável desabilitar:

  • Pressão do ar
  • Capa de nuvem
  • Ponto de condensação da água
  • Temperatura aparente
  • Direção do vento
  • Índice UV
  • Velocidade do vento
  • Velocidade máxima do vento

E clique em "Salvar" na parte inferior da janela de configurações.

Como resultado, na interface Apple O HomeKit mostrará os valores de temperatura e umidade para a próxima hora, além de dois sensores virtuais “Neve” e “Chuva”, que podem ser utilizados em diversos cenários. Por exemplo, programei a automação do HomeKit, na qual, quando chuva ou neve aparecem na previsão para o futuro próximo, a lâmpada Guyver mostra o efeito poça ou flocos de neve caindo por um minuto. Ao mesmo tempo, o efeito será ativado apenas entre 8h e 00h e somente se alguém estiver em casa. Em outros momentos, é improvável que os avisos para levar um guarda-chuva ou usar roupas à prova d'água sejam necessários.

Configurando o plug-in Yeelight WiFi

A pedido Yeelight O Homebridge oferece muitos plugins para instalação, incluindo um verificado. Mas prefiro outro, em que as transições entre os estados sejam feitas da maneira mais suave possível, e não no estilo "a noite caiu sobre o acampamento". Além disso, suporta iluminação adaptativa vid Apple, mas aqui está o aplicativo padrão Xiaomi nunca aprendi isso no ano desde que esse recurso apareceu no HomeKit.

Plugin Wi-Fi Raspberry Pi Yeelight

Importante! Deixe apenas uma lâmpada acesa Xiaomi, para evitar confusão no início. Vamos trabalhar com ela.

Após instalar o plugin, reinicie o Homebridge e procure algo assim no log: ‌[Yeelight] Received advertisement from ab1234. Isso é condicional ab1234 e lá está a sua lâmpada. Talvez o valor seja color-ab1234, então você trabalhará com ele.

Vá para as configurações do plugin e cole o seguinte trecho de código lá:

{ "platform": "yeelight", "name": "Yeelight", "transitions": { "power": 400, "brightness": 400, "color": 1500, "temperature": 1500 }, "multicast" : { "interface": "0.0.0.0" }, "defaultValue": { "color-ab1234": { "name": "Lâmpada de piso", "lista negra": [ "set_hsv" ] } } }

Onde em vez de color-ab1234 deve ser o valor do seu log e, em vez disso, ‌"name": "Торшер" qualquer nome que reflita o local onde a lâmpada é aparafusada: lâmpada de noite, arandela, teto, etc.

Configurações do plug-in Wi-Fi Raspberry Pi Yeelight

Salve o código colado clicando no botão Salvar e reinicie o Homebridge. Pronto, a lâmpada apareceu no HomeKit com o nome que você escolheu. O restante das lâmpadas Yeelight são adicionadas uma a uma pressionando o botão "+ ADICIONAR PLATAFORMA" nas configurações do plug-in exatamente da mesma maneira.

Atualizando Homebridge e Node.JS no Raspberry Pi

Atualizar (e reverter a versão) do próprio Homebridge é bastante simples: você precisa clicar no número da versão atual na interface da web e selecionar a versão desejada na lista na caixa de diálogo.

Mas com a atualização do Node.JS e do NPM, que mais cedo ou mais tarde será necessária ao instalar uma atualização de algum plugin, não é tão fácil. Mais precisamente, os comandos não são exatamente aqueles descritos nas instruções padrão.

Node.JS é atualizado com o comando:

sudo nó de atualização de serviço hb

E NPM até dois consecutivos:

sudo npm cache limpo -f
sudo npm instalar -g npm

Infelizmente, nem o próprio Homebridge, nem seus plugins, nem os "trilhos" que ele usa podem ser atualizados automaticamente. E entrar no painel de controle todos os dias e verificar se há algo novo mais cedo ou mais tarde fica chato. Assim, para automatizar o processo, eles criaram um widget especial para iOS 14 que monitora o status de todos os nós do Homebridge e é capaz de sinalizar a presença de atualizações ou quaisquer problemas visualmente e com mensagens PUSH.

Instalando o widget Status do Homebridge

Widget de status do Raspberry Pi Homebridge

Como você pode ver, o widget mostra muitas informações úteis e não tão úteis sobre seu Homebridge, mas a parte mais valiosa dele são informações sobre o estado do próprio Homebridge, seus plugins e Node.JS.

Para obter o widget em si, primeiro precisamos de seu aplicativo pai. Instale-o no seu iPhone a partir da App Store.

Com script
Com script
Desenvolvedor: Simon B. Stovring
Preço: Gratuito+

E agora começa o processo bastante longo, mas empolgante, de instalar o widget. Vamos instalá-lo com a ajuda de outro script chamado ScriptDude dentro do programa Scriptable. ScriptDude é bom porque rastreia mudanças no código da massa de scripts localizada na galeria no endereço scriptables.net. Talvez você encontre outra coisa útil para você lá, mas agora temos uma tarefa e vamos resolvê-la.

Passo 1. Instale o Scriptable.app da App Store.

Passo 2. Abra o site no navegador do iPhone scriptdu.de e clique no botão Instalar ScriptDude.

site scriptdu.de

Passo 3. Na página que se abre, clique no botão Copiar Instalador e, tendo recebido uma mensagem sobre o código do script em nossa área de transferência, clique no botão Abrir Scriptable.

Passo 4. Insira o conteúdo da área de transferência no campo vazio com o título Untitled Script e pressione o botão Play ▶️.

Instalação do ScriptDude

Passo 5. Na tela que se abre, clique no link Navegue pelo scriptables.net e na próxima página toque na tag (tecnologia). Viva, o script de status do Homebridge é o primeiro da lista! Sinta-se à vontade para clicar no botão Download with ScriptDude.

Passo 6. Pressionamos Instalar e, tendo concordado com dois avisos, vemos o script desejado na lista Instalado. A tela principal de Scriptables agora se parece com a quarta captura de tela abaixo, e clicamos nos três pontos no bloco de status do Homebridge e vamos para as opções de edição.

Passo 7. Em primeiro lugar, alteramos o valor overwritePersistedConfig з falso em verdadeiro

overwritePersistedConfig = verdadeiro

para salvar as configurações de script no iCloud.

Configuração de status do Raspberry Pi Homebridge

Passo 8. Descendo um pouco, editamos três campos: o endereço IP e a porta Homebridge (lembre-se, este é o já mencionado http://<ip address of your server>:8581 onde em vez de <ip address of your server> ainda o mesmo IP desde o início do artigo, no meu caso ) e concorde com o aviso sobre a busca de dispositivos na rede local. Viva, o roteiro funciona!

Tudo o que resta é adicionar o widget à tela do iOS 14 da mesma maneira que qualquer outro. Depois de adicionar, você precisa acessar as configurações do widget (toque longo nele) e especificar vários parâmetros: selecione o script desejado, especifique o que fazer ao interagir com ele e insira o seguinte valor no campo Parâmetro

USE_CONFIG:roxo.json

Depois disso, não esqueça de retornar ao código do script e retornar o valor

overwritePersistedConfig = falso

Isso é tudo. O widget funciona e, quando houver atualizações para Node.JS, Homebridge ou seus plugins, você receberá notificações PUSH com o conteúdo relevante.

Visnovok

Oportunidades Apple HomeKit cresceu muitas vezes para mim. Eu criei um monte de scripts e automações que tornam a vida mais fácil para mim e meus entes queridos.

Por exemplo, na hora escura do dia, o primeiro membro da família que voltar para casa será saudado pelas luzes acesas do lado de fora, no corredor, na sala e no banheiro - e agora não há necessidade de correr para os interruptores com as mãos não lavadas.

Quando o último membro da família sair de casa, o HomeKit desligará cuidadosamente as TVs, as luzes e, em geral, tudo o que puder ser desligado. E se houver pelo menos uma pessoa em casa, ao anoitecer, a iluminação externa e algumas lâmpadas internas serão acesas.

Mais uma vez, a Siri pode controlar todos os dispositivos conectados com comandos completamente lógicos, palavra por palavra, os mesmos que você pediria a alguém em casa quando precisasse ligar ou desligar algo em uma sala específica. Só que ninguém mais precisa correr para esta sala.

Misturas de música matinal e noturna de Apple, ao qual estão ligados os efeitos de luz da lâmpada Guyver. É possível fazer outras luzes funcionarem com música leve, mas não estou satisfeito com o efeito.

Em geral, os cenários de aplicação dependem apenas da sua imaginação e não sobrecarregarão muito a carteira, pois os produtos com o rótulo "Funciona com Apple O HomeKit não é mais a única opção disponível.

No próximo artigo do ciclo, você e eu vamos nos divertir um pouco: vamos ensinar nossa Raspberry Pi baixar torrents, vamos transformá-lo em um poderoso centro de mídia e console de jogos retrô.

Esteja atento

Yuri Stanislávski
Yuri Stanislávskihttp://notarecords.com
Desenvolvedor SwiftUI. Eu coleciono vinil. Às vezes um jornalista. Proprietário da Nota Record Store.
- Propaganda -
Inscrever-se
Notificar sobre
convidado

0 Comentários
Avaliações incorporadas
Ver todos os comentários