<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://wiki.lesfabriquesduponant.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tsunami2</id>
		<title>Les Fabriques du Ponant - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.lesfabriquesduponant.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tsunami2"/>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Sp%C3%A9cial:Contributions/Tsunami2"/>
		<updated>2026-04-27T18:55:12Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_Tram-Tram&amp;diff=37741</id>
		<title>ENIB 2026 : Tram-Tram</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_Tram-Tram&amp;diff=37741"/>
				<updated>2026-01-22T15:07:53Z</updated>
		
		<summary type="html">&lt;p&gt;Tsunami2 : /* Étapes de fabrication */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le POCL qui suit les trams de la ligne A à travers Brest !&lt;br /&gt;
==Description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Équipe Tram-Tram.jpeg|vignette|Photo de l'équipe ]]&lt;br /&gt;
L'objectif de ce projet est de créer un chemin de bande LED dont le but est de suivre la position des trams de la ligne A de Bibus à Brest en temps réel. Les LEDs s'allument en vert lorsque le tram se situe à l'arrêt correspondant à leur position.&lt;br /&gt;
&lt;br /&gt;
==Outils et matériel==&lt;br /&gt;
* Carte ESP32 &amp;lt;br&amp;gt;&lt;br /&gt;
ou &lt;br /&gt;
* Carte Raspberry Pi &amp;lt;br&amp;gt;&lt;br /&gt;
* Carte SD de 16 GO minimum (pour l'installation de l'OS) &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Matériel général : &amp;lt;br&amp;gt;&lt;br /&gt;
* Bande LED (une de 25 LED et une de 3 LED) &amp;lt;br&amp;gt;&lt;br /&gt;
* Câble de transfert de données&lt;br /&gt;
* Alimentation externe (pour la carte et la bande LED)&lt;br /&gt;
&lt;br /&gt;
==Fichiers à joindre==&lt;br /&gt;
Fichier Ligne A - base de la maquette : &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fichier code Arduino : [[Fichier:Code_arduino_Tram_Tram.pdf]]&lt;br /&gt;
&lt;br /&gt;
Fichier code Raspberry Pi : [[Fichier:Tramtramras.pdf|vignette]]&lt;br /&gt;
&lt;br /&gt;
==Étapes de fabrication==&lt;br /&gt;
===Étape 1===&lt;br /&gt;
Câblage de la carte Arduino et des LED : &amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Câblage de l'ESP32.jpg|200px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Compiler et téléverser le code fourni, vérifier le bon fonctionnement des LED.&amp;lt;br&amp;gt;&lt;br /&gt;
(Pour le code, veiller à ce que le nom du réseau wifi et le mot de passe soient modifiés en fonction de vos besoins)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Câblage de la Raspberry Pi : &amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Câblage de la Raspberry.jpg|200px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étape 2===&lt;br /&gt;
Réalisation de la maquette accueillant les LEDs, en affichant les arrêts.&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
On se tient à la ligne A car la ligne B n'est toujours pas en service au moment où l'on crée ce projet (donc pas de données sur celle-ci).&amp;lt;br&amp;gt;&lt;br /&gt;
'''Premier gros problème''' : Utilisation des API fournies par Bibus =&amp;gt; le format donné (GTFS-RT) est difficile à traiter sur la carte ESP32.&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
Les données sont également fournies au format SIRI (plus utilisable), mais sont indisponibles sans autorisation. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour avoir plus de chances de réaliser quelque chose et d'avoir un rendu final, nous avons décidé de nous séparer le travail. Une personne tente de décoder le GTFS-RT sur Arduino, et une autre le fait sur Raspberry 3, une carte plus puissante qui peut utiliser les librairies Python fournies par Google pour décoder le GTFS-RT. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Au final, on a réussi à décoder le GTFS-RT sur Raspberry comme sur Arduino. &amp;lt;br&amp;gt;&lt;br /&gt;
Pour la Raspberry, on peut coder en python ce qui fait que des librairies specialisées dans le decodage du signal gtfs-rt, on gagne de la puissance de calcul avec raspberry et de l'efficcité avec des librairie adaptées. Il suffit de bien gerer lextraction des données et le tour est joué. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour Arduino, on a dû ruser. Après recherches, on a décidé de filtrer les données binaires du GTFS-RT, en recherchant certains éléments. Tout d'abord, les lettres &amp;quot;ve&amp;quot;, qui nous confirmerait que la donnée correspond aux informations d'un véhicule. Ensuite, le caractère &amp;quot;A&amp;quot;, pour retrouver les trams de la ligne A. On a alors ciblé les informations utiles de tous les trams circulants sur la ligne A, qu'il nous &amp;quot;suffit&amp;quot; maintenant de décoder (la partie demandante du code). Faire cela nous a permis de ne pas décoder toutes les données, mais seulement celles relatives au trams de la ligne A, bien moins demandantes en ressources pour l'ESP32. &amp;lt;br&amp;gt;&lt;br /&gt;
La partie décodage à été réalisée à l'aide de Gémini, à partir du prompt suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
1) Extraire le format binaire d'un fichier GTFS-RT, en se basant sur le lien suivant : https://proxy.transport.data.gouv.fr/resource/bibus-brest-gtfs-rt-vehicle-position &amp;lt;br&amp;gt;&lt;br /&gt;
2) Extraire les données de cette trame (sur environ 50 octets).&amp;lt;br&amp;gt;&lt;br /&gt;
3) Vérifier l'extraction de données en s'appuyant sur une documentation technique publiée.&amp;lt;br&amp;gt;&lt;br /&gt;
5) Décoder tout le fichier.&amp;lt;br&amp;gt;&lt;br /&gt;
6) Fournir une fonction de décodage en langage C.&amp;lt;br&amp;gt;&lt;br /&gt;
Puis passage sur Claude Code pour obtenir du code optimiser pour ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
Optimiser la fonction suivante pour fonctionner sur ESP32 avec PlatformIO/Arduino avec une gestion optimiser de la mémoire.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Liens vers les API du réseau BiBus : &amp;lt;br&amp;gt;&lt;br /&gt;
https://transport.data.gouv.fr/datasets/horaires-theoriques-et-temps-reel-des-bus-et-tramways-circulant-sur-le-territoire-de-brest-metropole &amp;lt;br&amp;gt;&lt;br /&gt;
* Lien d'API utilisé dans le code : &amp;lt;br&amp;gt;&lt;br /&gt;
https://proxy.transport.data.gouv.fr/resource/bibus-brest-gtfs-rt-vehicle-position &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Site utilisé pour récupérer les données GPS des arrêts de tram : &amp;lt;br&amp;gt;&lt;br /&gt;
https://earth.google.com/web/@48.37769996,-4.55144777,85.56403392a,2198.04856239d,35y,0h,0t,0r/data=CgRCAggBMikKJwolCiExdTVWVXM3X3lCUWpQVnR5ZmhNMUd2UGFWWjlZaHlaWHcgAToDCgEwQgIIAEoHCNfv8VEQAQ?pli=1 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
** Pour Arduino :&amp;lt;br&amp;gt;&lt;br /&gt;
* Lien vers les sites de débug et d'aide à utiliser pour Arduino :&amp;lt;br&amp;gt;&lt;br /&gt;
https://arduinofactory.fr/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
** Pour Raspberry :&amp;lt;br&amp;gt;&lt;br /&gt;
* GitHub utilisé pour configurer le Raspberry Pi : &amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/2D-Quest/AfficheurBus_GTFS-RT_Brest &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Utilisation de l'IA : &amp;lt;br&amp;gt;&lt;br /&gt;
L'intelligence artificielle Gemini 3 nous a légèrement été utile dans la réalisation du code Raspberry Pi. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:Présentation_Hackathon.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Tsunami2</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_Tram-Tram&amp;diff=37726</id>
		<title>ENIB 2026 : Tram-Tram</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_Tram-Tram&amp;diff=37726"/>
				<updated>2026-01-22T14:59:33Z</updated>
		
		<summary type="html">&lt;p&gt;Tsunami2 : /* Fichiers à joindre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le POCL qui suit les trams de la ligne A à travers Brest !&lt;br /&gt;
==Description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Équipe Tram-Tram.jpeg|vignette|Photo de l'équipe ]]&lt;br /&gt;
L'objectif de ce projet est de créer un chemin de bande LED dont le but est de suivre la position des trams de la ligne A de Bibus à Brest en temps réel. Les LEDs s'allument en vert lorsque le tram se situe à l'arrêt correspondant à leur position.&lt;br /&gt;
&lt;br /&gt;
==Outils et matériel==&lt;br /&gt;
* Carte ESP32 &amp;lt;br&amp;gt;&lt;br /&gt;
ou &lt;br /&gt;
* Carte Raspberry Pi &amp;lt;br&amp;gt;&lt;br /&gt;
* Carte SD de 16 GO minimum (pour l'installation de l'OS) &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Matériel général : &amp;lt;br&amp;gt;&lt;br /&gt;
* Bande LED (une de 25 LED et une de 3 LED) &amp;lt;br&amp;gt;&lt;br /&gt;
* Câble de transfert de données&lt;br /&gt;
* Alimentation externe (pour la carte et la bande LED)&lt;br /&gt;
&lt;br /&gt;
==Fichiers à joindre==&lt;br /&gt;
Fichier Ligne A - base de la maquette : &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fichier code Arduino : [[Fichier:Code_arduino_Tram_Tram.pdf]]&lt;br /&gt;
&lt;br /&gt;
Fichier code Raspberry pi :[[Fichier:Tramtramras.pdf|vignette]]&lt;br /&gt;
&lt;br /&gt;
==Étapes de fabrication==&lt;br /&gt;
===Étape 1===&lt;br /&gt;
Câblage de la carte Arduino et des LED : &amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Câblage de l'ESP32.jpg|200px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Compiler et téléverser le code fourni, vérifier le bon fonctionnement des LED.&amp;lt;br&amp;gt;&lt;br /&gt;
(Pour le code, veiller à ce que le nom du réseau wifi et le mot de passe soient modifiés en fonction de vos besoins)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Câblage de la Raspberry Pi : &amp;lt;br&amp;gt;&lt;br /&gt;
[[Fichier:Câblage de la Raspberry.jpg|200px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Étape 2===&lt;br /&gt;
Réalisation de la maquette accueillant les LEDs, en affichant les arrêts.&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
On se tient à la ligne A car la ligne B n'est toujours pas en service au moment où l'on crée ce projet (donc pas de données sur celle-ci).&amp;lt;br&amp;gt;&lt;br /&gt;
'''Premier gros problème''' : Utilisation des API fournies par Bibus =&amp;gt; le format donné (GTFS-RT) est difficile à traiter sur la carte ESP32.&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
Les données sont également fournies au format SIRI (plus utilisable), mais sont indisponibles sans autorisation. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour avoir plus de chances de réaliser quelque chose et d'avoir un rendu final, nous avons décidé de nous séparer le travail. Une personne tente de décoder le GTFS-RT sur Arduino, et une autre le fait sur Raspberry 3, une carte plus puissante qui peut utiliser les librairies Python fournies par Google pour décoder le GTFS-RT. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Au final, on a réussi à décoder le GTFS-RT sur Raspberry comme sur Arduino. &amp;lt;br&amp;gt;&lt;br /&gt;
On ne rentre pas dans les détails pour la Raspberry, il a simplement fallu utiliser les librairies fournies.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour Arduino, on a dû ruser. Après recherches, on a décidé de filtrer les données binaires du GTFS-RT, en recherchant certains éléments. Tout d'abord, les lettres &amp;quot;ve&amp;quot;, qui nous confirmerait que la donnée correspond aux informations d'un véhicule. Ensuite, le caractère &amp;quot;A&amp;quot;, pour retrouver les trams de la ligne A. On a alors ciblé les informations utiles de tous les trams circulants sur la ligne A, qu'il nous &amp;quot;suffit&amp;quot; maintenant de décoder (la partie demandante du code). Faire cela nous a permis de ne pas décoder toutes les données, mais seulement celles relatives au trams de la ligne A, bien moins demandantes en ressources pour l'ESP32. &amp;lt;br&amp;gt;&lt;br /&gt;
La partie décodage à été réalisée à l'aide de Gémini, à partir du prompt suivant :&amp;lt;br&amp;gt;&lt;br /&gt;
1) Extraire le format binaire d'un fichier GTFS-RT, en se basant sur le lien suivant : https://proxy.transport.data.gouv.fr/resource/bibus-brest-gtfs-rt-vehicle-position &amp;lt;br&amp;gt;&lt;br /&gt;
2) Extraire les données de cette trame (sur environ 50 octets).&amp;lt;br&amp;gt;&lt;br /&gt;
3) Vérifier l'extraction de données en s'appuyant sur une documentation technique publiée.&amp;lt;br&amp;gt;&lt;br /&gt;
5) Décoder tout le fichier.&amp;lt;br&amp;gt;&lt;br /&gt;
6) Fournir une fonction de décodage en langage C.&amp;lt;br&amp;gt;&lt;br /&gt;
Puis passage sur Claude Code pour obtenir du code optimiser pour ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
Optimiser la fonction suivante pour fonctionner sur ESP32 avec PlatformIO/Arduino avec une gestion optimiser de la mémoire.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Liens vers les API du réseau BiBus : &amp;lt;br&amp;gt;&lt;br /&gt;
https://transport.data.gouv.fr/datasets/horaires-theoriques-et-temps-reel-des-bus-et-tramways-circulant-sur-le-territoire-de-brest-metropole &amp;lt;br&amp;gt;&lt;br /&gt;
* Lien d'API utilisé dans le code : &amp;lt;br&amp;gt;&lt;br /&gt;
https://proxy.transport.data.gouv.fr/resource/bibus-brest-gtfs-rt-vehicle-position &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Site utilisé pour récupérer les données GPS des arrêts de tram : &amp;lt;br&amp;gt;&lt;br /&gt;
https://earth.google.com/web/@48.37769996,-4.55144777,85.56403392a,2198.04856239d,35y,0h,0t,0r/data=CgRCAggBMikKJwolCiExdTVWVXM3X3lCUWpQVnR5ZmhNMUd2UGFWWjlZaHlaWHcgAToDCgEwQgIIAEoHCNfv8VEQAQ?pli=1 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
** Pour Arduino :&amp;lt;br&amp;gt;&lt;br /&gt;
* Lien vers les sites de débug et d'aide à utiliser pour Arduino :&amp;lt;br&amp;gt;&lt;br /&gt;
https://arduinofactory.fr/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
** Pour Raspberry :&amp;lt;br&amp;gt;&lt;br /&gt;
* GitHub utilisé pour configurer le Raspberry Pi : &amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/2D-Quest/AfficheurBus_GTFS-RT_Brest &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Utilisation de l'IA : &amp;lt;br&amp;gt;&lt;br /&gt;
L'intelligence artificielle Gemini 3 nous a légèrement été utile dans la réalisation du code Raspberry Pi. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:Présentation_Hackathon.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Tsunami2</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Tramtramras.pdf&amp;diff=37725</id>
		<title>Fichier:Tramtramras.pdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Tramtramras.pdf&amp;diff=37725"/>
				<updated>2026-01-22T14:59:09Z</updated>
		
		<summary type="html">&lt;p&gt;Tsunami2 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;C'est le code pour faire fonctionner sur raspberry sur deux bandeaux&lt;/div&gt;</summary>
		<author><name>Tsunami2</name></author>	</entry>

	</feed>