Archives de
Tag: 2020 Raspberry Cars

Évolution du jeu salesforce (4-4) – Le résultat final

Évolution du jeu salesforce (4-4) – Le résultat final

Une fois assemblée les données, voici ce que donnent, consultés depuis Salesforce, les résultats envoyées depuis le Raspberry Car en action ; La page ‘real time’ (dashboard conducteur) Voici ce que donne la page tel que décrite dans les post précédents, ici huit enregistrements précédents du trajet (en bleu et jaune) sont comparés à celui de la voiture courante (en rouge). La différence entre les vitesses (OBD et GPS) vient à la fois de la différence entre les instants de…

Lire la suite Lire la suite

Évolution du jeu Salesforce (3-4) – La page, son affichage

Évolution du jeu Salesforce (3-4) – La page, son affichage

La page utilise le contrôleur Ce panneau s’affiche s’il y a une erreur : pas de racer Toute la suite s’affiche s’il y a bien un racer Styles graphique La librairie qui permet d’afficher un graphe Les infos qui permettent de suivre l’état de la carte Google Le code qui va redemander toutes les 5 secondes de rafraichir des parties de la page La table qui affiche les données de la voiture (cela appelle les fonctions de renvoi d’information du contrôleur…

Lire la suite Lire la suite

Évolution du jeu Salesforce (2-4) – La page, son contrôleur

Évolution du jeu Salesforce (2-4) – La page, son contrôleur

On va fournir une page publique Salesforce CarRacerStatistics accessible depuis l’extérieur de Salesforce pour afficher l’état en temps quasi réel de la voiture. Cette page publique aura comme paramètre d’URL l’ID Salesforce du Racer à afficher …/CarRacerStatistics?racerId=a041t00000FFEG3 La page va posséder un contrôleur (le code qui s’exécute coté Salesforce qui va : Récupérer la dernière position connue de la voiture. Récupérer l’historique de la vitesse de la voiture depuis le début de la course Récupérer les historiques des autres participants à la…

Lire la suite Lire la suite

Évolution du jeu Salesforce (1-4) – Custom Objects

Évolution du jeu Salesforce (1-4) – Custom Objects

Adaptation de l’objet Car Race pour utiliser les nouveaux Big Objects Dans le projet de l’an passé, on avait créé un objet Car Race pour chaque trajet auquel participerait les concurrents. A chaque objet Car Race on liait un certain nombre de participant (Racer) qui pointaient aussi vers la voiture concernée (Car). On avait toute une liste de Car_Status__c récupérée depuis le serveur Mercedes, recueillis périodiquement, qui nous indiquait la position de la voiture.  Maintenant, on stocke les positions dans…

Lire la suite Lire la suite

Le Logiciel Raspberry Cars – Le tout ensemble (5/5)

Le Logiciel Raspberry Cars – Le tout ensemble (5/5)

Une fois qu’on assemble les différents morceaux, et qu’on initialise correctement les constantes, l’ensemble des différents threads s’exécute ensemble et permettent d’envoyer les données à Salesforce en permanence ! Objectif atteint ! Remarque : le code complet assemblé est disponible sur mon Github : https://github.com/wollef/RaspberryCars/blob/master/CarWatch/CarWatch.py

Le Logiciel Raspberry Car – Tâche d’envoi des données à Salesforce (4/5)

Le Logiciel Raspberry Car – Tâche d’envoi des données à Salesforce (4/5)

En utilisant les techniques de la partie précédente, le code de la tache d’envoi des données à Salesforce effectuant le travail suivant : Essaye de se connecter à Salesforce Si cela réussit :  Poser le verrou DB : bloque l’accès à la base SQ Action sécurisée : Il lit tout ce qui est dans la base SQL pour être envoyé Débloquer le verrou DB (cela a duré presque 1 seconde, car on écrit sur le disque) S’il y a des nouvelles données à envoyer…

Lire la suite Lire la suite

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