0% ont trouvé ce document utile (0 vote)
181 vues60 pages

2 Objets Communicants

oc

Transféré par

Taoufik Ait
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
181 vues60 pages

2 Objets Communicants

oc

Transféré par

Taoufik Ait
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

LES OBJETS COMMUNICANTS

DÉMARCHE DE CONCEPTION D’UNE APPLICATION


UTILISANT DES OBJETS CONNECTÉS

Jean-Paul Jamont, Lionel Médini, Michaël Mrissa


INTRODUCTION

• Objectif général de ce cours


– Se placer dans une démarche de conception au
niveau applicatif
• From scratch
• Pour des objets existants
– Comprendre les différences avec une démarche
de conception logicielle
• Lien avec l’environnement physique
• Aspects matériels
• Communications réseau
PLAN DU COURS

1. Anatomie d’un objet communicant


2. Quelle démarche de conception ?
3. Analyse des besoins
4. Processus de développement
5. Validation
1. COMMENT FONCTIONNENT LES OBJETS
COMMUNICANTS?
1. COMMENT FONCTIONNENT LES OBJETS
COMMUNICANTS?
1. COMMENT FONCTIONNENT LES OBJETS
COMMUNICANTS?

COM

E/S CPU DATA

ω
1. COMMENT FONCTIONNENT LES OBJETS
COMMUNICANTS?

COM
E/S CPU DATA
ω
QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?

1. PDA / Mini-PC / PC Industriels


2. Une carte de développement existante
3. From scratch
QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?

• PDA / Mini-PC / PC Industriels


Modèle: Samsung Galaxy S4GT-I9505
OS: Android 4.2.2 Jelly Bean
CPU,GPU: 4 cœurs Qualcomm Snapdragon 600
(ARMv7) à 1,9 GHz, Qualcomm Adreno 320
Mémoire vive: 2 Go de RAM LPDDR3

Stockage: 32 Go de mémoire flash intégrée

Connectique: HDMI, prise casque jack 3,5 mm, port


micro USB 2.0 compatible MHL 2.0, WiFi 802.11
a/b/g/n/ac (HT80), NFC, Bluetooth 4.0 (LE), LED IR3
Capteurs: de proximité, de lumière, IR, thermomètre,
hygromètre, baromètre, accéléromètre et gyroscope
à 3 axes, magnétomètre
QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?

• PDA / Mini-PC / PC Industriels


Modèle: Android Mini PC MK802
OS: Android 4.2.2 Jelly Bean ou Ubuntu ou
PicUntu
CPU,GPU: Cortex-A9 à 1.6 GHz, 400 MHz Mali
GPU
Mémoire vive: 2 Go de RAM LPDDR3
Stockage: 8 Go de mémoire flash intégrée

Connectique: HDMI, micro-USB 2.0, USB 2.0,


microSD slot, alim. via micro-USB OTG, Wi-Fi
802.11 b/g/n, Bluetooth,
Capteurs:
QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?

• PDA / Mini-PC / PC Industriels


Modèle: PC industriel fanless NISE2200

OS: Linux, Windows …


CPU,GPU: Intel® Atom™ Dual Core D2550 1.86GHz
Mémoire vive: 8Go DDR3 SODIMM
Stockage: Disque dur 2.5" SATA

Connectique: 6 ports USB2.0; 1 emplacement


CFast; 1 emplacement carte SIM, 2 ports RS-
232/422/485 isolés, 2 ports Ethernet Intel® 82574IT
Gb, 1 port DB15 E/S , WiFi 802.11 a/b/g/n/ac or
3.5G (auto detected modules), Support 9-36V DV
input, Audio Jack
Capteurs:
QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?

• Une carte de développement existante


QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?

• From scratch
• Architecture centrée microcontrôleur

• Architecture centrée FPGA/EPLD/ASIC?


QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?

• Architecture d’objet communicant basée sur un


microprocesseur ou un microcontrôleur

C RAM ROM

Capteurs
Capteurs Capteurs
Capteurs
Capteurs CAN CPU CNA Actionneurs

Contrôleurs
Ports E/S de bus de Ports de
comm. diagnostic
QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?

Processeur
Mémoire
Périphériques
Bus de communication
Entrées/Sorties

D’après Julien DeAntoni


QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?
QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?
QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?
QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?
• Nombreux choix de capteurs et
d’actionneurs
• Utiliser les « Product Selector Guide »
QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?
• Utiliser les « Product Selector Guide »
QUELS CHOIX POUR LA PARTIE
MATÉRIELLE?
COMMENT MON OBJET ACCÈDE À
INTERNET?
• Deux grands types d’objets physiques
– Objets communicants et/ou intelligents
• A base de micro-contrôleur(s) /FPGA équipés d’interface(s) de
communication
• Modèle de comportement embarqué sur l’objet

– Objets « chipless » tagués


• Objets sur lesquels on a apposé une étiquette RFID (ou autre)

• Modèle de COMPORTEMENT DÉPORTÉ sur un serveur distant


OBJETS CHIPLESS

E. Perret
OBJETS CHIPLESS

O. Rance

24
OBJETS CHIPLESS

O. Rance

25
OBJETS CHIPLESS

O. Rance

26
OBJETS CHIPLESS

O. Rance

27
OBJETS CHIPLESS

O. Rance

28
OBJETS CHIPLESS

O. Rance

29
MODÈLES DE COMMUNICATION
Comportement embarqué Comportement déporté
COMMENT VONT COMMUNIQUER LES
OBJETS ENTRE EUX?
 Les réseaux sans fil sont des briques de base de l’IoT et du
WoT
 Il faut savoir identifier les critères pertinents qui vont conditionner le choix de ces briques
 Il faut comprendre la caractérisation de ces briques

 Il est indispensable de comprendre les couches basses d’un


système communicant pour assurer une réelle maîtrise
d’ouvrage

 Les couches basses impactent profondément la qualité de


service d’un système communicant! En effet, il existe un fort
couplage entre les technologies utilisées pour les couches
basses et :
- La consommation d’énergie,
- Le déterminisme (ou non) temporel,
- Le débit (couplé avec l’environnement du système)
- La précision d’une radiolocalisation
- Le taux de perte
- Le déséquencement
- La latence
- La gigue
-…
COMMENT VONT COMMUNIQUER LES
OBJETS ENTRE EUX?

Zigbee Bluetooth Wi-Fi


Besoins en
mémoire 4-32 Kb 250 Kb 1 Mb
Autonomie avec
pile Années Jours Heures
Nombre de
nœuds 65 000+ 7 32
Vitesse de 11-54-108-...
transfert 250 Kb/s 1 Mb/s Mb/s

Portée 10-100m 10-100 m 300 m


2. QUELLE DÉMARCHE?
2. QUELLE DÉMARCHE?
2. QUELLE DÉMARCHE?
2. QUELLE DÉMARCHE?
2. QUELLE DÉMARCHE?
2. QUELLE DÉMARCHE?
2. QUELLE DÉMARCHE?
71.5% of traditionnal embedded system designs were not
within 30% of pre-design performance expectations. [1]
Europe (N=240) North America (N=160)

Changes in specifications

Complexity of the application

Inadequate specifications

Too few developers

Too few testing personnel

Poor testing tools

Poor developpement tools


Inefficient
production/manufacturing

Others 39
2. QUELLE DÉMARCHE?
2. QUELLE DÉMARCHE?
3. QUELS SONT MES BESOINS?

Pour quel type d’application l’objet que je


dois construire va me servir?

1. Calcul généraliste
2. Contrôle de systèmes
3. Traitement du signal
4. Réseaux et communications
3. QUELS SONT MES BESOINS?

Quels sont mes besoins / mes contraintes?


• Puissance de calcul
• Capacité de communication
• Capacité de stockage
• Consommation d’énergie
• Temps de réponse
• Tolérances aux pannes
• Durée de vie
• Testabilité/débogage
• Nombre d’unités produites
3. VAIS-JE UTILISER UN OS?

COM

E/S CPU DATA

ω
3. VAIS-JE UTILISER UN OS?

[Turley]
3. VAIS-JE UTILISER UN OS?
Quel type d’OS?
- GPOS (Normal General Purpose Operating System)
=> Interruptible
- RTOS (Real Time Operating System)
=> Prédictible

D’après [Link] , Systèmes d'exploitation embarqués


3. VAIS-JE UTILISER UN OS?

[Turley]
3. VAIS-JE UTILISER UN OS?

[Turley]
3. VAIS-JE UTILISER UN OS?

Créer, initaliser et activer une tâche avec VxWorks


int taskSpawn(
{Task Name},
{Task Priority 0-255, related to scheduling},
{Task Options – VX_FP_TASK, execute with floating point
coprocessor
VX_PRIVATE_ENV, execute task with private environment
VX_UNBREAKABLE, disable breakpoints for task
VX_NO_STACK_FILL, do not fill task stack with 0xEE}
{Stack Size}
{Task address of entry point of program in memory–initial PC
value}
{Up to 10 arguments for task program entry routine})

=> Après appel du taskSpawn, une image de la tâche est créée


(Process Control Block , pile, programme)
3. VAIS-JE UTILISER UN OS?
// Tâche du parent qui active le l’horloge logicielle
void parentTask(void) {

if sampleSoftware Clock NOT running {
newSWClkId = taskSpawn (“sampleSoftwareClock”, 255,
VX_NO_STACK_FILL, 3000, (FUNCPTR) minuteClock, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0);
….
}
// Tâche executée par le programme fils
void minuteClock (void) {
integer seconds;
while (softwareClock is RUNNING) {
seconds = 0;
while (seconds < 60)
seconds = seconds+1;
}
……
}
3. VAIS-JE UTILISER UN FRAMEWORK ?
• Un framework au-dessus de l’OS?
Services fournis:
• journalisation ,
• gestion des configurations ,
• le service HTTP (exec. servlets),
• l’analyse syntaxique XML, l’accès aux dispositifs (Device
Access),
• l’administration de paquetage (Package Admin),
• l’administration des permissions (Permission Admin),
• le niveau de démarrage (Start Level),
• la gestion des utilisateurs (User Admin),
• le connecteur d'ES (IO Connector; IO = Input Output =
Entrées Sorties),
• la gestion des connexions (Wire Admin),
• Jini, l’exportateur UPnP (UPnP Exporter),
• le pistage applicatif (Application Tracking),
• les paquets signés (Signed Bundles),
• les services déclaratifs (Declarative Services),
Bundle = applications et/ou
• la gestion de l’énergie (Power Management),
composants déployés • la gestion des dispositifs (Device Management),
• les politiques de sécurité (Security Policies),
• diagnostic/contrôle et organisation en couches du
cadriciel (Diagnostic/Monitoring and Framework Layering).
4. JE DÉVELOPPE MON APPLICATION
• Choisir la chaine de développement
4. JE DÉVELOPPE MON APPLICATION
• Choisir la chaine de développement
4. JE DÉVELOPPE MON APPLICATION
• Choisir la chaine de développement
4. JE DÉVELOPPE MON APPLICATION
• Etudier les datasheets du micro-contrôleur
5. JE VALIDE MON SYSTÈME
---Validation---
Risques acceptables / Satisfaction des utilisateurs

Sûreté de fonctionnement Satisfaction des utilisateurs


Fiabilité QoS
Disponibilité Performances
Maintenabilité
Sécurité confidentialité
Sécurité innocuité

5. JE VALIDE MON SYSTÈME
---Des outils spécifiques--
PERFORMANCE
REQUIREMENTS

TRADITIONNAL MAS
MODELS INVOLVED IN THE SYSTEM SIMULATION VIRTUAL SIMULATION APPROACH
SYSTEM DESIGN
Environnement description models

SW SIMULATION

Environment Energy Wave propagation ADJUST THE


physical model consumption model model MEET REQUIREMENTS?
DESIGN
eMAS
Entities involved models IMPLEMENT SIMULATION APPROACH
SYSTEM

HW&SW SIMULATION

Entity behavior Interaction model Organization model


ADJUST THE
MEET REQUIREMENTS?
IMPLEMENTATION

FINISH!
MASH [Jamont13]
5. JE VALIDE MON SYSTÈME

---Performances énergétiques---

[Fourty12]
MERCI POUR VOTRE ÉCOUTE
BIBLIOGRAPHIE

• Culture mobile – Le Blog [Link]


• Jalil Boukhobza, Systèmes d’exploitation pour l’embarqué (cours)
• Julien DeAntoneti, Introduction à la programmation micro-contrôleur (cours)
• Nicolas Fourty, Adrien van den Bossche, Thierry Val: An advanced study of energy
consumption in an IEEE 802.15.4 based network: Everything but the truth on 802.15.4 node
lifetime. Computer Communications 35(14): 1759-1767 (2012)
• Jean-Paul Jamont, Michel Occello, Eduardo Mendes, Decentralized intelligent real world
embedded systems : a tool to tune design and deployment, Advances in Intelligent and Soft-
Computing, Springer, ISSN: 1867-5662, 2013.
• Jean-Paul Jamont, Les réseaux sans fils (cours)
• Emmanuel Jez, Développement d’une colonie de robots mobiles « Kurasu ».
• Stéphane Lavirotte , Objets Communicants et Terminaux Mobiles (cours)
• Etienne Perret, RFID sans puce, de l'identification au capteur .
• Olivier Rance, Construction de la signature électromagnétique d'un tag RFID sans puce à
partir d’un assemblage de résonateurs.
• Jim Turley , Source: [Link]
systems-on-the-rise

Vous aimerez peut-être aussi