1 line
15 KiB
JSON
1 line
15 KiB
JSON
[{"uuid":"ac8515ca-400e-43dc-b5bb-08aa5e6689b5","slug":"premier-programme-esp-01-afficher-les-informations-systeme","title":"Premier programme ESP-01 : afficher les informations système","category":"Électronique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2020-12-12 22:28","created_at":"2020-12-12 22:28:56","updated_at":"2026-05-13 18:30:19","tags":[],"plain":"Objectif\r\n\r\nLe sketch ci-dessous est un petit utilitaire de diagnostic : une fois téléversé sur un ESP-01, il publie toutes les dix secondes sur la console série un état détaillé du microcontrôleur — identifiant, fréquence, tension d'alimentation, version du SDK — ainsi qu'un état de la mémoire flash. C'est l'équivalent d'un couplé à un pour l'ESP8266.\r\n\r\nCet exemple sert deux objectifs :\r\nvalider la chaîne complète (adaptateur, mode flash, IDE, board package) en réussissant un premier téléversement ;\r\nidentifier précisément le module en main : la flash réelle ne correspond pas toujours à ce qui est annoncé par le vendeur, et il peut être utile de le constater avant d'aller plus loin.\r\nPrérequis : un ESP-01 programmable depuis l'IDE Arduino. Voir les articles dédiés à l'adaptateur USB-série et à la configuration de l'IDE pour l'ESP-01.\r\n\r\nLe programme\r\n\r\n\r\n\r\nTéléverser et lire la sortie\r\n\r\n1. Sélectionner .\r\n2. Régler le port série sur celui de l'adaptateur.\r\n3. Placer l'ESP-01 en mode flash (jumper GPIO0 ↔ GND), téléverser, retirer le jumper, redémarrer.\r\n4. Ouvrir le moniteur série à 115200 bauds, fin de ligne NL & CR.\r\n\r\nSortie attendue (les valeurs varient d'un module à l'autre) :\r\n\r\n\r\n\r\nLecture des informations\r\n\r\nBloc ESP8266EX\r\nInformation | Méthode | Commentaire |\r\n---|---|---|\r\nNuméro de série du SoC | | Entier 24 bits dérivé de l'adresse MAC du module. Identifie de manière unique un ESP8266 donné. |\r\nFréquence du CPU | | 80 MHz par défaut, peut passer à 160 MHz avec ou via les options de carte de l'IDE. |\r\nAlimentation | | Tension VCC en millivolts. Nécessite et que la broche TOUT (ADC0) soit laissée libre. |\r\nVersion du core | | Version du board package esp8266 by ESP8266 Community. C'est lui qui fournit l'API Arduino utilisée ici. |\r\nVersion du SDK | | Version du SDK NONOS d'Espressif, utilisé en interne par le core. Ne pas confondre avec la version du core. |\r\n\r\nLecture de la sortie d'exemple : le module est un ESP8266 cadencé à 80 MHz, alimenté à environ 3,47 V (légèrement au-dessus du nominal de 3,3 V, ce qui reste dans la plage tolérée 3,0–3,6 V), compilé avec le board package 2.7.4 (basé sur le SDK NONOS 2.2.2).\r\n\r\nBloc Flash\r\nInformation | Méthode | Commentaire |\r\n---|---|---|\r\nNuméro de série de la flash | | Concaténation du manufacturer ID et du device ID renvoyés par la commande JEDEC. Utile pour identifier la puce flash réellement soudée. |\r\nFréquence | | Vitesse de l'horloge SPI en Hz. 40 MHz est la valeur standard ; 80 MHz est possible mais instable sur certains lots. |\r\nCapacité effective | | Taille physique de la puce flash, lue dans son JEDEC ID. C'est la vérité matérielle. |\r\nCapacité paramétrée | | Taille que l'IDE a annoncée au firmware (paramètre Flash Size dans ). Doit correspondre à la capacité effective. |\r\nTaille du sketch | | Place occupée par le programme actuel. |\r\nMémoire disponible | | Place restante utilisable pour un téléversement OTA. Pas la RAM libre — pour cela utiliser . |\r\n\r\nDans la sortie d'exemple, la flash physique fait 1 Mo (1 048 576 octets) et l'IDE a été paramétré avec la même valeur : c'est cohérent.\r\nPiège classique : si et diffèrent, le module est mal configuré dans l'IDE. Les conséquences vont de plantages aléatoires au refus de monter le système de fichiers SPIFFS/LittleFS. C'est l'un des intérêts principaux de ce sketch : détecter ce désaccord avant d'investiguer un comportement étrange.\r\n\r\nVariante : ajouter quelques infos utiles\r\n\r\nQuelques méthodes complémentaires qu'il peut être pertinent d'ajouter au programme selon les besoins :\r\n\r\n\r\n\r\nCes valeurs sont particulièrement intéressantes pour diagnostiquer des plantages : indique si le module a redémarré sur un watchdog, un brown-out, un reset matériel ou une exception logicielle.\r\n\r\nPour aller plus loin\r\nL'ESP-01 : présentation et premiers pas\r\nAdaptateur USB vers ESP-01 : activer le mode programmation\r\nESP8266 : commandes AT\r\nDocumentation officielle de l'API du core Arduino : <https://arduino-esp8266.readthedocs.io/en/latest/libraries.html#esp-specific-apis>\r\n```"},{"uuid":"0d9e7361-a3ff-4eaa-9886-faf748b14235","slug":"script-php-qui-scanne-tous-les-dossiers-de-l-arborescence-courante-et-affiche-des-liens-vers-ces-dossiers","title":"Afficher les dossiers courants","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-03-16 23:24:17","created_at":"2023-03-16 23:24:17","updated_at":"2023-03-16 23:24:17","tags":[],"plain":"Voici un script en PHP qui scanne tous les dossiers de l'arborescence courante (à l'exception des dossiers cachés) et affiche des liens vers ces dossiers dans une page HTML5. Le rendu utilise Bootstrap pour un style plus élégant. Ce script commence par inclure les en-têtes HTML nécessaires, notamment la feuille de style Bootstrap. Ensuite, il utilise la fonction PHP scandir() pour récupérer la liste de tous les fichiers et dossiers dans le répertoire courant. La fonction arraydiff() est utilisée pour exclure les éléments spéciaux tels que , et (sur Mac). Ensuite, le script parcourt tous les dossiers de la liste avec une boucle foreach et utilise la fonction isdir() pour vérifier s'il s'agit bien d'un dossier. Si c'est le cas, il affiche un lien vers ce dossier avec la fonction echo. Evolution\nPour afficher le titre title du fichier index.html contenu dans chaque dossier scanné, vous pouvez utiliser la fonction fileexists() pour vérifier si le fichier existe et la fonction filegetcontents() pour obtenir le contenu du fichier et extraire le titre title. Voici le code mis à jour : Ce script commence par inclure les mêmes en-têtes HTML que précédemment. Ensuite, il utilise les mêmes fonctions pour récupérer la liste des dossiers à scanner. Pour chaque dossier, le script vérifie si un fichier index.html existe en utilisant la variable $indexfile qui contient le chemin complet vers le fichier. Si le fichier existe, le script utilise la fonction filegetcontents() pour obtenir le contenu du fichier et utilise une expression régulière pour extraire le texte entre les balises . Si le titre title est trouvé, il est stocké dans la variable $title, sinon la variable contient le texte \"Titre non trouvé\". Si le fichier index.html n'existe pas, la variable $title contient le texte \"Fichier index.html non trouvé\". Enfin, le script affiche un lien vers le dossier ainsi que le titre title récupéré (ou un message d'erreur si le fichier index.html n'a pas été trouvé)."},{"uuid":"80069e1f-202a-407e-91f5-71344ba4fd6b","slug":"20230113-afficher-le-nombre-de-mise-a-jour-avec-dnf-a-l-ouverture-de-session","title":"Afficher le nombre de mise à jour en attente avec DNF à l'ouverture de session","category":"Journal geek","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-15 22:02:45","created_at":"2023-02-15 22:02:45","updated_at":"2023-02-15 22:02:45","tags":[],"plain":"Il y a plusieurs façons d'exécuter une commande automatiquement lors de l'ouverture d'une session sur un système basé sur Linux :\nAjoutez la commande dans le fichier .bashprofile : Vous pouvez ajouter la commande que vous voulez exécuter automatiquement dans le fichier de votre répertoire personnel. Ce fichier est exécuté lorsque vous ouvrez une session de terminal.\nUtilisez un gestionnaire de sessions : Les gestionnaires de sessions tels que systemd ou peuvent être utilisés pour exécuter des commandes automatiquement lors de l'ouverture d'une session. Par exemple, vous pouvez utiliser systemd pour créer un service qui exécute une commande automatiquement au démarrage.\nUtilisez le fichier /etc/profile : Ce fichier est exécuté pour tous les utilisateurs lors de l'ouverture d'une session, vous pouvez donc y ajouter la commande que vous souhaitez exécuter automatiquement. Avec dnf (Dandified Yum) vous pouvez utiliser la commande pour afficher le nombre de mises à jour en attente. Pour afficher cette information dans le fichier , vous pouvez utiliser une commande de type : echo \"Il y a $(dnf check-update -q -y | grep -c \"^.\") mise(s) à jour en attente\" Cette ligne utilise la commande pour vérifier les mises à jour en attente. Le paramètre (quiet) permet de n'afficher que le nombre de paquets à mettre à jour, sans afficher les détails sur les paquets. Ensuite, elle utilise la commande pour compter le nombre de lignes de sortie, ce qui correspond au nombre de mises à jour en attente. Le résultat est ensuite affiché avec la commande . Note importante 1 : cette commande fonctionnera uniquement si vous utilisez comme gestionnaire de paquets, et non qui est utilisé sur les anciennes version de Fedora, Red Hat ou Cent OS**. Note importante 2 : pour utiliser ces méthodes, vous devrez avoir les privilèges d'administrateur pour accéder et éditer les fichiers système. Il est également important de vérifier que la commande que vous souhaitez exécuter automatiquement est sûre et ne causera pas de problème pour votre système."},{"uuid":"fcdd80a9-e5fb-4e3d-9b97-526c4019bfae","slug":"20230113-afficher-le-nombre-de-mise-a-jour-avec-yum-a-l-ouverture-de-session","title":"Afficher le nombre de mise à jour en attente avec YUM à l'ouverture de session","category":"Journal geek","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-15 22:02:45","created_at":"2023-02-15 22:02:45","updated_at":"2023-02-15 22:02:45","tags":[],"plain":"Il y a plusieurs façons d'exécuter une commande automatiquement lors de l'ouverture d'une session sur un système basé sur Linux :\nAjoutez la commande dans le fichier .bashprofile : Vous pouvez ajouter la commande que vous voulez exécuter automatiquement dans le fichier de votre répertoire personnel. Ce fichier est exécuté lorsque vous ouvrez une session de terminal.\nUtilisez un gestionnaire de sessions : Les gestionnaires de sessions tels que systemd ou peuvent être utilisés pour exécuter des commandes automatiquement lors de l'ouverture d'une session. Par exemple, vous pouvez utiliser systemd pour créer un service qui exécute une commande automatiquement au démarrage.\nUtilisez le fichier /etc/profile : Ce fichier est exécuté pour tous les utilisateurs lors de l'ouverture d'une session, vous pouvez donc y ajouter la commande que vous souhaitez exécuter automatiquement. Sous Fedora, CentOS ou Red Hat, vous pouvez utiliser la commande pour afficher le nombre de mises à jour en attente. Pour afficher cette information dans le fichier , vous pouvez utiliser une commande de type : echo \"Il y a $(yum check-update -y -q | grep -c \"^.\") mise(s) à jour en attente\" Cette commande utilise la commande pour vérifier les mises à jour en attente. Le paramètre (quiet) permet de n'afficher que le nombre de paquets à mettre à jour, sans afficher les détails sur les paquets. Ensuite, elle utilise la commande pour compter le nombre de lignes de sortie, ce qui correspond au nombre de mises à jour en attente. Le résultat est ensuite affiché avec la commande . Cette commande fonctionnera uniquement si vous utilisez comme gestionnaire de paquets, et non qui est utilisé par défaut sur les dernières version de Fedora, Cent OS et Red Hat**."},{"uuid":"a15e6bb9-17ed-4c76-81e5-c34ba8f2e8af","slug":"interface-5v-230v-avec-optocoupleur-et-triac","title":"Interface 5V 230V avec optocoupleur et Triac","category":"Électronique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2020-08-06 22:16:58","created_at":"2020-08-06 22:16:58","updated_at":"2020-08-06 22:16:58","tags":[],"plain":"Lorsqu'on veut piloter un circuit en 230 volts, depuis un Arduino où depuis un composant électronique basse tension, on utilise un relais de commande. La partie commande est en 5 volts et la partie commandée se trouve en 230 volts. L'isolante entre les deux parties, c'est le relais. L'inconvénient d'un relais c'est le bruit qu'il fait quand il commute. Ça claque ! Lorsqu'on veut piloter un appareil en 230 volts, dans un environnement où le bruit est à proscrire, par exemple dans une chambre, il faut effectuer un choix technologique plus silencieux. Quelles solutions avons-nous en électronique pour pouvoir piloter du 230 volts. Le pilote, c'est l'Arduino ou un composant électronique à basse tension. La basse tension c'est du 5 volts. Le piloté, c'est un radiateur, une ampoule ou un autre composant à 230 Volts. D'ailleurs, l'appareil piloté s'appelle une charge. La solution serait le triac est un dispositif semi-conducteur avec 3 bornes. Pour faire simple, c'est un composant électronique à trois pattes. Il a 2 anodes et une porte appelée gate en anglais. Rapidement, la gate permet de faire circuler le courant entre les anodes. L'avantage de celui-ci c'est qu'il est compatible avec une tension alternative. Suivant le modèle choisi nous pourrons piloter de 4 à 25 ampères, pour une tension de 600 volts maximale. Ce qui représente une puissance de 5500 W maximale pour 230 V. Toutefois, le Triac ne permet pas d'isoler galvaniquement le 230 volts du 5 volts, car le schéma représente une masse commune. Il faut ajouter un optocoupleur pour isoler le 5 et 230 V. Le courant présenté en entrée de l'optocoupleur et transmis par une LED émettrice au bornier de la sortie. Sur le bornier de sortie est positionné un capteur de lumière qui laissera passer le courant si de la lumière est émise. Entre le bornier d'entrée et le borne de sortie de l'optocoupleur, il n'y a aucune masse commune, aucun conducteur commun. Il y a une isolation dite galvanique. Un triac, un optocoupleur et vogue la galère. Il y aura un bornier pour amener le 230 volts et un autre pour brancher la charge. Il y a également un module de transformation 230 volts alternatif vers 5 volts continu, ceci afin d'alimenter l'Arduino. L'Arduino sera programmé avec un programme spécifique qu'on injectera en USB. Une des sorties pilotera un optocoupleur. Il reste à modéliser un boîtier afin d'intégrer tous ses composants et modules. Et les quelques composants à souder le seront sur une plaque pré-percée. Composants\nVoici une liste de composants nécessaires à la réalisation du circuit, avec un prix indicatif sur les prix. Évidemment cela n'inclus ni le prix de l'étain, ni celui de la plaque pré-percée et ni des fils de jonctions.\nmodule 230 V AC - 5 V DC | 0,66 € | |\n----------------------------------- |\ntriac BTA16-600 | 0,136 €| |\nrésistance 220 ohms | < 0,004 € | |\nfusible 1A | 0,008 € | |\nporte fusible | 0,09 € | |\n1 borniers 2 connecteurs | 0,043 € | |\noptocoupleur MOC3031 | 0,15 € | | Voici quelques informations complémentaires sur certains composants ou modules. Le est un circuit avec transformateur, condensateurs, résistances, diodes et régulateur TL431. Caractéristiques\nTension d'entrée: 85 265 V AC 50/60 Hz ou 100 370 V DC\nTension de sortie: 5 V (+/-0.2 V) DC\nCourant de sortie : 700 mA\nPuissance : 3.5 W (5 V x .7 A)\nTempérature de fonctionnement : 20 ~ 60 degrés"}] |