Micro:bit

Lemicro:bit(aussi noté BBC micro:bit ou micro bit) est unordinateur à carte uniquedoté d'unprocesseur ARM. Conçu au Royaume-Uni pour un usage éducatif dans un premier temps, lenanoordinateurest maintenant disponible au grand public dans de nombreux pays.
La platine de 4 × 5cmembarque un processeurARM Cortex-M0, un capteur de mouvement 3D (ouaccéléromètre) et unmagnétomètre3D (ouboussole numérique), des connectiquesBluetoothetUSB, une matrice de 5 x 5 DEL (25diodes électroluminescentes), un bouton de réinitialisation et deux boutons programmables. Le petitcircuit imprimépeut être alimenté par un connecteur USB sur le port micro-USB ou par deuxpiles AAA(3V) en série sur un autre connecteur. La carte se branche à l'aide de cinq anneaux et 20 broches de connexion.
Le nanoordinateur est décrit comme faisant la moitié de la taille d'une carte de crédit, soit 43 × 52mm, et pesant 8g. Le libellé des principaux composants est inscrit sur le circuit imprimé afin de pouvoir facilement les identifier. La facture finale comprend :
Au verso :
Au recto :
Un ordinateur ou un appareil mobile est nécessaire pour programmer le micro:bit avant de rendre ce dernier parfaitement autonome.
Laprogrammationdu micro:bit se fait principalement dans un environnement de développement sur leWeb. L'environnement comprend un éditeur et un compilateur. Il peut aussi y avoir un simulateur. Il existe des EDI ne nécessitant aucun connexion àInternet; ce sont des logiciels.
L’utilisateur écrit leprogrammedansl'éditeur. Il écrit en langage évolué (JavaScript, Python, etc.), c'est-à-dire qui s'écrit avec du texte, comme une langue. L'utilisateur envoie son programme à unserveurdistant qui lecompile. Il est possible de programmer le micro:bit avec les langages suivants : JavaScript, Python, C/C++, Rust, Forth, Pascal et Ada(et consulter les sections sur les EDI plus bas).
Le compilateur traduit le langage évolué en langage machine, compréhensible par le processeur. Ce langage est aussi appelé code natif et se compose exclusivement de valeurs numériques. « Le microcontrôleur ne connait à son niveau d'interprétation que le langage machine, appelé aussi code natif, composé exclusivement de valeur numérique. Un environnement de développement [...] traduit les commandes dans un langage dit évolué [comme le C/C++, le Python ou le JavaScript]. Le compilateur convertit un programme écrit en langage évolué en langage machine, compréhensible par le processeur. »
Un programme compilé apparait alors sous la forme d'un fichier « .hex », pour hexadécimal. Le format hexadécimal est numérique ; il est enbase 16ousystème hexadécimal(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F), par rapport à labase 10ousystème décimal(0 à 9) utilisée dans les mathématiques de tous les jours. À noter que le système hexadécimal est un compromis entre le code binaire ousystème binairedes machines et une base de numération pratique à utiliser pour les ingénieurs.
Le programme compilé est ensuite téléchargeable par l’utilisateur et transférable sur le micro:bit. Les programmes en langage évolué (appelésscripts), sont enregistrés dans lenuageet peuvent se retrouver si l'on n'efface pas lesmouchardsoutémoins(cookies)correspondants de son ordinateur. Il est aussi possible d'archiver les programmes en langage évolué (un fichier en code source) et en langage natif (un fichier hexadécimal) sur l'ordinateur, d'en importer ou de les exporter. On peut aussi retranscrire le code source ou le copier-coller dans des langages de balisage de site Internet tels queHtmlouMarkdown; comme illustré ci-dessous.
Voici un exemple de code source JavaScript pour afficher un bonhomme-sourire :
Voici un exemple de code source Python pour créer un dé (on secoue le micro:bit et la matrice de DEL affiche un chiffre de 1 à 6) :
Le site officiel du BBC micro:bit propose deuxenvironnements de développement.
L'EDIJavaScript Blocks Editorde Microsoft permet de programmer en blocs de commandes. C'est l'EDI le plus convivial. On glisse-dépose des blocs de couleur dans un éditeur graphique. Chaque couleur représente une catégorie de commandes. Chaque bloc comporte une commande avec aucun, un ou plusieurs paramètres à moduler. Certains blocs doivent s'imbriquer dans d'autres blocs et l'assemblage des blocs forme le programme. On retrouve cette façon de programmer dans d'autreslangagescomme leScratch, leMicrosoft Block Edition(voir les autres EDI en ligne) ou le Python en blocs de commandes. Comme leJavaScriptétant un langage de programmation en bonne et due forme, il est possible de convertir les blocs de commandes encode source(texte ouscript) et vice-versa. L'assemblage de blocs devient du texte et vice-versa. L'EDI comporte aussi un simulateur pour tester le programme sur un micro:bit virtuel – y compris la simulation de certains composants externes. Cette fonction permet de valider lescriptavant de le téléverser sur la micro:bit.
L'EDIPython Editorest un peu plus avancé. L'éditeur permet d'écrire du code source (unscript) en langage Python. Il comprend une documentation et un module de simulation.
Les deux EDI permettent d'écrire des programmes et de les enregistrer pour les récupérer ultérieurement. Dans les deux cas, les EDI compilent le code en ligne et renvoient un fichier compilé (formathexadécimalou .hex). C'est ce dernier que l'on téléverse sur le microcontrôleur via une connexion USB ou Bluetooth.
Le site officiel propose deux autres EDI sur une ancienne page : l'EDIMicrosoft Block Edition, un langage en blocs de commandes, et l'EDIMicrosoftTouchDevelop, un langage en blocs de texte. Dans le deuxième langage, on assemble des blocs de texte prédéfinis (action rappelant un copier-coller). Le logiciel et/ou site webScratchest également disponible pour faire de la programmation sur celui-ci. Il est aussi possible d'écrire en code source. Les trois EDI comportent des simulateurs pour tester les programmes. Il est aussi possible de convertir le programme d'un langage à l'autre langage. Encore une fois, peu importe le langage, il faut compiler le programme et envoyer le fichier hexadécimal sur le microcontrôleur via une connexion USB ou Bluetooth.
L'Université Lancaster a encodé les composants embarqués sur le circuit imprimé du micro:bit avec labibliothèque logicielledechiffrement(Software Development KitouSDK) mbed d'ARM. LeDevice Abstraction Layerse pilote par d'autres langages « au niveau supérieur». Les langagesJavaScript(avec l'EDI MakeCode et le logiciel Espruino, par exemple) etPython, oumicroPython, (avec l'EDI Mu, par exemple) sont les principaux langages. Il est possible de programmer le micro:bit avec d'autres langages et avec d'autres logicielstels que leC/C++(avec l'EDIArduino, par exemple), leRust, leForth(avec l'EDI SwiftX, par exemple, un EDI conçu pour les processeurs ARM, entre autres; processeur que l'on retrouve sur le micro:bit), lePascal(avec l'EDIFree Pascal) et le Ada.
MATLABetSimulinket sonCoder Support Packagepermet d'actionner les composants du micro:bit unique grâce à un éditeur graphique similaire aux blocs de commandes.
L'EDIScratch3.0 permet de piloter le microcontrôleur avec un éditeur graphique; le programme est un assemblage de blocs de commandes.
Le site officiel du BBC micro:bit propose aussi desapplicationsAndroidetiOS. Les applications sont livrées avec les EDI en lignedécrits plus haut. Il faut une connexion Internet et des appareils mobiles compatiblesBluetooth Smart Technologypour compiler le code, récupérer le fichier hexadécimal et l'envoyer au microcontrôleur par connexion Bluetooth.
Lesystème d'exploitationZephyr OSest unedistribution Linuxcomportant des fichiers de paramètres pour fonctionner sur le micro:bit.
Lancé enjuillet 2015par laBBC, le projet prévoit de distribuer gratuitement un million d'exemplaires à des écoliers britanniques de onze et douze ans (la septième année ou l'équivalent) pour leur apprendre les fondements de la programmation. Le but est à la fois de familiariser lesenseignantsavec ces technologies, mais aussi d’initier lesenfantsavec des cas simples et concrets.
La BBC déclare :«Le BBC micro:bit est un ordinateur de poche que vous pouvez programmer, personnaliser et contrôler afin de rendre concrets vos idées numériques, des jeux et des applications. »Il a été pensé afin de pousser les plus jeunes à découvrir facilement les « joies » de la programmation. Une initiative qui s'inscrit dans la lignée des annonces des autorités qui ont ajouté l'éveil au code pour les élèves dès l'école primaire.
Le programme se place dans la droite lignée – et tire son nom – du microordinateur Micro développé par la BBC dans les années 1980 pour favoriser l'apprentissage de l'informatique. Construit parAcorn Computersen partenariat avec la chaine publique anglaise, leBBC Microconnait un grand succès avec 1.5 million d'unités vendues et une percée autant dans les écoles britanniques que les universités. 30 ans plus tard, la BBC veut relancer ce programme. Acorn est célèbre pour avoir inventé le processeur ARM, qui est partie intégrante du micro:bit.
Le BBC micro:bit s'inspire aussi du Raspberry Pi, l'autre grand succès britannique dans le secteur des ordinateurs éducatifs. Or, le micro:bit est pensé pour toucher un public plus jeune et moins familier de l'informatique, afin de l'initier dès son plus jeune âge au numérique. Il n'est pas sans rappeler l'Arduino. Il se présente plus comme une solution complémentaire plutôt qu'un concurrent directaux nanoordinateurs du secteur (consulter les articles connexes, plus bas).
Enjuillet 2015, la BBC lance le nanoordinateur BBC micro:bit. L'ordinateur fait partie de la compagneMake It Digitalque la BBC met de l'avant pour promouvoir la technologie chez les enfants et « inspirer une nouvelle génération dedéveloppeurs, d'inventeurset de pionniers du numérique. » D'abord offert gratuitement à des élèves britanniques à partir du mois d'octobre 2015– et aux élèves scolarisés à domicile–, la BBC le rend ensuite disponible au grand public; il est vendu auRoyaume-Uniainsi qu'à l'extérieur via des distributeurs. LesBritanniquesintroduisent ainsi une petite révolution numérique dans le domaine de l’éducation en devenant le premier pays dans le monde à imposer la programmation informatique dans les établissements primaires et secondaires. « Nous ne pouvons pas attendre de voir ce que les élèves vont faire avec cela, » affirme le chef deBBC LearningRocks Sinead. « Ils sont déjà venus avec toutes sortes d'idées au cours des essais et des évènements à travers le pays – quelques idées aident à résoudre certains des défis de la vie quotidienne, certaines pourraient avoir un potentiel d'affaires, et d'autres sont tout simplement pour du fun », a-t-il ajouté. Une grande partie de son logiciel devrait être uncode ouvert.
Enoctobre 2016, la Micro:bit Educational Foundation annonce sa fondation. Sans but lucratif, elle a pour mission de démocratiser l'innovation technologique auprès de la jeunesse et des développeurs. Suivant la première phase de déploiement au Royaume-Uni (la distribution gratuite d'un million d'unités aux écoliers britanniques durant la dernière année), la fondation vise l'Europe, puis l'international. Son objectif est d'appuyer les enseignants, les gouvernements et les organismes éducatifs. La fondation « veut rejoindre 100 millions de personnes. »
Endécembre 2016, la Micro:bit Educational Foundation fournit 2500 unités en Europe pourHour of Code, un organisme qui enseigne les technologies de l'information à des millions d'élèves dans 180 pays.
Enjuin 2017, la Micro:bit Educational Foundation annonce que d'ici 2020, elle s'engage à distribuer aux écoliers desÉtats-Uniset duCanada2 millions d'unités. La distribution pour l'Amérique du Nord(et laChine) commence d'ailleurs en 2017. Au Canada, le programme CodeCan du gouvernement fédéral s'ajoute à l'initiative et finance la distribution de 100,000 unités par un regroupement d'organismes. Cette annonce a lieu au début de l'année 2018, mais le programme CodeCan, annoncé au courant de 2017 et échelonné sur 2017-2018, appuie d'autres initiatives de formation en programmation et en perfectionnement des compétences numériques chez les jeunes Canadiens et Canadiennes de la maternelle à la fin du secondaire.
Enjuin 2017, une enquête de la firmeGalluprévèle que 90 % des parents veulent que leur enfant apprenne l'informatique, mais que seulement 40 % des écoles offrent des cours de programmation. De plus, la disparité établie dans les domaines desSTEMprend racine à l'école primaire. Les filles, les minorités visibles et les élèves de foyers à revenus faibles sont moins susceptibles d'avoir accès à l'informatique lors de leur parcours scolaire.
La BBC conclut des ententes, dont ARM Holding, Microsoft, Samsung et Barclays pour concevoir l'ordinateur à carte unique; au total, un consortium de 29 partenaires conçoivent, développent, fournissent ou soutiennent le nanoordinateur :
Parmi les partenaires, on compte aussiAmazon, leBritish Council, l'Institution of Engineering and Technology etNominet.
Un prototype créé par la section R&D de la BBC sert de démonstration lors de l'annonce initiale du projet. Le prototype contribue à tester la proposition d'affaire dans les écoles. Ce banc d'essai permet d'élaborer le cahier de charges à la base du consortium.