mercredi 7 février 2018

ESP32 (de SparkFun) et BASIC natif !

Voilà Voilà, je me suis mis en tête d'essayer de mettre un interpréteur de langage BASIC dans mon ESP32 afin de renouer avec la joie de programmer pour le FUN... 

Maintenant que l'ESP est puissant, beau, contient tous ce qu'il faut pour afficher, se connecter et même faire un peu de bruit ... il est temps de ressortir les bonnes vieilles disquettes avec des jeux en basic et de les faire tourner sur l'ESP !

Accéder au BASIC de l'ESP32

Donc la première étape est de trouver un interpréteur BASIC, et après un certain nombre de recherche, je suis tombé sur un site qui décrit comment booter l’ESP32 sur un shell de commande BASIC ! Et oui notre ESP32 a un BASIC de graver dans sa ROM !

Alors pour l’activer (vous pouvez le faire même si vous avez déjà flasher votre ESP avec autre chose) il faut faire les étapes suivantes :
  1. Mettre le module hors tension
  2. Connecter votre câble USB de PC sur la carte (l’ESP se met sous tension)
  3. Ouvrir un PUTTY ou autre moniteur Série (comme celui de PlateformIO ou de l’IDE Arduino)
  4. Appuyer sur le bouton RESET (en le maintenant enfoncé)
  5. Alimenter la GPIO12 avec le +VCC (3.3V)
  6. Relâcher le RESET
  7. Débrancher le +VCC de la broche GPIO12
  8. A ce moment une boucle infinie de boot apparaît :


Appuyé sur une touche (dans la console série)...

 

Et Hop vous êtes dans le BASIC de l’ESP32 :


Une petite command pour avoir des info sur l'interprêteur : "ABOUT" :


 Et voici les mots clefs (instructions) de prédéfinis HELP:

 

Et le petit Hello world de rigeur :



A découvrir les fonctions IODIR et IOSET qui permettent de jouer avec les GPIOs et donc les LED :-)

Et Après !

Cela reste un peu court, mais l'idée est bien là ! Maintenant reste à découvrir un Basic avec plus d'instruction qui pourrait permettre de jouer avec l'I2C, les écran OLED etc....

Eh bien cela existe, juste allez faire un petit tour sur le site : https://www.esp8266basic.com/ !
Alors ici nous avons carrément une interface Web qui permet d'éditer un code basic et de l'exécuter via le browser... juste génial, il intègre également un debugger.... Mais bon c'est plus du Quick Basic que du GWBasic et cela tourne sur ESP8266 (certainement compilable pour le ESP32).