Micro:bit
Outils
Général
Imprimer / exporter
Dans d’autres projets
Développeur | BBC Learning, BBC R&D, ARM Holdings, Barclays, element14, NXP Semiconductors, Lancaster University, Microsoft, Samsung, Nordic Semiconductor, ScienceScope, Technology Will Save Us, Python Software Foundation |
---|---|
Date de sortie |
Type | |
---|---|
Connectique |
Alimentation | 2 piles AAA (3V) |
---|---|
Processeur | |
Mémoire | 256Ko flash + 16Ko statique |
Dimensions | 42 mm × 53 mm |
---|---|
Masse | 8 g |
Le micro:bit (aussi noté BBC micro:bit ou micro bit) est un ordinateur à carte unique[3] doté d'un processeur ARM. Conçu au Royaume-Uni pour un usage éducatif dans un premier temps, le nanoordinateur est maintenant disponible au grand public dans de nombreux pays.
La platine de 4 × 5 cm embarque un processeur ARM Cortex-M0, un capteur de mouvement 3D (ou accéléromètre) et un magnétomètre 3D (ou boussole numérique), des connectiques Bluetooth et USB, une matrice de 5 x 5 DEL (25 diodes électroluminescentes), un bouton de réinitialisation et deux boutons programmables[3]. Le petit circuit imprimé peut être alimenté par un connecteur USB sur le port micro-USB ou par deux piles AAA (3V) en série sur un autre connecteur. La carte se branche à l'aide de cinq anneaux et 20 broches de connexion[4].
Le nanoordinateur est décrit comme faisant la moitié de la taille d'une carte de crédit[5], soit 43 × 52 mm, et pesant 8 g[6]. 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[23].
La programmation du micro:bit se fait principalement dans un environnement de développement sur le Web[3]. 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 le programme dans l'éditeur[3]. 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 à un serveur distant qui le compile. Il est possible de programmer le micro:bit avec les langages suivants: JavaScript, Python, C/C++, Rust, Forth, Pascal et Ada[16] (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[24]. « 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[24]. »
Un programme compilé apparait alors sous la forme d'un fichier.hex, pour hexadécimal. Le format hexadécimal est numérique; il est en base 16 ou système hexadécimal (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F), par rapport à la base 10 ou systè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 ou système binaire des 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[3]. Les programmes en langage évolué (appelés scripts), sont enregistrés dans le nuage et peuvent se retrouver si l'on n'efface pas les mouchards ou témoins (cookies) correspondants de son ordinateur[4]. 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[4]. On peut aussi retranscrire le code source ou le copier-coller dans des langages de balisage de site Internet tels que Html ou Markdown; comme illustré ci-dessous.
Voici un exemple de code source JavaScript pour afficher un bonhomme-sourire:
basic.forever(() => {})basic.showString("Bonjour!")basic.showLeds(` . . . . . . # . # . . . . . . # . . . # . # # # . `)
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):
from microbit import *import randomwhile True: gesture = accelerometer.current_gesture() if gesture == "shake": display.show(str(random.randint(1, 6)))
Le site officiel du BBC micro:bit] propose deux environnements de développement[4].
L'EDI JavaScript Blocks Editor de 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'autres langages comme le Scratch, le Microsoft Block Edition (voir les autres EDI en ligne) ou le Python en blocs de commandes. Comme le JavaScript étant un langage de programmation en bonne et due forme, il est possible de convertir les blocs de commandes en code source (texte ou script) 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 le script avant de le téléverser sur la micro:bit.
L'EDI Python Editor est un peu plus avancé. L'éditeur permet d'écrire du code source (un script) 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é (format hexadécimal ou.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'EDI Microsoft Block Edition, un langage en blocs de commandes, et l'EDI Microsoft TouchDevelop, un langage en blocs de texte[4]. Dans le deuxième langage, on assemble des blocs de texte prédéfinis (action rappelant un copier-coller). Le logiciel et/ou site web Scratch est é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 la bibliothèque logicielle de chiffrement (Software Development Kit ou SDK) mbed d'ARM. Le Device Abstraction Layer se pilote par d'autres langages « au niveau supérieur[11] ». Les langages JavaScript (avec l'EDI MakeCode et le logiciel Espruino, par exemple) et Python, ou microPython, (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 logiciels[25] tels que le C/C++[26] (avec l'EDI Arduino, par exemple), le Rust[27], le Forth[28] (avec l'EDI SwiftX, par exemple, un EDI conçu pour les processeurs ARM[29], entre autres; processeur que l'on retrouve sur le micro:bit), le Pascal[30] (avec l'EDI Free Pascal[16]) et le Ada[31].
MATLAB et Simulink et son Coder Support Package permet d'actionner les composants du micro:bit unique grâce à un éditeur graphique similaire aux blocs de commandes[32].
L'EDI Scratch 3.0 permet de piloter le microcontrôleur avec un éditeur graphique; le programme est un assemblage de blocs de commandes[33],[34].
Le site officiel du BBC micro:bit propose aussi des applications Android et iOS. Les applications sont livrées avec les EDI en ligne[35] décrits plus haut. Il faut une connexion Internet et des appareils mobiles compatibles Bluetooth Smart Technology pour compiler le code, récupérer le fichier hexadécimal et l'envoyer au microcontrôleur par connexion Bluetooth[11].
Le système d'exploitation Zephyr OS est une distribution Linux comportant des fichiers de paramètres pour fonctionner sur le micro:bit.
Lancé en par la BBC, 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[36],[37],[23],[38],[39]. Le but est à la fois de familiariser les enseignants avec ces technologies, mais aussi d’initier les enfants avec des cas simples et concrets[40].
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[3]. » 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[39].
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[21]. Construit par Acorn Computers en partenariat avec la chaine publique anglaise, le BBC Micro connait 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[21]. Acorn est célèbre pour avoir inventé le processeur ARM, qui est partie intégrante du micro:bit[21].
Le BBC micro:bit s'inspire aussi du Raspberry Pi[9], 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[21]. Il n'est pas sans rappeler l'Arduino. Il se présente plus comme une solution complémentaire plutôt qu'un concurrent direct[39] aux nanoordinateurs du secteur (consulter les articles connexes, plus bas).
Cette section ne s'appuie pas, ou pas assez, sur des sources secondaires ou tertiaires indépendantes du sujet.
Pour l'améliorer, ajoutez-en, ou placez des modèles {{Source secondaire souhaitée}} ou {{Source secondaire nécessaire}} sur les passages mal sourcés. (décembre 2017)
En , la BBC lance le nanoordinateur BBC micro:bit. L'ordinateur fait partie de la compagne Make It Digital[35] que la BBC met de l'avant pour promouvoir la technologie chez les enfants et « inspirer une nouvelle génération de développeurs, d'inventeurs et de pionniers du numérique[41]. » D'abord offert gratuitement à des élèves britanniques à partir du mois d'[42] – et aux élèves scolarisés à domicile[35] –, la BBC le rend ensuite disponible au grand public; il est vendu au Royaume-Uni ainsi qu'à l'extérieur via des distributeurs[42]. Les Britanniques introduisent 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[35]. « Nous ne pouvons pas attendre de voir ce que les élèves vont faire avec cela, » affirme le chef de BBC Learning Rocks 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é[35]. Une grande partie de son logiciel devrait être un code ouvert[35].
En , la Micro:bit Educational Foundation annonce sa fondation[43],[44]. 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[45]. Son objectif est d'appuyer les enseignants, les gouvernements et les organismes éducatifs. La fondation « veut rejoindre 100 millions de personnes[46]. »
En , la Micro:bit Educational Foundation fournit 2500 unités en Europe pour Hour of Code, un organisme qui enseigne les technologies de l'information à des millions d'élèves dans 180 pays[47].
En , la Micro:bit Educational Foundation annonce que d'ici 2020, elle s'engage à distribuer aux écoliers des États-Unis et du Canada 2 millions d'unités[48],[49]. La distribution pour l'Amérique du Nord (et la Chine) commence d'ailleurs en 2017[47]. 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[50]. 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.
En , une enquête de la firme Gallup ré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 des STEM prend 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[49].
La BBC conclut des ententes, dont ARM Holding, Microsoft, Samsung et Barclays pour concevoir l'ordinateur à carte unique[37]; au total, un consortium de 29 partenaires conçoivent, développent, fournissent ou soutiennent le nanoordinateur :
Parmi les partenaires, on compte aussi Amazon, le British Council, l'Institution of Engineering and Technology et Nominet.
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.
Sur les autres projets Wikimedia :