informatique:index

Informatique

Applications informatiques Une application est un ensemble de logiciels, programmes, utilitaires.. qui permettent d'accomplir une activité particulière. On pourrait simplifier que lorsque l'installation nécessite plus d'une ligne de commande, il s'agit d'une application. Voici le Guide des applications. La plupart des progrmmes sont des produits OpenSource ou similairement proche.

Accéder à la lite complète » Applications, liste complète

cette catégorie n'existe pas : informatique:se:linux:applications

 

pour rénover un réseau

Mini panneau de raccordement Cat 6A 8 ou 12 ports, panneau de raccordement entièrement blindé, pour montage mural

~ 30€

https://fr.aliexpress.com/item/4000405745465.html

panneau mural Cat7 RJ45 (type blindé, matériau en alliage de zinc)

~ 3€

https://fr.aliexpress.com/item/32890380850.html

 

sous Linux Debian, Arch, Fedora et Ubuntu

Handbrake est un programme graphique Open Source pour compresser une vidéo ou un extrait de vidéo. Il est reconnu par ça facilité d'extraire les vidéos des DVD incluant un système anti copie, dans le respect du droit de la copie privée. Avec toutes ces options, les fichiers compressés seront au format souhaités.

https://www.maketecheasier.com/install-handbrake-linux-rip-dvd/

Ubuntu intègre dans ces dépots le logiciel Handbrake ainsi que les composants complémentaires pour lire les DVD dans le package libdvd-pkg.

sudo apt install libdvd-pkg
sudo dpkg-reconfigure libdvd-pkg

Puis installer Handbrake

sudo apt install handbrake

Avec Fedora, Handbrake se trouve dans le dépot RPM Fusion Free. Vous pouvez vérifier sa disponibilité grâce au site pkgs.org. Suivre le lien : Handbrake présent dans les dépôts

Pour installer le depot RPM Fusion, je vous conseille cet article : rpm-fusion-free-et-rpm-fusion-non-free

On installe les composants complémentaires audio présent dans RPM Fusion Free :

sudo dnf install rpmfusion-free-release-tainted
sudo dnf install libdvdcss

On fini par installer Handbrake

sudo dnf install handbrake-gui
sudo pacman -S libdvdcss handbrake
 

Un broker MQTT est un service qui recevra les messages MQTT.

Un serveur MQTT est appelé broker. Il en existe quelques un :

  • ActiveMQ développé par Apache et permet d'intégrer le protocole dans un serveur Apache httpd.
  • JoramMQ pour une intégration Java de MQTT
  • Mosquitto, le broker le plus utilisé actuellement dans les projets DIY
  • RabbitMQ propose un support commercial
  • EMQTT, conçu pour recevoir de très nombreuses connexions

Dans cet article j'installe Mosquitto sur Rasbperry Pi. Le port par défaut 1883/tcp sera utilisé.

Mise à jour de la liste des dépôts

sudo apt update

Installation du paquets Mosquitto

sudo apt install mosquitto
sudo systemctl status mosquitto

Résultat marquant

Created symlink /etc/systemd/system/multi-user.target.wants/mosquitto.service → /lib/systemd/system/mosquitto.service

Générer une empreinte pour l'UTILISATEUR

sudo mosquitto_passwd -c /etc/mosquitto/passwd UTILISTATEUR

Dans le fichier /etc/mosquitto/mosquitto.conf :

>allow_anonymous false
password_file /etc/mosquitto/passwd

Redémarrer le service pour prendre en compte les modifications

sudo systemctl restart mosquitto

Il faut installer les clients mosquitto afin d'utiliser les outils d'émission et de réception de message mosquitto dans le bash.

sudo apt install mosquitto-clients

Envoyer un message sur le channel sensor/elec

mosquitto_pub -h localhost -t sensor/elec -m 2546

Le port d'écoute par défaut est le 1883 en tcp et en WebSocket sur le port 8883.

Recevoir des messages du channel sensor/elec

mosquitto_sub -h localhost -t "sensor/elec"
 

Nom de la section

L'objectif est d'ouvrir d'autres fichiers de mot de passe depuis un fichier principal sans nécessité de saisir un mot de passe complémentaire.

Ajouter un groupe nommer AutoOpen, à la racine de votre aborescence.

Ajouter un enregistrement dans le dossier AutoOpen avec les informations suivantes.

password : mot de passe d'ouverture du fichier

url : le nom du fichier de mots de passe. Il peut être de format :

  • file:/ /absolute/path.kdbx
  • /absolute/path.kdbx
  • path.kbdx (which is relative to the current db)
 

Amazon modifie la liste des formats de fichiers supportés par les liseuses Kindle le 20 août 2022 et supprime son format AWZ MOBI.

A partir du 20 août 2022, vous ne pourrez plus envoyer de fichiers MOBI (.mobi, .azw) vers votre bibliothèque Kindle. Les fichiers MOBI déjà présents dans votre bibliothèque ne seront pas affectés par cette modification. MOBI est un ancien format de fichier qui ne prend pas en charge les dernières fonctionnalités Kindle pour les documents. Tout fichier MOBI existant que vous souhaitez lire avec nos fonctionnalités les plus récentes pour documents devra être renvoyé dans un format compatible.

Les formats compatibles incluent désormais EPUB (.epub), vous pouvez envoyer des fichiers dans ce format vers votre bibliothèque à l'aide de votre adresse e-mail Envoyer vers Kindle. Nous ajouterons également la prise en charge du format EPUB à l'application gratuite Kindle pour les appareils iOS et Android et à l'application de bureau Envoyer vers Kindle pour PC et Mac.

Les documents envoyés par email à votre bibliothèque Kindle en utilisant la fonction Envoyer vers Kindle doivent être de format :

  • Microsoft Word (.DOC, .DOCX)
  • HTML (.HTML, .HTM)
  • RTF (.RTF)
  • Text (.TXT)
  • JPEG (.JPEG, .JPG)
  • GIF (.GIF)
  • PNG (.PNG)
  • BMP (.BMP)
  • PDF (.PDF)
  • EPUB (.EPUB)
  • MOBI (.AZW, .MOBI) (fin de support le 20/08/2022)
 

Nom de la section

La manière la plus courte d'utiliser echo en PHP et d'employer le code <?= puis ?>. Par exemple :

<p>Quelle heure est-il ? Il est <?=date("H:i:s")?>.</p>
 
 

Logiciels et programmes pour PC

Une sélection de logiciels, utilitaires que j'utilise. J'agrémente les articles de mes découvertes et savoir-faire.

Accéder à la page » Logiciels, liste complète

 

GoAccess est une application analytique web open-source pour les systèmes d'exploitation Unix et Linux.

La clé GPG du dépôt de GoAccess pour Debian a expiré le 20/05/2022. Depuis cette date, il n'est plus possible de synchroniser le dépôt GoAccess avec votre machine. Le message

An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://deb.goaccess.io bullseye InRelease: The following signatures were invalid: EXPKEYSIG 97BD1A0133449C3D Gerardo Orellana goaccess@prosoftcorp.com

apparaît à l'appel de la commande apt update. Depuis, une nouvelle clé GPG a été déployée et il faut mettre à jour votre machine.

sudo apt-key del 97BD1A0133449C3D
sudo rm -rf /usr/share/keyrings/goaccess.gpg
wget -O - https://deb.goaccess.io/gnugpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/goaccess.gpg >/dev/null
 

DIY VPN

Le fonctionnement d’un VPN repose sur des serveurs, des protocoles réseau et des technologies de sécurité. Il est possible de monter son VPN sur un serveur loué.

Créer un VPN et intaller Pi Hole chez Scaleway

Créer un VPN chez IONOS [EN]

Déployer OpenVPN sur un VPS chez OVH

 

Les newsgropup sont des groupes de messages usenet postés par des utilisateurs venant des 4 coins du mondes utilisant Internet. Chaque groupe comporte des nouvelles postées par n'importe et auxquelles tout le monde peut répondre suivant les conditions du groupe. Il est nécessaire d'avoir un client pour utiliser les newsgroup. La philosophie des newsgroup est très proche de celle des forums.

Clients Web :

Serveurs de newsgroup gratuits à utiliser avec un logiciel de newsgroup :

  • news.aioe.org
  • news.eternal-september.org
  • news.x-privat.org

Les trois sont en accès libre et gratuit, et comportent tous les groupes de la hiérarchie .fr.

eternal-september.org et x-privat.org demandent une inscription gratuite sur le site web du même nom. Ils ont une meilleure rétention d'article que AIOE.

x-privat.org est le seul qui ne propose pas de connexion SSL sécurisée.

 

Une extension sous Gnome permet d'afficher dans la barre système l'état du verrouillage majuscule et pavé numérique. Cette extension Gnome permet également d'afficher une notification sur l'écran au changement d'état.

Pré requis

  • installer Gnome Shell
  • installer l'extension de GNOME Shell dans le navigateur

https://extensions.gnome.org/extension/36/lock-keys/

 

Présentation d'une installation minimale pour un fonctionnement normal.

1. Vérifier le hostname complet avec hostname -f. Cela conditionnera la base dn pour le LDAP. Si nécessaire, modifier /etc/hostname et /etc/hosts.

2. Installer le démon LDAP

sudo apt install slapd

3. Installer les outils LDAP

sudo apt install ldap-utils

4. Vérifier le déploiement

slapd -V
 

Voilà une question que l'on peut se poser quand on écrit des batchs : Comment réaliser une pause de X secondes ?

Sous Linux, la commande sleep permet d'attendre un moment spécifié avant de poursuivre.

sleep <NUMBER><SUFFIX>

Par défaut, le nombre (NUMBER) indiqué est des secondes. Le nombre indiqué doit être un entier.
L'attente peut être en secondes (s), minutes, heures (h) ou jours (d). Il est mentionné par le paramètre SUFFIX.

Sous Windows, on utilisera la commande ping. Deux paramètres nous seront utile : le délai d'attente d'une réponse (w) et le nombre d'essai (n). On effectuera un ping sur une adresse qui ne peut pas être jointe.

ping 1.1.1.1 -n 1 -w 1000 > nul

L'option w doit être indiqué en millisecondes.

Pour Windows XP, le fonctionnement de Ping diffère. On retiendra une autre syntaxe.

ping 1.1.1.1 -n 5 > nul

La syntaxe précédente ne nous permet d'effectuer une commande passe-partout, du genre wait 5.

Pour réaliser cet aspect là, nous écrirons un batch. Il permettra de traiter un argument.

L'argument sera le nombre de secondes que l'on souhaite attendre.

wait.bat
  ping 1.1.1.1 -n 1 -w %1000 >NUL

J'ai vu qu'il était également possible d'utiliser la commande choice avec l'option /t. Cependant, il est dommage que toute action sur le clavier annulera l'attente.

 

Sous Linux, les fichiers de configurations se trouvent soit dans :

  • ~/.var/app/org.musicbrainz.Picard/config/MusicBrainz pour une installation avec falthub
  • ~/.config/MusicBrainz pour une installation avec dnf

Petit de renommage des fichiers prenant en compte single, et album. Exemple :

~/Musique/nas/audio/albums/b/beatles,_the/help!_(1965)_2c053984-4645-4699-9474-d2c35c227028/7._the_beatles_-_ticket_to_ride.mp3
~/Musique/nas/audio/singles/c/cobra_starship_feat._sabi/cobra_starship_feat._sabi_-_you_make_me_feel..._(disco_fries_remix).opus
~/Musique/nas/audio/singles/s/snap!/_1990/snap!_-_the_power_(acapella).opus

Voici le script mis en œuvre chez moi. Il permet de :

  • Nommage de type c/cedric_abonnel/mon_album_(2021)_8956ec26-7588-4bba-9812-fcf8523c09d5
  • Dossier spécial pour les compilations et Various Artists
$lower(
$replace(
$replace(

$if($eq(%albumartist%,Various Artists),
various_artists/$left($firstalphachar($if2(%albumsort%,%album%)),1),
$left($firstalphachar($if2(%albumartistsort%,%albumartist%)),1)/$if2(%albumartistsort%,%albumartist%)
)/

$if(%album%,%album%)$if(%date%, \($left(%date%,4)\))$if(%releasetype%, %releasetype%) -
$if(%musicbrainz_albumid%,_%musicbrainz_albumid%)
$if($eq($get(totaldiscs),1),,$if(%discnumber%,/disc-%discnumber%/))/
$if(%tracknumber%,%tracknumber%. )
%artist% - %title% %acoustid_fingerprint%%acoustid_id%


		, ,_
	)
		,;,
	)
)

Voici un autre script qui permet de nommer de type 2021/interpretre-titre

$lower(
$replace(
$replace(
$if(%date%,$left(%date%,4))/
%artist% - %title%
		, ,_
	)
		,;,
	)
)
 

Dans un terminal, Ctrl + D envoie l'information de fin de fichier (EOF). A l'invite du prompt, il a pour effet de fermer la session : logout.

Dans Firefox, Ctrl + D permet d'ajouter la page courante dans le marque-page.

Dans un terminal, Ctrl + L efface le contenu affiché, sauf la ligne courante. Il se rapproche le plus de la commande clear.

Dans l'application Nautilus, l'explorateur de fichiers du bureau Gnome, affiche la barre d'adresse éditable et le chemin au format canonique.

Dans un terminal, Ctrl + R recherche dans l'historique des commandes, la chaine que vous saisissez.

Dans un terminal, Ctrl + A déplace le curseur en début de ligne.

Dans un terminal, Ctrl + E déplace le curseur en fin de ligne.

Dans un terminal, Ctrl + ⇧ Shift + C copie dans le presse papier la sélection.

Dans un terminal, Ctrl + ⇧ Shift + V colle le contenu du presse papier à l'endroit du curseur. Équivalent : ⇧ Shift + Inser

Sur un bureau graphique Linux (Gnome par exemple), la combinaison de touches ⇧ Shift + Imp écran permet d'effectuer une capture d'écran fenêtrée. Cette capture sera enregistrée automatiquement dans le dossier Images.

Sur un bureau graphique Linux (Gnome par exemple), la combinaison ⇧ Shift + Ctrl + Imp écran permet d'effectuer une capture d'écran fenêtrée. Cette capture sera enregistrée automatiquement dans le dossier Images.

 

En standard, votre machine est configurée avec un ou plusieurs serveurs DNS externes. Cette déclaration est effectuée dans le fichier /etc/resolv.conf.

Exemple de fichiers /etc/resolv.conf

resolv.conf
# Generated by resolvconf
domain acegrp.lan
nameserver 192.168.100.3

Normalement, le fichier resolv.conf est géré dynamiquement par le service réseau. C'est la valeur par défaut. Elle est destinée aux ordinateurs portables et autres systèmes mobiles qui peuvent se connecter à différents réseaux. Elle fonctionne également bien pour de nombreux systèmes de bureau et de serveur, tant que l'infrastructure réseau est bien paramétrée.

Pour certains systèmes, sur certains réseaux, l'administrateur système peut souhaiter configurer /etc/resolv.conf à la main. Cela conduit à un conflit entre les changements de l'administrateur, et les changements dynamiques effectués par le service réseau.

Si vous éditez /etc/resolv.conf à la main, et que vous avez besoin d'empêcher le service réseau d'écraser vos changements, voici quelques options utiles à connaître.

Debian fournit deux paquets, chacun contenant un programme nommé resolvconf, qui peut être utilisé pour contrôler (ou carrément empêcher) l'altération du fichier /etc/resolv.conf par le service réseau. Ces paquets sont openresolv et resolvconf. Les deux programmes exactement le même résultat, et vous devez donc choisir l'un ou l'autre.

Ces paquets incluent divers fichiers de configuration pour d'autres paquets.

Pour savoir si c'est le programme resolvconf qui est installé, vous pouvez taper :

resolvconf -v

On part du principe que resolvconf est installé, et que vous utilisez ifupdown pour configurer vos interfaces réseaux. C'est la configuration standard en 2022.

Vous pouvez utiliser les entrées dns-nameserver dans le fichier de configuration approprié de /etc/network/interfaces.

Exemple de configuration avec dns-nameserver :

00-eth0
iface eth0 inet static
   address 192.168.1.3
   netmask 255.255.255.0
   gateway 192.168.1.1
   dns-nameserver 192.168.1.254
   dns-nameserver 9.9.9.9
   dns-search foo.org bar.com
 
iface default inet dhcp
 

 GNU Linux

Accéder à la page » GNU / Linux
cette catégorie n'existe pas : informatique:se:linux

 

mes notes sur Microsoft Windows

1. Windows 10 : et si on le remplaçait ?

Depuis 2015, avec le déploiement du nouveau Windows 10, on voit fleurir des tutoriaux et guide pour passer de nouveau sur Windows 8, Windows 8.1 voir Windows 7 :

  • Windows 10, Comment rétrograder son PC vers Windows 7 ou Windows 8.1 ?
  • Les 10 bonnes raisons de ne pas passer à Windows 10
  • Désinstaller Windows 10 et revenir à Windows 7 ou 8.1

Les raisons sont divers et multiples, voir même justifiées.

Windows 10 ne vous plaît pas forcément

lire cet article...

Windows 10 est trop lent sur votre ordinateur

lire cet article...

Marre de Windows ? Passez sur Fedora

2. D'autres notes interessantes

 

mes notes sur MS DOS

Une sélection de logiciels, utilitaires et de notes concernant Microsoft DOS. J'agrémente les articles de mes découvertes et savoir-faire.

 

Raspbian, c'est le système d'exploitation pour Raspberry Pi. C'est un GNU/Linux basé sur une Debian.

Accéder à la page » Raspberry Pi OS
cette catégorie n'existe pas : informatique:se:raspbian

 
 

Nom de la section

Dans un Terminal Linux sous Raspberry Pi OS, lorsque j’exécute une commande apt update par exemple, le message suivant apparaît :

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_CTYPE = "fr_FR.UTF-8",
	LANG = "en_GB.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

Cela signifie que les locales ne sont pas renseignées correctement.

On peut vérifier les locales actives avec la commande localectl list-locales

Imaginons que nous voulions activer la locale fr_FR.UTF-8.

1. Dé-commenter la ligne dans le fichier /etc/locale.gen

sudo sed -i 's/^# *\(fr_FR.UTF-8\)/\1/' /etc/locale.gen

2. Exécuter la commande locale-gen pour générer les fichiers

sudo locale-gen

3. La commande update-locale modifie le fichier/etc/default/locale afin de définir correctement les variables pour tous les comptes Linux.

sudo update-locale LANG=fr_FR.UTF-8 LANGUAGE=fr_FR.UTF-8 LC_ALL=fr_FR.UTF-8

4. Redémarrer et vérifier avec la commande locale

LANG=fr_FR.UTF-8
LANGUAGE=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=fr_FR.UTF-8
 

Simuler tail en PHP

<?php
$handle = popen("tail -f /etc/httpd/logs/access.log 2>&1", 'r');
while(!feof($handle)) {
    $buffer = fgets($handle);
    echo "$buffer<br/>\n";
    ob_flush();
    flush();
}
pclose($handle);
function follow($file)
{
    $size = 0;
    while (true) {
        clearstatcache();
        $currentSize = filesize($file);
        if ($size == $currentSize) {
            usleep(100);
            continue;
        }
 
        $fh = fopen($file, "r");
        fseek($fh, $size);
 
        while ($d = fgets($fh)) {
            echo $d;
        }
 
        fclose($fh);
        $size = $currentSize;
    }
}
 
follow("file.txt");
 

Postfix update certificate

On part du principe que :

  • le nom de domaine d'envoi des mails est smtp.monserveur.fr
  • le certificat de votre nom de domaine est géré par Let's Encrypt et est opérationnel
  • le renouvellement automatique opéré par Certbot utilise le protocole ACME et est opérationnel.

L'objectif est de copier le certificat et la clé du domaine pour postfix de manière automatique et régulière.

1. Se connecter sur le serveur avec le compte root

2. Créer le fichier /root/scripts/update_smtpd_certificat.sh

nano /root/scripts/update_smtpd_certificat.sh

avec le contenu suivant

update_smtpd_certificat.sh
#!/bin/bash
# mettre à jour le certificat pour smtpd
cp /etc/letsencrypt/live/smtp.monserveur.fr/cert.pem /etc/postfix/smtpd.cert
cp /etc/letsencrypt/live/smtp.monserveur.fr/privkey.pem /etc/postfix/smtpd.key

Attention, il se peut que le fichier /etc/postfix/smtpd.cert soit un alias vers /usr/local/ispconfig/interface/ssl/ispserver.crt dans le cadre de l'utilisation d'ISP Config

Le script écrasera systématiquement les fichiers cibles dans le dossier /etc/postfix

3. Rendre exécutable le script

chown +x /root/scripts/update_smtpd_certificat.sh

4. Programmer le script avec crontab

crontab -e
0 0 * * * /root/scripts/update_smtpd_certificat.sh 2>&1

5. Vérifier le certificat

openssl x509 -text -in /etc/postfix/smtpd.cert
 

Fichier XML de la liste des sites

<site-list version="205">
    <!-- File creation header -->
    <created-by>
        <tool>EnterpriseSiteListManager</tool>
        <version>10586</version>
        <date-created>20150728.135021</date-created>
    </created-by>
    <!-- Begin Site List --> 
    <site url="www.cpandl.com">
        <compat-mode>IE8Enterprise</compat-mode>
        <open-in>IE11</open-in>
    </site>
    <site url="www.woodgrovebank.com">
        <compat-mode>Default</compat-mode>
        <open-in>IE11</open-in>
    </site>
    <site url="adatum.com">
        <compat-mode>IE7Enterprise</compat-mode>
        <open-in>IE11</open-in>
    </site>
    <site url="relecloud.com"/>  
    <!-- default for self-closing XML tag is 
        <compat-mode>Default</compat-mode>
        <open-in>None</open-in>
    -->
    <site url="relecloud.com/products">  
        <compat-mode>IE8Enterprise"</compat-mode>
        <open-in>IE11</open-in>
    </site>
    <site url="contoso.com/travel">
        <compat-mode>IE7</compat-mode>
        <open-in>IE11</open-in>
    </site>
    <site url="fabrikam.com">
         <compat-mode>IE7</compat-mode>
         <open-in>IE11</open-in>
    </site>
</site-list>
 

Nom de la section

La commande PHP, une fois validée, attendra du code PHP. Il faudra indiquer la code de fin de fichier (EOF, Ctrl + D) pour que le code PHP s’exécute.

On peut utiliser l'option -r, qui execute le code PHP sans utiliser les tags <? … ?>

php -r 'echo  date("c");'
 

Nom de la section

woob regroupe une collection d'applications capables d'interagir avec des sites Internet, sans qu'il soit nécessaire d'ouvrir un navigateur Web. Il s'agit d'interagir avec les APIs des sites.

Les applications sont regroupées par thèmes. Les thèmes ainsi que le détail des applications sont disponibles sur la page https://woob.tech/applications/

pip install woob
 

Nom de la section

Le programme zigbee2mqtt permet de transposer les informations d'un réseau Zigbee à un bus de message MQTT.

Il est nécessaire de disposer d'un bus de message MQTT et d'un récepteur Zigbee.

Reprise des éléments de la page https://www.zigbee2mqtt.io/guide/installation/01_linux.html

Installation de Zigbee2MQTT sur un Raspberry Pi 3 fonctionnant sur la distribution Raspberry Pi OS Linux fraîchement installée.

Avant d'installer Zigbee2MQTT, nous vérifions que l'adaptateur Zigbee soit bien reconnu par Raspberry Pi OS. Il doit être reconnu en tant que périphérique USB avec la commande lsusb:

Bus 001 Device 005: ID 1a86:55d4 QinHeng Electronics SONOFF Zigbee 3.0 USB Dongle Plus V2

La communication s’effectuera par un port série émulé. On peut vérifier la disponibilité du port avec la commande ls -l /dev/serial/by-id :

total 0
lrwxrwxrwx 1 root root 13  5 nov.  09:20 usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20220818080300-if00 -> ../../ttyACM0

Enfin, on lance l'installation de Zigbee2 MQTT

# Set up Node.js repository and install Node.js + required dependencies
# NOTE: Older i386 hardware can work with [unofficial-builds.nodejs.org](https://unofficial-builds.nodejs.org/download/release/v16.15.0/ e.g. Version 16.15.0 should work.
sudo curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs git make g++ gcc
 
# Verify that the correct nodejs and npm (automatically installed with nodejs)
# version has been installed
node --version  # Should output v14.X, V16.x, V17.x or V18.X
npm --version  # Should output 6.X, 7.X or 8.X
 
# Create a directory for zigbee2mqtt and set your user as owner of it
sudo mkdir /opt/zigbee2mqtt
sudo chown -R ${USER}: /opt/zigbee2mqtt
 
# Clone Zigbee2MQTT repository
git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
 
# Install dependencies (as user "pi")
cd /opt/zigbee2mqtt
npm ci

Le fichier de configuration se trouve dans /opt/zigbee2mqtt/data/configuration.yaml

Pour une configuration de base, les paramètres par défaut sont suffisant.

# MQTT settings
mqtt:
  # MQTT base topic for Zigbee2MQTT MQTT messages
  base_topic: zigbee2mqtt
  # MQTT server URL
  server: 'mqtt://localhost'
  # MQTT server authentication, uncomment if required:
  # user: my_user
  # password: my_password
 
# Serial settings
serial:
  # Location of the adapter (see first step of this guide)
  port: /dev/ttyACM0

Pour les clés SONOFF Zigbee 3.0 USB Dongle Plus V2, ZBDongle-E ajouter l'options suivante :

serial:
  adapter: ezsp

Vous pouvez ajouter une clé réseau. Elle sera générée au prochain démarrage du service.

advanced:
    network_key: GENERATE

Vous pouvez activer le frontend :

frontend:
  # Optional, default 8080
  port: 8080
  # Optional, default 0.0.0.0
  host: 0.0.0.0
  # Optional, enables authentication, disabled by default
  auth_token: your-secret-token
  # Optional, url on which the frontend can be reached, currently only used for the Home Assistant device configuration page
  url: 'https://zigbee2mqtt.myhouse.org'

Pour démarrer Zigbee2MQTT, il suffit de se rendre dans le dossier du programme et effectuer le npm start.

cd /opt/zigbee2mqtt
npm start

Le programme s'executera jusqu'à vous effectuiez une interruption de programme en appuyant simultanément sur Ctrl + C

Pour démarrer automatiquement Zigbee2MQTT, il faut inscrire le programme en tant que service.

1. Éditer une nouveau fichier /etc/systemd/system/zigbee2mqtt.service

sudo nano /etc/systemd/system/zigbee2mqtt.service

2. Écrivez les paramètres et instructions suivants

[Unit]
Description=zigbee2mqtt
After=network.target

[Service]
Environment=NODE_ENV=production
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
# Ou utilisez StandardOutput=null si vous ne voulez pas que les messages de Zigbee2MQTT remplissent le SYSLOG
StandardError=inherit
Restart=always
RestartSec=10s
User=pi
# Modifiez le compte par le votre

[Install]
WantedBy=multi-user.target

Inscrire le service en démarrage automatique :

sudo systemctl enable zigbee2mqtt.service

Démarrer le service :

sudo systemctl start zigbee2mqtt

Vérifier l'état du service :

systemctl status zigbee2mqtt.service

Consulter le journal :

sudo journalctl -u zigbee2mqtt.service -f
# Stop Zigbee2MQTT and go to directory
sudo systemctl stop zigbee2mqtt
cd /opt/zigbee2mqtt

# Backup configuration
cp -R data data-backup

# Update
git pull
npm ci

# Restore configuration
cp -R data-backup/* data
rm -rf data-backup

# Start Zigbee2MQTT
sudo systemctl start zigbee2mqtt
 
  • informatique/index.txt
  • Dernière modification : 2021/01/16 05:10
  • de Cédric ABONNEL