getStart

投稿日: May 04, 2019 5:0:42 PM

CircuitPython avec Raspberry Pi et Gamebuino.

Nous utiliserons REPL pour travailler facilement avec CircuitPython.

Il est possible d'utiliser l’éditeur mu avec le Raspberry Pi.

Mais avec la Gamebuino et CircuitPython, l'éditeur mu n'est pas toujours pratique.

Il y a plusieurs éditeurs de ligne de commande reconnus sous Linux, ici nous allons utiliser "screen".

N'oubliez pas ! Raspberry Pi est un ordinateur sous Linux !

La plupart des connaissances Linux peuvent être utilisées. :)

Installation de "screen"

"screen" peut être installé avec apt-get.

Tapez les commandes suivantes :

sudo apt-get update

sudo apt-get upgrade -y

sudo apt-get install screen

Après l'installation, connectez-le à CircuitPython pour la Gamebuino.

Connectez la Gamebuino et le Raspberry Pi avec un câble USB et démarrez CircuitPython pour Gamebuino.

La Gamebuino est connectée au Raspberry Pi sur le port série "/dev/ttyACM0" sauf cas très particulier.

Et CircuitPython et le REPL de microPython échangent essentiellement des données par le port série à la vitesse de 115200 b/s.

Taper la commande suivante pour effectuer la connexion.

screen /dev/ttyACM0 115200

Vous ne pourrez peut-être pas vous connecter immédiatement en exécutant CircuitPython avec la Gamebuino.

Parfois, vous devez attendre des dizaines de secondes pour vous connecter.

Si la connexion aboutit, vous verrez ce message sur l'écran du terminal série.

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.

Press any key to enter the REPL. Use CTRL-D to reload.

Comme le message l'indique, vous pouvez continuer l'opération en tapant sur une n’importe quelle touche.

Si vous avez déjà écrit le fichier main.py de CircuitPython dans la Gamebuino, rien n’est affiché à l’écran.

Dans ce cas, arrêtez le script Python en cours d'exécution en tapant CTRL + C.

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.

Press any key to enter the REPL. Use CTRL-D to reload.

Adafruit CircuitPython 0.0.4-dirty on 2019-05-03; Gamebuino with samd21g18

>>>

">>>" s’affiche.

Dans REPL de Python, vous pouvez essayer les scripts Python de manière interactive en tapant des commandes ici.

Hello REPL

Taper les commandes suivantes.

print("Hello world")

C'est super facile.

Lorsque vous l'exécutez en appuyant sur la touche Entrée, il s'affiche comme suit.

>>> print("Hello world")

Hello world

>>>

Vous pouvez également essayer le calcul suivant.

>>> 300/2.5

120.0

>>> (2*3)/8

0.75

>>>

Comment quitter "screen"

Tapez CTRL + A, puis tapez K pour obtenir un message de confirmation de sortie.

Really kill this window [y/n]

Entrez y pour quitter l'écran.

Interagissez avec CircuitPython!

Les langages utilisant REPL sont beaucoup plus faciles à développer que le C ou tout autre langage de programmation nécessitant une compilation.

Je pense que c'est la raison pour laquelle Python est apprécié et utilisé par de nombreuses personnes.

Dis moi, CircuitPy

Quelle est la mémoire libre actuelle ?

>>>import gc

>>>gc.mem_free()

20704

Quels modules puis-je utiliser ?

>>> help("modules")

__main__ digitalio os supervisor

analogio gamebuino_meta pulseio sys

array gc random time

board math rotaryio touchio

builtins microcontroller rtc usb_hid

busio micropython storage usb_midi

collections neopixel_write struct

Plus any modules on the filesystem

>>>

Quels modules sont chargés maintenant ?

>>> dir()

['gc', '__name__', '__file__']

>>>

Quelles méthodes et quels attributs y a-t-il dans ce module appelé gc ?

>>> dir(gc)

['__name__', 'collect', 'disable', 'enable', 'isenabled', 'mem_alloc', 'mem_free']

>>>

fonction d'achèvement de la touche de tabulation

Même si le nom de la méthode du module peut-être déroutant, REPL vous aide.

>>> import gamebuino_meta as gb

>>> gb.

Dans le module "gb" ... Quel est le nom complet ?

(Entrez jusqu'au point et entrez la touche de tabulation)

__name__ begin buttons collide

color display getCpuLoad getDefaultName

getFreeRam gui lights loader

setFrameRate update updateDisplay waitForUpdate

>>> gb.

Oh oui!

C'est fini

De cette manière, vous pouvez programmer en essayant une partie du programme de manière interactive avec REPL.

Malheureusement, REPL ne peut pas stocker directement un programme.

Alors éditez le script avec votre éditeur préféré.

Certains éditeurs de texte semblent travailler avec REPL, mais ... il est préférable d'écrire des programmes avec des éditeurs de texte connus.

La prochaine fois, j'essaierai la méthode incluse dans le module gamebuino_meta de CircuitPython pour la Gamebuino.

A bientôt !