LPRP.fr https://www.lprp.fr La Page de Rémi Peyronnet Mon, 18 May 2020 16:41:46 +0000 fr-FR hourly 1 https://wordpress.org/?v=5.4.1 https://www.lprp.fr/files/2017/10/cropped-logo-lprp-favicon-2-32x32.png LPRP.fr https://www.lprp.fr 32 32 Création de disques virtuels sous Windows https://www.lprp.fr/2020/05/creation-de-disques-virtuels-sous-windows/?utm_source=rss&utm_medium=rss&utm_campaign=creation-de-disques-virtuels-sous-windows https://www.lprp.fr/2020/05/creation-de-disques-virtuels-sous-windows/#respond Mon, 18 May 2020 16:41:46 +0000 https://www.lprp.fr/?p=4359 Toutes les éditions de Windows 10 ont un support de disques virtuel qui est méconnu. Et si vous avez accès à la version Windows 10 Pro, vous pouvez le crypter avec BitLocker pour en faire un container crypté qui fonctionnera sur toutes les éditions de Windows sans besoin de logiciel supplémentaire. Pratique !

Création du disque virtuel

Créer un disque virtuel est assez facile avec l’utilitaire “Gestion de l’ordinateur”. C’est un outil standard Windows qui a été un peu masqué dans les dernières éditions de Windows, mais qui reste très efficace. Il est trouvable dans les “Outils d’administration” dans le menu “Système Windows”. Dans cette application vous trouverez l’outil “Gestion des disques”. Vous pouvez également le trouver en cherchant directement “partition”, “gestion des disques”, “gestion de l’ordinateur” dans la recherche :

1. Créer un disque virtuel avec le menu “Action” / “Créer un disque virtuel”

2. Sélectionner le format VHDX, avec extension dynamique, et la taille maximum que vous désirez. Comme avec Windows 10 Home le changement de la taille d’un disque virtuel n’est pas facile, mieux vaut opter pour une taille importante. Avec Windows 10 Pro vous pourrez étendre la taille d’un disque virtuel avec les outils de gestion Hyper-V.

3. Il faut ensuite initialiser le disque avec une table des partitions, soit le ‘vieux’ MBR ou le plus récent GPT.  Je préfère généralement le plus récent, mais cela prend également plus de place.

4. Puis ensuite créer une partition avec un clic droit sur l’espace libre du disque. Vous pouvez choisir d’utiliser l’intégralité du disque, ou si vous avez prévu large, vous pouvez réduire la partition à la taille utile en premier lieu, puis l’étendre par la suite. En effet, s’il n’est pas forcément facile de redimensionner un disque virtuel il est facile de le redimensionner avec l’outil de gestion des partitions disponible sur toutes les éditions. Vous pouvez donc commencer petit et augmenter au fur et à mesure des besoins, pour éviter que l’allocation automatique fasse grossir le disque virtuel jusqu’à sa taille maximum au fur et à mesure des écritures. Il faut ensuite choisir entre exFAT ou NTFS. Comme pour GPT, NTFS est plus performant mais prendra plus de place.

 

Vous avez maintenant un disque virtuel fonctionnel.

Pour le déconnecter vous pouvez soit :

  • depuis l’explorateur, faire un clic droit sur le disque, et sélectionner “Ejecter” (si vous avez créé plusieurs partitions sur le même disque il vous faudra toutes les ejecter pour ejecter complètement le disque virtuel)
  • depuis l’outil de gestion des partitions, faire un clic droit sur le disque virtuel et sélectionner “Détacher le disque virtuel”

Pour le re-connecter ensuite, il suffit de double cliquer sur le fichier VHDX.

Le chiffrement avec BitLocker

Pour ajouter du chiffrerment avec BitLocker, depuis une édition Windows 10 Pro, cliquer droit sur le disque virtuel connecté dans l’explorateur et cliquer sur “Activer BitLocker” puis suivre les étapes : un mot de passe robuste, la sauvegarde des informations de récupération, ne chiffrer que l’espace utilisé, et conserver les autres paramètres par défaut.

 

Ejecter le disque et vous avez maintenant un  conteneur autonome chiffré avec BitLocker et qui fonctionnera sur n’importe quelle édition de Windows 10, qu’elle soit Home ou Pro. Vous bénéficierez d’ailleurs de l’ensemble des fonctions BitLocker sur ce disque, comme la possibilité de changer le mot de passe ou de récupérer un mot de passe oublié avec les informations de récupération. Vous pouvez faire plusieurs copies de ce container pour en créer autant qu’il vous faut, avec des mots de passe distincts. La seule limitation est qu’ils vont partager les mêmes informations de récupération qu’il faudra donc conserver bien à l’abri.  Windows 10 Pro n’est requis que pour la création du container, vous pouvez donc emprunter un PC d’un ami / collègue ayant Windows 10 Pro 5mn pour créer votre disque puis ensuite ne plus avoir besoin d’avoir accès à cette édition.

Comparaison des tailles des conteneurs

Comme j’ai été un peu surpris par les tailels des fichiers créés, j’ai fait quelques tests. A noter que ces tests ne correspondent qu’à des conteneurs vides. Il est probable que les différences s’estompent au fur et à mesure de l’utilisation avec des vraies données.

J’ai créé une série de disques virtuels avec des paramètres différents. En premier des disques non initialisés qui ne prennent quasiment pas de place :

Puis avec une table de partition et une partition : GPT prend plus de place que MBR, et NTFS plus que exFAT. Pour une taille minimum, prendre le duo MBR et exFAT :

BitLocker va naturellement demander plus de place avec le chiffrement :

Ce qui est très intéressant, c’est que bien que les tailles des disques deviennent conséquentes bien que vides, ces fichiers se compressent très très bien avec au final 377ko pour NTFS/GPT en zip, ou 13 Mo pour un disque virtuel zippé Bitlocker/exFAT/MBR.

Vous pouvez donc vous préparer des disques en avance et les stocker pour quasiment pas de place.

Je restais un peu étonné de la différence des tailles avec des disques créés depuis des clés USB avec Disk2VHD :

Malheureusement, impossible d’utiliser Disk2VHD sur des disques virtuels… Dommage ça aurait pu être fun!  Comme ces différences peuvent être dûes à des pré-allocations, j’ai voulu convertir les fichiers sans preallocation pour voir si ça change quelque chose.

On joue un peu avec QEmu-img

Un outil pratique pour manipuler les disques virtuels est qemu-img de l’émulateur QEmu. Disponible pour Windows et Linux il vous permet de faire un peu tout : compactage, redimensionnement, et conversions entre qcow2 (format natif QEmu), vmdk (format natif VMWare), vhi (format natif Virtual Box) and vhdx (format natif Hyper-V).

J’ai commencé par une conversion directe de VHDX en VHDX avec :

qemu-img.exe convert -f vhdx -O vhdx -o subformat=dynamic Empty100Go.vhdx Empty100Go-converted.vhdx

Echec total, cela a fait grossir le fichier à quasiment sa taille complète ! (86 Go vs 100 Go de capacité maximale)

Etrangement, avec un intermédiaire en qcow2 ça marche beaucoup mieux :

qemu-img.exe convert -f vhdx -O qcow2 -o preallocation=off Empty100Go.vhdx Empty100Go-converted.qcow2
qemu-img.exe convert -f qcow2 -O vhdx -o subformat=dynamic Empty100Go-converted.qcow2 Empty100Go-converted.vhdx

Le fichier résultant pèse 168 Mo, donc moins que l’original à 196 Mo. A noter que le fichier temporaire qcow2 fait 2.75 Go, ce qui est plutôt surprenant compte tenu de la préallocation nulle…

Donc en résumé, les tailles minimum des conteneurs sont obtenues :

  • lorsqu’ils sont compressés !
  • avec MBR & exFAT (versus GPT & NTFS)
  • en les créant avec Disk2VHD depuis des clés USB vides (plutôt que les créer avec la gestion des disques)

(Résultats applicables uniquement sur des conteneurs vides, il est très probable que l’écart soit diminué avec du contenu.)

A noter que si vous avez l’édition Windows 10 Pro, vous pouvez installer la fonctionnalité optionnelle Hyper-V et avoir des fonctions de manipulations supplémentaires sur les disques virtuels dans la console de management Hyper-V dans le menu “Action” “Modifier le disque” : vous pourrez compacter, étendre et convertir les disques VHDX (conversion uniquement entre VHD/VHDX et prealloué ou non)

]]>
https://www.lprp.fr/2020/05/creation-de-disques-virtuels-sous-windows/feed/ 0
vcpkg – un gestionnaire de bibliothèques C/C++ https://www.lprp.fr/2020/05/vcpkg-un-gestionnaire-de-librairies-c-c/?utm_source=rss&utm_medium=rss&utm_campaign=vcpkg-un-gestionnaire-de-librairies-c-c https://www.lprp.fr/2020/05/vcpkg-un-gestionnaire-de-librairies-c-c/#respond Sun, 03 May 2020 19:17:21 +0000 https://www.lprp.fr/?p=4301 A chaque réinstallation de Visual Studio je râle contre la galère d’installer les différentes dépendances de compilation de mes projets, surtout une fois qu’on a goûté sur d’autres OS ou dans d’autres langages à des gestionnaires de packages comme sous linux, ou maven en java, pip en python, ou npm en js. Cela existe maintenant avec vcpkg , open-source, multiplateforme, initié par Microsoft et alimenté par la communauté, une nouvelle preuve de la nouvelle orientation intéressante de Microsoft vers le développeur, l’open-source et Linux.

L’installation est un peu inhabituelle sous Windows puisqu’on va commencer par cloner le repository et compiler l’outil :

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat

Ce qui au final est très agréable puisqu’on obtient un répertoire tout à fait portable. 

Pour intégrer vcpkg à Visual Studio, il suffit de lancer :

vcpkg integrate install

J’ai pris l’habitude pour simplifier la distribution de mes projets de toujours compiler en statique, pour éviter les dépendances avec les librairies Visual Studio, et devoir ainsi distribuer l’installateur correspondant. vcpkg intègre la possibilité de construire l’ensemble des bibliothèques avec des paramètres cohérents, regroupés sous l’appellation de “triplets”. Pour compiler en statique et en 32bits le triplet correspondant est “x86-windows-static”. Pour éviter de l’oublier j’ai ajouté un fichier batch “vcpkg-static.bat” qui contient simplement :

@vcpkg.exe --triplet x86-windows-static %*

Pour ajouter la configuration du triplet dans le projet, il faut éditer le vcxproj et ajouter dans le groupe de propriétés “Globals” la mention du triplet :

&lt;<span class="pl-ent">PropertyGroup</span> <span class="pl-e">Label</span>=<span class="pl-s"><span class="pl-pds">"</span>Globals<span class="pl-pds">"</span></span>&gt;
  <span class="pl-c">&lt;!-- .... --&gt;</span>
  &lt;<span class="pl-ent">VcpkgTriplet</span> <span class="pl-e">Condition</span>=<span class="pl-s"><span class="pl-pds">"</span>'$(Platform)'=='Win32'<span class="pl-pds">"</span></span>&gt;x86-windows-static&lt;/<span class="pl-ent">VcpkgTriplet</span>&gt;
  &lt;<span class="pl-ent">VcpkgTriplet</span> <span class="pl-e">Condition</span>=<span class="pl-s"><span class="pl-pds">"</span>'$(Platform)'=='x64'<span class="pl-pds">"</span></span>&gt;x64-windows-static&lt;/<span class="pl-ent">VcpkgTriplet</span>&gt;
&lt;/<span class="pl-ent">PropertyGroup</span>&gt;

Ensuite pour installer un paquet, rien de plus simple :

vcpkg-static install wxwidgets

vcpkg télécharge et compile la bibliothèque demandée et ses dépendances. Pour wxwidgets tout s’est passé automatiquement sans problème et a pris 16 minutes. A noter que les paquets sources des bibliothèques jpeg, png, zlib & co  sont celles de vcpkg et non celles incluses dans wxwidgets. Vous n’aurez donc pas exactement le même nommage des bibliothèques à inclure à l’édition de liens (quelques préfixes wx à retirer, que l’on identifie assez simplement en observant le contenu du répertoire  vcpkg\installed\x86-windows-static\lib  

Attention vcpkg ne fait pas le ménage, et va vite prendre des gigas si vous n’y faites pas attention. Il suffit alors de supprimer régulièrement les répertoires intermédiaires de compilation et de téléchargement : rmdir /s /q packages buildtrees downloads    (dans un vcpkg-clean.bat par exemple)

Je commence à aimer à nouveau Windows comme environnement de développement 😉

]]>
https://www.lprp.fr/2020/05/vcpkg-un-gestionnaire-de-librairies-c-c/feed/ 0
Logithèque Windows 2020 https://www.lprp.fr/2020/05/logitheque-windows-2020/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=logitheque-windows-2020 https://www.lprp.fr/2020/05/logitheque-windows-2020/#respond Sat, 02 May 2020 16:08:15 +0000 https://www.lprp.fr/?p=4289 Suite à une réinstallation de Windows 10, l’occasion de fait un point sur les logiciels que j’utilise au quotidien sous Windows 10 en 2020 :

  • La base pour l’utilisation quotidienne :
    • Navigateur Google Chrome, pour le surf Internet bien sûr, et utiliser les services GMail, Drive, Feedly, Pocket, Whatsapp
    • LibreOffice pour l’usage bureautique ; j’ai opté pour cette suite logicielle depuis StarOffice, puis OpenOffice.org, et maintenant LibreOffice, et pour un usage personnel c’est absolument parfait.
    • Spotify en client lourd, plus agréable que l’interface web
    • Skype
    • Un client VNC pour me connecter à mon serveur Linux ; j’utilise une vieille version portable de VNC Viewer 5.3 de RealVNC, leur dernière version étant insupportable. J’installe en complément un TightVNC qui me sert comme serveur VNC pour mon Windows.
    • Thunderbird, pour avoir une copie locale de mes mails ; pour l’usage des mails j’utilise l’interface GMail web, pour pouvoir utiliser mes mails de n’importe quel device.
    • KeePass (en version portable), pour la gestion de mes mots de passe
    • SyncThing (via l’IHM SyncTrayzor) pour la synchronisation et sauvegarde de mes documents avec mon serveur et autres devices
    • GoodSync pour la synchronisation périodique de mes autres contenus plus gros ; c’est un logiciel payant très performant qui permet un contrôle total sur les synchronisations et qui s’est montré jusqu’à présent très fiable. J’ai eu un peu de mal à télécharger la version qui correspond à ma licence car visiblement l’éditeur souhaite y mettre fin. C’est normal, les éditeurs de logiciels payants ne peuvent pas maintenir pendant des années gratuitement leurs logiciels, mais il est probable que j’évaluerais la capacité de SyncThing avant d’envisager de le racheter pour la troisième fois.
    • Insync pour la synchronisation des fichiers de plusieurs comptes Google Drive ; c’est un logiciel payant dont j’ai pu bénéficier d’une licence gratuite pendant leur phase de test, bien utile depuis que Google a remplacé son client par le ‘bizarre’ Sync and Backup et qui ne supportait toujours pas plusieurs comptes
  • Pour le développement :
    • SciTE, l’éditeur de Scintilla, qui est gratuit, très léger, et très efficace pour l’édition rapide d’un fichier seul.
    • VSCode qui est gratuit, multiplateforme, relativement léger par rapport à ses concurrents, et dispose d’un formidable écosystème d’extensions ; je ne lui reproche que sa déroutante “palette” et l’absence de menus/toolbars classiques. C’est mon éditeur par défaut dès que je travaille sur un projet et que SciTE devient limité, et pour des projets python/js/php.
    • Visual Studio Community pour les projets C/C++  même si sa taille XXXL a tendance à m’exaspérer, que je galère à chaque nouvelle édition pour retrouver un environnement fonctionnel, et que je n’en utilise sans doute pas 1% des possibilités, cela reste le meilleur pour l’édition et débogage C/C++ sous Windows. C’est mon IDE principal pour la maintenance de RPhoto, xmlTreeNav & libxmldiff.
    • VMWare Player pour la gestion des machines virtuelles, que je préfère depuis quelques années à VirtualBox pour son mode non persistant des disques virtuels (qui n’est malheureusement plus disponibles dans l’IHM, mais qu’on peut ajouter à la main dans les fichiers VMX) : cela permet ainsi de tester n’importe quel logiciel mais de garder une image disque toujours propre. Sous Linux j’utilise plutôt QEmu-KVM qui permet plus facilement un accès VNC sur la VM.
    • PoEdit pour la localisation des applications et l’édition des fichiers .po
    • PuTTY pour l’accès en SSH à mon serveur Linux (lorsque VNC ne marche plus) ou à un raspberry.
    • VcXsrv qui est un serveur X gratuit pour Windows, et qui permet ainsi d’avoir accès à l’interface graphique d’un Ubuntu installé sous Windows via le Windows Subsystem for Linux (WSL). J’ai surtout utilisé pour tester car au final je préfère quand même utiliser une VM
    • InnoSetup et son Studio pour la création des installeurs (même si personnellement je préfère toujours les versions portables c’est principalement ce qu’utilisent les personnes qui téléchargent RPhoto / xmlTreeNav)
  • Pour la 3D / maker : 
    • Fusion 360, la référence pour la modélisation 3D dans le monde des makers, un grand merci à Autodesk d’offrir cette suite professionnelle gratuitement aux makers, que ce soit pour la modélisation paramétrique, la simulation,…
    • Cura, un slicer 3D puissant mais qui reste simple d’accès
    • OpenSCAD, lorsque je suis suffisamment motivé pour faire une pièce via ce langage de programmation ; l’avantage est l’intégration native de la gestion paramétrique dans Thingiverse, mais le langage devient très galère dès l’utilisation de fillet ou thread…
    • Fritzing pour l’édition des projets arduino ; cet outil permet de gérer à un même endroit le circuit électronique et le code
  • Autres programmes / utilitaires :
    • 7-zip pour une gestion un peu plus puissante des archives qu’en standard dans Windows
    • Cyberlink Power2Go & Media Player dont le mérite est d’être fourni avec mon PC pour la gravure DVD et la licence codec MPEG2 ; même si je ne me souviens même plus de la dernière gravure, ou même dernière utilisation d’un CD… Sans doute mon dernier PC avec un lecteur…
    • ElitechLog_Win qui me permet la lecture des enregistrements d’un enregistreur de température Elitech RC-4
    • GeoSetter qui permet de manipuler les coordonnées GPS de photos. Cela permet notamment de géocoder des photos prises en voyages avec une trace GPS enregistrée sur son téléphone (ou simplement via celle que Google construit automatiquement pour vous et qui est téléchargeable, mais moins précise que celle que vous pourrez enregistrer)
    • FSViewer pour trier facilement les photos
    • Minitool Partition Wizard Pro, un super gestionnaire de partition très puissant, qui dispose d’une version gratuite déjà très utile, et dont j’ai pu avoir une licence Pro via un ‘giveaway’
    • Les nouveaux PowerToys microsoft, notamment pour le PowerRename
    • FreeCommander notamment pour trier/ranger des fichiers plus facilement avec le système de double panneaux
    • LiberKey pour l’installation d’un certain nombre de programmes portables utilisés ponctuellement, comme Gimp, Inkscape, Firefox, VLC
  • Dans les outils Windows, notamment :
    • “Assistance rapide” pour le dépannage à distance de PC, qui est super simple à utiliser et très efficace
    • “Capture d’écran et croquis” pour mes captures d’écran

J’ai également accumulé au fur et à mesure des années une important logithèque de programmes et utilitaires portables que j’utilise somme toute assez peu, ainsi qu’une toolbox de petites pépites légères et très efficaces, dont je ne vais pas donner la liste exhaustive mais quelques exemples :

  • AutoCopy, très utile pour numériser en masse sa collection de Cd / Dvd avant de ne plus avoir de lecteur pour les lire
  • DriveSort, qui permet de définir l’ordre des fichiers dans la table des fichiers, très utile pour les lecteurs MP3 qui prennent l’ordre par défaut de la table des fichiers
  • h2testw, un indispensable pour tester chaque clé USB / carte SD après achat pour vérifier que la capacité réelle est bien disponible sans perte de fichier (et que ce n’est pas une contrefaçon chinoise qui fait croire que vous avez 32Go alors qu’il n’y a que 2Go de mémoire)
  • TreeComp pour comparer des arborescences importantes 
  • TreeSizeFree pour identifier les dossiers les plus volumineux
  • WiFiGuard (dans sa dernière version gratuite avant que ça devienne payant) pour surveiller les périphériques connectés sur le WiFi
  • WinSCP, l’alter ego de PuTTY pour la copie de fichier via SSH
  • Disk2VHD, pour convertir des disques physiques en disques virtuels VHDX
  • UPX pour compresser bon nombre d’executables de cette toolbox

Voilà pour cet état des lieux des logiciels Windows que j’utilise en 2020. Cette liste évolue lentement, je regrette de ne pas en avoir fait avant pour voir l’évolution, j’essaierai de refaire l’exercice dans 5-10 ans voir les gros changements !

]]>
https://www.lprp.fr/2020/05/logitheque-windows-2020/feed/ 0
Machine virtuelle avant réinstallation https://www.lprp.fr/2020/04/machine-virtuelle-avant-reinstallation/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=machine-virtuelle-avant-reinstallation https://www.lprp.fr/2020/04/machine-virtuelle-avant-reinstallation/#respond Sat, 25 Apr 2020 14:39:38 +0000 https://www.lprp.fr/?p=4291 J’ai du réinstaller mon Windows récemment, car celui-ci s’était bizarrement corrompu au niveau des pilotes réseau et toute nouvelle installation de drivers plantait, supprimant ainsi petit à petit mes interfaces réseau. Windows 10 est cependant un OS très stable par rapport à ses prédécesseurs, car 5 ans entre deux réinstallations c’est mon record absolu. Comme toujours avant de ré-installer, quelques précautions s’imposent comme des sauvegardes, bien identifier ce qui sera à réinstaller, et pour plus de sécurité, j’ai décidé de créer une machine virtuelle de mon OS avant réinstallation.

Sur mes PCs j’ai pris l’habitude de bien distinguer une partition système des partitions de données. Ainsi lors d’une réinstallation, seule la partition système est impactée et les autres partitions ne bougent pas. Cette distinction me permet également de pouvoir faire une image disque de la partition système, au juste nécessaire, et de la stocker sur une partition non impactée.

Voici les opérations que j’ai effectuées :

  1. Pour ne copier que le juste nécessaire de la partition, j’utilise sdelete avant pour supprimer les espaces libres : sdelete -z C:  ; ce petit outil est également très utile pour vos disques de machines virtuelles qui grossissent au fur et à mesure des mises à jour. Un peu de ménage, sdelete puis le compactage de l’image disque et celle-ci reprend une taille de guèpe !
  2. Ensuite, pour créer l’image disque de la partition, un autre outil que j’utilise très souvent : Disk2VHD ; cet outil va permettre de prendre une image disque de n’importe quel disque, clé USB, carte SD, et de le convertir au format VHDX. Ce format est le format des images virtuelles des outils microsoft, et comporte l’énorme avantage de pouvoir être montés nativement par Windows simplement en double cliquant dessus. Vosu avez alors accès au contenu du disque et pouvez même le modifier. Il y a de rares cas où il est nécessaire d’attribuer une lettre de partition avec la gestion des disques de Windows (via Gestion de l’ordinateur) ; c’est le cas notamment de la partition C:. Cet outil permet également de copier des images bitlocker, ce qui est un moyen très pratique de protéger par mot de passe un ensemble de document et d’y accéder simplement.
  3. Pour l’essentiel des besoins de récupération de données, le simple accès au disque devrait être suffisant ; si cependant pour une raison vous avez besoin de booter sur votre ancien système, il est facile de créer une machine virtuelle :
    • Pour booter il est nécessaire de copier également les deux premières partitions cachées qui servent au boot, et non pas seulement la partition C: ; si comme moi vous les aviez oubliées, pas de panique, on peut les copier après avec un outil de gestion des partitions, comme par exemple MiniTool Partition ; j’utilie la version Pro que j’avais pu acquérir gratuitement car assez souvent proposé gratuitement dans les journées ‘giveaway’, mais la version gratuite devrait suffire (et sinon, je ne peux que vous conseiller de l’acheter car c’est un très bon outil).
    • Comme je souhaite utiliser VMWare Player (mais ça marcherait sans doute avec Virtual Box), il faut également convertir l’image disque en vmdk avec qemu-img (distribué avec QEmu) : qemu-img.exe convert -f vhdx -O vmdk .\HP-2020-04-26i.VHDX .\HP-2020-04-26i.vmdk
    • Puis ensuite créer sous VMWare une nouvelle machine virtuelle, ne pas créer de disque, puis éditer la machine virtuelle pour ajouter le disque existant
  4. Pour le rendre non persistent, éditer le vmx et ajouter : scsi0:0.mode = "independent-nonpersistent"   ; vous pouvez copier le vmx et ainsi disposer pour la même image disque d’une machine en mode persistent et une autre en mode non persistent, vous permettant ainsi de choisir à chaque boot.

Le premier boot sera assez long car il va installer tous les drivers des périphériques VMWare. Vous avez également intérêt à installer les outils VMTools. Pour ces opérations, sauf si vous voulez absolument garder votre disque d’origine, je vous conseille d’être en mode persistent, sinon les opérations seront à répéter à chaque boot.

]]>
https://www.lprp.fr/2020/04/machine-virtuelle-avant-reinstallation/feed/ 0
Problème de montage de clés USB sous Debian ? https://www.lprp.fr/2020/03/probleme-de-montage-de-cles-usb-sous-debian/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=probleme-de-montage-de-cles-usb-sous-debian https://www.lprp.fr/2020/03/probleme-de-montage-de-cles-usb-sous-debian/#respond Mon, 30 Mar 2020 18:34:48 +0000 https://www.lprp.fr/?p=4273 Si depuis une mise à jour de Debian vous avez lors de l’insertion d’une clé USB une demande d’authentification suivi d’un vilain message “Not authorized to perform operation”, le problème vient certainement de udisks2 + polkit. En effet, la police par défaut distribuée avec Debian est quelque peut restrictive et demande les droits administrateurs pour ces opérations. Avec l’authentification de l’utilisateur normal, le message d’erreur s’explique.

Pour autoriser votre utilisateur sur ces opérations, il faut ajouter une règle qui va surcharger la police par défaut. Créer un fichier automount.pkla  dans le répertoire /etc/polkit-1/localauthority/50-local.d/  avec le contenu suivant :

[Allow Automount]
Identity=unix-group:plugdev
Action=org.freedesktop.udisks2.filesystem-mount*
ResultAny=yes
ResultInactive=yes
ResultActive=yes

[Allow Eject]
Identity=unix-group:plugdev
Action=org.freedesktop.udisks2.eject-media*
ResultAny=yes
ResultInactive=yes
ResultActive=yes

[Allow Mounting of fstab]
Identity=unix-group:plugdev
Action=org.freedesktop.udisks2.filesystem-fstab*
ResultAny=yes
ResultInactive=yes
ResultActive=yes

[Allow Unlock]
Identity=unix-group:plugdev
Action=org.freedesktop.udisks2.encrypted-unlock*
ResultAny=yes
ResultInactive=yes
ResultActive=yes

Si ce n’est pas déjà fait, ajoutez votre utilisateur au groupe plugdev  et redémarrez la session.

Par ailleurs si les partitions de vos clés USB ne s’affichent pas comme il vous plait, c’est sans doute qu’il n’y a pas de label. Ajoutez-le suivant le type de partition :

  • ext2/3/4 : e2label /dev/<your device> "your label"
  • fat32 : fatlabel /dev/<your device> "yourlabel"

Et pour essayer tout ça sans devoir physiquement retirer/remettre le périphérique USB, un script très pratique sur cette page.

]]>
https://www.lprp.fr/2020/03/probleme-de-montage-de-cles-usb-sous-debian/feed/ 0
Nettoyer son mécanisme WC plutôt que le changer https://www.lprp.fr/2020/03/nettoyer-son-mecanisme-wc-plutot-que-le-changer/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=nettoyer-son-mecanisme-wc-plutot-que-le-changer https://www.lprp.fr/2020/03/nettoyer-son-mecanisme-wc-plutot-que-le-changer/#respond Sun, 08 Mar 2020 18:05:16 +0000 https://www.lprp.fr/?p=4246 Cette semaine mon mécanisme de WC s’est mis à refuser énergiquement de remplir à nouveau la cuve. Comme c’est un problème assez gênant… sans réfléchir je suis allé en acheter un autre. Lorsque je l’ai changé, j’ai constaté qu’il ne semblait pas si abîmé que ça, et que du calcaire s’était déposé et empêchait simplement que le flotteur coulisse correctement, et dans mon cas il ne tombait plus lorsque l’eau descendait.

J’ai donc décidé de voir ce que ça donnait avec un peu de nettoyage. Avec un peu d’antikal et une éponge, le calcaire disparaît en moins de deux. J’en ai profité pour un démontage complet pour bien nettoyer à l’intérieur les différentes saletés qui peuvent également gêner le dispositif, notamment au niveau de la membrane à pression. Une fois remonté, le flotteur coulisse à nouveau parfaitement. A défaut d’avoir économisé l’achat d’un nouveau modèle, j’ai maintenant un modèle de rechange 🙂

   

 

A cette occasion j’ai pu constater un nouvel exemple d’obsolescence programmée. En effet, impossible de couper mon robinet d’arrêt. Il se trouve en fait que si le robinet lui même est bien en métal, le capuchon qui sert pour fermer le robinet est en plastique. Le plastique est recouvert d’une peinture métal… bien malin celui qui pourra identifier le plastique depuis le blister en magasin… Avec le temps, le robinet se grippe un peu, et par conséquent le plastique ne résiste pas et la petite languette de maintien se casse. On peut voir d’ailleurs qu’elle est très fine et que rien n’est fait pour la renforcer. C’est sûr qu’une fois cassé on est très tentés de remplacer le robinet, qui pourtant fonctionne encore parfaitement avec une clé à molette.

J’ai modélisé en 3D une pièce pour remplacer le capuchon cassé en plus compact pour que ça soit plus pratique chez moi. J’avais peur que le plastique ne soit pas assez solide, mais il se comporte parfaitement sur mes robinets qui sont pourtant devenus assez durs.

Lien vers le modèle sous Thingiverse : https://www.thingiverse.com/thing:4234619

]]>
https://www.lprp.fr/2020/03/nettoyer-son-mecanisme-wc-plutot-que-le-changer/feed/ 0
Archimate 3.0 en SVG https://www.lprp.fr/2020/02/archimate-3-0-en-svg/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=archimate-3-0-en-svg https://www.lprp.fr/2020/02/archimate-3-0-en-svg/#respond Sat, 22 Feb 2020 11:06:09 +0000 https://www.lprp.fr/?p=4239 Pour tout travaux d’architecture SI, le langage Archimate est un incontournable dont il serait dommage de se priver. Il est implémenté par bon nombre d’outils de cartographie payants très chers, mais également par un outil gratuit qui lui est dédié, Archi. Ce dernier est déjà très performant et s’étoffe de plus en plus, notamment avec une bibliothèque de plugins non officiels qui commence à grossir. Cependant, certains symboles n’ont pas leur forme sans rectangles, ce qui est parfois moins lisible : par exemple pour faire un diagramme de processus, le symbole actor sans son rectangle est bien plus parlant. Par ailleurs il peut être pratique d’utiliser la symbolique Archimate dans des outils plus classiques, comme Powerpoint.

Convertir les symboles Archimate en SVG

L’OpenGroup publie les symboles officiels sous la forme de stencils visio (sous licence Creative Commons Attribution 3.0 License) ; c’est très pratique si vous utilisez Visio, mais moins avec d’autres outils. Il est possible de convertir les stencils visio en SVG avec la bibliothèque libvisio2svg. Compte tenu des dépendances elle n’est pas très facile à compiler soi-même, mais des binaires sont proposés dans l’issue 24  en packages rpm ou deb.

Une fois installé, pour convertir tous les stencils d’un seul coup :

ls | while read FILE ; do mkdir "$FILE""_dir" ; vss2svg-conv --input="$FILE" --output="$FILE""_dir" ; done
rename -e 's/Archimate 3.0 (.*) v1.0.vssx_dir/\\1/' *

Télécharger en SVG : ArchimateStencils-3.0-SVG

 

Conversion en PNG

On a ainsi maintenant toutes les formes au format SVG. Cependant tous les outils n’aiment pas le SVG et préfèrent du SVG.  Pour une conversion de bonne qualité j’utilise svgexport :

npm install svgexport
find . -iname '*.svg' | while read FILE ; do node_modules/svgexport/bin/index.js "$FILE" "$(echo $FILE | sed 's/svg/png/')" 100% 2x pad "text {display: none}" ; done

Quelques explications sur les options :

  • 100%  est pour spécifier la meilleure qualité
  • 2x est pour un zoom x2 (car 1x est un peu petit et le PNG scale mal ensuite)
  • “text {display:none}” est le style CSS pour supprimer le texte à l’intérieur de la forme : en effet en PNG il n’est plus éditable, et donc il faut le retirer avant la conversion

Télécharger en PNG : ArchimateStencils-3.0-PNG

 

]]>
https://www.lprp.fr/2020/02/archimate-3-0-en-svg/feed/ 0
Modélisation paramétrique dans Fusion 360 https://www.lprp.fr/2020/01/modelisation-parametrique-dans-fusion-360/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=modelisation-parametrique-dans-fusion-360 https://www.lprp.fr/2020/01/modelisation-parametrique-dans-fusion-360/#respond Sat, 25 Jan 2020 18:28:07 +0000 https://www.lprp.fr/?p=4222 Pour le design de pièces 3D, j’aime beaucoup l’idée de OpenSCAD de pouvoir modéliser une pièce via un langage de programmation, et la beauté de ce système est que l’on peut obtenir une pièce complètement paramétrable par les utilisateurs et ce assez facilement comme avec le Customizer de Thingiverse.

Mais il faut reconnaître que, d’une part, ce n’est pas très ergonomique et pratique pour modéliser des pièces un peu complexes, et d’autre part, le langage est assez pauvre par défaut en primitives et manque notamment des courbes de Béziers, de la possibilité d’ajouter des fillets, qui sont quasiment indispensables pour une finition un peu sympa. Des bibliothèques existent pour ajouter plus ou moins bien ces fonctions, mais on perd alors la facilité d’utilisation d’un simple fichier à ouvrir avec OpenSCAD.

Par ailleurs, Fusion360 propose des fonctionnalités de modélisation paramétrique, et pour peu qu’on y fasse un peu attention, c’est très pratique et efficace. Le résultat reste tout de même moins simple à utiliser que via un Customizer de Thingiverse, mais cela me semble un bon compromis entre la facilité de modélisation et la facilité de customization pour les utilisateurs.

J’ai utilisé ces fonctionnalités pour les deux objets que j’ai modélisé pour éviter que mon robot Deebot 605 ne s’emmêle les roues dans mon étendoir à linge. L’un permet de garder un espacement constant entre les deux tiges, et l’autre permet en se fixant sur une tige de stopper le robot en offrant un obstacle à sa hauteur. Pour que l’objet soit utilisable par d’autres, la capacité de paramétrage à d’autres matériels est importante.

Il suffit de suivre quelques points d’attention dans la modélisation :

  • Lors de la construction d’éléments, qu’ils soient 2D ou 3D, il faut absolument taper une dimension au clavier pour qu’elle devienne paramétrable ; les autres dimensions qui dépendent simplement de la position de la souris ne créent pas de paramètres (et je n’ai pas trouvé de moyen de rajouter le paramètre a posteriori). Par exemple pour un rectangle qui doit être complètement paramétrable, positionner le rectangle a peu près comme souhaité, puis recopier les valeurs au clavier (avec <Tab> pour changer entre la hauteur et la largeur)
  • Utiliser au maximum des méthodes de construction géométrique et utiliser les contraintes pour que le dessin se comporte comme vous le souhaitez lorsqu’un paramètre sera modifié. Quelques contraintes très utiles :
    • Fixe : indique que l’élément sélectionné (par exemple un coté d’un rectangle) ne doit pas bouger lors de la modification d’un paramètre. C’est très utile par exemple pour que Fusion360 sache de quel coté faire varier un rectangle en modifiant une de ses dimension.
    • Lié : indique que les deux éléments sélectionnés doivent rester liés
    • Tangents : indique que l’élément doit rester tangent au cercle indiqué

 

Ensuite tout se passe dans le menu Modify / Change parameters (à faire au fur et à mesure du dessin pour que ce ne soit pas trop compliqué) :

  • Ajouter en “User parameters” les différents paramètres que l’utilisateur va pouvoir choisir et qui vont être utilisables dans le dessin
  • Puis changer tous les paramètres dans “Model parameters” de toutes les constructions faites pour être paramétrables en formules mathématiques qui dépendent des paramètres d’entrée ; il suffit d’entrer soit le nom du paramètre à utiliser, soit une formule mathématique avec les paramètres.
  • Sauvegarder les formules (pour ne pas les perdre si besoin d’annuler en cas de problème sur un test), puis les essayer en ouvrant à nouveau l’écran et en modifiant les paramètres d’entrée (il faut tester à la hausse et à la baisse pour être sûr que les contraintes se comportent bien)
]]>
https://www.lprp.fr/2020/01/modelisation-parametrique-dans-fusion-360/feed/ 0
Simulation de résistance sous Fusion360 https://www.lprp.fr/2020/01/simulation-de-resistance-sous-fusion360/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=simulation-de-resistance-sous-fusion360 https://www.lprp.fr/2020/01/simulation-de-resistance-sous-fusion360/#respond Mon, 20 Jan 2020 21:36:22 +0000 https://www.lprp.fr/?p=4211 Un peu avant l’été, j’avais modifié un support d’assistant vocal Alexa Echo Dot 3 pour ajouter une anse, et pouvoir le suspendre à un crochet sans avoir à percer des trous dans mon mur en béton. Mais le Alexa Echo Dot est lourd, et pendant l’été, sans doute également à cause de la chaleur, le support s’est légèrement plié :

Plusieurs facteurs peuvent expliquer cette déformation :

  • le modèle original était prévu pour avoir deux vis qui maintiennent la face arrière sur le mur et permettre donc de soulager les contraintes sur le dos assez étroit
  • l’impression en PLA, qui n’est pas le plastique le plus solide, ni le plus résistant à la température.

J’ai alors cherché à modifier le modèle pour ajouter un peu de résistance, en premier lieu avec deux modifications un peu intuitives :

  • supprimer le trou au milieu du dos qui reprenait le motif du logo Alexa, et introduit donc une fragilité supplémentaire dans le dos
  • ajouter un renfort en dessous du support pour soulager la contrainte du poids de l’appareil qui père sur le bord bas du support.

Cependant ce n’est pas très scientifique comme méthode et j’ai cherché un logiciel qui permet de simuler la résistance des pièces, avec différents logiciels de simulation par la méthode des éléments finis (FEM) pour finalement me rendre compte que Fusion 360 met à disposition cette fonctionnalité dans sa version gratuite.

J’ai d’abord voulu reproduire la déformation que j’ai pu observer avec le modèle actuel. J’ai commencé en prenant simplement le modèle, en fixant l’anse et en appliquant sur la partie basse du support une force correspondant au poids de l’Alexa.

La simulation s’effectue très simplement, une fois positionnées les différentes contraintes, on peut vérifier le modèle, puis lancer la simulation. Par défaut Fusion360 propose un calcul de simulation sur leurs serveurs, mais c’est payant et les quelques crédits proposés gratuitement seront vite engloutis. Heureusement Fusion360 permet d’installer en local le solveur pour lancer les simulations en local sur son poste. Le résultat est plutôt satisfaisant pour un premier jet :

On voit bien la pliure au niveau du dos, mais ce n’est pas fidèle à l’observation sur la position verticale, car en fixant l’anse, on ne permet pas à cette dernière de pivoter sur le crochet. Par ailleurs, on ne voit pas l’effet du mur. J’ai donc opté pour modéliser une deuxième pièce qui va matérialiser le mur et le crochet sur lequel le support sera appuyé. J’ai également modélisé un Alexa très simplifié. La simulation est un peu plus complexe à mettre en place. Il faut fixer le mut et le crochet, et ré-activer la gravité (qui est désactivée par défaut). Par ailleurs il faut préciser que les contacts anse-crochet, support-mur, support-alexa peuvent glisser et pivoter. Pour cela il y a un mode “Separation” qui est adapté. Après quelques tatonnements, le résultat est assez ressemblant :

     

A noter que mon PC portable vieux de bientôt 5 ans a commencé à montrer son grand age sur les simulations, surtout que le modèle initial était assez complexe, car issu d’un STL importé, avec toutes les faces que cela suppose, malgré les opérations de simplifications sur le modèle. J’ai donc fini par le re-modéliser sous Fusion360 pour que le modèle puisse être moins lourd et plus adapté pour la simulation.

J’ai ensuite apporté les modifications que je souhaitais, en supprimant les trous dans le dos du support, et en ajoutant un renfort en bas pour éviter que le bas se plie trop. Le résultat n’est pas visuellement très flagrant, on voit toujours le modèle se plier et peut être même un peu plus car avec le support l’effet de levier est plus important. On voit cependant le bas qui plie beaucoup moins, ce qui était le principal problème du modèle initial.

Cependant la simulation s’intéresse à des cas limite et augmente la déformation. Je vais donc tenter une impression et voir comment cela se comporte en vrai.

A noter que le module de simulation n’est pas toujours facile à dompter. Notamment, onn peut paramétrer le matériau utilisé. Malheureusement, le PLA n’est pas dans la liste des matériaux proposés par défaut, mais on peut en ajouter, pour peu de trouver les caractéristiques techniques (trouvées sur le forum de Fusion360). J’ai essayé avec du PLA et du plastique normal, et j’ai eu des résultats très surprenants :

On y voit la partie haute qui passe au travers du modèle Alexa !  C’est absolument incompréhensible car il n’y a quasiment pas d’effort positionné sur cette partie, alors que la partie basse, qui supporte tout le poids, ne ploie pas. Les deux surfaces étant initialement assez éloignées, il n’y avait pas de contact identifié, ce qui explique que cette partie passe au travers du modèle.  J’ai fait plusieurs tentatives avec du plastique (dur) et je suis toujours tombé sur cette situation incompréhensible. Au final, ce qui a donné les résultats les plus conforme à la réalité a été d’utiliser de l’acier comme matériau.

En conclusion le module de simulation de Fusion360 est plutôt pratique à utiliser, assez facile par rapport aux autres outils gratuits qu’on peut trouver et qui sont particulièrement complexes, mais qu’il me faut encore apprendre à dompter…

 

]]>
https://www.lprp.fr/2020/01/simulation-de-resistance-sous-fusion360/feed/ 0
Ajouter un capteur de température à un Sonoff Basic https://www.lprp.fr/2020/01/ajouter-un-capteur-de-temperature-a-un-sonoff-basic/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ajouter-un-capteur-de-temperature-a-un-sonoff-basic https://www.lprp.fr/2020/01/ajouter-un-capteur-de-temperature-a-un-sonoff-basic/#comments Thu, 02 Jan 2020 20:57:58 +0000 https://www.lprp.fr/?p=4197 Dans ce billet, on ajoute un capteur de température à un Sonoff Basic sous Tasmota, configuré dans le billet précédent. Outre le plaisir de customiser la bestiole, cela va permettre d’une part d’ajouter un capteur de température ambiante dans Domoticz, et surtout d’implémenter une règle de sécurité sur notre Sonoff Basic pour éteindre automatiquement l’appareil contrôlé si la température ambiante devient trop élevée.

La première chose est de bien choisir le capteur de température en piochant dans la liste de capteurs supportés par Tasmota. A noter que le bus I2C est supporté, et donc tous les capteurs compatibles avec ce bus pourront être utilisés également. Pour ma part j’ai choisi le BMP280 qui est très bon marché (< 1€), très compact, et donne température, humidité et pression avec une précision qui est indiquée comme pas mauvaise. Mais le temps que ça arrive, j’ai un DHT11 en stock qui est supporté par Tasmota et qui rentre pile poil dans le boitier du Sonoff Basic. Il est indiqué que la précision de ce capteur est très mauvaise, mais pour l’usage que je vais en faire ce n’est pas bien grave.

L’étape suivante est de souder le capteur sur Sonoff. Le sonoff que j’utilise est un Sonoff Basic 2, pour lequel le GPIO14 a été remplacé par le GPIO2. La petite subtilité est que ce GPIO nécessite une résistance pour être actif au démarrage et ne pas être désactivé par la suite. il faut donc pouvoir souder le DHT11 sur les broches GND, 3V3 et IO2, une résistance de 10k Ohm entre 3V3 et IO2, et accessoirement pouvoir garder l’accès aux broches, d’une part si on a besoin de le brancher à nouveau sur le PC pour une mise à jour, et d’autre part pour permettre de l’alimenter avec le module FTDI utilisé dans l’article précédent pour pouvoir tout tester hors circuit 220V. Le plus simple pour tout ça est finalement de souder également un pin header (oui, après avoir tout fait pour configurer Tasmota sans le pin header je finis par en installer un quand même 🙂 ). La GPIO2 et disponible uniquement sur la face inférieure du circuit, j’ai donc utilisé une nappe de fils pour passer dans un trou et installer le DHT11 au dessus pour pouvoir le rentrer dans le boitier. Il y a de toutes façons la possibilité de sortir le DHT11 en dehors du boitier mais je préférais une solution la plus simple et compacte possible. Voici le résultat une fois les soudures effectuées :

       

A noter :

  • la résistance est de 10 000 Ohm (1 = brun, 0 = noir, 0 = noir -> 100 x multiplier 100 = rouge  -> 100 x 100 = 10 kOhm)
  • le brochage du DHT11 est de gauche à droite : Vcc, Data, Unused, Gnd  (lorsque vous regardez sa face percée et les pattes en bas)

Une fois branché en 3.3V  il faut ensuite retourner dans l’interface web du Sonoff pour paramétrer le DHT11 sur la broche GPIO2 :

Un reboot plus tard, le module va maintenant vous afficher la température :

Pour intégrer cet affichage dans Domoticz, rien de plus simple, il suffit de créer comme dans le billet précédent un capteur virtuel, mais de type temperature+humidity, puis de recopier son identifiant dans la configuration Domoticz et le tour est joué !

Le capteur est effectivement très imprécis, et montre pour le mien un décalage de 3°C. Heureusement dans Domoticz on peut indiquer un offset de -3°C via le bouton modifier :

A cette étape nous disposons donc d’un Sonoff avec un capteur de température fonctionnel. Je l’ai alors installé sur l’équipement cible. A noter que le Sonoff Basic ne dispose pas d’une borne pour le fil de masse. Comme mon équipement utilise la masse, il a fallu faire en sorte de faire passer la masse dans le boitier, ce qui n’a pas été simple vu la taille du boitier et ce d’autant plus qu’il y a déjà le capteur DHT11 qui prend de la place.

A l’usage j’ai constaté que le module chauffe un peu lorsqu’il est sous tension, et encore un peu plus lorsque l’équipement à commander est allumé. J’ai donc fait quelques petits trous dans le boitier pour “ventiler” un peu. Ca limite l’écart à quelques degrés mais ce n’est pas magique. Encore un fois pour mon usage ce n’est pas bien grave mais j’ai été un peu surpris que le Sonoff Basic chauffe un peu.

Du coup j’ai mesuré sa consommation, à vide il ne consomme pourtant seulement que 0.3 W (environ car mon appareil de mesure n’est pas suffisamment précis pour mesurer des faibles consommations). Pour ceux qui pensent que c’est du à la résistance, la puissance consommée n’est que de 1 mW ( = ( 3.3 V) ^ 2 / 10 000 Ohm).

Il est maintenant temps de paramétrer la règle pour faire éteindre le Sonoff dès que la température devient trop importante. Avec la documentation de Tasmota on trouve assez facilement que la règle doit être :

ON DHT11#Temperature>32 DO POWER OFF ENDON

La température est ici réglée sur 32°C car c’est pratique pour tester car dans ma configuration c’est une valeur intermédiaire entre la température du Sonoff sous tension mais avec l’interrupteur éteint (28°C) et celle lorsque l’interrupteur est allumé (34°C). A noter que les températures sont à prendre sans l’application de l’offset de -3°C qui n’est pas connu du Sonoff. Cette valeur sera bien sûr à augmenter par la suite sinon ça va se déclencher un peu trop.

Petit problème, je n’ai trouvé (ou compris) nulle part dans la documentation de Tasmota la façon d’ajouter une règle !  En fouillant un peu, je suis tombé sur un logiciel très pratique pour Tasmota : Tasmota Device Manager. Il s’agit d’une interface graphique pour administrer ses équipements Tasmota. L’installation se fait très simplement depuis une instance fonctionnelle de python3 :

pip3 install tdmgr
tdmgr.py

Cette IHM est très bien faite, il y a une découverte automatique des équipements Tasmota basée sur MQTT, la console MQTT pour chaque équipement avec la possibilité de régler le niveau des informations de logs et de debug souhaitées (si leur émission est paramétrées dans Sonoff ce qui est le cas par défaut), et la possibilité d’éditer les règles et de les uploader !

J’ai surligné ici la commande MQTT envoyée par TDM pour configurer une règle. C’est finalement très simple, sans doute possible depuis la console de l’interface Web et sans doute dans la documentation (mais je ne l’avais pas compris). Dans la console vous pouvez ne pas utiliser le préfixe MQTT pour simplement indiquer : (mais ça marche aussi avec)

Rule1 ON DHT11#Temperature>50 DO POWER OFF ENDON

Voici ensuite le log lorsque la température dépasse le seuil indiqué : on voit bien l’application de la règle et la commande de Power Off  (ne pas tenir compte de l’affichage de température de la copie d’écran, j’ai réalisé cette copie d’écran après refroidissement). A noter que la commande Power Off est répété tant que la température n’est pas redescendue. Ce n’est pas bien grave pour le Sonoff, ça va juste polluer vos logs MQTT.  Tasmota dispose d’un support d’exécution conditionnelle qui permettrait d’indiquer de ne envoyer la commande Power Off seulement si l’équipement est allumé, mais c’est un module optionnel qui n’est pas inclus dans la distribution binaire et qu’il faut donc compiler soi-même.

Il ne reste plus qu’à remplacer la valeur de 32°C par celle voulue, 50°C dans mon cas, et le module final est maintenant fonctionnel !

Le résultat est donc au final un équipement piloté via Domoticz (et via Google Home / Alexa au travers de OpenHAB, voir mon article sur ce sujet) et protégé contre les surchauffes via avec un capteur de température / humidité intégré (et disponible sous Domoticz).

]]>
https://www.lprp.fr/2020/01/ajouter-un-capteur-de-temperature-a-un-sonoff-basic/feed/ 2