Root NationSoftComment faire et astucesRaspberry Pi dans un écosystème domestique : fonctionnalités et exemples (partie 1)

Raspberry Pi dans un écosystème domestique : fonctionnalités et exemples (partie 1)

-

© ROOT-NATION.com - Cet article a été traduit automatiquement par l'IA. Nous nous excusons pour toute inexactitude. Pour lire l'article original, sélectionnez English dans le sélecteur de langue ci-dessus.

Il y a quelque temps je acheté a Raspberry Pi 4 mini-ordinateur monocarte, ne comprenant pas vraiment comment et pour quoi il peut être utilisé à la maison. Cela ne m'a pas coûté cher, alors j'ai décidé que je pouvais me permettre d'expérimenter et, à l'heure actuelle, je dispose d'un réseau à l'échelle du réseau. AdGuard Accueil bloqueur de publicités, le Apple Time Machine système de stockage de sauvegarde, Homebridge pour ajouter des appareils non certifiés au Apple HomeKit écosystème, Transmission application torrent, PLEX serveur multimédia sur mon RPi4 et le RetroPie console de jeu rétro. J'ai l'intention d'expérimenter le gestionnaire de mots de passe auto-hébergé Bitwarden, un analogue open source du célèbre 1Password. Pas mal pour une petite boîte, n'est-ce pas ?

Raspberry Pi 4 avec clavier et souris

Dans cette série de deux articles, je vais essayer de vous expliquer le plus en détail possible comment j'ai installé et configuré tout cela.

La série premier L'article sera plus utile pour les utilisateurs de Mac, car il aborde des points spécifiques à l'écosystème Apple, bien que la section concernant AdGuard intéressera les utilisateurs de n'importe quel système d'exploitation de bureau ou mobile.

Dans le seconde Dans cet article, nous considérerons les services universels qui peuvent être utiles à tous sans exception. Et nous avancerons comme des gens normaux, des choses simples aux choses plus complexes.

Préparation du Raspberry Pi

Il convient de noter que les premières révisions du Raspberry Pi étaient plutôt faibles, de sorte que chaque développeur de logiciels percevait cet ordinateur comme une machine monotâche. Pour cette raison, tout service pouvant être exécuté sur RPi par défaut peut être téléchargé en tant qu'image de système d'exploitation prête à l'emploi. Je l'ai téléchargé, je l'ai mis sur une carte SD, je l'ai mis dans le RPi et j'ai allumé l'ordinateur avec le service préinstallé. Mais notre tâche est de lancer plusieurs services simultanément, puisque la révision actuelle le permet. Par conséquent, nous les installerons en tant qu’applications.

Supposons que vous ayez déjà connecté un Raspberry Pi avec un système Raspbian « propre » au réseau local. Si vous êtes débutant et que vous ne savez pas du tout par où commencer, commencez par le tuto officiel (le lien contient un excellent assistant étape par étape avec des tonnes d'illustrations interactives), puis passez à l'étape suivante.

Étape 1

Tout d'abord, vous devez activer SSH accès à votre Raspberry Pi. Pour ce faire, vous devez suivre quelques étapes simples :

  • Ouvrez la fenêtre Configuration du Raspberry Pi dans le menu Préférences du système d'exploitation
  • Cliquez sur l'onglet Interfaces
  • Sélectionnez Activer à côté de la ligne SSH
  • Cliquez sur le bouton OK pour que les modifications prennent effet

Si Raspbian Lite est installé sans interface graphique, dans Terminal sur le Raspberry Pi lui-même, tapez les commandes suivantes :

sudo systemctl activer ssh sudo systemctl démarrer ssh

L'accès est accordé.

J'ai un ordinateur macOS, je peux donc passer immédiatement aux étapes suivantes, tout comme les propriétaires de Linux. Les utilisateurs de Windows 10 ont également obtenu un client OpenSSH intégré à leur système d'exploitation il y a quelque temps, mais certaines manipulations peuvent être nécessaires pour l'activer.

Ouvrez une invite de commande Windows ou PowerShell (selon votre choix) et entrez cette commande :

Get-WindowsCapability-Online | ? Nom -comme 'OpenSSH*'

Si le client SSH est installé, il ressemblera à ceci :

Windows 10 OpenSSH installé

Si OpenSSH.Client dans le champ State nous indique qu'il est NotPresent, alors le moyen le plus rapide de l'activer serait de saisir la commande suivante :

Ajouter-WindowsCapability -Online -Name OpenSSH.Client*

Ceci termine la première étape de préparation, également pour les utilisateurs Windows. Compte tenu de la nature du Raspberry Pi et du fait que le système d'exploitation Raspbian n'est en réalité qu'une autre version de Linux, nous devrons beaucoup travailler avec la ligne de commande. Pour certains, cela peut paraître inhabituel, mais croyez-moi, ce n'est pas si difficile.

Étape 2

Vous devez maintenant vous assurer que votre Raspberry Pi obtient toujours la même adresse IP interne sur le réseau local. Le moyen le plus simple de procéder consiste à modifier les paramètres du routeur.

J'utilise l' ASUS Système MESH en trois parties ZenWiFi Mini avec une interface Web standard de n'importe quel routeur de cette société. Pour lier les adresses MAC et IP, vous devez sélectionner un appareil dans la liste des appareils connectés et dans la fenêtre contextuelle spécifier simplement l'IP souhaitée. Dans mon cas, j'ai choisi 192.168.50.10 juste pour une mémorisation plus facile.

ASUS Paramètres Wifi

Avec les routeurs d'autres fabricants, l'élément de menu peut être appelé différemment, mais son essence sera la même : émettre une adresse IP locale statique aux appareils connectés.

Étape 3

Lancez le Terminal (ligne de commande, PowerShell, etc.) sur votre ordinateur à partir du package standard macOS, Linux ou Windows.

Entrez la commande

ssh pi@

(où au lieu de <ip address of your server> nous entrons l'IP de l'étape précédente) et obtenons quelque chose comme ceci :

Mot de passe ssh Raspberry Pi

Ici, vous devez saisir le mot de passe de votre Raspberry Pi, que vous avez spécifié lors de la configuration initiale.

Important! Le mot de passe ne sera pas affiché à l'écran pendant le processus de saisie. Et les astérisques ne seront pas non plus affichés. Vous devez saisir le mot de passe « à l'aveugle » et appuyer sur Entrée.

Si vous avez saisi correctement le mot de passe, le résultat ressemblera à ceci :

Framboise Pi ssh entrerFélicitations, vous êtes dans votre Raspberry Pi. Accueillir! Vous pouvez commencer à configurer des services individuels. Et nous commencerons par le plus simple.

Logo d'accueil AdGuard

Installation et configuration d'AdGuard Home sur Raspberry Pi

AdGuard Accueil, selon les assurances du développeur, est « un puissant outil anti-publicité et de suivi basé sur le Web. Avec le rôle croissant de l’Internet des objets, il devient de plus en plus important de gérer l’ensemble de votre réseau. Une fois configuré, AdGuard Home couvrira TOUS vos appareils domestiques et vous n'avez besoin d'aucun logiciel côté client pour cela. "

En termes simples, il s'agit d'un filtre publicitaire qui ne fonctionne pas comme une application distincte ou des plugins de navigateur sur chacun de vos appareils, mais comme une solution universelle qui couvre l'ensemble de votre réseau local domestique avec des filtres.

Revenons à la fenêtre du Terminal (J'appellerai Windows PowerShell et d'autres shells pour entrer des commandes dans le terminal à partir de maintenant), Tapez les commandes suivantes qui téléchargeront et décompresseront l'archive AdGuard Home :

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

Maintenant, installez et exécutez le service :

cd AdGuardHome sudo ./AdGuardHome -s install

Le résultat ressemblera à ceci :

AdGuard Home installé

AdGuard Home est déjà installé ! C'était facile, n'est-ce pas ?

Vous devez maintenant visiter l'interface Web du service nouvellement installé. Lancez un navigateur (Safari, Chrome, Firefox ou tout ce que vous avez – peu importe) et tapez https://<ip address of your server>:3000 dans la barre d'adresse. Pour moi c'était https://192.168.50.10: 3000.

Vous verrez un assistant de configuration initiale étape par étape. Si vous préférez l'interface dans une autre langue, vous pouvez passer à celle dont vous avez besoin.

Écran d'accueil de Raspberry Pi AdGuard HomeEnsuite, il vous sera demandé de créer un utilisateur AdGuard Home et de créer un mot de passe pour celui-ci. Nous verrons ensuite que l'adresse IP du Raspberry Pi (la même 192.168.50.10 dans mon cas) doit être enregistrée comme DNS dans la section correspondante des paramètres du routeur. Fais-le:

AdGuard Accueil

Dans les routeurs d'autres fabricants, les paramètres souhaités seront situés à peu près sur le même chemin.

Passons ensuite aux paramètres d'AdGuard Home lui-même, qui sont toujours intacts.

Filtre TV domestique Raspberry Pi AdGuard

Si vous possédez une Smart TV Samsung, LG ou similaire, accédez au menu « Filtres – Ajouter une liste noire » et sélectionnez « Choisir des listes de blocage ». Activez la liste de blocage correspondante.

Filtre TV domestique Raspberry Pi AdGuard

La mise à jour d'AdGuard Home se fait manuellement, mais elle se lance avec un seul bouton et prend plusieurs secondes.

Mise à jour d'accueil de Raspberry Pi AdGuard
Le bouton Mettre à jour apparaîtra ici.

Et c'est tout. Désormais, tous vos appareils domestiques sont pratiquement immunisés contre la publicité. Une exception désagréable ici est la YouTube application client sur les appareils Apple TV, mais ce sont les limitations de l'architecture tvOS, donc AdGuard est impuissant dans ce cas.

Logo Apple Time Machine

Installer et configurer Time Machine sur Raspberry Pi

Selon Wikipedia, Machine à temps est un système de sauvegarde développé par Apple et intégré à Mac OS X Leopard et aux versions ultérieures de macOS, ainsi qu'un programme du même nom qui vous permet de visualiser le contenu des sauvegardes et de restaurer à la fois des fichiers individuels et l'ensemble du système d'exploitation.

En termes simples, il s'agit d'un système de sauvegarde horaire intégré à macOS qui nécessite un serveur de fichiers compatible. C'est dans un tel serveur que le Raspberry Pi peut être transformé en y connectant un disque dur USB externe.

Pour que Time Machine fonctionne correctement, seul Raspberry Pi 4 ou plus récent peut être utilisé, avec des ports USB 3.0 (dans les modèles précédents, les ports sont plus lents) et un disque dur correspondant de 1 à 3 Go (avec alimentation externe s'il s'agit d'un 3.5- pouces).

Important! Il existe deux protocoles réseau que macOS peut utiliser pour stocker les données Time Machine sur un réseau local. Netatalk obsolète ou Samba plus moderne. Vous pouvez utiliser n’importe lequel d’entre eux pour les tâches Time Machine. Internet regorge d'instructions pour organiser le processus précisément via Netatalk, et toutes ces instructions sont assez élaborées, mais ma tâche est de donner la version fonctionnelle la plus simple et garantie. Et votre tâche est de choisir celui qui vous convient. Nous couvrirons donc les deux dans cet article.

Préparation du disque dur

Connectez le disque dur au port USB 3.0 de notre Raspberry Pi, accédez-y dans le Terminal via SSH et exécutez la commande lsblk, qui affichera une liste des lecteurs connectés dans la console. Faites attention à la taille du disque afin de vous assurer avec lequel vous allez travailler, à son nom et à son point de montage, dans mon cas c'est juste sda, dans ton cas, ça pourrait tout aussi bien être /dev/sda‌. C'est ce dont nous avons besoin.

Formatage du disque dur Raspberry Pi

Entrez la commande ‌sudo fdisk /dev/sda (ou avec tout autre point de montage pertinent dans votre cas), puis appuyez sur m sur le clavier pour voir la liste complète des commandes. Vous pouvez même le copier dans un fichier texte séparé (ou utiliser l'astuce ci-dessous).

GPT M entrer le MBR protecteur/hybride Générique d supprimer une partition F lister l'espace libre non partitionné l lister les types de partitions connus n ajouter une nouvelle partition p imprimer la table des partitions t modifier un type de partition v vérifier la table des partitions i imprimer des informations sur une partition Divers m imprimer ce menu x fonctionnalité supplémentaire (experts uniquement) Script I charger la disposition du disque à partir du fichier de script sfdisk O vider la disposition du disque dans le fichier de script sfdisk Enregistrer et quitter w écrire la table sur le disque et quitter q quitter sans enregistrer les modifications créer une nouvelle étiquette g créer une nouvelle vider la table de partition GPT G créer une nouvelle table de partition SGI (IRIX) vide o créer une nouvelle table de partition DOS vide s créer une nouvelle table de partition Sun vide

Nous devons le faire delete a partition autant de fois que nécessaire pour effacer complètement le disque des partitions, puis en créer un nouveau à l'aide de add a new partition. N'oubliez pas de write table to disk and exit. Tout va bien ?

Nous créons maintenant un système de fichiers sur le disque. Un format ext4 standard suffit amplement, malgré l'idée répandue selon laquelle le disque doit être formaté avec l'un des systèmes de fichiers d'Apple. En réalité, cela ne fait que compliquer le processus de préparation, sans aucun avantage.

Entrez la commande sudo mkfs.ext4 /dev/sda1. Tout va bien.

Nous devons maintenant connaître l'UUID de notre nouvelle partition.
Entrer ls -lha /dev/disk/by-uuid pour trouver quelque chose comme ceci :

Formatage du disque dur Raspberry Pi

Copiez l'UUID de notre sda1 dans un fichier texte séparé si vous n'utilisez pas le gestionnaire de presse-papiers avec le gestionnaire étendu.

Nous devons maintenant créer un dossier dans lequel nous allons monter notre disque et lui donner les droits d'accès appropriés.

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

Nous montons le disque. Pour cela, éditez le fichier de configuration avec la commande

sudo nano / etc / fstab

nano dans ce cas, c'est le nom de l'éditeur préinstallé dans le système que je préfère utiliser.

Apportez des modifications au fichier qui s'ouvre en ajoutant une ligne comme

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

mais avec votre UUID de l'étape précédente. Cela devrait ressembler à ceci :

Formatage du disque dur Raspberry Pi

Enregistrez les modifications en appuyant sur Ctrl + A et  Entrer, puis quittez l'éditeur en appuyant sur Ctrl + X.

Redémarrez Raspberry Pi avec sudo reboot et après avoir utilisé à nouveau SSH.

Entrer le df -h commande et assurez-vous que le disque est monté sur le système à /mnt/tm.

Super, le disque est prêt à partir.


Installation et configuration de NETATALK (variante 1)

Installez:

sudo apt-get install netatalk -y

Tout configurer de la même manière nano éditeur:

sudo nano /etc/netatalk/afp.conf

Et nous faisons le contenu du fichier de configuration exactement comme ceci :

‌; ; Fichier de configuration Netatalk 3.x ; [Mondial] ; Les paramètres globaux du serveur imitent le modèle = TimeCapsule6,106 [Time Machine] path = /mnt/tm time machine = yes valid users = pi ; [Maisons] ; baseir regex = /xxxx ; [Mon Volume AFP] ; chemin = /chemin/vers/volume ; [Mon volume Time Machine] ; chemin = /chemin/vers/sauvegarde ; machine à voyager dans le temps = oui

N'oubliez pas de sauvegarder le résultat en appuyant sur Ctrl + A → Entrée → Ctrl+X

Maintenant éditez le fichier nsswitch.conf, En ajoutantmdns4 mdns à la fin de hosts: ligne.

sudo nano /etc/nsswitch.conf

Le résultat devrait ressembler à ceci :

# /etc/nsswitch.conf # # Exemple de configuration de la fonctionnalité GNU Name Service Switch. # Si vous avez installé les packages `glibc-doc-reference' et `info', essayez : # `info libc "Name Service Switch"' pour plus d'informations sur ce fichier. passwd: files groupe: files shadow: files gshadow: files hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis

Enregistrez maintenant les modifications en appuyant sur Ctrl + A → Entrée → Ctrl+X

Il ne reste plus qu'à démarrer les services :

service sudo avahi-daemon start service sudo netatalk start

Et vérifiez leurs performances avec les commandes :

état netatalk du service sudo

et

état du démon avahi du service sudo

Le résultat devrait ressembler à ceci :

Message d'état Netatalk

Il ne reste plus qu'à aller dans les paramètres macOS, sélectionner Time Machine et retrouver notre Raspberry Pi dans les disques disponibles.

Nous utilisons pi comme identifiant, et le mot de passe est celui utilisé pour l'accès SSH.

C'est fait, l'option habituelle via Netatalk est configurée. Désormais, chaque fois que votre Mac sera sur le même réseau Wi-Fi local que le Raspberry Pi, les sauvegardes seront automatiquement stockées sur votre disque.

Examinons maintenant une alternative sous la forme du protocole Samba, considéré comme plus fiable.

Installation et configuration de SAMBA (variante 2)

Installation de Samba :

‌sudo apt-get installer samba

Définissez un mot de passe utilisateur (pour l'utilisateur pi) et modifiez la configuration. Mot de passe d'abord :

‌sudo smbpasswd -a pi (vous pouvez utiliser la même chose que pour SSH).

Et puis conf Samba dans le nano éditeur:

‌sudo nano /etc/samba/smb.conf

Le contenu de [global] ça devrait ressembler à ça :

[global] security = user encrypt passwords = true map to guest = bad user guest account = nobody

Ajoutez un nouveau bloc à la toute fin du fichier de configuration :

[TimeCapsule] commentaire = chemin Time Capsule = /mnt/tm navigable = oui inscriptible = oui créer un masque = 0600 masque de répertoire = 0700 projecteur = non objets vfs = catia fruit streams_xattr fruit:aapl = oui fruit:time machine = oui

Et en sauvegardant le résultat : Ctrl + A, Entrer, Ctrl + X.

Redémarrez le service :

‌sudo systemctl redémarrer smb.service

Fait. Il reste, comme dans le cas de Netatalk, à retrouver le disque dans la liste des disponibles dans les paramètres de Time Machine.

Logo Homebridge

Installation et configuration de Homebridge sur Raspberry Pi

Nous avons atteint avec succès la partie la plus volumineuse de l'article.

Homebridge est un serveur basé sur NodeJS qui utilise l'API Homekit pour intégrer des appareils non certifiés et prendre en charge nativement Apple HomeKit.

L'avantage de Homebridge est que ses plugins prennent en charge une grande variété de protocoles et d'appareils, les rendant visibles et gérables depuis Apple HomeKit. Par conséquent, chaque plugin est configuré de manière spécifique, souvent très différente de son homologue pour un autre appareil.

Commençons. Comme d'habitude, connectez-vous à votre Raspberry Pi via SSH et suivez quelques étapes.

Installation de Node.js

Vous pouvez copier et coller l'intégralité du bloc de code dans le terminal. Dans la grande majorité des cas, cela suffira. Mais s'il arrivait qu'à un moment donné l'installation échoue, entrez les commandes restantes du bloc une par une.

# 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 # le nœud de test fonctionne node -v # upgrade npm (la version 6.13.4 a des problèmes avec les dépendances git) sudo npm install -g npm

Installation de Homebridge et Homebridge Config UI X

Tout d'abord, configurons la base avec la commande suivante...

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

... et exécutez-le en tant que service système.

‌sudo hb-service install --user homebridge

Installer Homebridge via l'interface web

Dans votre navigateur, allez sur http://<ip address of your server>:8581 où au lieu de <ip address of your server> on utilise la même IP depuis le début de l'article, pour moi c'est 

Les valeurs d'utilisateur et de mot de passe par défaut sont les mêmes : admin

Je vous recommande d'accéder immédiatement à l'élément de menu Utilisateurs et de modifier les valeurs par défaut pour des valeurs plus sûres.

Paramètres utilisateur du Raspberry Pi Homebridge

Fait? Super, maintenant pour configurer les plugins.

Différents équipements à la maison dictent les plugins à installer. Il est fort possible que dans votre cas, l'ensemble des plugins soit légèrement différent, mais en utilisant ma configuration comme exemple, vous pouvez avoir une idée des problèmes que vous pouvez rencontrer lors du processus de configuration.

Mon paquet de plugins au moment d'écrire ces lignes :

  • Interface utilisateur Homebridge (inclus dans le package de base et ne possède pas ses propres paramètres)
  • Teinte (Pour Philips Contrôle de la teinte)
  • Apple TV Remote (pour contrôler Apple TV)
  • Mqttchose (pour contrôler le Lampe Gyver avec le micrologiciel Whiler)
  • Samsung Tizen (pour contrôler Smart TV Samsung sur Tizen OS)
  • Météo Plus (pour une domotique intelligente en fonction des conditions météorologiques)
  • Wi-Fi Yeelight (pour contrôler Xiaomi Yeelight)

Allons-y une étape à la fois.

Configurer Hue

Pour installer n'importe quel plugin, il suffit d'aller dans l'onglet correspondant de l'interface web, de saisir le nom du matériel souhaité dans la barre de recherche et de sélectionner le plugin dans la liste des plugins disponibles. Je vous recommande de faire attention à la balise « 🛡Verified », à la version et à la date de mise à jour du plugin (si l'auteur ne l'a pas mis à jour depuis quelques années, il y a de fortes chances que cela ne fonctionne pas) et de veiller à ouvrir le lien vers la page d'accueil du plugin, qui décrit généralement le processus d'installation en détail.

Teinte du Homebridge Raspberry Pi

Appuyez sur le bouton Installer du plugin requis et attendez une minute ou deux jusqu'à ce que le plugin soit installé.

La série Homebridge Hué Le plugin est assez simple à configurer. Il vous suffit de définir un nom par défaut qui sera affiché dans les journaux Homebridge et de choisir quel type d'appareils compatibles sera traité par le plugin. Dans mon cas, c'est seulement Philips Éclairage Hue, la première version ronde de celui-ci.

Remplissez les données et assurez-vous de sauvegarder le résultat. Il suffit maintenant d'appuyer sur le bouton central du Philips Hue hub et attendez 15 secondes que le plug-in reconnaisse le hub. Fait!

Il ne reste plus qu'à récupérer votre iPhone, pointer sa caméra vers le code QR situé sur l'onglet Statut de l'interface web Homebridge, et l'ajouter comme pont vers votre HomeKit.

Si HomeKit était déjà préconfiguré (Apple TV ou iPad sélectionné comme hub principal, pièces ajoutées, etc.), l'assistant vous proposera de distribuer tous les luminaires Hue présents dans les pièces correspondantes et de leur attribuer un nouveau nom. Dans mon salon, par exemple, il y a des lampes nommées Plafond 1, Plafond 2 et Plafond 3, mais via HomeKit sur l'iPhone (Combiner avec d'autres appareils) Je les ai combinés dans le groupe Éclairage aérien. En même temps, dans le même salon, j'ai un lampadaire et une lampe de chevet, qui sont des appareils distincts, mais Siri comprend parfaitement diverses commandes sans aucune formation supplémentaire :

  • "Allumez la lumière dans le salon (toutes les lampes du salon sont allumées)"
  • "Allumez le lampadaire"
  • "La luminosité de la veilleuse vingt pour cent"
  • "Allumez la lampe de chevet"
  • "Éteignez le plafonnier"
  • "Couleur bleue pour un lampadaire"
  • "Éteignez les lumières du salon (éteint toutes les lumières du salon)"
  • "Éteignez toutes les lumières (éteignez les lumières dans tout l'appartement)"

Etc. Si vous avez une famille Apple bien configurée, les commandes appropriées et absolument logiques sont automatiquement disponibles pour tous les membres de votre famille disposant d'un identifiant Apple.

Configuration de la télécommande Apple TV

J'utilise ce plugin dans un seul but : créer un interrupteur supplémentaire pour le lecteur multimédia numérique de l'Apple TV. Apple HomeKit permet de programmer, par exemple, la lecture d'un album ou d'une playlist selon une condition prédéterminée, comme « Quand je rentre à la maison ». Tout se passerait bien, mais si le décodeur est en veille à ce moment-là, ce scénario ne permet pas de le réactiver. Un interrupteur virtuel supplémentaire permet :

Étape 1 : Installer un service pour récupérer les identifiants Apple TV

sudo npm install -g node-appletv-x

Étape 2 : Rechercher des appareils Apple TV sur le réseau local

paire sudo appletv

Étape 3 : Créez un appairage avec l'appareil souhaité. Dans la sortie de la console, cela ressemblera à ceci :

% appletv pair ✔ Connexion au salon ✔ Lancement du jumelage ? Saisissez le code PIN à 4 chiffres actuellement affiché sur le salon

Quand tu vois ‌? Enter the 4-digit pin that's currently being displayed on... un code standard à quatre chiffres pour l'appairage avec la télécommande apparaîtra sur l'écran de votre boîtier Apple TV (dans notre exemple, 1234), qui doit être saisi directement dans la console.

% appletv pair ✔ Connexion au salon ✔ Lancement du jumelage ? Saisissez le code PIN à 4 chiffres actuellement affiché sur le salon 1234 ✔ Finalisation du jumelage Informations d'identification : 77346115-ED48-46A8-A288-

Au lieu de <snip> il y aura plusieurs lignes de lettres et de chiffres, ils doivent être copiés dans leur intégralité dans un fichier texte séparé, en commençant par le premier chiffre de la ligneCredentials:. Un peu plus tard, nous en aurons besoin Lettres de créance.

Étape 4 : Sur l'onglet Configuration de l'interface web de Homebridge, ajoutez ce bloc à la section config "platforms": [

{ "platform": "AppleTvPlatform", "name": "Apple TV Platform", "devices": [ { "name": "Living Room", "credentials": "77346115-ED48-46A8-A288- ", "isOnOffSwitchEnabled": true, "onOffSwitchName": "Apple TV" } ] },

…et en "credentials": insérez simplement le contenu complet du fichier texte de l’étape précédente.

Choisissez n’importe quel nom pour le préfixe, « Salon » n’est ici qu’à titre d’exemple.

Étape 5. Installez le plugin lui-même.

Dans l'onglet Plugins de l'interface Web de Homebridge, saisissez Apple TV Remote dans la barre de recherche et appuyez sur Installer. Après avoir installé le plugin, vous serez invité à redémarrer Homebridge, cela se fait en cliquant sur le bouton approprié.

Bouton de redémarrage Raspberry Pi Homebridge

C'est fait, il y a un nouveau commutateur sur iPhone dans HomeKit qui peut désormais être ajouté à tous les scénarios dans lesquels vous souhaitez que l'Apple TV s'allume automatiquement.

Les commandes vocales telles que « Siri, allumer l'Apple TV » ou « Siri, éteindre l'Apple TV » sont également prises en charge. De plus, si vous avez plusieurs lecteurs dans différentes pièces, Siri comprendra automatiquement la nécessité d'éteindre l'Apple TV dans une pièce en particulier, ou toutes simultanément.

En fait, ce plugin se développe rapidement, il sait déjà reconnaître le Bundle ID des applications exécutées sur la console et interférer avec leur travail, pour mettre un film en pause sur Netflix, par exemple. Mais cela, vous devrez le configurer vous-même.

Configuration du plugin Mqtthing

J'utilise ce plugin avec la lampe Gyver susmentionnée (une lampe maison avec une carte Arduino et un réseau de LED adressables 16×16). La lampe elle-même doit avoir un firmware de Whilser. Et que la Force soit avec nous.

Lampe Gyver avec Grogu

Étape 1 : Installer un courtier MQTT

Nous exécutons un certain nombre de commandes. Ils ne fonctionnent pas par lots, nous les saisissons donc un par un dans la console.

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key ajouter mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
wget sudo 
mise à jour de sudo apt
sudo apt installer les clients moustiques moustiques
sudo /etc/init.d/mosquitpour arrêter
sudo nano /etc/mosquitto/mosquitto.conf

La dernière commande lance le même ancien nano éditeur, dans lequel nous remplaçons le contenu du fichier ouvert par ce qui suit :

# Placez votre configuration locale dans /etc/mosquitto/conf.d/ # # Une description complète du fichier de configuration se trouve dans # /usr/share/doc/mosquitto/examples/mosquitto.conf.example # pid_file /var/run/ mosquitto.pid allow_anonymous true listener 1883 persistance 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

Comme d'habitude, Ctrl + A, Entrer, Ctrl + X, puis redémarrez le courtier à l'aide de la commande

‌sudo /etc/init.d/mosquitpour démarrer

Le courtier MQTT est installé.

Étape 2 : Installation du plug-in Mqtthing

Comme d'habitude, nous allons dans l'onglet Plugins de l'interface Web de Homebridge, recherchez Mqttthing et appuyez sur Installer.

Étape 3 : Configuration du plug-in Mqtthing

Chaque lampe Gyver possède son propre identifiant de puce ESP. Par exemple, ESP-3bd20b. Si vous avez fabriqué et cousu la lampe vous-même, alors vous en êtes bien conscient, sinon, mettez la lampe en mode appairage et lorsque vous vous connecterez à votre réseau WiFi, l'identifiant requis s'affichera dans la boîte de dialogue correspondante sur l'iPhone . Écrivez-le.

  • Débranchez l'alimentation de la lampe ;
  • Déconnectez le routeur ;
  • Allumez la lampe;
  • Sur iPhone, allez dans Paramètres → WiFi
  • Sélectionnez un réseau non sécurisé avec un SSID tel que « ESP12345678 » et dans la boîte de dialogue qui s'ouvre, appuyez sur Configurer le WiFi.
  • Tout en bas de la fenêtre de configuration, il y aura le Chip ID souhaité.

Si la lampe a déjà été configurée auparavant, vous pouvez simplement l'éteindre, allumer le routeur et rallumer la lampe - les anciens paramètres seront récupérés. Si c'est la première fois que vous connectez la lampe, allumez le routeur et sélectionnez votre réseau dans la liste des paramètres, puis saisissez toutes les données nécessaires, comme le mot de passe WiFI domestique et l'adresse IP du Raspberry Pi.

Ouvrez l'onglet Configuration de l'interface web de Homebridge et rendez-vous dans la section "accessories": [ ajoutez un énorme morceau de code, en remplaçant l'ID par ESP-3bd20b avec le vôtre :

{ "accessory": "mqttthing", "type": "ampoule", "name": "Lampe de chevet", "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/statut", "définirRGB": "homeassistant/light/ESP-3bd20b/rgb/set" }, "onValue": "ON", "offValue": "OFF" }, { "accessory": "mqttthing", "type": "television", "name": "Effets de lampe de chevet", "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": "Confettis" }, { "name": "Feu", "value": "Огонь" }, { "name": "Rainbow vertical", "value": "Радуга верт." }, { "name": "Arc-en-ciel horizontal", "value": "Радуга гориз." }, { "name": "Change color", "value": "Смена цвета" }, { "name": "Madness 3D", "value": "Безумие 3D" }, { "name": "Clouds 3D", "value": "Облака 3D" }, { "name": "Lava 3D", "value": "Лава 3D" }, { "name": "Plasma 3D", "value": "Плазма 3D" }, { "name": "Rainbow 3D", "value": "Радуга 3D" }, { "name": "Peacock 3D", "value": "Павлин 3D" }, { "name": "Zebra 3D", "value": "Зебра 3D" }, { "name": "Forest 3D", "value": "Лес 3D" }, { "name": "Ocean 3D", "value": "Океан 3D" }, { "name": "Snowfall", "value": "Снегопад" }, { "name": "Matrix", "value": "Матрица" }, { "name": "Lucioles", "value": "Светлячки" }, { "name": "Aquarium", "value": "Aquarium" }, { "name": "Starfall", "value": "Звездопад" }, { "name": "Paintball", "value": "Пейнтбол" }, { "name": "Spiral", "value": "Спираль" }, { "name": "Lumière chaude", "value": "Теплый свет" }, { "name": "Pendule", "value": "Маятник" }, { "name": "Shimmering", "value": "Мерцание" }, { "name": "Police siren", "value": "Полицейская сирена" }, { "name": "Drift", "value": "Дрейф" }, { "name": "Pack", "value": "Стая" } ], "onValue": "ON", "offValue": "OFF" }

C'est fait. Apple HomeKit propose deux nouveaux appareils : la lampe de chevet et les effets de lampe de chevet. Ils sont interconnectés et leur fonction est assez simple à comprendre. Si vous le souhaitez, vous pouvez les renommer dans la configuration.

Malheureusement, l'auteur du firmware a écrit les paramètres en russe, ce qui semble un peu bizarre, mais nous l'avons modifié pour que vous puissiez parler avec Siri en russe. English comme d'habitude.

Configuration de Samsung Tizen

Étape 1 : Vérifier la compatibilité de votre téléviseur

Dans le panneau de configuration du routeur, attribuez une IP locale statique au téléviseur, comme vous l'avez fait pour le Raspberry Pi au tout début. Par exemple, dans mon cas, il s'agit du 192.168.50.100.

Dans un navigateur sur votre ordinateur, accédez à http://TV_IP:8001/api/v2/, ce qui pour moi est http://192.168.50.100:8001/api/v2/

Si vous voyez une page contenant de nombreuses informations sur le service comme celle-ci...

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

…cela signifie qu'il y a une chance de succès. Cependant, il faut savoir que tous les modèles de téléviseurs Samsung ne sont pas compatibles avec le plug-in. Par exemple, ceux nécessitant une identification par code PIN ne fonctionneront pas.

Copiez la valeur de "wifiMac": champ de la page de service et préparez la télécommande du téléviseur.

Étape 2 : Installer le plugin

Rien de nouveau, nous recherchons le Samsung Tizenplugin, trouvez ce dont nous avons besoin (en @tavicu) et installez-le.

Plugin Raspberry Pi Samsung Tizen

Ensuite, allez dans les paramètres et enregistrez-y les valeurs suivantes :

Paramètres du plugin Raspberry Pi Samsung Tizen

Le nom « TV » suffit amplement, car Siri comprend parfaitement la demande d'allumer la télévision dans le salon, dans lequel vous n'avez probablement pas plus de 1 téléviseurs. Elle comprend également parfaitement la commande « allumer la télé dans la chambre » sans activer la télé du salon.

Étape 3 : Couplage avec un téléviseur

Tout est simple ici : prenez la télécommande du téléviseur entre vos mains et attendez qu'un menu contextuel apparaisse à l'écran avec un avertissement concernant un appareil essayant de prendre le contrôle du téléviseur. Bien entendu, la télévision doit être allumée. Lorsqu'une demande apparaît dans le coin supérieur droit de l'écran, sélectionnez Allow avec la télécommande du téléviseur. Tout va bien.

Étape 4 : Ajouter un téléviseur à Apple HomeKit

Oui, contrairement aux cas précédents, le téléviseur n’apparaîtra pas comme par magie dans la liste des appareils. Par conséquent, prenez l'iPhone entre nos mains et procédez comme suit :

  • Lancez l'application Accueil et sur la page d'accueil, cliquez sur + dans le coin supérieur droit ;
  • Sélectionnez Ajouter un accessoire ;
  • Au bas de l'écran, cliquez sur Aucun code ou aucun moyen de scanner ;
  • Sur l'écran suivant, sélectionnez votre téléviseur ;
  • Lorsque vous êtes invité à saisir le code de configuration HomeKit, cliquez sur Utiliser la caméra ;
  • Pointez la caméra vers le code QR dans l'onglet État du Homebridge.

Étape 5 : Paramètres du plugin

Après avoir approfondi Documentation Grâce au plug-in, vous pouvez demander à Siri de lancer des applications spécifiques parmi celles installées sur le téléviseur, de les mettre en pause, etc. Modifions la fonctionnalité d'un bouton de la télécommande virtuelle Apple Remote intégrée au volet du centre de contrôle iOS.

Il s'agit du bouton ℹ︎ (information), qui affiche par défaut des informations sur le mode d'image actuel en haut de l'écran du téléviseur. Il est impossible de consulter la liste des applications installées sur le téléviseur avec la télécommande Apple Remote. Nous allons corriger cela.

Télécommande Apple iOS pour téléviseur SamsungAllez dans les paramètres du plugin, section Key Mapping, recherchez le champ INFORMATION et changez sa valeur en KEY_HOME. Redémarrez Homebridge et le tour est joué – le bouton ℹ︎ de la télécommande virtuelle fait apparaître le menu principal de l'application ! La télécommande virtuelle prend désormais tout son sens.

Paramètres du plugin Weather Plus

Étape 1 : Création de compte OpenWeather

Nous allons sur le site https://home.openweathermap.org et créez un compte, c'est gratuit.

Étape 2 : Générer des clés API

OpenWeather

Accédez à l'onglet approprié de votre compte personnel OpenWeather et, après avoir spécifié un nom pour la clé, cliquez sur le bouton Générer.

OpenWeather

Étape 3 : Installation et configuration du plugin Weather Plus

Nous utilisons la méthode habituelle pour rechercher et installer le plugin requis, puis accéder à ses paramètres. Le résultat devrait ressembler à ceci :

Dans la prévision, personnellement, je ne m'intéresse qu'aux valeurs de l'heure suivante, je désactive donc le reste :

Paramètres de prévision Raspberry Pi OpenWeather

Et pour que des capteurs météorologiques virtuels inutiles ne vous gênent pas, désactivez-les dans la section Masquer les valeurs correspondante. Il vaut mieux désactiver :

  • Pression de l'air
  • Cloud Couverture
  • Point de rosée
  • Température apparente
  • Direction du vent
  • L'indice UV
  • Vitesse du vent
  • Vitesse du vent Max

Et cliquez sur Enregistrer tout en bas de la fenêtre des paramètres.

Ainsi, Apple HomeKit affichera les valeurs de température et d'humidité pour l'heure à venir, ainsi que deux capteurs virtuels « Neige » et « Pluie », utilisables dans différents scénarios. Par exemple, j'ai programmé l'automatisation HomeKit : lorsque la pluie ou la neige sont prévues pour l'heure à venir, la lampe de Gyver affiche l'effet correspondant d'une flaque d'eau ou d'une chute de flocons de neige pendant une minute. Dans ce cas, l'effet ne se déclenchera que de 8 h à 00 h et uniquement si la maison est présente. Le reste du temps, il est inutile de conseiller de prendre un parapluie ou de porter des vêtements imperméables.

Configuration du plugin WiFi Yeelight

Yeelight La commande affiche les plugins à installer, dont un vérifié. Mais j’en préfère un autre, dans lequel les transitions entre les états sont aussi fluides que possible. De plus, il prend en charge éclairage adaptatif d'Apple, mais la norme Xiaomi L'application n'a pas appris cela depuis un an depuis l'apparition de cette fonctionnalité dans HomeKit.

Plugin Wi-Fi Raspberry Pi Yeelight

Important! N'en laisse qu'un Xiaomi ampoule allumée pour éviter toute confusion au début. Nous allons travailler avec.

Après avoir installé le plugin, redémarrez Homebridge et trouvez quelque chose comme ceci dans le journal : ‌ [Yeelight] Received advertisement from ab1234. Ce conditionnel ab1234 est votre ampoule. Peut-être que la valeur sera color-ab1234.

Accédez aux paramètres du plugin et collez-y le morceau de code suivant :

{ "platform": "yeelight", "name": "Yeelight", "transitions": { "power": 400, "luminosité": 400, "color": 1500, "temperature": 1500 }, "multicast" : { "interface": "0.0.0.0" }, "defaultValue": { "color-ab1234": { "name": "Lampadaire", "blacklist": [ "set_hsv" ] } } }

Où, au lieu de color-ab1234, il devrait y avoir une valeur dans votre journal, et au lieu de ‌ ‌"name": "Floor-lamp" tout nom indiquant l'emplacement de la lampe : Veilleuse, Applique, Plafond, etc.

Paramètres du plug-in Wi-Fi Raspberry Pi Yeelight
Cliquez sur le bouton jaune Enregistrer dans le coin inférieur gauche.

Enregistrez le code inséré en cliquant sur le bouton Enregistrer et redémarrez Homebridge. C'est fait, l'ampoule est apparue dans HomeKit sous le nom de votre choix. Le reste des ampoules Yeelight s'ajoute une à une en appuyant sur le bouton +ADD PLATFORM au même endroit dans les paramètres du plugin exactement de la même manière.

Mise à jour de Homebridge et Node.JS sur Raspberry Pi

La mise à jour (et la restauration de la version) de Homebridge lui-même est assez simple : vous devez cliquer sur le numéro de la version actuelle dans l'interface Web et sélectionner la version souhaitée dans la liste déroulante.

Mais mettre à jour Node.JS et NPM, qui seront nécessaires tôt ou tard lors de l'installation d'une mise à jour d'un plugin, n'est pas facile. Plus précisément, les commandes ne sont pas exactement les mêmes que celles décrites dans le tutoriel standard.

Node.JS est mis à jour avec la commande :

nœud de mise à jour sudo hb-service

Et NPM avec deux commandes l'une après l'autre :

sudo npm cache propre -f
sudo npm installer -g npm

Malheureusement, ni Homebridge lui-même, ni ses plugins, ni les « rails » sur lesquels il roule, ne peuvent se mettre à jour automatiquement. Mais accéder au panneau de contrôle tous les jours et vérifier s’il y a quelque chose de nouveau est pour le moins compliqué. Ainsi, pour automatiser le processus, il existe un widget spécial pour iOS 14, qui surveille l'état de tous les nœuds Homebridge et envoie des notifications PUSH en cas de nouveauté.

Installation du widget d'état Homebridge

Widget d'état du Raspberry Pi Homebridge

Comme vous pouvez le voir, le widget affiche beaucoup d'informations nécessaires et peu d'informations sur votre Homebridge, mais la chose la plus précieuse est des informations sur l'état de Homebridge lui-même, ses plugins et Node.JS.

Pour obtenir le widget lui-même, nous avons d’abord besoin de son application parent. Installez-le sur iPhone depuis l'App Store.

Scriptable
Scriptable
Développeur: Simon B. Stovring
Prix: Gratuit+

Et maintenant commence le processus assez long mais fascinant d’installation du widget. Nous allons l'installer à l'aide d'un autre script appelé ScriptDude dans l'application Scriptable. ScriptDude est bon car il suit les modifications apportées au code de nombreux scripts situés dans la galerie sur scriptables.net. Peut-être y trouverez-vous autre chose d'utile pour vous-même, mais nous avons maintenant une tâche.

Étape 1 : Installez Scriptable.app depuis l'App Store.

Étape 2 : Ouvert scriptdu.de dans un navigateur sur votre iPhone et cliquez sur le bouton Installer ScriptDude.

site web scriptdu.de

Étape 3 : Sur la page qui s'ouvre, cliquez sur le bouton Copier le programme d'installation et, après avoir reçu une notification concernant le code du script dans notre presse-papiers, cliquez sur le bouton Ouvrir Scriptable.

Étape 4 : Collez le contenu du presse-papiers dans le champ vide avec le titre Untitled Script et appuyez sur le bouton Play ▶️.

Installation de ScriptDude

Étape 5 : Sur l'écran qui s'ouvre, cliquez sur le lien Parcourir scriptables.net et sur la page suivante, cliquez sur le (La technologie) étiqueter. Hourra, le script Homebridge Status est le premier de la liste ! N'hésitez pas à cliquer sur le bouton Télécharger avec ScriptDude.

Étape 6 : Cliquez sur Installer et, après avoir accepté deux avertissements, vous verrez le script souhaité dans la liste Installé. L'écran principal de Scriptables ressemble maintenant à la quatrième capture d'écran ci-dessous, et nous cliquons sur les points de suspension dans le statut Homebridge et procédons à la modification des paramètres.

Étape 7 : Tout d'abord, changez le remplacerPersistedConfig valeur de non à oui

écraserPersistedConfig = true

pour enregistrer les paramètres du script dans iCloud.

Configuration de l'état du pont domestique Raspberry Pi

Étape 8 : En descendant un peu plus bas, on édite trois champs : l'adresse IP et le port du Homebridge (rappelez-vous, c'est le déjà mentionné http://<ip address of your server>:8581 où au lieu de <ip address of your server> nous utilisons la même IP depuis le tout début de l'article, dans mon cas ) et acceptez l'avertissement concernant la recherche d'appareils sur le réseau local. Hourra, le script fonctionne !

Il ne reste plus qu'à ajouter le widget à l'écran iOS 14 comme n'importe quel autre. Après l'ajout, vous devez accéder aux paramètres du widget (appuyez longuement dessus) et spécifier un certain nombre de paramètres : sélectionnez le script, indiquez quoi faire lorsque vous interagissez avec lui et saisissez la valeur dans le champ Paramètre.

USE_CONFIG : violet.json

Après cela, n'oubliez pas de revenir au code du script et de renvoyer la valeur

overwritePersistedConfig = faux

C'est tout. Le widget fonctionne, et lorsqu'il y a des mises à jour de Node.JS, Homebridge ou de ses plugins, vous recevrez des notifications PUSH.

Verdict

Les fonctionnalités d'Apple HomeKit ont considérablement augmenté. J'ai créé de nombreux scripts et automatisations qui simplifient la vie de mes proches et de moi-même.

Par exemple, lorsqu'il fait sombre dehors et qu'un membre de la famille rentre chez lui, il sera accueilli par les lumières de l'extérieur, dans le couloir, le salon et la salle de bain – il n'est désormais plus nécessaire de toucher les interrupteurs avec les mains sales.

Lorsque le dernier membre de la famille quitte la maison, HomeKit éteindra les téléviseurs, les lumières et tout ce qui peut être éteint. Et s'il y a au moins une personne à la maison, dès le crépuscule, l'éclairage extérieur et certaines lampes à l'intérieur s'allumeront.

Encore une fois, Siri peut contrôler tous les appareils connectés à l'aide de commandes tout à fait logiques, mot pour mot identiques à celles avec lesquelles vous demanderiez à quelqu'un quand vous devez allumer ou éteindre quelque chose dans une pièce particulière. Seulement, personne n’a besoin de courir dans cette pièce.

Les mixages musicaux du matin et du soir d'Apple fonctionnent, et j'y ai associé les effets lumineux de la lampe de Gyver. Le reste de l'éclairage peut fonctionner avec la musique colorée, mais je ne suis pas satisfait du résultat.

Les scénarios ne dépendent que de votre imagination et ne pèseront pas trop sur votre portefeuille, car les produits étiquetés « Fonctionne avec Apple HomeKit » ne sont plus le seul choix disponible.

Dans le prochain article du cycle, nous nous amuserons : nous enseignerons nos Raspberry Pi pour télécharger des torrents et le transformer en un puissant centre multimédia et une console de jeu rétro.

Bientôt disponible!

Youri Stanislavski
Youri Stanislavskihttp://notarecords.com
SwiftDéveloppeur d'interface utilisateur en cours. Accro au vinyle. Parfois journaliste. Nota Propriétaire d'un magasin de disques.
Plus de cet auteur
S’inscrire
Informer de
invité

0 Commentaires
Nouvautè
Le plus ancien Les plus votés
Commentaires en ligne
Voir tous les commentaires
Autres contenus
Suivez-nous
Populaire maintenant