Vue normale

Raspberry-Pi 5: API MicroPython pour Python

 Bonjour à tous,

Tout récemment, je voulais utiliser un module RFM69 sur un Compute Module 5 (autrement dit l'équivalent d'un Raspberry-Pi 5) faisant fonctionner un logiciel écrit Python.

Une API MicroPython sous Python

Ecrivant de nombreux pilotes pour MicroPython (Python pour MicroContrôleur), je me suis dit qu'il devait être possible de réutiliser le code MicroPython du RFM69 sous Python sans devoir réécrire tout-ou-une-partie du code pour qu'il fonctionne sur Raspberry-Pi.
 
Le problème, c'est que Python n'a aucune idée de ce qu'est l'API MicroPython (celle utilisée par MicroPython pour accéder directement à la couche matérielle).
 
Il existe cependant des moyens d'accéder au matériel depuis Python mais c'est sans aucun rapport avec l'API exposée MicroPython.

L'idée c'est de recréer l'API MicroPython sous Python pour permettre l'utilisation du RFM69 depuis Python:
 

Le module RFM69

L'image ci-dessous se présente le module RFM69HCW 433MHz . Ce module permet de transmettre des données sur un réseau numérique utilisant le ondes-radios comme medium de transfert. C'est un peu le protocole internet appliqué à la radio.

RFM69HCW 433MHz

Comme le Pilote est développé sous le précepte "Plateform Agnostic Driver" de sorte à pouvoir fonctionner indépendamment de la plateforme MicroPython cible.

esp8266-upy - Plateform Agnostic Micrpython Driver

Ce module se branche sur un bus SPI, il est donc possible de le connecter sur GPIO d'un Raspberry-Pi 5 (ou du Compute Module 5).

Source: Raspberry-pi.ovh

Brancher RFM69 sur GPIO

Les connexions suivantes sont établies entre le module RFM69 et le GPIO Raspberry-Pi.

La broche CS (chip select) est branchée sur le GPIO 25 alors qu'il existe les broches CE0 (GPIO8) et CE1 (GPIO7). 

Le problème ici est que CE0 et CE1 sont automatiquement gérés par le système d'exploitation alors que sous MicroPython, c'est le code utilisateur qui gère l'état du signal CS.

Dans le cas présent, la gestion automatique de CE0 et CE1 empêche l'utilisation du burst_read sur le module RFM69 raison pour laquelle le GPIO25 est utilisé comme signal CS (ce signal étant contrôlé par le code utilisateur).

Prototype

Compatibilité avec Python

Commençons par récupérer la bibliothèque MicroPython du RFM69 depuis le dépôt esp8266-upy pour y ajouter l'encodage du fichier (important pour Python).

Ajout de l'encodage dans le bibliothèque RFM69

Récupérer l'exemple test_config.py utilisé pour tester la communication avec le module RFM69. Nous y ajoutons également l'information d'encodage dans le fichier.

Couche de compatibilité Python --> MicroPython

Création des fichiers machine.py et micropython.py pour accueillir les classes Pin & SPI ainsi que la déclaration de la fonction const()


Le script le plus intéressant est hack_time.py car celui-ci permet d'ajouter les fonctions MicroPython (ticks_ms, ticks_diff, sleep_ms, etc) manquantes dans Python.

#!/usr/bin/python
# -*- coding: utf-8 -*-
""" hack_time.py : mimic the MicroPython alike specific methods """
import time

def _sleep_us( us ):
	time.sleep( us*0.000001 )

def _sleep_ms( ms ):
	time.sleep( ms*0.001 )

def _ticks_ms():
	return int(time.time()*1000)

def _ticks_diff( v1, v2 ):
	return v1-v2

time.sleep_us = _sleep_us
time.sleep_ms = _sleep_ms
time.ticks_ms = _ticks_ms
time.ticks_diff = _ticks_diff

Il ne reste plus qu'a adapter le script d'exemple pour créer l'instance du bus SPI (sur le RPi) et passer le tout à la bibliothèque MicroPython originale.

#!/usr/bin/python
# -*- coding: utf-8 -*-

from machine import SPI, Pin
import hack_time
from rfm69 import RFM69

# Machine.py for Raspberry-Pi 5
spi = SPI( 0 )
nss = Pin( 25, Pin.OUT, value=True )  # Do not use the RPI CE0/CE1, it is not compatible with the Burst_Read of RFM69
rst = Pin( 18, Pin.OUT, value=False )

rfm = RFM69( spi=spi, nss=nss, reset=rst )
rfm.frequency_mhz = 433.1
....

Le bus SPI est rattaché au bus matériel SPI0 & CE0. 

Une broche Enabled (nss) alternative est utilisé avec le GPIO25 pour contrôler les transactions du bus SPI. La broche CE0 du GPIO est donc ignorée.

Enfin, le GPIO 10 est utilisé pour réinitialisé le module RFM69.

Au final, la création de l'instance RFM69 et le restant du code (y compris la bibliothèque RFM69) est identique entre MicroPython et Python (sur RPi5).

L'exécution de l'exemple sur le Raspberry-Pi 5 produit le résultat attendu (identique lorsqu'il est exécuté sur un Pico).

test_config.py : exécution de la bibliothèque
MicroPython RFM69 sur Raspberry-Pi 5

Ressources

  • MicroPython-API-for-Python experiment is published on GitHub.


Raspberry Pi : deuxième hausse des prix en deux mois

Par : Olivier
4 février 2026 à 08:30
Raspberry Pi

La flambée des prix de la mémoire n’épargne personne. Après les cartes graphiques, les SSD et la RAM pour PC, c’est au tour de Raspberry Pi d’en faire les frais. La fondation annonce une nouvelle hausse des prix sur la majorité de ses cartes… la deuxième en l’espace de deux mois !

Le prix des Raspberry Pi augmente encore, ça devient hallucinant !

Par : Sebastien
3 février 2026 à 14:23
Raspberry Pi 5

La fondation Raspberry Pi avait annoncé une hausse de prix en décembre dernier liée à la flambée du coût de la mémoire LPDDR4.

The post Le prix des Raspberry Pi augmente encore, ça devient hallucinant ! first appeared on Bhmag.

Raspberry Pi augmente encore ses prix : +10 à +60 dollars selon la RAM sur Pi 4, Pi 5 et Compute Modules

Deux mois après une première hausse, Raspberry Pi remet le couvert. La raison est aussi prosaïque que brutale : la mémoire coûte beaucoup plus cher, et l’entreprise préfère ajuster ses tarifs plutôt que rogner la disponibilité ou la marge au point de casser sa feuille de route. Dans une annonce publiée hier, le CEO Eben Upton […]

L’article Raspberry Pi augmente encore ses prix : +10 à +60 dollars selon la RAM sur Pi 4, Pi 5 et Compute Modules est apparu en premier sur BlogNT : le Blog des Nouvelles Technologies.

60 dollars de plus : même Raspberry Pi n’échappe pas à la hausse des prix des PC

2 février 2026 à 16:38

La crise de la RAM continue de faire grimper les prix et même Raspberry ne peut rien y faire. Le petit PC autrefois low-cost continue de voir son prix augmenter.
 [Lire la suite]

Rejoignez-nous de 17 à 19h, un mercredi sur deux, pour l’émission UNLOCK produite par Frandroid et Numerama ! Actus tech, interviews, astuces et analyses… On se retrouve en direct sur Twitch ou en rediffusion sur YouTube !

Concours Mace Robotics : un Raspberry Pi 5 (et un Pico 2W) à gagner !

Derrière Macé Robotics, Nicolas mêle réparation électronique au composant et conception de cartes pour des besoins professionnels, tout en développant des robots mobiles pour l’éducation et la recherche. On trouve notamment des projets de robots basés sur Raspberry Pi et Raspberry Pi Pico (MRPi1, MR-Pico), accompagnés de contenus et documentations. Dans ce contexte, il organise […]

Cet article Concours Mace Robotics : un Raspberry Pi 5 (et un Pico 2W) à gagner ! a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

Raspberry Pi Flash Drive : une clé usb en aluminium signée Raspberry Pi

Par : Sebastien
26 janvier 2026 à 09:31

La fondation Raspberry Pi, à qui l'on doit les cartes du même nom vient d'annoncer la sortie d'un nouveau produit : le Raspberry Pi Flash Drive.

The post Raspberry Pi Flash Drive : une clé usb en aluminium signée Raspberry Pi first appeared on Bhmag.

LangExtract - La nouvelle pépite de Google pour extraire des données structurées avec l'IA

Par : Korben
16 janvier 2026 à 15:05

Il y a des combats comme cela auxquels pas grand monde ne pense et qui pourtant sont très importants. Je parle évidemment de la lutte contre le chaos du texte non structuré. Si vous avez déjà essayé d'extraire des données propres d'un tas de PDF (après OCR), de rapports ou de notes griffonnées, vous voyez de quoi je parle : c'est l'enfer ! (oui j'aime me faire du mal en tentant des regex impossibles).

Heureusement, Google a lâché début janvier 2026 une petite pépite en open source (même si c'est pas un produit "officiel") qui s'appelle LangExtract . C'est une bibliothèque Python qui utilise la puissance des LLM pour transformer vos documents textuels en données JSON bien rangées.

Exemple d'extraction sur le texte de Roméo et Juliette ( Source )

Ce qui fait que LangExtract sort du lot par rapport à d'autres outils comme Sparrow , c'est surtout son système de Source Grounding. En gros, chaque info extraite est directement liée à sa position exacte dans le texte source. Ça facilite énormément la vérification et la traçabilité puisque vous pouvez voir visuellement d'où vient la donnée grâce à un système de surlignage automatique.

Sous le capot, l'outil est optimisé pour les documents à rallonge (le fameux problème de l'aiguille dans une botte de foin). Il utilise des stratégies de découpage de texte et de passes multiples pour améliorer le rappel et s'assurer que le maximum d'infos soit capturé.

La visualisation interactive permet de valider les données en un clin d'œil ( Source )

Et cerise sur le gâteau, il permet de générer un fichier HTML interactif pour visualiser les milliers d'entités extraites dans leur contexte original. À la cool !

Côté installation, c'est hyper fastoche :

pip install langextract

Pour faire le job, vous avez le choix des armes : les modèles cloud de Google (Gemini 2.5 Flash/Pro), ceux d'OpenAI (via pip install langextract[openai]), ou carrément du local avec Ollama . Pas besoin de passer des heures à fine-tuner un modèle, il suffit de fournir quelques exemples structurés via le paramètre examples et hop, c'est parti mon kiki.

Voici à quoi ça ressemble sous le capot pour lancer une machine à extraire :

import langextract as lx

# 1. On définit les règles du jeu
prompt = "Extraire les noms de personnages et leurs émotions."

# 2. On donne un exemple (few-shot) pour guider le modèle
examples = [
 lx.data.ExampleData(
 text="ROMEO. But soft! What light...",
 extractions=[lx.data.Extraction(extraction_class="character", extraction_text="ROMEO", attributes={"emotion": "wonder"})]
 )
]

# 3. On lance l'extraction (nécessite une clé API ou Ollama)
results = lx.extract(
 text_or_documents="votre_texte_brut_ici",
 prompt_description=prompt,
 examples=examples,
 model_id="gemini-2.5-flash"
)

# 4. On sauvegarde et on génère la visualisation HTML
lx.io.save_annotated_documents(results, output_name="results.jsonl")
html_content = lx.visualize("results.jsonl")
with open("view.html", "w") as f:
 f.write(html_content)

Honnêtement, je ne sais pas si ça va remplacer les solutions industrielles de RPA , mais pour un dev qui veut structurer du texte sans se prendre la tête, c'est vraiment impressionnant. Que vous fassiez du Grist ou de l'analyse de données pure, cet outil mérite clairement que vous y jetiez un œil !

Source

Ces rats jouent à DOOM avec un casque VR

Par : Korben
16 janvier 2026 à 14:14

Vous pensiez avoir tout vu en matière de projets geeks complètement déjantés ?

Hé bien accrochez-vous à vos slips, parce que des chercheurs, menés par le neuro-ingénieur Viktor Tóth, ont réussi à faire "jouer" des rats à DOOM. Pas en appuyant sur des boutons au hasard, non non, mais avec un casque de réalité virtuelle sur mesure, une boule de déplacement sous leurs pattes, et même une gâchette pour tirer sur les démons !

Je vous jure que c'est vrai. Le projet s'appelle " Rats Play DOOM " et c'est à la croisée de la neuroscience, de la robotique et du game design. L'idée de base, c'est de prouver qu'on peut entraîner des rongeurs à interagir avec des environnements virtuels contrôlés basés sur un moteur de jeu. Et quitte à faire ça, autant le faire avec le jeu le plus iconique des années 90.

Gros plan sur le casque VR panoramique pour rongeurs ( Source )

Le setup est assez dingue. Le rat est équipé d'un casque panoramique intégrant un écran AMOLED pliable qui offre 180 degrés de champ horizontal et 80 degrés de vertical. Il est installé sur une boule sphérique qui détecte ses mouvements via des capteurs, un peu comme une trackball géante. Quand il marche, court ou tourne, ça se traduit directement en déplacements dans le jeu.

Et pour ceux qui se demandent comment un rat peut vraiment dégommer des monstres... Hé bien oui, car Viktor a même fabriqué un levier custom avec un encodeur rotatif que le rat actionne avec ses pattes pour faire feu. Donc oui, les rats tirent sur des démons avec leurs petites papattes !

Le nouveau setup modulaire V2 ( Source )

Pour motiver nos petits rongeurs gamers, y'a évidemment un système de récompense. À chaque action réussie, le système distribue 10 microlitres d'eau sucrée via un solénoïde. C'est pas grand-chose mais pour un rat, c'est le graal. Au bout de deux semaines d'entraînement environ, les rats Todd, Kojima et Gabe (oui, ils ont des noms de légendes du jeu vidéo, on adore l'humour des chercheurs) ont réussi à naviguer dans l'environnement virtuel. Et là, ils ont même appris à déclencher le mécanisme de tir.

Bon, faut être honnête, ils n'ont pas encore terminé le jeu. L'équipe explique que les rats ont vieilli avant de pouvoir passer à l'entraînement avancé. Du coup, c'est plus une preuve de concept qu'un speedrun, mais quand même, c'est impressionnant. On est loin du simple contrôle neuronal de base, là car c'est une vraie interaction avec un moteur de jeu.

Setup V1 du projet Rats Play DOOM ( Source )

Côté technique, tout tourne sur un combo Raspberry Pi pour l'acquisition des capteurs en temps réel, et un PC qui fait tourner une version modifiée de ViZDoom. Le tout communique en TCP et hop, c'est géré par un script Python central. Et comme si ça suffisait pas, le projet est entièrement open source. Vous pouvez récupérer le code, les schémas électroniques et même les fichiers 3D pour imprimer les pièces sur le repo GitHub. Donc si vous avez un rat de compagnie et beaucoup trop de temps libre...

Le projet en est à sa deuxième version. Cette V2 est plus modulaire, avec des composants imprimables en 3D et une électronique plus fiable. C'est typiquement le genre de bidouille qui me rappelle pourquoi j'aime tant farfouiller dans les projets Raspberry Pi les plus improbables ^^.

D'ailleurs, si vous êtes fan de portages improbables, vous vous souvenez peut-être de cet article sur DOOM Retro , mais là avec les rats, on est clairement passé au niveau supérieur.

Bref, on vit vraiment une époque formidable où des gens financent des projets pour apprendre à des rats à buter des démons en VR. Et j'adore l'idée !

Raspberry Pi AI HAT+ 2 : vision par ordinateur en vidéo avec Hailo-10H (Partie 2)

Dans cette seconde partie, le Raspberry Pi 5 passe à l’action avec la vidéo temps réel accélérée par Hailo-10H. Détection de personnes, cadrage dynamique, pose squelette et reconnaissance des mains : on enchaîne les modèles concrets. L’objectif est d’évaluer les performances réelles, les limites, et les bons compromis en situation réelle. Ici, pas de cloud […]

Cet article Raspberry Pi AI HAT+ 2 : vision par ordinateur en vidéo avec Hailo-10H (Partie 2) a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

💾

Raspberry Pi AI HAT+ 2 : installer Hailo-10H et lancer un LLM local (Partie 1)

Avec la Raspberry Pi AI HAT+ 2, Raspberry Pi propose une carte intégrant directement un accélérateur Hailo-10H et 8 Go de mémoire dédiée, conçue pour le Raspberry Pi 5. Cette carte permet d’exécuter localement des modèles d’IA générative, des LLM et des Vision-Language Models, sans recours au cloud. L’AI HAT+ 2 délivre jusqu’à 40 TOPS […]

Cet article Raspberry Pi AI HAT+ 2 : installer Hailo-10H et lancer un LLM local (Partie 1) a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

Pimmich – Un cadre photo connecté open source basé sur Raspberry Pi

Aujourd’hui, je vous propose de découvrir Pimmich, un cadre photo connecté open source basé sur Raspberry Pi, pensé pour afficher vos souvenirs sans cloud ni abonnement, en restant 100% local. Avec les récents changements côté Google Photos, beaucoup d’entre vous ont dû revoir leurs habitudes… et Aurélien a eu le bon réflexe : s’appuyer sur […]

Cet article Pimmich – Un cadre photo connecté open source basé sur Raspberry Pi a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

Raspberry Pi 5 + SSD : installer YunoHost, HTTPS Let’s Encrypt et WordPress (pas à pas)

Installer un serveur perso chez soi, sur un Raspberry Pi 5 ou un Pi 500+, c’est à la portée de tout maker… à condition de suivre la bonne méthode. Dans cet article, on va poser YunoHost sur un SSD NVMe, faire la post-installation, installer une première appli (WordPress), puis rendre le serveur accessible depuis l’extérieur […]

Cet article Raspberry Pi 5 + SSD : installer YunoHost, HTTPS Let’s Encrypt et WordPress (pas à pas) a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

Utiliser Google Earth sur Raspberry Pi : la solution Web qui fonctionne

L’application Google Earth n’est plus réellement maintenue sous Linux, et elle n’existe plus du tout en version native pour les architectures ARM, comme celles des Raspberry Pi. La dernière version officielle pour Linux date de 2020, et son installation sur un Pi (ARM) est aujourd’hui vouée à l’échec. En pratique, pour utiliser Google Earth sous […]

Cet article Utiliser Google Earth sur Raspberry Pi : la solution Web qui fonctionne a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

Raspberry Pi 5 : piloter des LEDs WS2812B de manière fiable avec le bus SPI

La question du pilotage des LEDs WS2812B sur Raspberry Pi 5 a récemment été soulevée par Victor lors d’un échange sur un réseau social. Le Raspberry Pi 5 introduit une nouvelle architecture matérielle qui complique le pilotage des LEDs WS2812B avec les bibliothèques historiques. Les solutions basées sur le PWM ou le DMA montrent rapidement […]

Cet article Raspberry Pi 5 : piloter des LEDs WS2812B de manière fiable avec le bus SPI a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

💾

La fondation Raspberry Pi augmente ses tarifs et lance un Pi5 avec 1 Go de RAM

Par : Sebastien
2 décembre 2025 à 08:21
Raspberry Pi 5

En raison de la hausse du coût de la mémoire vive, la fondation Raspberry Pi annonce qu'elle va devoir répercuter cette hausse sur le prix de ses produits.

The post La fondation Raspberry Pi augmente ses tarifs et lance un Pi5 avec 1 Go de RAM first appeared on Bhmag.
❌