2017-12-14

Environnements virtuels de Python 3

Essayant d'apprendre Python en jouant avec des projets de reconnaissance vocale et de domotique, il est devenu évident que je devais me familiariser avec les environnements virtuels Python. Le principe n'est pas difficile, mais j'ai rencontré des problèmes pratiques. Ce billet, qui a demandé plus de deux semaines d'écriture, montre comment je gère et utilise les environnements virtuels Python sur trois distributions Linux basées sur Debian. [...plus (en anglais)]

2017-10-17

HTTPS, HTTP et GTML

Depuis la fin mai, l'entreprise qui héberge mon site Web, fourni des certificats SSL (OpenSSL de cPanel.inc). Un accès sécurisé du site est donc disponible via HTTPS. Voilà qui devrait inspirer confiance; le petit cadenas vert est maintenant visible dans la barre d'adresse. Il y avait un hic, les fichiers de style et les images n'étaient plus visibles alors qu'on descendait dans la hiérarchie des fichiers HTML. Il fallait trouver un solution. [...plus]

2017-09-11

Un meilleur chien de garde ESP8266 avec une meilleure récupération

Le chien de garde développé précédemment peut être amélioré. De plus, il y a moyen de récupérer automatiquement des cycles de redémarrages causés par des exceptions ou des déclenchements des chiens de garde. [...plus (en anglais)]

2017-08-28

Chien de garde du ESP8266 géré par un croquis Arduino

L'ajout d'un troisième chien de garde est une bonne chose pour certains projets basés sur ESP8266 / Arduino. C'est qu'il est très facile d'écrire un croquis qui alimente les chiens de garde intégrés, mais qui néanmoins se plante. La tâche de ce chien de garde est de s'assurer que la boucle Arduino, loop(), est exécutée régulièrement [...plus (en anglais)]

2017-08-27

Chiens de garde du ESP8266 dans Arduino

Alors que les temporisateurs de surveillance matériel et logiciel du ESP8266 sont essentiels, ils ne suffisent pas à assurer le type de fiabilité nécessaire d'un objet relié à l'Internet (IdO). Dans un billet futur, je discuterai de la mise en œuvre d'un troisième chien de garde pour améliorer encore la fiabilité du microprogramme programmé dans cette puce. Avant, j'ai pensé qu'il serait utile de discuter des chiens de garde en général et d'approfondir certains des détails de ceux déjà disponible sur le ESP8266. [...plus (en anglais)]

2017-03-14

Traduction d'applications de type console dans Free Pascal

Dernièrement, j'ai remarqué que les unités DefaultTranslator et LCLTranslator ne peuvent pas être utilisées dans les applications de type console. Elles dépendent du paquet LCL en entier et la fonction SetDefaultLang veut traduire toutes les fiches du projet alors même qu'il n'y en a pas. J'ai donc décidé de retirer la traduction des fiches du code dans LCLTranslator et d'enregistrer cette version modifiée dans une unité appelée UnitTranslator [...plus].

J'ai identifié ce problème en révisant le programme de démonstration tcalc de mon analyseur syntaxique. Conséquemment, ce projet a été mis à jour [...plus]

2017-01-30

NodeMCU, MQTT et Domoticz - partie 2

Ce post poursuit l'exploration de NodeMCU, MQTT et Domoticz commencée les 15 et 17 janvier. Le sujet est de savoir comment s'abonner aux messages MQTT avec NodeMCU afin d'effectuer une tâche basée sur des messages publiés vers l'agent MQTT par d'autres dispostifs. En particulier, un commutateur virtuel du logiciel d'automatisation domotique met la DEL du WeMos D1 Mini sous ou hors tension [...plus (en anglais)]

January 21th, 2017

Wemos D1 mini et NodeMCU de nouveau

Le billet du 15 janvier a été légèrement retravaillé pour mieux expliquer le flux de travail lors de l'utilisation de NodeMCU avec des outils de ligne de commande. En particulier, le réglage correct du débit permet une expérience plus fluide [...plus (en anglais)]

2017-01-17

NodeMCU, MQTT et Domoticz - partie 1

Ce billet est une continuation du précédent. Je montre comment établir une connexion WiFi et comment mettre à jour un dispositif (un capteur de température) dans le logiciel de domotique Domoticz. Cela se fait de deux manières: en utilisant un courtier MQTT et en utilisant une requête HTTP. [...plus (en anglais)]

2017-01-15

Wemos D1 mini et NodeMCU

Lorsque j'ai acheté mes premiers commutateurs WiFi Sonoff de ITEAD, j'ai également obtenu un Wemos D1 mini. Je pensais qu'utiliser un kit de développement ESP8266 serait un bon moyen de se préparer à modifier les commutateurs. Dans ce billet, je raconte comment j'ai appris à programmer le ESP8266 en utilisant une chaîne d'outils composée du firmware NodeMCU et d'utilitaires de ligne de commande Python: esptool, nodemcu-uploader et miniterm. [...plus (en anglais)]

2016-08-30

Correction des unités ConvUtils et StdConvs de Free Pascal

Les unités ConvUtils et StdConvs ne sont pas compatible avec les unités du même nom de Delphi et on y retrouve quelques erreurs. J'ai décidé d'essayer de corriger le code Free Pascal dans l'espoir de soumettre ces corrections pour inclusion dans une future version du compilateur. Du coup, j'ai trouvé d'autre incompatibiltés avec Delphi dans dateutils [...plus]

2016-07-13

Évaluation des expressions mathématiques en Pascal objet

Pendant le portage du code à FreePascal / Lazarus, j'ai apporté quelques modifications à l'analyseur d'expression mathématique que j'avais initialement écrit dans Delphi. L'analyseur en une passe pour Free Pascal est complet, de même que la documentation [...plus]

2016-07-06

Séparateur de liste dans Linux

Il n'y a pas de séparateur de liste par défaut défini dans Linux. Alors quelle est la valeur affectée au champ nommé ListSeparator de l'enregistrement DefaultFormatSettings par le code de démarrage de Free Pascal ? C'est la virgule ',', comme aux États-Unis, qu'importe les paramètres régionaux sélectionnés par l'utilisateur. Puisque cela n'est pas toujours acceptable je propose une solution [...plus]

2016-04-04

Écueils dans Free Pascal/Lazarus

Après avoir tiqué sur une autre petite différence entre Free Pascal/Lazarus et Delphi, j'ai rédigé des notes au sujet de ces écueils. Les difficultés sont soulevées lors de l'affectation des types procéduraux et des gestionnaires d'événements, lors de l'appel d'une fonction sans paramètre à l'aide d'une variable procédurale, et lors de la récursion de fonctions sans paramètre. J'ai également couvert la création des modes de construction Debug et Release et l'ajout des symboles DEBUG et RELEASE dans le mode de construction approprié [...plus]

2016-01-27

Sliderbars - Deuxième partie

Deux composants s'ajoutent au paquet sujet de la discussion du 24 janvier. Le premier, nommé TSliderPlane, est une version deux dimensions de TSliderBar. Le second, TColorPlane est très spécialisé. Montrant un plan du cube de couleurs RVB, il peut être utilisé pour construire un sélectionneur de couleur en quelques lignes de code [...plus]

2016-01-24

Premiers composants Lazarus : sliderbars

Mes premiers composants pour Lazarus, sliderbars, sont maintenant disponibles. On peut les utiliser pour construire un dialogue de sélection de couleur en spécifiant les valeurs de rouge, vert et bleue. C'est très simple comme on peut le voir dans le deuxième programme de démonstration [...plus]