[MUSIC] Dans cette conférence, nous allons parler des systèmes embarqués et de leur
relation avec les appareils IoT. Il y a beaucoup de chevauchements. Les systèmes
embarqués, le terme, font généralement référence à beaucoup, non seulement à la façon dont l'appareil est utilisé, mais aussi à la façon dont il est implémenté, comment il est construit, donc il y a beaucoup de chevauchement entre les deux termes. Et les appareils IoT sont généralement des systèmes embarqués. Nous allons donc simplement définir cela et vous donner une idée de ce que sont les systèmes embarqués. Il est bon de connaître le terme « système embarqué », car il est toujours couramment utilisé, et ce que nous construisons sont généralement des systèmes embarqués. Nous parlerons de construire plus tard dans la classe. En fait, ce sont généralement des systèmes embarqués. Alors, qu'est-ce que les systèmes embarqués ? Les systèmes embarqués sont des systèmes informatiques qui ne ressemblent pas à des ordinateurs. C' est ma définition simple. La complexité d'un ordinateur est cachée à l'utilisateur. Donc, si vous avez un ordinateur, ordinateur portable quelque chose comme ça. Si vous l'avez déjà utilisé, ce que je sais, il y a des complexités à utiliser un ordinateur. Donc, disons que vous voulez installer un nouveau logiciel. Droit ? Vous installez le logiciel. Parfois, c'est facile. Mais parfois il y a un conflit, comme par exemple les jeux vidéo. J' avais l'habitude de jouer à des jeux vidéo sur des ordinateurs, maintenant je n'utilise que des machines de jeu, mais disons que je joue à un jeu vidéo sur un ordinateur. J' ai mis le jeu vidéo là-dedans et l'installe, et il a un conflit avec la carte vidéo. J' ai besoin d'une nouvelle carte vidéo pour jouer à ce nouveau jeu vidéo. Alors, j'ai besoin de nouveaux pilotes pour ma carte vidéo, donc il y a toute cette interaction. Les fonctions ne sont pas séparées. Ceci est différent d'un périphérique IOT. Un appareil IOT a essentiellement une fonction. On a parlé de ce dernier module, c'est ça. Il a une fonction qu'il essaie de faire, comme la voiture. Il fait les choses de la voiture, pas vrai. Une caméra fait des choses de caméra, mais un ordinateur à usage général Il peut faire beaucoup de choses, et donc il peut y avoir des conflits. Si j'installe un logiciel pour jouer à un jeu vidéo, cela pourrait interférer avec le logiciel pour faire autre chose. Ces relations ajoutent donc à la complexité. Il est donc plus difficile d'utiliser un ordinateur standard que d'utiliser, disons un périphérique IOT. Maintenant, un système embarqué, et les périphériques IOT sont généralement intégrés, ils cachent la complexité de l'utilisateur. Donc, l'image que nous avons ici est comme une sorte d'échelle, disons, et disons que c'est une échelle IOT, donc l'utilisateur n'a pas à voir la complexité de ce qui se passe à l'intérieur. L' utilisateur sait juste comment l'utiliser, il a donc une interface très simple. Et c'est de là que vient le terme incorporé. La complexité est intégrée à l'intérieur de l'appareil, l'utilisateur n'a pas à faire face à la complexité. C' est donc ce qu'est un système embarqué, comment le terme est né. Maintenant, ces systèmes embarqués sont beaucoup plus courants dans les ordinateurs de bureau et les ordinateurs portables, car il y a une capacité de calcul intégrée à de nombreux appareils différents. Maintenant, une chose à remarquer sur les systèmes embarqués n'est pas nécessairement différente. Pas nécessairement, mais peut être différent des périphériques IOT. Les appareils IOT sont presque toujours connectés à Internet, d'où le terme Internet des objets. Les systèmes embarqués peuvent ou non l'être. Les systèmes embarqués peuvent avoir une complexité de calcul à l'intérieur, mais aucune connexion réseau du tout. Et il y a donc beaucoup d'utilisations pour des appareils comme ça. Les choses passent de l'embarqué à l'IOT parce qu'en raison des tendances dont nous avons parlé dans le dernier module, le fait que la connectivité Internet est si omniprésente et qu'elle est assez bon marché à obtenir. Donc, beaucoup de ces appareils qui étaient juste intégrés, sont maintenant en réseau et donc vous les appelez IOT. Alors, qu'est-ce que les systèmes embarqués ? Ce sont essentiellement tout ce qui interagit, tout l'internet des objets dont nous avons parlé. Mais plus ou moins la partie Internet. Alors prenez un appareil photo numérique, c'est ce que nous avons ici. Appareil photo numérique, un appareil photo numérique de base pourrait ne pas être en réseau, n'est-ce pas ? Il peut s'agir simplement d'un système embarqué où vous cliquez, appuyez sur un bouton, vous prenez une photo. Et l'image est stockée localement, mais elle pourrait ne pas être immédiatement mise en réseau, n'est-ce pas ? Donc, vous appelleriez ce type de chose un système embarqué. Parce que la complexité est intégrée à l'appareil. Donc, une caméra, une vieille caméra, tu sais ? Une caméra mécanique, a la même interface. Vous appuyez sur un bouton, il prend une photo, non ? Nouvel appareil photo numérique, même interface, appuyez sur un bouton, prend une photo, mais il y a beaucoup plus de complexité à ce qui se passe à l'intérieur. Donc, c'est le terme incorporé, non ? La complexité est intégrée à l'intérieur de l'appareil, et l'utilisateur n'a pas besoin de la voir. L' utilisateur peut bénéficier de la complexité, mais en utilisant une interface très simple. Parfois, les systèmes embarqués n'interagissent pas directement avec l'utilisateur, mais ils interagissent avec l'utilisateur via un autre appareil. Alors, qu'est-ce que je veux dire par là ? Prenons ça, prenons cette mémoire, cette clé à droite. Maintenant, un lecteur de pouce, vous avez vu ce type de lecteur de pouce, il stocke des données. Ce type de chose n'interagit pas directement avec l'utilisateur, non. Un humain n'en a pas, ne le relie pas à son corps ou quelque chose comme ça. En ce moment, ils le connectent à leur ordinateur ou quelque chose comme ça ou à leur téléphone ou quoi que ce soit. Et puis ils interagissent avec elle, ils peuvent accéder aux fichiers sur elle via un autre appareil. Donc, vous appeleriez aussi cela un système embarqué, même s'il n'interagit pas directement avec l'humain. Et vous voyez cela dans d'autres appareils comme une voiture. Système de freinage antiblocage à l'intérieur d'une voiture. C' est interagir avec un humain mais pas directement, non ? L' homme appuie sur la pédale de frein, et la pédale de frein parle avec le système de freinage antiblocage, de sorte que l'humain interagit avec la voiture, et la voiture parle de son sous-système. Une grande propriété des systèmes embarqués et une différence dans la conception des systèmes embarqués est que l'efficacité est vraiment importante. Donc, ce que cela signifie généralement, c'est, qu'il ne suffit pas de faire fonctionner le design, de faire sa tâche. Il doit faire sa tâche d'une manière élégante, disons d'une manière élégante, ok ? Soit il doit le faire rapidement, soit il doit le faire avec une faible puissance, soit il doit le faire à bas prix, n'est-ce pas ? Donc, ce n'est pas suffisant pour le faire fonctionner. Et c'est en fait une grande différence entre la conception du système embarqué et, disons, la conception logicielle traditionnelle. Donc, j'enseigne aussi la programmation. Lorsque nous enseignons la programmation, en général, nous enseignons simplement comment vous obtenez quelque chose à faire. Ici, votre but est d'obtenir ce code pour faire ce qu'il est censé faire. Peu importe ce que je veux faire, trier cette liste d'objets, ou quelque chose comme ça, d'accord ? Mais, je ne dis généralement pas dans cette classe, il doit trier cette liste d'éléments, et il doit utiliser le minimum de mémoire possible. Je ne dis pas qu'il doit trier ces éléments, et il doit le faire en une seconde. Droit ? Je ne mets pas ces contraintes dessus. Je dis juste que ça marche. Mais avec la conception du système embarqué, vous vous souciez beaucoup de l'efficacité. Tu ne peux pas le faire fonctionner. Il doit le faire de manière efficace. Ce que cela signifie, c'est que, de sorte que la raison de ces contraintes est que, vous savez, la plupart de ces appareils sont utilisés sur des marchés critiques. Ou dans la vie critique, n'est-ce pas ? Donc, s'il utilise médical ou militaire, la vie des gens dépend de ces appareils. Et si vous utilisez un appareil à coût critique qui calcule l'électronique grand public, le coût est important. Mais, de toute façon, il y a quelques contraintes qui sont importantes pour vous. En plus de faire fonctionner le truc, il doit fonctionner dans un ensemble serré de contraintes. Donc, par exemple, disons que c'est un appareil grand public comme un téléphone. Donc, les coûts de fabrication, les coûts de conception, et le délai de mise sur le marché, ces choses sont primordiales. Parce que tu veux que ce soit bon marché, non ? Vous voulez gagner de l'argent sur l'appareil, donc le coût doit être faible. En outre, le temps de mise sur le marché, parce que vous avez des concurrents. Et ce concurrent sortira avec un nouveau téléphone à cette date, donc tu dois sortir à la même date avec un téléphone qui est meilleur qu'eux, disons. Donc ces choses sont primordiales. Mais d'un autre côté, si c'est le cas, c'est l'armée. Cela va dans un char ou un système d'armes, et la vie des gens en dépend, et c'est essentiel à la vie. Ensuite, vous vous souciez de la performance et de la puissance plus. Donc, si vous êtes dans l'armée, vous pourriez dire, écoutez, nous paierons des millions de dollars pour cet appareil tant qu'il fonctionne et qu'il peut effectivement faire ce qu'il faut faire. Le coût devient donc moins important. Mais la puissance et la performance comptent vraiment. Et la même chose avec les médecins, non ? Vous pourriez être beaucoup plus prêt à payer beaucoup d'argent pour un appareil. Mais il vaut mieux travailler et mieux, vous savez, maintenir votre cœur comme il est censé le faire. Comme un faiseur de rythme. Cette chose mieux être, avoir une grande fiabilité et mieux, vous savez, évaluer votre, contrôler le rythme de votre cœur correctement. Donc, si ça veut dire coûter plus d'argent alors qu'il en soit ainsi. Donc, dans ces appareils intégrés, il y a toujours un ensemble serré de contraintes sous lesquelles vous travaillez. Donc, il ne suffit pas de le faire fonctionner, vous devez le faire fonctionner dans l'ensemble des contraintes qui vous sont données. Donc, c'est très différent de l'ingénierie logicielle traditionnelle, où vous voulez juste le faire fonctionner et le faire fonctionner un peu comment. Et l'hypothèse est que la loi de Moore vous sauvera finalement donc par la loi de Moore, vous avez peut-être entendu parler de cela avant, mais la loi de Moore dit juste que approximativement dit que les machines deviennent plus rapides et plus efficaces sur le plan informatique chaque année, n'est-ce pas ? Ils deviennent plus denses et plus rapides. Qui au fait, la loi de Moore ralentit, mais quand même, ça arrive. Les machines s'améliorent. Donc, l'ingénierie logicielle souvent, vous allez simplement dire, regardez, juste le faire fonctionner et si c'est lent, c'est correct, parce que les processus ou les performances s'améliorent chaque année. Et donc à l'avenir, ça n'aura pas d'importance. À droite. C' était donc l'hypothèse de fond pour beaucoup d'ingénierie logicielle. Mais un meilleur système, vous ne pouvez pas penser comme ça. Tu dois penser à loo, k non seulement ça marche. Ça doit fonctionner vite. Ça doit fonctionner à faible puissance et tout ça. Merci. [ MUSIQUE]