Hackable N°
Numéro
44

Programmez vos microcontrôleurs en langage Go !

Temporalité
Septembre/Octobre 2022
Image v3
Programmez vos microcontrôleurs en langage Go !
Article mis en avant

Résumé

Le langage par excellence de l'embarqué et des microcontrôleurs est indubitablement le C, car celui-ci offre la proximité adéquate avec le matériel et permet d'atteindre des performances acceptables lorsqu'on ne souhaite pas toucher à l'assembleur. Mais le C arrive avec son lot de difficultés, inhérentes à sa nature permissive, et exige énormément de rigueur de la part du développeur. Des alternatives existent, l'une d'elles est le langage Go et il est parfaitement utilisable sur microcontrôleur.

Dans ce numéro...


L'une des principales qualités d'un programmeur est sa capacité à transformer un concept en un ensemble de lignes d'instructions écrites dans un langage particulier. Ceci se fait en se représentant mentalement la manière d'atteindre l'objectif pour produire un algorithme plus ou moins efficace...
Je ne sais pas pour vous, mais personnellement, je ne trouve aucun réveil matin adapté à mes cycles de sommeil et à mes préférences personnelles. Fort heureusement, Waveshare a eu la bonne idée de créer la Pico-Clock-Green, une base de réveil équipée de drivers de LED SPI, d'une matrice de LED (vertes), d'un buzzer et d'une RTC DS3231. Le tout devant être complété d'une Raspberry Pi Pico équipée d'un firmware adapté. L'occasion était trop belle, mais constitue aussi et surtout une magnifique opportunité de voir ce qui se passe lorsqu'on tente de s'approprier un code existant, développé avec une philosophie un peu particulière...
Deux composants de la société anglaise Mirics ont été associés pour proposer le RSP1, une radio logicielle à moins de 20 euros couvrant 10 kHz–2 GHz (donc de la bande HF, notamment des radioamateurs, au GPS et à Iridium), mais surtout offrant une bande passante jusqu’à 8 MHz. Malheureusement, son utilisation s’appuie sur la bibliothèque propriétaire SDRPlay, dont l’installation n’est pas de tout repos.
On ne le dira jamais assez, dans l'embarqué, on ne compile jamais sur la cible. Certes avec une Raspberry Pi 4, cette affirmation est mise à mal tant les ressources et la puissance de calcul sont importantes, mais le monde n'est pas fait de Pi 4 et cette période de disette ne se prête pas réellement au fait de monopoliser une telle plateforme pour le simple plaisir d'explorer un nouvel OS. La compilation croisée est la solution et consiste à compiler/construire des binaires pour une machine X depuis une machine Y ayant une architecture différente, mais des ressources à foison.
En situation opérationnelle, les forces de sécurité et les secours ont de nombreux dispositifs à surveiller. Nous allons construire un boîtier d’alertes lumineuses afin d’alléger la charge des effectifs, le système réalisé devra être assez souple pour s’adapter à différents types de missions.
Vous venez d’installer une pompe à chaleur comme moyen de chauffage principal et votre facture EDF a vu son montant grimper en flèche pendant les heures de pointe. Si votre pompe à chaleur est connectée à Internet, vous avez la possibilité de contrôler la consigne de température via un site web ou une application sur smartphone. Mais comment automatiser ce contrôle lors des changements de période tarifaire de votre fournisseur d’énergie ? Une bonne occasion de se mettre au langage Rust !
On se propose ici d’utiliser un FPGA GW1NSR de la société chinoise Gowin pour transformer sa Game Boy en véritable console de salon, avec le branchement HDMI ainsi que la manette de Super NES. Le (relatif) plug & play du montage transforme ainsi la Game Boy en une Game Boy-Switch rétro à la sauce Formicapunk. On peut y jouer en mode portable comme à l’époque et si on l’insère dans le montage, il est possible d’y jouer sur sa télé HDMI avec une manette de Super NES.

Magazines précédents

Les derniers articles Premiums

Les derniers articles Premium

La place de l’Intelligence Artificielle dans les entreprises

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’intelligence artificielle est en train de redéfinir le paysage professionnel. De l’automatisation des tâches répétitives à la cybersécurité, en passant par l’analyse des données, l’IA s’immisce dans tous les aspects de l’entreprise moderne. Toutefois, cette révolution technologique soulève des questions éthiques et sociétales, notamment sur l’avenir des emplois. Cet article se penche sur l’évolution de l’IA, ses applications variées, et les enjeux qu’elle engendre dans le monde du travail.

Petit guide d’outils open source pour le télétravail

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Ah le Covid ! Si en cette période de nombreux cas resurgissent, ce n’est rien comparé aux vagues que nous avons connues en 2020 et 2021. Ce fléau a contraint une large partie de la population à faire ce que tout le monde connaît sous le nom de télétravail. Nous avons dû changer nos habitudes et avons dû apprendre à utiliser de nombreux outils collaboratifs, de visioconférence, etc., dont tout le monde n’était pas habitué. Dans cet article, nous passons en revue quelques outils open source utiles pour le travail à la maison. En effet, pour les adeptes du costume en haut et du pyjama en bas, la communauté open source s’est démenée pour proposer des alternatives aux outils propriétaires et payants.

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Bash des temps modernes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les scripts Shell, et Bash spécifiquement, demeurent un standard, de facto, de notre industrie. Ils forment un composant primordial de toute distribution Linux, mais c’est aussi un outil de prédilection pour implémenter de nombreuses tâches d’automatisation, en particulier dans le « Cloud », par eux-mêmes ou conjointement à des solutions telles que Ansible. Pour toutes ces raisons et bien d’autres encore, savoir les concevoir de manière robuste et idempotente est crucial.

Body