Les systèmes embarqués (SE)
Un système embarqué (SE) est un système informatisé spécialisé qui constitue une partie intégrante dans un autre large système ou un dans une machine. C’est un système sur un processeur avec une mémoire en quelque kilo-octets dont les programmes sont stockés sur la ROM.
On peut dire que SE est un système ayant une interface digitale comme une montre, une voiture, une camera etc. Certains SE ont des systèmes d’exploitation comme Raspberry Pi qu’on peut l’ajouter dans une carte mémoire. Il y a plusieurs systèmes d’exploitation dédiés au système embarqués citons : linux windows10 IOT, RTEMS, FreeRTOS, chibiOS /RT etc.…, et d’autres sans systèmes d’exploitation mais programmable comme arduino qu’on va introduire dans le prochain chapitre car toute leur logique peut être implantée en un seul programme ou une seule fonction.D’une autre façon, un système embarqué est une combinaison de logiciel et matériel, avec des capacités fixes ou programmables, qui est spécialement conçu pour un type d’application particulier comme les distributeurs automatiques de boissons, les automobiles, les équipements médicaux, les caméras, les téléphones …
Les SE programmables sont dotés d’interfaces de programmation et leur programmation est une activité spécialisée en utilisant plusieurs langages de programmation tels que le c, c++ etc. Il existe des systèmes embarqués qui nécessitent un traitement en temps réel dédiés à la télégestion, au contrôle ou à la supervision d’un phénomène bien précis. Ces systèmes assurent la mobilité, une faible consommation d’énergie, un poids léger, un volume compact et un cout faible. Avant d’aborder les détails sur des systèmes embarqués, on parle un peu sur l’historique de cette technologie [1].
Objets communicants & Internet des Objets (Internet Of Things)
Aujourd’hui, on utilise de nombreux objets communicants dans notre quotidien. Nous sommes entourés de ces appareils pouvant communiquer avec leur environnement et échanger des données, qui nous offrent de plus en plus de services facilitant nos activités, et avec lesquels nous interagissons fréquemment. Ils sont en train de transformer nos habitudes, nos comportements, et plus globalement nos sociétés en général.
Les objets communicants sont d’une grande variété : ils peuvent aller d’une simple carte à puce, comme les cartes sans contact qu’on utilise pour accéder aux transports en commun, ou bien les Smartphones, qui sont aujourd’hui de véritables petits bijoux de technologie offrant beaucoup plus de services que la simple téléphonie, ou encore les télévisions connectées qui sont capables d’aller chercher des contenus sur Internet pour notre plus grand bonheur. Ces objets communicants vont se retrouver dans tous les domaines, allant du domaine grand public tels les objets de nos maisons, qui deviennent de plus en plus intelligents, jusqu’à la ville intelligente d’une manière générale. Le monde industriel va être révolutionné grâce à ces nouveaux objets, qui vont offrir plusieurs opportunités économiques pour un marché colossal se chiffrant en milliards d’euros, et qui intéresse tous les acteurs des NTICs [5].
Objets communicants Pour bien comprendre le terme objet connecté ou communicant, on répond à cette question : qu’appelle-t-on un objet communicant ? On peut définir un objet communicant comme un appareil pouvant interagir avec son environnement en répondant à des stimuli, et échanger avec ses pairs en utilisant un support de communication. Un objet communicant est doté d’une unité de calcul, plus ou moins sophistiquée selon l’objectif souhaité, et d’un ou plusieurs périphériques de communication qui vont permettre à cet objet d’envoyer et de recevoir des données de l’extérieur.
En plus d’un ensemble de capteurs qui vont jouer le rôle de périphériques d’entrée, tels un capteur de luminosité ou un capteur de mouvement, ils possèdent également un ensemble d’actionneurs, ou périphériques de sortie, comme le bras motorisé d’un robot, ou tout simplement un écran d’affichage sur un Smartphone. Les périphériques de communication peuvent être filaires ou sansfil. On s’attend à avoir plusieurs dizaines de milliards d’objets communicants à l’horizon de l’an 2020. Ils élargiront l’accès à l’information des périphériques classiques, et dans ce cas, on va plutôt parler « d’Internet des Objets » [5].
Internet des Objets (Internet of Things) L’internet des objets est un ensemble de concepts, d’entités réseau, de technologies et d’architectures de communications et de services permettant la connexion du monde physique/réel au monde digital. Nous distinguons deux visions. Une première vision à court et moyen terme caractérisée par l’extension du modèle de communication Internet TCP/IP vers de nouveaux objets, les objets du quotidien dotés d’une interface de communication, ou nouveaux objets conçus pour l’acquisition d’informations de l’environnement. Une deuxième vision à long terme caractérisée par la création de nouveaux modèles de communication adaptés aux nouvelles contraintes de l’Internet des Objets, les objets avec ressources réduites comme l’énergie, explosion du nombre d’objets connecté. Quand on parle de l’Internet des Objets, on retrouve l’historique du terme qui démarre au MIT dans le cadre de travaux du AutoID lab sur les aspects digitalisation des processus dans les grandes chaines de distribution. Ensuite, vient le premier rapport en 2005 du monde des télécommunications par l’ITU, l’organisme mondial de standardisation des télécommunications.
L’évolution technologique autour de l’Internet des Objets, montre bien les premières applications de l’IoT dans le milieu des chaines de distribution avec l’introduction massive de la technologie RFID. Les prochaines applications sont autour de l’exploitation des technologies de capteurs, ensuite les services basés sur les informations de localisation, et sur l’horizon 2020, on attend des services de contrôle-commande à distance des objets connectés dans différents secteurs verticaux [5].
Des exemples dans le domaine d’application L’une des applications phares, qui touche un large public, est certainement la maison intelligente ou « bâtiment intelligent », avec ses nombreux objets communicants qui vont offrir de nouveaux services domotique, pour un meilleur contrôle des équipements et une utilisation optimale de l’énergie. La température ambiante intérieure sera contrôlée à la fois en fonction de la température extérieure et en fonction de la présence de personnes dans la maison.
De même, éclairer, climatiser des locaux en l’absence de personne physique dans la maison sera inutile.Un autre exemple d’application est celui des transports intelligents. Nos voitures embarquant de nombreux équipements électroniques seront bientôt communicantes, et pourront dialoguer entre elles, ainsi qu’avec les infrastructures de la route. Cet échange permettra d’améliorer la sécurité routière en offrant des informations pertinentes en temps réel aux conducteurs, pour éviter des accidents ou des embouteillages. Cette meilleure gestion des transports aura un impact très fort sur l’économie.
Le monde du travail et le monde industriel seront aussi impactés par les objets communicants connectés. Les usines intelligentes, truffées de capteurs communicants, collecteront des données en temps réel et surveilleront ainsi l’état des différents équipements entrant dans le processus de production .Internet des objets, avec les différents capteurs embarqués, soit à travers les Wearables ou des capteurs proches du corps, forme aujourd’hui une source d’information en temps réel d’une valeur inestimable pour l’innovation dans ce secteur. On peut citer la Startup Française Withings, c’est une montre intelligente entourée des capteurs (capteur cardiaque, capteur de localisation et autre pour calculer le mouvement ou l’activité donnée) qui a développé dès le début de l’IoT la balance intelligente avec un coach en ligne à travers une application mobile.
Il est important de rappeler que l’explosion des services IoT autour de la personne ont été rendus possibles aussi grâce aux interfaces tactiles des Smartphones et tablettes, sur lesquelles des applications mobiles avec des interfaces très ludiques rendent l’interaction entre l’utilisateur et le service très favorable au déploiement de ces réseaux IoT [5]. ERDF a mis en place le programme LINKY, le compteur électrique intelligent qui mesure les données de consommation énergétique des utilisateurs et communique en temps réel ces informations. Un backoffice traite ces données aussi en temps réel et différents services novateurs sont alors rendus possibles : la prédiction du volume d’énergie nécessaire dans une maison ou un quartier par exemple. Un autre aspect concerne l’intégration des différentes sources d’énergie renouvelable dans le réseau électrique, le dimensionnement intelligent de l’énergie globale, et sa distribution vers les clients finaux [5].
La sécurité des IoT Un attaquant ayant physiquement accès à un objet connecté est en mesure de recueillir beaucoup de ses informations sensibles. S’il réussissait par exemple à récupérer ses clés de chiffrement, ilpourrait accéder à tout le trafic entrant et sortant de l’objet, et il pourrait aussi injecter du code malveillant destiné à d’autres objets du réseau. Chaque objet connecté apparaît ainsi comme un point critique dans l’architecture de l’IoT. Nous énumérons dans ce qui suit les différentes propriétés de sécurité et de protection de la vie privée qui devraient être garanties afin de sécuriser un objet connecté. Parmi les concepts importants utilisés dans la suite, nous rappelons la notion d’identité. Dans l’IoT, les objets intelligents sont considérés comme des entités indépendantes, capables d’agir au nom d’un utilisateur. Il existe plusieurs définitions dans la littérature, concernant principalement l’identité et l’identité partielle des objets intelligents. L’identité permet d’une part de distinguer les différents objets à l’intérieur du réseau, et d’autre part de vérifier leur origine. Dans toute architecture de gestion d’identité, l’établissement d’un environnent de confiance nécessite l’unicité des identités afin de pouvoir les authentifier. Les ressources contraintes des objets imposent cependant des extensions à la gestion traditionnelle d’identité, donc pour renforcer la sécurité, il faut utiliser les plus récents algorithmes de chiffrement, aussi l’utilisation de la sécurité en 3D [8].
Les données massives (Big Data)
Le Big Data, littéralement « grosses données » ou mégadonnées parfois appelées données massives, désigne des ensembles de données devenus si volumineux qu’ils dépassent l’intuition et les capacités humaines d’analyse et même celles des outils informatiques classiques de gestion de base de données ou de l’information. L’explosion quantitative et souvent redondante de la donnée numérique contraint à de nouvelles manières de voir et analyser le monde, de nouveaux ordres de grandeur concernent la capture, le stockage, la recherche, le partage, l’analyse et la virtualisationdes données. Les perspectives du traitement des big data sont énormes et en partie encore insoupçonnées ; on évoque souvent de nouvelles possibilités d’exploration de l’information diffusée par les médias, de connaissance et d’évaluation, d’analyse tendancielle et prospective (climatiques, environnement ou encore sociopolitiques etc.) et la gestion des risques (commerciaux, assuranciels, industries, naturels) mais aussi en termes de génomique ou métagénomique, pour la médecine (compréhension du fonctionnement du cerveau, épidémiologie, éco épidémiologie…), la météorologie et l’adaptation aux changements climatiques, la gestion de réseaux énergétiques complexes (via les smartgrids, ou un futur « internet de l’énergie ») l’écologie (fonctionnement et dysfonctionnement des réseaux écologiques, des réseaux trophiques avec le GBIF par exemple), ou encore la sécurité et la lutte contre la criminalité. La multiplicité de ces applications laisse d’ailleurs déjà poindre un véritable écosystème économique impliquant, d’ores et déjà, les plus gros joueurs du secteur des technologies de l’information.
Certains supposent que le big data pourrait aider les entreprises à réduire leurs risques et faciliter la prise de décision, ou créer la différence grâce à l’analyse prédictive et une « expérience client » plus personnalisée et contextualisée .Divers experts, grandes institutions (comme le MIT aux États-Unis), administrations et spécialistes sur le terrain des technologies ou des usages considèrent le phénomène big data comme l’un des grands défis informatiques de la décennie 2010-2020 et en ont fait une de leurs nouvelles priorités de recherche et développement, qui pourrait notamment conduire à l’intelligence artificielle en étant exploré par des réseaux de neurones artificiels autoapprenants . Big Data est un champ dédié à l’analyse, au traitement et au stockage de grandes collections de données provenant souvent de sources disparates. Les solutions et les pratiques Big Data sont généralement requises lorsque les technologies et techniques traditionnelles d’analyse, de traitement et de stockage des données sont insuffisantes. Plus précisément, les Big Data répondent à des exigences distinctes, telles que la combinaison de plusieurs ensembles de données sans rapport, le traitement de grandes quantités de données non structurées et la collecte d’informations cachées de manière sensible au temps.
Bien que le Big Data puisse apparaître comme une nouvelle discipline, il se développe depuis des années. La gestion et l’analyse d’ensembles de données volumineux constituent un problème de longue date – des approches laborieuses des premiers efforts de recensement à la science actuarielle derrière les calculs des primes d’assurance. La science du Big Data a évolué à partir de ces racines. En plus des approches analytiques traditionnelles basées sur les statistiques, Big Data ajoute de nouvelles techniques qui tirent parti des ressources et des approches de calcul pour exécuter des algorithmes analytiques. Ce changement est important car les ensembles de données continuent à être plus grands, plus diversifiés, plus complexes et centrés sur le streaming. Alors que les approches statistiques ont été utilisées pour estimer les mesures d’une population par échantillonnage depuis les temps bibliques, les progrès de la science computationnelle ont permis le traitement d’ensembles de données entiers, rendant un tel échantillonnage inutile.
L’analyse des ensembles de données Big Data est une entreprise interdisciplinaire qui combine les mathématiques, les statistiques, l’informatique et l’expertise en la matière. Ce mélange de compétences et de perspectives a conduit à une certaine confusion quant à ce qui constitue le domaine du Big Data et de son analyse, car la réponse que l’on reçoit dépendra de la perspective de celui qui répond à la question. Les limites de ce qui constitue un problème de Big Data changent également en raison du paysage en constante évolution de la technologie logicielle et matérielle. Ceci est dû au fait que la définition du Big Data prend en compte l’impact des caractéristiques des données sur la conception de l’environnement de la solution elle-même.
Il y a trente ans, un gigaoctet de données pouvait constituer un problème de Big Data et nécessiter des ressources informatiques spéciales. Maintenant, les giga octet de données sont monnaie courante et peuvent être facilement transmis, traités et stockés sur des appareils destinés aux consommateurs. Les données dans les environnements de Big Data s’accumulent généralement à partir d’être accumulées dans l’entreprise via des applications, des capteurs et des sources externes. Les données traitées par une solution Big Data peuvent être utilisées directement par les applications d’entreprise ou peuvent être introduites dans un entrepôt de données pour y enrichir les données existantes. Les résultats obtenus grâce au traitement des Big Data peuvent conduire à un large éventail d’idées et d’avantages, tels que l’optimisation opérationnelle, l’intelligence exploitable, l’identification de nouveaux marchés, les prévisions précises, la détection de fautes et de fraudes, les enregistrements, la meilleure prise de décision et des découvertes scientifiques. Évidemment, les applications et les avantages potentiels du Big Data sont vastes. Cependant, de nombreux problèmes doivent être pris en compte lors de l’adoption des approches analytiques Big Data .
L’Intelligence Artificielle (AI)
L’intelligence artificielle (IA) est « l’ensemble de théories et de techniques mises en œuvre en vue de réaliser des machines capables de simuler l’intelligence ». Elle correspond donc à un ensemble de concepts et de technologies plus qu’à une discipline autonome constituée. Souvent classée dans le groupe des sciences cognitives, elle fait appel à la neurobiologie computationnelle (particulièrement aux réseaux neuronaux), à la logique mathématique (sous-discipline des mathématiques et de la philosophie) et à l’informatique. Elle recherche des méthodes de résolution de problèmes à forte complexité logique ou algorithmique. Par extension elle désigne, dans le langage courant, les dispositifs imitant ou remplaçant l’homme dans certaines mises en œuvre de ses fonctions cognitives. Ses finalités et son développement suscitent, depuis toujours, de nombreuses interprétations, fantasmes ou inquiétudes s’exprimant tant dans les récits ou films de science-fiction que dans les essais philosophiques.
Dans notre vie, il y a plusieurs AI qui sont mis en œuvre on cite : Google Now, Alexa, Cortana, Siri. Le concept d’intelligence artificielle forte fait référence à une machine capable non seulement de produire un comportement intelligent, mais d’éprouver une impression d’une réelle conscience de soi, de « vrais sentiments » (quoi qu’on puisse mettre derrière ces mots), et « une compréhension de ses propres raisonnements ». L’intelligence artificielle forte a servi de moteur à la discipline, mais a également suscité de nombreux débats. En se fondant sur l’hypothèse, que tendent à confirmer les neurosciences et que des chercheurs n’hésitent pas à affirmer, que la conscience a un support biologique et donc matériel, les scientifiques ne voient généralement pas d’obstacle de principe à créer un jour une intelligence consciente sur un support matériel autre que biologique. Selon les tenants de l’IA forte, si à l’heure actuelle il n’y a pas d’ordinateurs ou de robots aussi intelligents que l’être humain, ce n’est pas un problème d’outil mais de conception. Il n’y aurait aucune limite fonctionnelle (un ordinateur est une machine de Turing universelle avec pour seules limites les limites de la calculabilité), il n’y aurait que des limites liées à l’aptitude humaine à concevoir les logiciels appropriés (programme, base de données…). Elle permet notamment de modéliser des idées abstraites [15].
l’Architecture générale et modes de fonctionnement des systèmes embarqués
Les systèmes embarqués utilisent généralement des microprocesseurs à basse consommation d’énergie ou des microcontrôleurs, dont la partie logicielle est en partie ou entièrement dans le matériel (on parle alors de firmware). Par définition, un système embarqué est un système complexe qui intègre du logiciel et du matériel conçus ensemble afin de fournir des fonctionnalités données. Il contient généralement un ou plusieurs microprocesseurs destinés à exécuter un ensemble de programmes définis lors de la conception et stockés dans des mémoires. D’autre part, c’est un système électronique et informatique autonome, souvent temps réel, spécialisé dans une tâche bien précise. Ses ressources sont limitées. Pour optimiser les performances et la fiabilité de ces systèmes, des circuits numériques programmables FPGA (Field Programmable Gate Array), des circuits dédiés à des applications spécifiques ASIC (Application Specific Circuits) ou des modules analogiques sont en plus utilisés.
Qu’est-ce qu’un microcontrôleur ?
Un microcontrôleur est un circuit intégré (ou IC, Integrated Circuit), qui rassemble sur une puce plusieurs éléments complexes dans un espace réduit. Au temps des pionniers de l’électronique, on soudait un grand nombre de composants encombrants, tels que les transistors, les résistances ou les condensateurs, sur des cartes plus ou moins grandes. Aujourd’hui, tout peut loger dans un petit boitier en plastique noir muni d’un certain nombre de broches. Ces dernières sont les connexions du circuit intégré au moyen desquelles s’effectue la communication. Avec ses dimensions réduites, il dispose pourtant d’une grande puissance de calcul. En fait, il suffitde le souder sur une carte et de le mettre sous tension pour pouvoir l’utiliser.
Certes, il manque encore quelques composants (par exemple, des stabilisateurs de tension, des connexions pour la programmation, et d’autres sur lesquels nous reviendrons plus tard), mais il est cependant sous cette forme déjà (presque) prêt à l’emploi. A quoi sert-il ? Maintenant, a quoi sert un microcontrôleur et ce qu’on peut faire avec. A cela, on peut répondre que les possibilités sont innombrables et dépendent uniquement de votre créativité. Les microcontrôleurs jouent un rôle prépondérant dans les domaines suivants – cette liste est loin d’être exhaustive et sert surtout à se faire une idée des diverses possibilités d’utilisation.
• Fonctions de surveillance dans des environnements critiques, par exemple dans des cages thoraciques (température, humidité, fréquence cardiaque, pression sanguine du prématuré ).
• Commande de chauffage : contrôle de la température externe ou interne pour le chauffage optimal de locaux.
• Stimulateurs cardiaques : surveillance de la fréquence cardiaque et, le cas échéant, stimulation du cœur.
• Appareils ménagers : par exemple, commande par programme enregistré dans des lave – linges ou lave-vaisselle modernes.
• Electronique de loisirs : lecteurs MP3, téléphones portables, appareils photo …
• Robotique : par exemple, commande de robots industriels pour le montage de pièces automobiles. Cette liste peut ainsi se poursuivre à l’infini, mais nous pouvons d’ores et déjà remarquer une chose les microcontrôleurs perçoivent des influences extérieures par le biais de capteurs, les traitent en interne à l’aide d’un programme, puis envoient des ordres de commande correspondants vers l’extérieur. Ils font donc preuve d’une certaine intelligence, qui dépend bien évidemment du programme mis en œuvre.
Un microcontrôleur peut assurer des fonctions de mesure, de commande et de régulation. Regardons maintenant de plus près le fonctionnement d’une boucle de régulation. Elle se compose d’un processus en boucle fermée comportant une perturbation. Un capteur transmet cette dernière au microcontrôleur qui réagit alors en fonction de son programme. Imaginez le scénario suivant. Vous vous trouvez au sein du système de contrôle de chauffage qui régule la température de votre local de travail. Le capteur dit au microcontrôleur : « Dis donc, il faire plutôt chaud dans le local de travail ! » Le microcontrôleur réagit alors en régulant la température. Le chauffage apporte donc moins d’énergie sous forme de chaleur dans le local. Le capteur le remarque et dit au microcontrôleur : « La température est maintenant celle souhaitée, soit 20 °C. » De l’air froid provenant de l’extérieur rentre petit à petit.
Le capteur donne l’alerte et dit au microcontrôleur : « II commence à faire froid ici et mon bonhomme va tomber malade, il faut faire quelque chose ! » Le microcontrôleur augmente la température en conséquence. Vous voyez, c’est un jeu de ping-pong : ici, en l’occurrence, une boucle de régulation qui réagit à des influences perturbatrices extérieures liées à des variations de température [17].
|
Table des matières
Dédicaces
Remerciements
Résumé
Tables des matières
tables des figures
Liste des abréviations
Introduction générale
Chapitre I : Les systèmes embarqués
I.1 Introduction
I.2 Historique des systèmes embarqués
I.2.1 Les anciens Génération
I.2.1.1 La première génération – les tubes à vides (1945-1955)
I.2.1.2 Deuxième génération – les transistors (1955-1965)
I.2.1.3 Troisième génération – les circuits intégrés (1965-1980)
I.2.1.4 Quatrième génération – les microprocesseurs 4004 (1970-2000)
I.2.1.5 Cinquième génération – PSoC (2000 – 2010)
I.2.1.6 Sixième génération (2010 – aujourd’hui)
I.3. Objets communicants & Internet des Objets (Internet Of Things)
I.3.1 Objets communicants
I.3.2 Internet des Objets (Internet of Things)
I.3.3 Des exemples dans le domaine d’application
I.3.4 La sécurité des IoT
I.4 Les Systèmes Cyber-Physiques (SCP)
I.4.1 Exemple d’application dans les systèmes cyber-physique
I.5 Les données massives (Big Data)
I.6 L’informatique en nuage (Cloud Computing)
I.6.1 Principe du cloud computing
I.6.2 Services
I.7 L’Intelligence Artificielle (AI)
I.8 l’Architecture générale et modes de fonctionnement des systèmes embarqués
I.9 Principales caractéristiques des systèmes embarqués temps réel
I.9.1 Exemples d’applications des systèmes embarqués temps réel
I.10 Les logiciels libres et les systèmes embarqués
I.11 Conclusion
Chapitre II : Etude et concept d’arduino
II.1 Introduction
II.2 arduino
II.2.1 Historique du projet arduino
II.2.2 Que-est-ce qu’un arduino ?
II.2.3 Architecture d’arduino
II.2.3.1 Qu’est-ce qu’un microcontrôleur ?
II.2.3.2 Structure de microcontrôleur
II.2.3.3 Carte arduino Mega2560
II.2.4 Famille d’arduino3
II.2.4.1 arduino Uno
II.2.4.2 Arduino Esplora
II.2.4.3 Boarduino V2.0
II.2.4.4 Arduino Nano
II.2.4.5 Arduino LilyPad
II.3 Exemple des projets arduino
II.4 Environnement du développement Intégré (IDE)
II.4.1 Installation et setup
II.4.2 Structure d’un programme arduino
II.4.3 Démonstration réelle
II.5 Conclusion
Chapitre III : Contrôle à distance de l’énergie électrique
III.1 Introduction
III.2 Etude sur l’électricité
III.2.1 Le flux d’électrons
III.2.2 Le courant
III.2.3 La tension
III.2.4 Résistance
III.2.5 La loi d’Ohm
III.2.6 la puissance
III.2.7 L’énergie
III.3 Les compteurs intelligents (smart meter)
III.4 Composants matériel et logiciel requis
III.4.1 Connexion des composants à la carte Arduino Méga
III.4.2 Tester la connexion du matériel
III.4.3 Envoi des données à google docs
III.5 Conclusion
Conclusion générale
Bibliographie
Télécharger le rapport complet