MicroPython sur calculatrice Casio

Ah non non, je ne vais pas faire une semaine sans parler de mon MicroPython adoré.

Après la calcultatrice NumWorks, cette fois MicroPython fait son apparition sur les calculatrices Casio 90+E (pour environ 75 Eur TTC).
MicroPython sera également disponible sur d'autres modèles.
Casio 90+E avec MicroPython
L'autre bonne nouvelle, c'est que la calculatrice dispose du Mode Examen, elle peut donc être aussi être utilisée dans les lycées Français.

Python 1.9.2 en ROM
La bonne nouvelle, c'est que c'est la version 1.9.2 qui se trouve dans la ROM de la calculatrice, donc du Python 3.4.

De surcroît, on a accès à un Shell Python depuis la calculatrice... c'est déjà pas si mal! 
 
Hourra! un shell python sur la casio
La calculatrice offre une colorisation syntaxique.
Guidé a partir du Manuel
... ainsi qu'une aide à l'encodage avec le "Catalog" reprennent les commandes les plus fréquentes
"Catalog" pour faciliter la saisie.

en fin de compte la rédaction et utilisation d'un script est relativement simple...

Autre exemple de mise en oeuvre de Python sur une casio

Bon, faire du développement d'envergure, cela risque de ne pas être très confortable...

Transfert de fichier
Une autre bonne nouvelle, c'est qu'il est possible d'utiliser la connexion USB avec un PC pour transférer des fichier Python directement sur la calculatrice.

Et pour le prototypage électronique?
Il me reste quelques questions pour lesquelles je n'ai pas trouvé de réponse.
Si l'arrivée de MicroPython sur une calculatrice est une grande chose, le prototypage électronique sous MicroPython serait ravi d’accueillir une nouvelle plateforme tel que la Casio :-)

Les questions que l'on se pose immédiatement sont:
  • REPL est-il disponible sur la connexion USB ?
    Cela permet de faciliter le développement depuis un PC.
  • Y a t'il des GPIOs ou bus accessible depuis MicroPython ?
    Pour faire du prototypage électronique, collecter des données de senseurs, etc.

Je n'ai malheureusement déniché aucune information sur ces sujets.

Questions posées sur Casio-Education.fr

Lire plus bas, nous avons reçu une réponse.
Bonjour, 

J'ai appris que la Casio 90+E disposait maintenant de MicroPython 1.9.2 et j'aurais voulu explorer les possibilités avancées.
Hormis le transfert de fichier, Casio a t'il mis REPL à disposition sur la connexion USB (USB-Série) ? 
La Casio est elle capable d'exploiter des GPIOs (voire un Bus I2C) disponibles afin d'étendre l'apprentissage à d'autres compétences que la programmation Python et les Math?

Dans l'attente de votre réponse, 
Je vous prie d'agréer, Md, Mr, l'expression de mes sentiments les meilleurs.
Cordialement,
Dominique

Avec un peu de chance... nous en saurons bientôt plus.

MicroPython bridé sur Casio
Nous avons eu la chance de pouvoir tester la Casio 90+E mise généreusement à notre disposition par Casio France.
Nous avons donc été en mesure de nous faire une idée du support MicroPython.
  • Les professeurs seront ravis.
  • Les makers seront malheureusement déçu.
Bonne nouvelle pour les professeurs
Oui, il est possible d'explorer la programmation Python avec la Casio.
Mais bon, l'interface n'est pas super ergonomique pour le codage intensif.
Des outils son néanmoins disponible pour faciliter la vie de l'étudiant sont effectivement disponibles (ouf!).
MicroPython (donc Python) sera se montrer très utile pour résoudre des problèmes divers et variés.

Par contre, les étudiants ne pourrons pas détourner le langage pour "tricher".
Le mode examen désactive de nombreuses fonctionnalités y compris des éléments de MicroPyhton (qui est déjà si fortement bridé).

Déception pour les makers
Le Maker que je suis voyais dans MicroPython et Casio d'extraordinaires opportunités d'apprentissage, bien au delà de la programmation Python.
En effet, la machine virtuelle est très bridée... seuls les modules relatif aux mathématiques sont accessibles.

Pas de module: os, machine, sys, gc, array, json, re, struct, time, micropython, ... j'ai arrêté là les essais.

Il n'y a donc aucune possibilité en relation avec du matériel électronique (ex: des senseurs I2C) puisque struct est déjà manquant.

Pas possible de connecter des senseurs
Pourtant la Casio dispose d'un "port série" connecteur 3 broches en haut de la calculette.
 
Avoir accès au port série serait déjà pas mal.... il serait alors possible de connecter des senseurs séries (voir une carte d'interface Serial vers I2C avec un protocole rudimentaire).
Qui sait, avec un peu de chance, il serait peut être même possible de disposer d'une interface I2C (si la table de multiplexage le permet, bien entendu)

Pas d'accès au système de fichier
Pouvoir manipuler le système de fichier Python est un avantage indéniable pour du datalogging, pre-enregistrement de ressources.
Il est surtout important pour une utilisation avec des outils MicroPython pour la communication PC (comme RShell).

Pas de REPL via port USB
Très apprécié par les utilisateurs de MicroPython, c'est la disponibilité de REPL via l'interface USB-Série.
Lorsqu'une carte MicroPython est connectée en USB, un port série est également ouvert et l'invite REPL dupliquée sur ce port série.
Du coup, il devient possible de contrôlé la carte MicroPython depuis un PC... et son clavier tellement plus ergonomique.
C'est également cette seconde fonctionnalité qui est exploité par des outils de contrôle à distance (RShell encore une fois).

Et bien, REPL n'est pas disponible sur l'interface USB.
Cet interface permet uniquement d'échanger des fichiers avec un PC, point-barre! Zut alors.

Rien n'est perdu, tout reste à faire
Bon je retourne vers casio pour voir s'il existe une version de MicroPython moins bridée. Ce serait vraiment génial... wait and see.

Pour hacker - Gint : environnement de développement de greffons
Pour ceux que le sujet passionne, j'ai trouvé un lien sur planet-casio.com concernant des SDK pour faire du développement C / C++ sur Casio.
Il semblerait que Gint soit une alternative intéressante pour développer des greffons.

Cordialement,
Dominique
 

1 commentaire: