Raspberry Cars – L’ordinateur
1. Raspberry Pi
Comme système au cœur de la collecte et de l’envoi des données, j’avais besoin d’un ordinateur simple auquel on puisse ajouter des composants additionnels et les programmer facilement.
J’ai trouvé sur Internet que beaucoup de projets semblables ont été fait sur Raspberry Pi.
Le Raspberry pi est un ordinateur de la taille d’une carte de crédit que l’on peut brancher à un écran et utiliser comme un ordinateur standard. Sa petite taille, et son prix intéressant (50 euros !) font du Raspberry pi un produit idéal pour tester différentes choses. Pour sa taille il ne faut pas s’attendre à des performances incroyables comme sur mon ordinateur de jeu, mais pour l’objectif de ce travail personnel c’est largement suffisant.
Le Raspberry pi ne dispose pas d’un disque dur interne (cela augmenterait grandement sa taille), mais stocke ses données sur une carte SD.
Par défaut, le Raspberry pi, est nu : il est vendu sans accessoires.
Pour pouvoir le programmer (avant de l’installer dans la voiture), j’ai donc dû le compléter :
- Avec une carte micro SD
- Un câble d’alimentation micro USB standard relié à un chargeur
- Un câble HDMI afin de connecter le Raspberry pi un écran.
- Un clavier et une souris standard (sur le port USB)
Ensuite il a fallu installer le système d’exploitation :
- La première étape est de préparer la carte micro SD en y installant un système d’exploitation. Pour faire simple, j’ai choisi le Linux Raspbian (Debian) que l’on peut télécharger directement depuis le site Internet de Raspberry pi. Une fois l’image téléchargée, on peut l’installer sur votre carte micro SD en utilisant le logiciel Win32DiskImager. La procédure est décrite ici : https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up/3 .
- Une fois la carte micro SD préparée, il suffit de l’insérer dans le Raspberry pi pour faire fonctionner automatiquement le système.
C’est dans cette configuration que je travaille à la maison pour programmer le Raspberry Pi (la petite carte entre le clavier et l’écran).
2. Le Raspberry Pi en mode mobile
Mais pour l’utiliser dans la voiture :
- On ne pourra pas utiliser un grand écran et le brancher sur une prise de courant,
- On ne va pas utiliser un clavier et une souris avec des câbles car ce n’est pas pratique dans la voiture
- On n’aura pas de prise de courant 220V pour alimenter le transformateur USB de l’ordinateur Raspberry PI. On pourrait le brancher sur l’adaptateur USB sur la prise allume-cigare, mais dès qu’on couperait le contact de la voiture, le Raspberry Pi s’étendrait aussi
La solution est de compléter le Raspberry PI par d’autres éléments :
- Un petit écran tactile
- Un clavier avec trackpad buetooth pour les manipulations qu’on ne peut pas faire avec l’écran tactile
- Pour l’alimentation, une power bank de forte capacité.
Pour le petit écran tactile j’ai pris un écran de 5 pouces qui se branche directement sur le Raspberry Pi de la société Waveshare (800*480 pixels) pour 37 €. L’écran se branche par-dessus le Raspberry Pi par le connecteur GPIO 40 broches pour l’alimentation et par un adaptateur HDMI (la petite pièce bleue de la première photo).
Pour le clavier j’ai trouvé le clavier Logitech Touchpad K400 Plus, qui est léger et ne prend pas trop de place (35€).
Pour la powerbank, j’ai pris une powerbank 5V, 2.4A et une capacité de20100mAh (elle peut recharger un ordinateur portable en une heure ! (Environ 70€, c’est le composant le plus cher de la configuration 😉 )
B. Les interfaces additionnelles
Pour être capable de réaliser le programme qui va interroger la voiture et connaître la position GPS, il faut étendre le Raspberry Pi avec deux composants :
1. Composant GPS
La technologie GPS utilise des satellites en orbite autour de la Terre qui permettent de déterminer la localisation géographique d’un capteur avec les coordonnées en longitude, latitude et altitude.
Je vais brancher un tel capteur sur mon Raspberry Pi.
J’ai choisi le composant “GSM/GPRS/GNSS/Bluetooth HAT GPS Module Expansion Board Based on SIM868 for Raspberry Pi” de la société Waveshare (pour 40€). Il inclut aussi une carte GPRS pour se connecter au réseau mobile (voir la partie suivante « accès Internet »).
2. La connexion OBD à la voiture
Les voitures modernes disposent d’une prise OBD. Ces trois lettres » OBD » veulent dire : » On Board Diagnostics » (Diagnostic embarqué à bord). Cette fameuse prise OBD permet d’accéder à toutes sortes d’informations en interrogeant les calculateurs électroniques de la voiture.
J’ai besoin d’un connecteur pour relier le Raspberry PI à la prise OBD de la voiture.
Il y en a de différents types :
- Des cables OBD-USB que l’on connectera sur les ports USB du Raspberry Pi
- Des modules OBD Bluetooth que l’on peut coupler au Raspberry Pi
Pour faire simple et ne pas avoir de soucis avec le Bluetooth, j’ai pris la première option.
Le câble que j’ai acheté est le ScanTool OBDLink SX USB (30€)
C. L’accès Internet
Le Raspberry Pi doit se connecter à internet pour envoyer les données à Salesforce. Par défaut le Raspberry Pi peut se connecter à un réseau Wifi.
Dans un premier temps nous avons fait les teste en utilisant le mode Tethering de mon téléphone portable, ou pour ne pas être dépendant de celui-ci, une borne wifi/4G de TP-Link avec un abonnement data spécifique.
Dans un second temps, j’essayerai d’utiliser le mode GSM Data de la carte GPS que j’ai acheté pour la géolocalisation, en lui insérant la carte SIM).
D. Le tout assemblé
Et voici ce que donne le tout assemblé, une fois connecté à la voiture :
- Le Raspberry Pi est connecté sous l’écran, comme expliqué dans la présentation de l’écran
- Le câble rouge est relié sous le volant au bord OBD de la voiture.
- Devant le Raspberry, on voit la carte GPS (à gauche, avec la LED allumée) relié au Raspberry Pi et au capteur de signal GPS (à droite)