Si vous avez suivi l’article précédent sur la configuration de Pi-Lite, vous devriez avoir un Pi-Lite fonctionnel. Les exemples de scripts Python sont excellents, mais je voulais montrer un exemple simple démontrant les bases de l’envoi de texte défilant au Pi-Lite.
Le défilement du texte est quelque chose que le microcontrôleur embarqué gère pour vous, donc cela ne nécessite vraiment pas beaucoup d’efforts à faire en utilisant un court script Python.
Le script suivant fait défiler deux messages pour illustrer la technique.
#!/usr/bin/env python import sys import serial import time # Define message complete with # carriage return at the end message1 = "Hello World!r" message2 = "Pi-Lite messages are easy!r" # Configure Pi serial port s = serial.Serial() s.baudrate = 9600 s.timeout = 0 s.port = "/dev/serial0" try: # Open serial port s.open() except serial.SerialException, e: # There was an error sys.stderr.write("could not open port %r: %sn" % (port, e)) sys.exit(1) print "Serial port ready" # Clear display s.write("$$$ALL,OFFr") # Send message 1 to the Pi-Lite print message1 s.write(message1) # Short delay to allow the # 12 character message to finish time.sleep(6) # Send message 2 to the Pi-Lite print message2 s.write(message2) # Short delay to allow the # 26 character message to finish time.sleep(12) print "Good bye"
Vous pouvez créer les messages de votre choix et ajouter d’autres messages si nécessaire. Les délais après chaque message lui donnent le temps de terminer le défilement avant que davantage de données ne soient envoyées au Pi-Lite. Si vous n’ajoutez pas le délai, vous risquez d’envoyer des données avant que l’appareil n’ait fini de traiter l’ensemble précédent.
J’utilise le calcul rapide suivant pour estimer le délai nécessaire :
delay = length x 5 x 0.08
La longueur correspond au nombre de caractères du message. 5 est le nombre moyen de colonnes par caractère. 0,08 est la vitesse de défilement par défaut (80 ms). Le délai est alors le temps qu’il faut au nombre total de colonnes pour faire défiler l’affichage. Vous pouvez ensuite arrondir la valeur au nombre entier de secondes le plus proche. Ce n’est qu’une approximation et vous devrez peut-être ajuster le cas échéant.
Coller un message dans une boucle « while » permettrait au message de se répéter. Par exemple vous pouvez remplacer la ligne « Serial port ready » dans le script ci-dessus par ce code :
print "Serial port ready" # Clear display s.write("$$$ALL,OFFr") while True: # Send message 1 to the Pi-Lite print message1 s.write(message1) # Short delay to allow the # 12 character message to finish time.sleep(6) # Send message 2 to the Pi-Lite print message2 s.write(message2) # Short delay to allow the # 26 character message to finish time.sleep(12)
Voici une courte vidéo du Pi-Lite en action en utilisant la boucle « while » ci-dessus :

Ce script est la base par laquelle vous pouvez commencer à envoyer toutes sortes d’informations à l’écran, par exemple l’heure, la température, les données provenant du Web.
Voici les scripts que vous pouvez télécharger directement plutôt que de copier-coller les exemples ci-dessus :