Ingénieur logiciel embarqué C++ / Python/ Capteurs & intégration système
Role details
Job location
Tech stack
Job description
Ingénieur logiciel embarqué C++ / Python - Capteurs & intégration système
Périmètre
Logiciel embarqué, capteurs, Linux, interfaces, logs, replay, prototype système
Objectif
Transformer une preuve logicielle existante en prototype embarqué fonctionnel
Objectif de la mission
La mission consiste à transformer une preuve logicielle existante en prototype embarqué fonctionnel, capable d'acquérir des données capteurs réelles, d'exécuter un moteur de localisation, de produire des sorties exploitables, de logger les données et de permettre des essais reproductibles sur table, en rejeu puis sur équipement cible.
Le profil recherché fait le lien entre le logiciel, les capteurs, Linux embarqué, les interfaces physiques, les logs, le replay, le debug et l'intégration système.
Intégration des flux capteurs
- Intégrer les flux issus de récepteurs GNSS, IMU, odométrie, référence externe ou autres capteurs disponibles.
- Développer ou adapter les briques de lecture, parsing, synchronisation et bufferisation des données.
- Gérer les timestamps, fréquences d'échantillonnage, latences, pertes de trames et désynchronisations.
- Documenter les formats d'entrée, les hypothèses de synchronisation et les limites observées.
Développement C++ temps réel ou quasi temps réel
- Développer les modules d'acquisition, traitement, interface, diagnostic, publication et logging.
- Intégrer le moteur de localisation dans une chaîne exécutable continue.
- Structurer le code avec des interfaces propres, testables et maintenables.
- Optimiser les traitements critiques en termes de latence, CPU, RAM et robustesse d'exécution.
- Mettre en place des tests simples permettant de vérifier les modules clés.
Outillage Python pour tests, replay et analyse
- Créer des scripts de conversion, rejeu, analyse et visualisation de logs.
- Automatiser des scénarios de test et des chaînes de validation simples.
- Produire des graphes de debug, de latence, de disponibilité des flux et de cohérence des sorties.
- Préparer des notebooks ou scripts reproductibles pour faciliter l'analyse technique.
Linux embarqué et déploiement
- Déployer la chaîne logicielle sur une cible Linux : mini-PC, SBC, calculateur embarqué ou équipement de test.
- Configurer les ports série, USB, Ethernet, réseau, droits d'accès, services et scripts de lancement.
- Mettre en place une procédure simple d'installation, démarrage, arrêt, relance et récupération des logs.
- Assurer le monitoring de base du système : ressources, état des processus, fichiers de log, erreurs.
Prototype d'intégration système
- Participer au choix et à l'intégration de composants du commerce : calculateur, récepteur, IMU, alimentation, connectique, boîtier standard.
- Réaliser ou superviser une intégration propre sur table : câblage, alimentation, interfaces, fixation, démarrage.
- Vérifier que le prototype lit les capteurs, exécute le logiciel, produit les sorties et conserve les logs.
- Rédiger une procédure d'exploitation du prototype pour les essais et démonstrations.
Interventions chez clients, partenaires ou sites d'essais
- Participer ponctuellement à des interventions techniques chez des clients, partenaires, laboratoires ou sites d'essais.
- Installer, configurer ou diagnostiquer un prototype sur équipement cible lorsque la mission le nécessite.
- Accompagner les essais, démonstrations, collectes de données, phases de debug ou revues d'intégration.
- Documenter les conditions d'intervention, configurations utilisées, anomalies observées et actions correctives.
Livrables attendus
- Chaîne logicielle exécutable sur Linux, en replay puis en mode connecté aux capteurs.
- Modules C++ d'acquisition, parsing, synchronisation, diagnostic et logging.
- Scripts Python de replay, conversion, analyse et visualisation.
- Prototype d'intégration sur équipement cible ou calculateur embarqué.
- Documentation d'installation, de configuration et de lancement.
- Description des interfaces d'entrée/sortie et formats de logs.
- Démonstration reproductible et exploitable par l'équipe.
Requirements
Compétences techniques attendues
- Notions de mathématiques et d'algèbre linéaire.
- C++ moderne, C, CMake et Git.
- Python pour scripts de test, replay, analyse et visualisation.
- Linux : configuration, déploiement, services, ports, logs et debug système.
- Interfaces capteurs : série, USB, Ethernet ; CAN / SocketCAN apprécié.
- Gestion de flux continus, latence, buffers, erreurs et redémarrage.
- Logs, replay, diagnostic et reproductibilité.
- Intégration logiciel-matériel avec composants du commerce., Le profil peut venir du logiciel embarqué, de la robotique, des drones, des véhicules autonomes, de l'instrumentation, de l'IoT industriel, de la navigation GNSS/INS, des bancs de test ou des systèmes capteurs. Une première expérience sur un système lisant des capteurs réels, produisant des logs et tournant sur Linux embarqué est fortement valorisée.
Benefits & conditions
- RTT
- Work from home
- Participation
- Intéressement, Rémunération : 33 682,26€ à 50 000,00€ par an
Avantages :
- Intéressement et participation
- Prise en charge du transport quotidien
- RTT
- Travail à domicile occasionnel
Lieu du poste : Télétravail hybride (75017 Paris)