Un projet pro sur Raspberry quand on ne connait pas le C

Le langage C permet de créer des programmes rapides et proches de la machine

Modérateur : Francois

Répondre
AhhBAhh
Messages : 1
Enregistré le : lun. 23 nov. 2015 21:13

Un projet pro sur Raspberry quand on ne connait pas le C

Message par AhhBAhh » lun. 23 nov. 2015 22:06

Bonjour à tous,
Suite à l'achat d'un Raspbnerry, je découvre le site et le forum et j'aimerai réaliser mon premier projet.

Pour se mettre dans le contexte, je travail dans une société de transport public et je travaille plus précisément sur un système de priorité aux feux routier (je ne le développe pas, je le fais fonctionner).
Ce système de priorité se constitue de deux partie, un modem radio dans le contrôleur du carrefour et un autre dans le bus, ces deux communique et le bus "dit" au contrôleur dans combien de temps il arrive et donc dans combien de temps il lui faut le vert.

Mon projet consiste à créer un outil de test qui aura 3 principales fonctions:
- Un mode ping qui permettra de savoir quel bus est présent
- Un mode autodiagnostique qui permettra de récupérer un code qui contient les informations de l'autodiag réalisé par le bus.
- Un mode "approche" qui permettra de simuler un carrefour afin de scanner les messages envoyés par le bus.

Le language C, je découvre et je dois l'avouer c'est un projet relativement compliqué pour apprendre, mais j'aime chercher ! :D

Le matériel utilisé:
- Un Raspberry Pi 2
- Un modem radio
- Un adaptateur USB vers RS232

Premier point:
J'utilise pour envoyer des messages la fonction Termios mais depuis quelques temps, à la fermeture de mon programme, si je le relance rien ne se passe.
Je pense qu'il faut que je ferme quelque chose, mais je ne sais pas quoi.Le seul moyen de relancer le programme, c'est de redémarrer le raspberry.

La fonction Ping:
Elle est déjà réalisée est fonctionnelle.
En quelques mots, j'envoie un message en hexadecimal qui demande au bus de répondre et je récupère le numéro de bus dans le message reçu en hexadecimal puis je le convertie pour l'afficher dans le terminal avec un joli message "Bus n°3123".

La fonction auto diagnostique:
Elle est un peu plus compliquée, car le système utilise un CRC8 que je n'ai pas réussis à reproduire. J'ai contourné le problème en inscrivant les messages pour chaque bus. Oui c’était long ! :lol:
Après avoir envoyé le message en fonction du bus choisit, je reçois une réponse en hexadecimale qu'il faut alors convertir en binaire. On obtiendra alors plusieurs caractères, un 1 signifiera que l’élément testé est OK, un 0 qu'il est HS.
Ma première difficulté est de séparer chaque caractère pour donner le résultat dans ce genre:
GPS: 1
Radio: 0 et ainsi de suite.

La fonction approche:
Le top du compliqué ! J'y viendrai dès que mes premiers problèmes seront réglés.

En tant que débutant, je suis ouvert à toutes explications et je vous remercie par avance de votre aide !

Avatar du membre
thy59
Messages : 46
Enregistré le : mer. 9 sept. 2015 16:31

Re: Un projet pro sur Raspberry quand on ne connait pas le C

Message par thy59 » mer. 25 nov. 2015 12:12

Chouette projet !

A mon avis c'est une ressource matérielle qui n'est pas libérée à la fermeture du programme. Ca expliquerait pourquoi le lancement suivant ne fait rien.

Vérifie qu'il n'y a qu'un seul point de sortie de ton programme ?
Image

Répondre

Retourner vers « C / C++ »