Les articles de Hackable N°34 - Juillet/Août/Septembre 2020

Image
Domotisez votre chauffage !
Article mis en avant

Poêle à granulés connecté

Comme la plupart des produits électroniques industriels, les systèmes de chauffage se révèlent souvent très frustrants à l’utilisation, car très fermés. Aucune information technique n’est publique, et l’interopérabilité avec d’autres équipements est difficile. Lequel d’entre nous n’a pas déjà rêvé de pouvoir disposer d’une interface d’accès ouverte sur son système de chauffage, ou d’un mode qui le rendrait un peu plus intelligent et autonome ? Alors c’est parti : nous allons transformer notre poêle à granulés classique en un véritable système connecté IoT, intuitif et intelligent, disposant d’une interface d’accès ouverte.

« J'ai un nouveau projet... »
La bibliothèque MD_MAX72XX de Marco Colli (alias MajicDesigns) permet de piloter un ou plusieurs modules en configuration linéaire (les uns après les autres, sur une ligne), mais elle forme également la base de la bibliothèque MD_MAXPanel supportant des agencements en panneaux et fournissant des primitives graphiques intéressantes (points, lignes, rectangles, cercles, etc.).
Trop souvent, dans les forums et/ou sur les sites web, certains ont tendance à conseiller l'approche « facile » plutôt que l'approche « efficace ». Qui n'a jamais vu un jour quelqu'un répondre « mais utilises donc xxx(), ça marche et c'est plus simple » en réponse à une problématique précise ? C'est là, généralement, le fait de personnes qui n'ont que peu d'expérience ou ne comprennent simplement pas la motivation du demandeur. Voici une petite réalisation destinée à mettre en évidence non seulement l'intérêt de « creuser un peu », mais également une bonne raison de mitiger la valeur des conseils trop rapidement prodigués.
Il existe de nombreux cas où le matériel n’est pas disponible pour développer un système embarqué, que ce soit parce que la carte commandée n’a pas encore été livrée, parce que le collègue chargé de la conception du circuit imprimé a fait une erreur ou est en retard, ou parce qu’un virus interdit l’accès aux salles de travaux pratiques de l’Université (Fig. 1). Pour toutes ces raisons, nous désirons appréhender le développement d’un système embarqué sur un émulateur, c’est-à-dire un logiciel capable de fournir une représentation fidèle du comportement du dispositif réel, incluant ses latences et temporisations.
Il est difficile de trouver un titre adéquat pour le contenu qui va suivre, car le matériel dont il sera question est tout aussi atypique qu'absolument captivant en termes de fonctionnement. Pire encore, ce n'est pas tant le matériel qui importe que l'approche nécessaire pour obtenir exactement le comportement attendu. Il sera donc ici question de NFC, de papier électronique (e-paper), de C et de la maxime voulant « qu'à cœur vaillant, rien d'impossible ». Sans attendre, embarquez avec moi dans une petite aventure qui, je l'espère, vous apprendra autant qu'elle m'a appris...
Nous avons précédemment traité du développement sur la fantastique plateforme ESP32, héritière du non moins délectable ESP8266, aussi bien au travers de l'IDE Arduino que via l'environnement de développement créé par le constructeur, Espressif Systems, répondant au doux nom de ESP-IDF. Le 11 février dernier était annoncée la version 4.0 de cet environnement, majoritairement compatible avec la précédente version 3.3.1, mais apportant un lot majeur d'améliorations et quelques changements très intéressants dans le système de construction/compilation. Il est donc temps de revisiter la bête et de tester tout cela...
Dans les articles précédents, nous avons étudié de près le langage d'assemblage du microprocesseur 6502. Et même si j'ai essayé d'étayer le tout avec beaucoup d'exemples, tout cela est resté très théorique. Aujourd'hui, nous allons vraiment passer à la pratique en réalisant des programmes graphiques pouvant s'exécuter sur une véritable console NES ou sur un émulateur.