Le Logiciel Raspberry Car – Tâche de stockage dans la DB locale (3/5)

Le Logiciel Raspberry Car – Tâche de stockage dans la DB locale (3/5)

En utilisant les techniques de la partie précédente, le code de la tache de stockage dans la DB locale effectuant le travail suivant : Initialiser la connexion DB (si on la réutilise entre les appels) On boucle Poser le verrou GPS : je bloque la mémoire pour la dernière position GPS Poser le verrou OBD : je bloque la mémoire pour la dernière info OBD Action sécurisée : récupérer les dernières informations mise de côté par le programme GPS et OBD Débloquer le…

Lire la suite Lire la suite

Le Logiciel Raspberry Car – Tâche de surveillance OBD (2/5)

Le Logiciel Raspberry Car – Tâche de surveillance OBD (2/5)

En utilisant les techniques de la partie précédente, le code de la tache de récupération des infos OBD effectuant le travail suivant : Initialiser la connexion En boucle : Demander à la carte les informations de la voiture Poser le verrou OBD : je bloque la mémoire pour la dernière info OBD Action sécurisée : Il met de côté la réponse avec l’heure Débloquer le verrou OBD (cela a duré quelque millisecondes) Attendre ressemble à :

Le Logiciel Raspberry Car – Tâche de surveillance GPS (1/5)

Le Logiciel Raspberry Car – Tâche de surveillance GPS (1/5)

En utilisant les techniques de la partie précédente, le code de la tache de récupération des infos GPS effectuant le travail suivant : Initialiser la connexion En boucle : lire tout ce qui vient de la carte GPS Analyser toutes les données pour juste donner juste la position (quand il y en a une) Pose le verrou GPS : Bloquer la mémoire pour la dernière position GPS Action sécurisée : Mettre de côté la dernière position trouvée avec l’heure Débloquer le verrou GPS (cela…

Lire la suite Lire la suite

Conception logicielle du Raspberry Car – Les Données (2/2)

Conception logicielle du Raspberry Car – Les Données (2/2)

Le contenu de la base de données locale Dans la base de données locale (sqlite), on va vouloir stocker : L’heure de l’enregistrement dans la DB Les données GPS Heure connue par le GPS Longitude, latitude, vitesse et altitude Heure de la mesure Les données OBD La vitesse, les tours par minute du moteur et le niveau de carburant Heure de la mesure Ce qui donne le schéma de création suivant : Le contenu de la base de données Salesforce : gros volume…

Lire la suite Lire la suite

Conception logicielle du Raspberry Car – Les Tâches (1/2)

Conception logicielle du Raspberry Car – Les Tâches (1/2)

Le besoin Le plus gros problème de cette phase du projet, serra d’écrire un logiciel pour le Raspberry Pi qui doit faire plusieurs choses en même temps avec des logiques différentes. On va donc avoir besoin en Python : De faire tourner tous les programmes en même temps, Et faire qu’ils se synchronisent bien et qu’ils ne se dérange pas mutuellement. Descriptions des différentes tâches Le programme qui lit la carte GPS : Il lit en tout ce qui vient de la…

Lire la suite Lire la suite

Raspberry Cars – Les Technos (5/5) – Trouver les Ports USB

Raspberry Cars – Les Technos (5/5) – Trouver les Ports USB

Trouver sur quel port USB sont la carte GPS et la carte OBD Quand on branche les cartes OBD et GPS sur le Raspberry, les numéros de port ne sont pas toujours les mêmes. On doit donc regarder tous les ports utilisés : Et trouver lequel correspond à la carte GPS Et trouver lequel correspond à la carte OBD Cela donne le code suivant :

Raspberry Cars – Les Technos (4/4) – Communiquer avec Salesforce en Python

Raspberry Cars – Les Technos (4/4) – Communiquer avec Salesforce en Python

Accéder à SF avec des APIs Dans le travail personnel précèdent, tous les programmes étaient dans Salesforce et communiqué avec les serveurs de Mercedes (les programmes Salesforce appelaient les API Mercedes). Dans ce Travail personnel il faut développer des programmes qui tournent sur le Raspberry Pi et qui vont envoyer des donnés sur Salesforce. Ces programmes en Python vont devoir appeler le API Salesforce. La librairie Simple Salesforce Pour faciliter l’utilisation des API de Salesforce en Python, des développeurs on…

Lire la suite Lire la suite

Raspberry Cars – Les Technos (3/4) – Manipuler une base de données en Python

Raspberry Cars – Les Technos (3/4) – Manipuler une base de données en Python

Une base de données locale sur le Raspberry Pendant les voyages, le Raspberry Pi n’est pas toujours connecté à l’internet. C’est pour ça qu’on va utiliser une base de données locale. Dans cette base de données, on va enregistrer les positions GPS, les différentes informations de la voiture et ceci à période régulière. La base de données va être simple et facile à modifier dans python. Quand on cherche sur internet il y en a une qui s’appelle SQL Lite….

Lire la suite Lire la suite

Raspberry Cars – Les Technos (2/4) – Communication avec le connecteur OBD en Python

Raspberry Cars – Les Technos (2/4) – Communication avec le connecteur OBD en Python

Le connecteur OBD Le connecteur OBD est également connecté au port USB, c’est-à-dire qu’on va aussi utiliser une communication de type série, comme pour le connecteur GPS. Seulement, le protocole de communication OBD est beaucoup plus complexe que celui du module GPS. Pour le module GPS, il suffisait d’envoyer quelques commandes d’initialisation, puis le module GPS envoyait via le port série un flux texte contenant les positions GPS à période régulière, qu’il suffisait de repérer (pas forcément facile non plus,…

Lire la suite Lire la suite

Raspberry Cars – Les Technos (1/4) – Communication avec la carte GPS en Python

Raspberry Cars – Les Technos (1/4) – Communication avec la carte GPS en Python

La documentation de la carte Avant de manipuler la carte, il faut examiner la documentation. Celle-ci est disponible sur le site de Waveshare : https://www.waveshare.com/wiki/GSM/GPRS/GNSS_HAT Le manuel PDF décrit : Les caractéristiques techniques de la carte Comment choisir le mode de connection : via le port USB soit via le port GPIO du Raspberry Des exemples de programme python qui manipule la carte, mais seulement pour la partie GSM (appels, SMS, etc) La configuration de la carte (mode USB) J’ai choisi le mode…

Lire la suite Lire la suite