2017-05-20

Il y aura deux séries de billets montrant comment j'utilise le logiciel de domotique Domoticz sur le Raspberry Pi, un très populaire nano-ordinateur monocarte. Les deux premiers messages seront communs pour les deux séries. Ensuite, une série de publications portera sur l'utilisation de matériel X10, fonctionnant par transmission sur le courant secteur, avec Domoticz sur un vieux modèle Raspberry Pi. La deuxième série de publications concernera l'utilisation du matériel basé sur le ESP8266, principalement des commutateurs WiFi Sonoff d'ITEAD reprogrammés, avec Domoticz sur le plus récent modèle Raspberry Pi.

Deux raisons expliquent pourquoi je recommence ces discussions. La plupart de mes appareils X10 filaires auront bientôt une nouvelle demeure. Les modules de lampes, les modules d'appareils, les prises, deux vieux contrôleurs à distance Plug'n play de Radio Shack, une interface CM11A et un ancien Raspberry Pi hébergeant un serveur de domotique Domoticz iront chez ma soeur dans quelques semaines .

Dernièrement, j'ai « détruit » la carte SD sur le Raspberry Pi 3 exécutant ma version antérieure de Domoticz. Il faut en tirer une leçon sur l'importance de tout sauvegarder régulièrement. C'est aussi une excellente occasion de recommencer et, espérons-le, d'améliorer les choses. J'en profite pour me défaire d'un certain encombrement associé à l'utilisation de ce que je considère maintenant comme du matériel périmé même s'il fonctionne encore. Cependant, jusqu'à ce que je remplace les contrôleurs sans fil X10 que j'utilise actuellement, le support pour le matériel sans fil X10 sera installé sur le Pi plus récent.

Table des matières

  1. Matériel
  2. Installation de Raspbian Jessie Lite
  3. Premier démarrage
  4. Mise à niveau de Raspbian
  5. Adresse IP statique et connexion WiFi
  6. Explorer la configuration d'un routeur
  7. Configuration du Raspberry Pi
  8. Session SSH
  9. Astuce au sujet du journal
  10. Installation de Domoticz
  11. Paramétrage de base de Domoticz

  1. Matériel
  2. Le serveur domotique de ma soeur sera le logiciel Domoticz roulant sur un Raspberry Pi modèle B (Rev 2.0) (circa 2011.12). Il s'agit d'un des premiers modèles, avec deux ports USB 2.0, un port Ethernet 10/100Mb et 512 Mo de mémoire. Le processeur est un ARM1176JZF-S (monocœur, 32 bits) qui fonctionne à 700 Mhz nominalement, mais qui est légèrement accéléré pour fonctionner à 800 Mhz.

    Mon propre système domotique sera aussi Domoticz mais sur un Raspberry Pi 3 B. Ce dernier a quatre ports USB 2.0, un port Ethernet 10/100Mb, et 1 Go de mémoire. WiFi et Bluetooth sont aussi intégrés. Le CPU de 64 bits, un ARM Cortex-A53, a quatre coeurs et fonctionne à 1,2 GHz. C'est le dernier modèle Raspberry Pi, hormis le modèle Zero W.

    Il existe très peu de différences entre les deux systèmes en matière d'installation du système d'exploitation et du logiciel de domotique. Par conséquent, la description suivante s'applique aux deux.

  3. Installation de Raspbian Jessie Lite
  4. Il existe une nouvelle façon de graver une image sur une carte SD: ETCHER. Ce logiciel est disponible pour Linux, Windows et OS X, alors le flash de la carte SD avec le système d'exploitation devrait être, pour la plupart, le même dans tous les cas.

    1. Télécharger la dernière version de Raspian Jessie Lite. J'ai obtenu la version 2017-04-10, Kernel 4.4, mais la fondation mettra à jour ce fichier de temps en temps, alors prévoyez de petites modifications de la procédure de configuration. Il n'est pas nécessaire d'extraire le fichier image de l'archive téléchargée.
    2. Télécharger la bonne version de ETCHER en fonction du système d'exploitation de l'ordinateur de bureau.
    3. Il faut extraire l'application. Dans Linux 64 bits, elle se nomme Etcher-1.0.0-linux-x64.AppImage.
    4. Insérer la carte SD dans un lecteur de carte de l'ordinateur bureau.
    5. Double-cliquer sur Etcher-1.0.0-linux-x64.AppImage. A chaque fois que le logiciel demande s'il doit être installé, je réponds No, mais si vous pensez que vous réutiliserez cette application souvent, vous pouvez toujours répondre Yes.
    6. Attendre que Etcher démarre, ce qui peut prendre quelques dizaines de secondes.
    7. Cliquer sur Select image et sélectionner l'archive téléchargée de Raspian Jessie.
    8. Si ETCHER n'affiche pas la bonne carte SD comme cible, cliquer sur Change et sélectionner la bonne cible. Puisque qu'une seule carte de mémoire SD est branché et qu'aucun autre lecteur amovible n'est branché à mon ordinateur, ETCHER n'a éprouvé aucun problème à identifier la bonne cible.
    9. Cliquer sur Flash!.
    10. Attendre jusqu'à ce que Etcher ait fini de téléverser le système d'exploitation sur la carte et d'en vérifier le contenu puis fermer l'application.

    Simple, efficace, ETCHER (ou est-ce Etcher?) est très bon. Merci à ses développeurs.

  5. Premier démarrage
  6. Insérez la carte mémoire SD dans le Raspberry Pi, connectez un clavier USB (il n'y a pas nécessaire ni même utile d'utiliser une souris) et un moniteur. Enfin, connectez l'alimentation. Si tout va bien, Raspbian démarrera. Il peut redimensionner le système de fichiers, auquel cas il redémarrera très rapidement. Connectez-vous après la séquence de démarrage:

    Raspbian GNU/Linux 8 raspberrypi tty1 raspberrypi login: pi Password: raspberry rien n'est affiché Last login: ... pi@raspberrypi:~ $

    Plus tard, je montrerai comment changer le mot de passe. Cela devrait toujours être fait. Rappelez-vous, le piratage informatique est souvent facilité parce que les mots de passe par défaut bien connus ne sont pas modifiés.

  7. Mise à niveau de Raspbian
  8. J'ai mis à jour et à niveau Raspbian immédiatement parce qu'il était possible de connecter le Raspberry Pi au réseau local avec un câble Ethernet.

    pi@raspberrypi:~ $ sudo apt-get update ... pi@raspberrypi:~ $ sudo apt-get upgrade ... 47 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 102 MB of archives. After this operation, 4,491 kB of additional disk space will be used. Do you want to continue? [Y/n] y

    Avec le plus vieux Raspberry Pi, cette dernière étape prend beaucoup de temps. Offrez-vous un café. Vous aurez peut-être le loisir d'enfin terminer la lecture de La Guerre et la Paix de Tolstoï. Sur le Raspberry Pi 3, vous aurez le temps de savourer des viennoiseries avec votre café.

    Si vous n'avez accès qu'à une connexion Wi-Fi, passez à l'étape suivante immédiatement et mettez le système à jour plus tard une fois la connexion établie.

  9. Adresse IP statique et connexion WiFi
  10. Le programme domotique Domoticz contient un serveur Web auquel on accède avec un navigateur Web tel que Firefox, Chrome, Safari . Cela signifie que le serveur Web doit se trouver à une adresse IP fixe. Cependant, par défaut, le Raspberry Pi utilise le protocole DHCP pour obtenir une adresse IP variable à partir d'un serveur DHCP sur le réseau local. Ce serveur sera en toute probabilité le routeur fourni par le fournisseur de services Internet.

    Cela signifie que certains changements doivent être apportés à la configuration du réseau. Cela signifie également qu'une décision doit être prise quant à quelle interface sera utilisée. Le Raspberry Pi 3 contient deux interfaces réseau: une liaison Ethernet câblée (câble Cat5 ou Cat6 avec connecteurs RJ45) et une connexion WiFi sans fil. J'utilise l'interface sans fil, car elle me permet de placer le Raspberry Pi hors de la vue sous une petite bibliothèque. Un dongle USB-WiFi fournit une connexion sans fil au réseau local sur l'ancien Raspberry Pi. Je ne sais pas encore laquelle de l'interface filaire ou sans fil de ce dernier sera utilisée, mais j'espère qu'il sera possible de mettre le petit ordinateur à proximité du routeur et d'utiliser une connexion filaire, car il n'y a que deux connecteurs USB sur l'ancien Raspberry Pi.

    Voici comment configurer Raspiam pour affecter une adresse IP statique aux interfaces câblée et sans fil. Ouvrez le fichier de configuration de dhcpcd dans l'éditeur nano et ajoutez les lignes suivantes, bien qu'avec les modifications appropriées!

    pi@raspberrypi:~ $ sudo nano /etc/dhcpcd.conf
    interface eth0 static ip_address=192.168.0.21 static routers=192.168.0.1 static domain_name_servers=192.168.0.1 interface wlan0 static ip_address=192.168.0.22 static routers=192.168.0.1 static domain_name_servers=192.168.0.1

    Par « modifications appropriées », je voulais dire que vous devrez choisir les adresses IP appropriées pour les interfaces, le routeur et le serveur de noms de domaine pour votre réseau local. L'interface eth0 se réfère à un lien filaire vers un commutateur ou un routeur sur le réseau local (LAN) avec un câble Ethernet alors que l'interface wlan0 se réfère à un lien sans fil vers un routeur WiFi sur le réseau local. Bien sûr, dans certains cas, il serait parfaitement acceptable d'avoir une seule adresse statique. Cependant, si vous en avez deux, leurs adresses IP doivent être différentes. De plus, les adresses IP attribuées ne doivent pas être utilisées par d'autres périphériques connectés au réseau local.

    Puisque je prépare deux serveurs et qu'ils seront branchés simultanément sur le même réseau, au moins pendant quelques semaines, chacun a un ensemble d'adresses statiques différent. Pour simplifier, je supposerai dorénavant que l'adresse IP statique affectée au Raspberry Pi est 192.168.0.22.

    Enregistrez le fichier de configuration. Dans l'éditeur nano , faites-le en appuyant simultanément sur Ctrl   O (lettre O et non le numéro 0), puis appuyez sur sur la Entrée pour enregistrer le fichier avec son nom de fichier actuel. Quittez nano en appuyant sur Ctrl  X.

    Il faut une étape supplémentaire pour activer la connexion sans fil si elle est utilisée. Les instructions suivantes proviennent de la documentation de la Fondation Raspberry. Ouvrez le fichier de configuration wpa-supplicant avec l'éditeur nano et ajoutez ce qui suit au bas du fichier.

    pi@raspberrypi:~ $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
    network={ ssid="Name_of_your_wifi_network" psk="your_wifi_password" }

    Enregistrez ce fichier de configuration comme précédemment. On peut aussi quitter nano (Ctrl  X) en n'oubliant surtout pas d'accepter de sauvegarder le fichier modifié.

    Il est temps de vérifier que cela fonctionne. Tout d'abord, débranchez le Raspberry Pi, puis remettez-le en marche, ou préférablement relancez le Raspberry Pi puis connectez-vous à nouveau :

    pi@raspberrypi:~ $ sudo reboot ... raspberrypi login: pi Password: raspberry nothing will show on the screen Last login: ...

    Vérifier la configuration réseau :

    pi@raspberrypi:~ $ ifconfig pi@domo:~ $ ifconfig eth0 Link encap:Ethernet HWaddr b0:c7:eb:ff:56:fd inet addr:192.168.0.21 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: 3718:fea8:f081:da5:663a:339e:a15b:e3b4/64 Scope:Global ... RX bytes:37439 (36.5 KiB) TX bytes:29853 (29.1 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 ... RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) wlan0 Link encap:Ethernet HWaddr b8:27:eb:aa:03:a8 inet addr:192.168.0.22 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: de00:eb:ad4b:71b2:cce9:8e3e:e948:8986/64 Scope:Global ... RX bytes:26657 (26.0 KiB) TX bytes:21434 (20.9 KiB)

    Si vous ne voyez pas quelque chose comme inet addr: 192.168.0.21 tel qu'on peut voir ci-dessus, il se peut que seules les adresses IP de la version 6 soient affectées aux interfaces. J'ai eu ce problème avec Raspian Jessie. Après quelques recherches, j'ai trouvé la solution suivante. Créez le fichier /etc/sysctl.d/local.conf contenant une seule ligne désactivant IPv6.

    pi@raspberrypi:~ $ sudo nano /etc/sysctl.d/local.conf
    net.ipv6.conf.all.disable_ipv6=1

    Enregistrez ce fichier de configuration de la manière habituelle. Appuyez simultanément sur Ctrl   O (lettre O et non le numéro 0), puis appuyez sur la touche Entrée pour enregistrer le fichier avec son nom de fichier actuel. Quittez nano en appuyant sur Ctrl  X.

    Même si les adresses statiques IP version 4 sont affectées, vous pouvez désactiver la version IP 6 sur le Raspberry Pi comme indiqué ci-dessus. Pour autant que je sache, il n'y a pas de besoin réel pour la version IPv6 sur un réseau local et, en n'exécutant pas ce service, on allège un peu le travail exigé du Raspberry Pi. Cela dit, le router de mon fournisseur de services Internet supporte IPv6 alors, IPv4 est peut-être déjà en voie de disparition.

    Redémarrez et vérifiez avec ifconfig. Tout devrait maintenant fonctionner. Si ce n'est malheureusement pas le cas, consultez la section suivante.

    Si le contenu de dhcpcd.conf est incompréhensible, courage, la recherche des adresses IP nécessaires ne doit être effectuée qu'une seule fois et il existe beaucoup d'information sur le Web si ce que vous trouvez dans ce cadre n'est pas suffisant.

    La première étape consiste à repérer l'adresse IP de votre routeur. Jetez un coup d'oeil sur l'appareil lui-même. Si vous n'avez pas de la chance et ne trouvez rien, essayez d'exécuter nmap sur une machine de bureau Linux (il est installé par défaut dans Ubuntu), ou Angry IP Scanner sur un ordinateur Windows (fonctionne également sous Linux et MAC). Si vous avez un routeur sans fil, vous pouvez essayer NetX sur une tablette ou un téléphone Android. Je suis sûr qu'il existe quelque chose d'équivalent sur IOS. Bien sûr, cette machine doit être connectée à votre réseau local.

    Voici la sortie nmap sur mon bureau Ubuntu. Notez que cela se fait à partir d'un terminal (c'est-à-dire une ligne de commande pour les utilisateurs de Windows). La façon la plus simple de démarrer un terminal dans Ubuntu est avec le "salut à trois doigts" Alt Ctrl T.

    michel@hp:~$ nmap -sn 192.168.0.0/24 Starting Nmap 6.40 ( http://nmap.org ) at 2017-05-21 14:38 ADT Nmap scan report for hitronhub.home (192.168.0.1) Host is up (0.0031s latency). Nmap scan report for 192.168.0.2 Host is up (0.0018s latency). Nmap scan report for 192.168.0.4 ... Nmap done: 256 IP addresses (15 hosts up) scanned in 2.57 seconds michel@hp:~$

    Heureusement, la première entrée contient également un nom d'hôte et, quelle chance, mon routeur est un Hitron. Presto! 192.168.0.1 est l'adresse IP du routeur. Dans la grande majorité des cas, c'est aussi l'adresse du serveur de noms de domaine (DNS). (Ok, pour être pédant, c'est la passerelle vers un couple de serveurs DNS gérés par mon fournisseur de services Internet.)

    Il est possible de vérifier cette adresse. Ouvrez un navigateur Web sur votre ordinateur de bureau ou un autre ordinateur connecté au réseau local et entrez l'adresse IP dans la barre d'adresse. Vous devriez obtenir une fenêtre d'ouverture de session qui ressemble à la mienne, mais rappelez-vous que chaque modèle de routeur est différent.

    Router login screen

    D'où vient l'incantation 192.168.0.0/24 utilisée avec nmap? Les adresses «sous-réseau»" typiques des routeurs destinés aux ménages sont 192.168.0.0/24, 192.168.1.0/24 et peut-être 192.168.10.0/24. Vous pourriez essayer ceux-là. Pour une démarche plus scientifique, exécutez ifconfig ( ipconfig dans Windows) dans un terminal sur un ordinateur connecté au réseau local :

    michel@hp:~$ ifconfig eth0 Link encap:Ethernet HWaddr 20:25:64:7b:f0:af UP BROADCAST MULTICAST MTU:1500 Metric:1 Packets reçus:0 erreurs:0 :0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B) ... wlan0 Link encap:Ethernet HWaddr b8:ee:65:ef:35:2b inet adr:192.168.0.152 Bcast:192.168.0.255 Mask:255.255.255.0 adr inet6: fd00:fc:8d4f:71b2:baee:65ff:feef:352b/64 Scope:Global

    Recherchez inet adr:aaa.bbb.ccc.ddd sur l'une des interfaces. Mon ordinateur de bureau n'a qu'une connexion sans fil au réseau local dont l'adresse IP est 192.168.0.152. Le masque de sous-réseau est 255.255.255.0. Ce dernier 0 dans le masque signifie que le «préfixe de sous-réseau» est composé des 3 premiers octets (donc 24 bits qui expliquent le /24) alors que les périphériques sur le réseau, y compris le routeur, sont identifiés par le dernier octet de l'adresse avec des valeurs décimales de 0 à 254. Nous gardons donc les trois premiers octets et remplaçons pour le dernier octet par 0 pour obtenir 192.168.0.0.

    Comment s'assurer qu'une adresse IP statique est inutilisée? Regardez à nouveau la sortie de nmap. On devrait y voir toutes les adresses IP actuellement utilisées. Alors, choisissez une adresse qui n'est pas dans cette liste. Dans mon expérience, le routeur va découvrir cette adresse IP autoattribuée et évitera de l'attribuer à d'autres appareils utilisant le protocole DHCP pour obtenir une adresse dynamique.

  11. Explorer la configuration d'un routeur
  12. Comme vous devez trouver l'adresse IP du routeur, vous voudrez peut-être modifier certains paramètres de sa configuration. Ceci est facultatif. Rappelez-vous que non seulement vous devez connaître l'adresse IP du routeur, mais vous aurez également besoin du nom d'utilisateur et de son mot de passe pour continuer. Un bon moteur de recherche peut être votre meilleur ami pour savoir comment se connecter au serveur Web du routeur et comment modifier les paramètres.

    Tout d'abord, je vous suggère de modifier le mot de passe par défaut. Les routeurs sont de petits ordinateurs et ils peuvent être piratés dans certains cas.

    Ma deuxième suggestion consiste à limiter la portée des adresses IP qui peuvent être attribuées par le serveur DHCP. Dans ce cas, vous devez toujours choisir une adresse statique en dehors de cette plage. Cela évitera tous les conflits possibles (à l'exception de ceux que vous créez en assignant la même adresse statique à un autre périphérique ... ça arrive, croyez-moi).

    Si vous ne parvenez pas à obtenir une adresse IP statique en modifiant la configuration du Raspberry Pi, vous pouvez probablement le faire avec le routeur. Cela se fait en attribuant une adresse IP à un périphérique en fonction de l'adresse de contrôle d'accès multimédia (adresse MAC) que toutes les interfaces réseau ont et qui est toujours unique. Encore une fois, le réglage des paramètres sur chaque routeur est différent, mais avec mon routeur, il faut cliquer sur le bouton DHCP Reservation sur la page Paramètres de base, puis faire défiler jusqu'à la zone Manually Add Client area. Basic Settings

    Ensuite, spécifiez un Nom du Client («Domo« par exemple) l'adresse IP statique souhaitée («192.168.0.21«) et l'adresse MAC de l'interface («b0:c7:eb:ff:56:fd») qu'on retrouve sous la rubrique HWaddr dans La sortie de l'utilitaire ifconfig.

    Si tout a échoué et que vous ne pouvez pas obtenir une adresse IP statique, je vous suggère d'augmenter la durée du bail DHCP le plus possible. Fondamentalement, cela «réserve» une adresse IP affectée dynamiquement pour un périphérique pour le temps spécifié même si l'appareil rompt la connexion. Sur mon routeur, je peux spécifier un temps de location «forever». Je suppose que cela équivaut presque à une adresse statique. Mais il n'est pas nécessaire de fixer une durée éternelle, il suffit de choisir le bail d'une durée plus longue que le temps hors connexion prévisible du Raspberry Pi.

    Bien que j'ai réussi à définir une adresse statique dans le Raspberry Pi, je trouve utile d'avoir un bail DHCP relativement long. Cela aide dans la gestion des périphériques de type IoT (comme les commutateurs Sonoff) puisque leur adresse IP ne changera pas à chaque redémarrage.

    Comme vous pouvez le voir, à l'exception du changement de mot de passe, toutes mes suggestions peuvent être faites dans une seule page de paramètres de base sur mon routeur: Basic Settings Ce pourrait être plus complexe avec d'autres modèles de routeur.

  13. Configuration du Raspberry Pi
  14. Il est beaucoup plus facile d'exécuter le Raspberry Pi comme un «  serveur sans tête » (ou faut-il dire un « serveur étêté »?), ce qui signifie qu'il fonctionnera sans clavier, sans souris et sans moniteur. D'ailleurs, mon système domotique est caché sous une bibliothèque et j'apporte les modifications aux logiciels du Raspberry Pi depuis mon ordinateur de bureau branché sur le même réseau local en utilisant une session SSH. Mais avant d'en arriver là, le serveur SSH du Raspberry Pi doit être activé. D'autres paramètres peuvent être réglés en même temps. Tout cela peut se faire avec l'utilitaire raspi-config :

    pi@raspberrypi:~ $ sudo raspi-config

    La fenêtre suivante, en mode texte, apparaît. Utilisez les touches de curseur vers le haut et ver le bas pour déplacer la barre de sélection dans le menu et la touche de tabulation ou les touches de curseur vers la droite et vers la gauche pour passer du menu aux boutons d'action en bas. main menu - Change User
Password C'est une très bonne chose de changer le mot de passe qu'on retrouve comme première option de configuration. Appuyez sur la touche Tab pour aboutir à l'action <Select> action et appuyer sur la touche Entrée ou sur la barre d'espace pour continuer avec la définition d'un nouveau mot de passe.

    De retour dans le menu principal, le nom de l'ordinateur peut être modifié. main menu - Hostname J'ai changé le nom de raspberrypi à domopole sur le plus vieux Raspberry Pi et à domo sur le plus récent. C'est optionnel, mais utile pour faciliter l'identification du Raspberry Pi quand on travaille avec les deux simultanément.

    Les options de démarrage, Boot Options, n'ont pas à être changées. En revanche, les options de localisations, Localisation Options, devraient être ajustées.
    Advanced Options - Localisation Options

    Au minimum, sélectionnez le bon fuseau horaire, Timezone, en identifiant la plus proche ville dans une liste. main menu - Localisation Options Actionner <Select> pour voir cette liste.

    En premier on sélectionne un continent ou une région (Geographic area): Localisation - Change Timezone

    Après on sélectionne une ville. Change Timezone - Geographic Area Elles sont presque en ordre alphabétique. Frapper sur une lettre sur le clavier déplace la sélection vers la première vile dont le nom commence avec la lettre.

    On peut maintenant activer le serveur SSH. En premier on sélectionne les options d'interface, Interfacing Options, dans le menu principal : Main menu - Interfacing Options

    Puis on sélectionne SSH dans la fenêtre suivante : Interface - SSH

    Puis on complète l'opération en répondant oui, Yes, lorsqu'il faut confirmer l'activation du serveur SSH: SSH - Enable SSH server Dorénavant, tout peut être fait d'un autre ordinateur branché sur le même réseau local en ouvrant une session SSH comme expliqué dans la prochaine section.

    De retour dans le menu principal, sélectionnez les options avancées, Advanced Options :
    Main menu - Advances Options

    Si cela n'a pas été déjà fait, étendre le système de fichier à la taille maximum en sélectionnant l'option Expand Filesystem: Advanced Options - Expand Filesystem et cliquer sur Ok quand la partition racine a été redimensionnée:
    Advanced Options - End of Expand Filesystem Je pense que rien de mauvais n'arrivera si on fait cette opération sur alors que le système de fichier était déjà à sa taille maximum.

    De retour dans les options avancées, Advances Options, sélectionnez l'allocation de la mémoire, Memory Split : Advanced Options - Memory Split et fixez à 16 MB quantité de mémoire affectée au processeur graphique (GPU) : Advanced Options - GPU Memory Puisque qu'aucun logiciel graphique ne sera utilisé sur ce serveur sans moniteur, cela ne donnerait rien de consacrer plus de mémoire à cette fin..

    Pour accélérer la vitesse de fonctionnement du processeur, sélectionnez l'option Overclock dans le menu principal. Ceci est optionnel. Ci-dessous on peut voir un légère augmentation de la vitesse du vieux Rapsberry Pi. On ne peut pas en faire autant avec le Raspberry Pi 3, mais il y a de l'information supplémentaire à ce sujet sur le Web pour les plus courageux. Advanced Options - Overclock Faites attention à l'avertissement: Advanced Options - Overclock warning et puis modifier la fréquence du microprocesseur et ainsi que la tension à laquelle il est soumis a vos propres risques et périls. Advanced Options - Overclocking Si vous décidez d'accélérer le matériel, pensez à ajouter une façon de dissiper la chaleur additionnelle avec un dissipateur thermique et une ventilation accrue.

    Il ne devrait pas être nécessaire de faire une mise à jour, Update, si elle a déjà été faite pour le système auparavant. L'étape finale consiste à activer Finish dans le menu principal: Main menu - Memory Finish Si le logiciel le demande, redémarrer le système : Main menu - Finish - reboot Si le système n'offre pas cette possibilité, il est préférable de le faire si vous avez changé le nom du l'ordinateur. Prenez votre courage à deux mains, et coûte que coûte, redémarrez de toute façon, c'est ce qui est le plus sage :

    pi@raspberrypi:~ $ sudo reboot ... domopole login: pi Password: nouveau_mot_de_passe rien n'est affiché Last login: ...

    Si vous désirez vérifier que la taille du système de fichiers correspond à la taille de la carte de mémoire SD, il y aplusieurs façons de s'y prendre. En voici une d'elles 

    pi@domopole:~ $ df -h --output=source,fstype,size,target -x tmpfs -x devtmpfs Filesystem Type Size Mounted on /dev/root ext4 15G / /dev/mmcblk0p1 vfat 41M /boot
    ce qui correspond au 16 Go de la carte SD.

  15. Session SSH
  16. Désormais, je vais contrôler le Raspberry Pi depuis mon ordinateur de bureau, appelé hp (devinez-vous pourquoi?). Pour cela, j'ouvre une session SSH. Comme c'est la première fois, une clé de sécurité sera ajoutée.

    michel@hp:~$ ssh pi@192.168.0.22 The authenticity of host '192.168.0.22 (192.168.0.22)' can't be established. ECDSA key fingerprint is 1e:21:76:b1:3f:81:a7:21:68:1c:44:33:1d:c8:18:f9. Are you sure you want to continue connecting (yes/no)? yes pi@192.168.0.22's password: enter new password The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sat May 20 09:05:46 2017 pi@domopole:~ $

    La connexion SSH sera plus simple après:

    michel@hp:~$ ssh pi@192.168.0.22 pi@192.168.0.55's password: enter new password ...blah blah blah pi@domopole:~ $

    Puisque tout semble fonctionner, j'ai débranché le clavier et le moniteur du Raspberry Pi.

    Ce n'est pas nécessaire d'utiliser un ordinateur de bureau, c'est plus simple et efficace dans mon cas. Tout ce qui suit ci-dessous peut être fait avec le Raspberry Pi auquel sont connectés un clavier et un moniteur.

    Si la connexion n'a pas été acceptée et que s'affiche un long message tel que ceci :

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. ... Host key verification failed.
    il n'y a probablement rien de néfaste en cours. Chaque fois que j'ai eu ce message, c'était parce que j'avais déjà ouvert une session SSH avec un autre appareil utilisant la même adresse IP mais ayant une clé de sécurité différente. Comme indiqué dans le message, entrez
    michel@hp:~$ ssh-keygen -f "/home/michel/.ssh/known_hosts" -R 192.168.0.22
    ce qui effacera la vieille clé puis essayez d'établir la connexion de nouveau.

  17. Astuce au sujet du journal
  18. Par défaut, les journaux sont des fichiers enregistrés sur la carte SD par systemd. Ce n'est peut-être pas le meilleur arrangement, car il y a une limite au nombre de lectures et d'écritures pouvant être effectuées sur une carte SD. Il est préférable d'écrire le journal en mémoire.

    Modifiez le fichier de configuration journald, en changeant trois lignes comme indiqué ci-après.

    pi@domopole:~ $ sudo nano /etc/systemd/journald.conf
    # This file is part of systemd. # [Journal] Storage=volatile Compress=yes RuntimeMaxUse=48M

    La source de cette astuce est le wiki de Domoticz. Il peut être préférable d'attendre avant de suivre ce conseil afin que les journaux soient persistants jusqu'à ce que tout soit stable.

  19. Installation de Domoticz
  20. Comme l'explique la page de téléchargement de Domoticz, un script d'une ligne installe le programme.

    pi@domopole:~ $ sudo curl -L install.domoticz.com | bash

    Il y a un peu plus à faire évidemment. Il faut répondre à quelques questions, mais les réponses par défaut sont acceptables :

    Le premier écran affiché par l'installateur rappelle qu'une adresse IP statique est nécessaire et une suggère de faire un don au projet : Ensuite, un écran demande si l'accès HTTP et HTTPS (HTTP sécurisé) au serveur est autorisé. Comme on peut le voir, les deux sont activés par défaut. J'ai donc accepté cela, mais l'accès HTTPS est problématique sans certificats de sécurité. Les deux écrans suivants demandent les numéros des ports HTTP et HTTPS : J'ai accepté la réponse par défaut, port 8080, pour HTTP et port 443 pour HTTPS.

    Ensuite, le répertoire d'installation doit être spécifié : Encore une fois, j'ai accepté la valeur par défaut. L'écran final donne les adresses pour l'accès HTTP et HTTPS vers le serveur Domoticz et affiche aussi les adresses du wiki (https://www.domoticz.com/wiki) et du forum (https://www.domoticz.com/forum) Domoticz.

    C'est la fin de l'installation :

    ::: Restarting services... ::: ::: Enabling domoticz.sh service to start on reboot... done. ::: ::: Starting domoticz.sh service... done. ::: done. ::: ::: Installation Complete! Configure your browser to use the Domoticz using: ::: 192.168.0.22:8080 ::: 192.168.0.22:433 pi@domopole:/ $

    Démarrez un navigateur Web sur votre bureau et connectez-vous au site du serveur Domoticz sur le Raspberry Pi à l'adresse http://192.168.0.22:8080. Il n'y a pas grand-chose à voir puisque rien n'est encore installé, mais au moins cela confirme que le logiciel est bien installé.

    Pour changer les port HTTP and HTTPS ports du site Web de Domoticz, modifier les valeurs des paramètres -www et sslwww arguments du script domoticz.sh dans le répertoire /etc/init.d. Il faut tous les privilèges de root. Voici un exemple.

    pi@domopole:~ $ sudo nano /etc/init.d/domoticz.sh
    ... DAEMON_ARGS="$DAEMON_ARGS -www 8888" DAEMON_ARGS="$DAEMON_ARGS -sslwww 444" ...

    Le modèle de ce script de démarrage se trouve dans le répertoire ~/domoticz/domoticz.sh et il contient les valeurs par défaut 8080 et 443 qu'importe les valeurs fixées à l'installation. J'ai renommé le fichier modèle domoticz.sh.org pour m'assurer de ne pas le confondre pas avec le script de démarrage réel.

  21. Paramétrage de base de Domoticz
  22. Il est temps de définir certains paramètres de base du système. Cliquez sur l'onglet Setup en haut et à droite de la fenêtre, puis sélectionnez Settings. Par défaut, l'onglet System est ouvert.

    Au minimum, l'emplacement (longitude et latitude) doit être défini. On peut supposer que cette information est utilisée pour calculer le coucher et le lever du soleil. J'ai utilisé le GPS de ma voiture pour trouver les valeurs exactes. Peut-être un téléphone ou une tablette équipés d'un GPS pourrait-il être utilisé. Si aucune de ces possibilités n'est disponible, Domoticz peut fournir des coordonnées raisonnablement précises étant donné une adresse de rue. Cliquez sur le lien Here sous la boîte de saisie nommée Longitude.

    Pour améliorer la sécurité, il est bon de protéger le site avec mot de passe. Fournissez un nom d'utilisateur et un mot de passe dans la section Website Protection. Il devient fastidieux d'entrer ce nom et ce mot de passe à chaque connexion chaque fois. Heureusement, il est possible de spécifier des réseaux locaux «sans connexion». Utiliser un navigateur sur une machine située sur l'un de ces réseaux signifie qu'il ne sera pas nécessaire de fournir cette information. On notera que je n'ai pas inclus le réseau hôte local conseillé 127.0.0.* parce que j'utilise un service Tor sur le serveur au lieu de la redirection de port des requêtes extérieures par le router. Si 127.0.0.* était inclue en tant que réseau local, le mot de passe ne sera pas nécessaire lors de la connexion avec tout navigateur Tor même venant de l'extérieur du réseau local.

    N'oubliez pas de cliquer sur le bouton Apply Settings, sinon les modifications apportées ne prendront pas effet.

    Consultez le wiki de Domoticz au sujet des Application Settings pour plus d'information sur les autre paramètres.

    Consultez aussi la page du wiki consacrée à l'installation sur le Raspberry Pi. En particulier, vous devriez consulter la section intitulée Raspberry Pi additional software installations. Vous remarquerez que j'ai copié sans vergogne le "Setting up a RAM drive on Raspberry Pi" à partir de cette page.