Stage : Android/AOSP pour l'industrie

Acteur majeur dans l'informatique industrielle et embarquée, nous devons fréquemment conseiller nos clients sur le choix du système d'exploitation à installer. Linux (embarqué) est souvent le choix de prédilection car il existe désormais des outils libres très performants (Yocto, Buildroot) permettant de construire une distribution adaptée.

Android a cependant quelques avantages lorsque l'application nécessite une interface graphique. De plus, la grande quantité d'applications disponibles peut être un argument appréciable. Android est adapté à des périphériques de type téléphone ou tablette et des interfaces matérielles Wi-Fi, Bluetooth et parfois Ethernet. Les projets industriels utilisent souvent des bus USB, RS-232, SPI, I2C sans compter les bus industriels spécialisés (MODBUS, openPOWERLINK, EtherCAT, …).

Le but du stage est d'étudier la possibilité d'intégrer le support de ces interfaces « industrielles » dans AOSP tant au niveau des couches basses (pilote, HAL, NDK) que du « framework » Java permettant de développer des applications. Open Wide a déjà réalisé quelques travaux dans le domaine en réalisant une extension du framework pour l'intégration de tâches temps réel Xenomai.

Les sources d'Android sont disponibles dans AOSP (Android Open Source Project). Outre la version officielle de Google (pour plate-formes NEXUS), il existe de nombreuses versions adaptées par les constructeurs ou par des communautés (Freescale, TI, Beagleboard, etc.).

Références : https://source.android.comhttp://www.possamai.it/android-i2c - https://source.android.com/devices/sensors/sensor-stack.html - http://processors.wiki.ti.com/index.php/Android_Sensor_PortingGuide

Le stage comprend les missions suivantes :

  •  Analyse du besoin industriel Android et du « marché » potentiel
  •  Analyse de l'existant, projets et support officiels (« sensors » AOSP) ou communautaires
  •  Test d'intégration des bus I2C et SPI dans AOSP sur plate-forme BeagleBone Black (ou équivalente)
  •  Test d'intégration d'openPOWERLINK à AOSP
  •  Étude de l'intégration des modifications dans un arbre AOSP existant
  •  Étude des possibilités de création d'un projet communautaire A-I-OSP (I pour Industriel)
  •  AOSP, HAL (Hardware Abstraction Layer) et Framework Java Android
  •  Pilote de périphériques Linux/Android
  •  Bus industriels SPI, I2C, Ethernet, etc.
  •  Travail sur un « standard de fait » (Android) très demandé
  •  Résultats concrets et visibles (utilisation de cibles matérielles)
  •  Possibilité de mise en place d'un projet libre dérivé d'AOSP
  •  Publication et participation éventuelle à des conférences

Formation requise :

  •   Stage de fin d’études de master ou cycle d’ingénieur

Connaissances demandées :

  •  Bonnes bases en système/développement Android et Linux
  •  Langage C/C++ et Java
  •  Connaissances noyau Linux et temps réel  seront un plus

Qualités personnelles :

  •  Autonomie, curiosité technique, rigueur, qualité rédactionnelles