Domotique / Radio / LoRa :
14,90 € TTC
p. 04 IAoT avec M5Stack
p. 14 i2c-tiny-usb : un bus i2c facilement accessible pour votre PC
p. 30 Lever et coucher de soleil sur ESP32
p. 50 Meshtastic : communication longue distance, hors réseaux et gratuite
p.64 Milk-V Duo : un minuscule SBC RISC-V à 8 €
p. 78 Carte à puce et microcontrôleur
p. 112 Sharp PC-G850V : le dernier des ordinateurs de poche
La diversité est la clé.
J’ai essayé Rust, j’aime pas. J’ai essayé Go, j’aime bien. J’ai essayé Zig, j’aime un peu. J’ai essayé Carbon, Deno, Nim, Crystal...
Il semble qu’il ne se passe pas une paire de mois sans qu’apparaisse un nouveau langage ou qu’un langage jusqu’alors très peu connu soit mis à l’avant de la scène pour une raison ou une autre. Et, franchement, c’est tant mieux !
La question n’est même pas de savoir si telle ou telle alternative au C, au C++, au JavaScript, au Python, etc., est « mieux » que sa source d’inspiration ou non, que sa syntaxe soit proche ou pas de vos préférences personnelles, ou que son système de gestion de paquets/modules/extensions (ou de build) soit « ergonomiquement » proche de ce que vous espérez ou attendez. Tout ceci n’est qu’une affaire de goûts et de concessions, car le langage universellement parfait n’existe pas, et n’existera sans doute jamais.
Chaque langage a ses forces et ses faiblesses, mais surtout, est plus ou moins adapté à la résolution d’un problème, dans un contexte donné et dans un environnement bien précis. De ce fait, c’est la diversité des options à disposition qui importe. Et plus nous avons d’options, sous réserve qu’elles reposent sur des licences tolérables (strictement open source, donc), plus nous avons de choix qui peuvent nous correspondre.
Et ça, qu’on aime ou non Rust, Go, Zig ou que sais-je encore de « moderne » et tendance, même si cela passe par une phase définitivement passagère de syndrome RIIR (Rewrite It In Rust) déclinée en 50 nuances de trolls (on a eu la même chose avec Java, souvenez-vous), c’est le plus important et ce qui compte vraiment. Et qui sait, peut-être un jour finirez-vous dans l’escarcelle d’un de ces nouveaux langages... ou resterez-vous à tout jamais dans celle de celui qui vous convient déjà le mieux.
Dans les deux cas : tant mieux, et merci la diversité du logiciel libre !
Denis Bodor
Né en 2014, Hackable est un bimestriel destiné aux professionnels et particuliers souhaitant découvrir et progresser dans les domaines de l’électronique numérique et de l’embarqué. Il fournit un contenu riche orienté vers une audience désireuse de bénéficier d'une veille technologique différente et résolument pratique. Le contenu du magazine est conçu de manière à permettre une mise en pratique directe des connaissances acquises et apprendre tout en faisant.
Une installation domotique ou un déploiement de capteurs repose généralement sur différents types de communication radio ou filaires : Wi-Fi, Zigbee, Z-Wave, Bluetooth, i2c, EIA-485, Ethernet, etc. Mais lorsque les distances se comptent en centaines de mètres voire en kilomètres, le problème devient plus épineux. L'option 4G est toujours possible, toutefois comme avec d'autres solutions d'IoT, ceci suppose de non seulement ajouter une charge financière au projet, mais implique également de reposer sur un réseau contrôlé par un opérateur susceptible de changer les règles comme il l'entend. Meshtastic est une réponse à cette contrainte : une réponse hors réseau (off grid), gratuite, participative et très économique...
RISC-V (prononcé « RISC five ») est une ISA (ou architecture de jeu d'instructions) avec des spécifications ouvertes, pouvant être librement utilisée (contrairement à ARM). Cette architecture s'est enfin frayé un chemin dans le monde des microcontrôleurs où elle est maintenant clairement omniprésente (cf. ESP32-C3 et consorts, par exemple), mais peine encore à se populariser vraiment du côté des SoC. Nous sommes encore loin d'une invasion de SBC octa-core à prix défiant toute concurrence, mais cela ne saurait tarder (sauf si le sieur Xi Jinping décide d'envahir un pays démocratique voisin). En attendant, on peut déjà se faire la main avec quelque chose de plus modeste, comme le Milk-V Duo pour une petite poignée (ou pincée) d'euros...
Lorsqu'on cherche à développer un support pour un composant interfacé en i2c qui ne dispose pas encore de bibliothèque, que ce soit pour Arduino ou toute autre plateforme pour microcontrôleur (RP2040, ESP32, etc.), la phase de mise au point et de test n'est pas toujours très aisée. Il faut travailler sur un code de firmware, programmer le MCU, tester et itérer, ce qui fait perdre un temps conséquent. Il est bien plus facile de développer sur PC ou Pi pour ensuite porter le code sur MCU. Mais encore faut-il disposer d'un bus i2c facilement accessible...