Python est une colle. Nous pouvons l’utiliser pour joindre différents éléments de code ensemble. En tant que langage, Python est facile à apprendre et lisible par l’homme, ce qui en fait l’un des langages les plus efficaces pour l’apprentissage et la programmation à usage général. Une partie du charme de Python réside dans les nombreux modules de code qui peuvent être facilement insérés dans un projet.
Thonny est un éditeur puissant mais simple pour Python et, avec la sortie de la version 4, nous voulions l’utiliser pour créer un projet. Dans ce guide, nous utiliserons la dernière version de Thonny pour créer une application Web qui extraira les données de stock de Raspberry Pi à partir de rpilocator.com et utilisez-le pour remplir un tableau dans notre application.
RSS est un excellent moyen de partager un flux d’informations. Il peut être utilisé pour diffuser des titres d’actualités, tels que le Flux RSS de Tom’s Hardware ou même la dernière bande dessinée xkcd.
Notez que le flux RSS de rpilocator n’est pas aussi à jour que les données sur rpilocator.com. Considérez ce projet comme un système de notification plutôt qu’un outil de « sniping ».
Installation de Thonny 4.0
Thonny est l’IDE Python par défaut sur le Tarte aux framboises, mais cela ne se limite pas à cette machine. Thonny est également disponible pour les machines Windows, Mac et Linux, et il peut être utilisé pour écrire Python et MicroPython pour des appareils tels que le Framboise Pi Pico W et ESP32.
1. Ouvrir un navigateur à la page d’accueil de Thonny.
2. Sélectionnez le téléchargement pour votre système d’exploitation. Pour Windows, vous avez le choix entre plusieurs options. Le premier choix est la version de Python que nous recommandons la plus récente (3.10 au moment de la rédaction). Ensuite, vous avez le choix d’installer Thonny sur votre machine ou d’utiliser une version portable. Nous vous recommandons d’installer Thonny sur votre machine.
3. Cliquez sur le fichier téléchargé pour lancer l’installation.
4. Cliquez sur « Plus d’infos » pour continuer l’installation. La nouvelle installation a un certificat relativement inconnu et n’a pas encore acquis de réputation.
5. Cliquez sur « Exécuter quand même » pour continuer.
6. Cliquer sur Suivant pour continuer.
sept. Acceptez le contrat de licence.
8. Cochez la case pour créer une icône sur le bureau. Il s’agit d’une étape facultative, nous avons choisi de ne pas le faire car nous préférons les icônes dans la barre des tâches.
9. Cliquez sur Installer pour démarrer le processus d’installation.
dix. Cliquez sur Terminer pour terminer l’installation.
Créer notre projet avec Thonny 4.0
Thonny est axé sur les débutants, mais ne vous y trompez pas, Thonny est un éditeur compétent et complet pour les makers. Thonny a une disposition multi-fenêtres qui peut être modifiée en fonction de vos besoins.
1. Des dossiers: Il s’agit d’un gestionnaire de fichiers de base qui peut être utilisé pour ouvrir des fichiers dans un projet. Raspberry Pi Pico W et d’autres appareils MicroPython ouvriront un volet supplémentaire que nous pouvons utiliser pour copier des fichiers vers et depuis l’appareil.
2. Zone de codage : C’est ici que nous créons le projet pour notre code. Nous pouvons avoir plusieurs onglets, pour plusieurs fichiers.
3. Coque Python : Le shell Python (REPL, Read, Eval, Print, Loop) est l’endroit où nous pouvons voir la sortie de notre code et également interagir avec lui.
4. Assistant: Si votre code contient un bogue ou ne respecte pas une directive de style, il sera signalé ici.
Installer des modules avec Thonny
Les modules Python (parfois aussi appelés « bibliothèques ») sont des segments de code pré-écrits qui permettent des fonctionnalités supplémentaires. Les exemples populaires incluent RPI.GPIO et GPIO Zero pour le Raspberry Pi. Les modules résument souvent/simplifient des tâches complexes. Dans notre projet, nous utiliserons deux modules. PyWebIO est un module pour créer du contenu HTML en utilisant Python. Il crée également un serveur Web que nous pouvons utiliser pour nous connecter rapidement à notre application. Le deuxième module est Feedparser, un module lecteur de flux RSS que nous utiliserons pour lire le flux de niveau de stock du rpilocator Raspberry Pi.
1. Ouvrez Thonny et assurez-vous qu’aucun projet n’est ouvert.
2. Cliquez sur Outils >> Gérer les packages. Thonny a une interface graphique intégrée pour le gestionnaire de packages Python 3 « pip ».
3. Recherchez pywebio.C’est le module que nous allons utiliser pour générer une page web en Python.
4. Cliquez sur Installer pour télécharger et installer le module.
5. Répétez les étapes précédentes, cette fois installez feedparser. Feedparser est un module Python pour les flux RSS.
6. Cliquez sur Fermer pour quitter la boîte de dialogue.
Rédiger le code du projet
Notre objectif est de créer un projet Python qui utilisera les données du flux RSS de rpilocator pour remplir une table. Nous allons saisir les cinq entrées actuelles et les afficher dans un tableau HTML, créé à l’aide de Python.
1. Dans un nouveau document vierge, importez deux modules de pywebio. Le premier contient le code pour démarrer un serveur web simple. Le module pywebio.output est utilisé pour générer des éléments HTML tels que des tableaux et des hyperliens.
from pywebio import start_server
from pywebio.output import *
2. Importez le module d’analyseur de flux.
import feedparser
3. Créez une fonction appelée main.
def main():
4. À l’intérieur de la fonction, créez un objet, « stock » et utilisez-le pour stocker la sortie analysée du flux RSS de rpilocator.
stock = feedparser.parse('https://rpilocator.com/feed/')
5. Créez trois listes vides, in_stock, in_stock_link et category. Ceux-ci seront utilisés pour stocker les données récupérées de l’objet « stock » contenant les données RSS.
in_stock = []
in_stock_link = []
category = []
6. Créez une boucle for qui itérera cinq fois.
for i in range(5):
sept. Utilisez « ajouter » pour ajouter l’état du stock, le lien et la catégorie (nom du revendeur) à la liste appropriée. Les données RSS stockées dans « stock » sont un mélange de listes et de dictionnaires. Pour les données d’une liste, nous pouvons utiliser son index numérique, qui est la valeur de i dans notre boucle for. Cela comptera de 0 à 4 lors de l’itération de la boucle for. Les données stockées dans un dictionnaire nous obligent à connaître la clé (« entrées » par exemple). L’utilisation de la clé renverra sa valeur.
in_stock.append(stock['entries'][i]['title'])
in_stock_link.append(stock['entries'][i]['link'])
category.append(stock['entries'][i]['category'])
8. En dehors de la boucle for, créez une notification contextuelle à l’aide de « toast ». Le message peut être un mélange d’un fort, et même d’emojis.
toast('?I found Raspberry Pi in stock!?')
9. Utilisez « put_html » pour écrire un élément d’en-tête HTML H1 sur la page Web. Nous pouvons utiliser cette fonction pour écrire n’importe quel élément HTML sur la page, mais notez que le Module PyWebIO a de nombreux moyens différents pour créer des éléments spécialisés.
put_html("<h1>Raspberry Pi Stock</h1>")
dix. Créez une liste, « table » et utilisez-la pour stocker deux colonnes de données, extraites de nos listes in_stock, in_stock_link et catégories. La première ligne contient les en-têtes de colonne Détails et URL. En stock imprimera une brève description de ce qui est en stock. En utilisant « put_link », nous créons un hyperlien HTML, le texte du lien étant le nom du revendeur, stocké dans la liste des catégories, et l’adresse stockée dans in_stock_link.
table = [['Details','URL'],
[in_stock[0], put_link(category[0],url=in_stock_link[0])],
[in_stock[1], put_link(category[1],url=in_stock_link[2])],
[in_stock[2], put_link(category[2],url=in_stock_link[2])],
[in_stock[3], put_link(category[3],url=in_stock_link[3])],
[in_stock[4], put_link(category[4],url=in_stock_link[4])],
]
11. Utilisez la fonction « put_table » de PyWebIO pour créer un tableau HTML à partir de notre objet table.
put_table(table)
12. Utilisez « put_link » pour créer un lien hypertexte sous le tableau, dans ce cas, cela nous amène à la source des niveaux de stock de Raspberry Pi, rpilocator.
put_link('Data provided by RPiLocator',url="https://rpilocator.com")
13. En dehors de la fonction, appelez la fonction « start_server » de PyWebIO et transmettez-lui trois arguments. Les arguments sont notre fonction « principale » qui va créer le tableau à partir des données RSS. Le port est défini sur 8080 et le débogage est activé via le shell Python et sur notre page Web.
start_server(main, port=8080, debug=True)
14. Enregistrez le code sous RSS-Feed-Reader.py et cliquez sur Exécuter pour démarrer.
15. Cliquez sur le lien dans le shell Python pour ouvrir la page Web dans votre navigateur par défaut.
Liste complète des codes
from pywebio import start_server
from pywebio.output import *
import feedparser
def main():
stock = feedparser.parse('https://rpilocator.com/feed/')
in_stock = []
in_stock_link = []
category = []
for i in range(5):
in_stock.append(stock['entries'][i]['title'])
in_stock_link.append(stock['entries'][i]['link'])
category.append(stock['entries'][i]['category'])
toast('?I found Raspberry Pi in stock!?')
put_html("<h1>Raspberry Pi Stock</h1>")
table = [['Details','URL'],
[in_stock[0], put_link(category[0],url=in_stock_link[0])],
[in_stock[1], put_link(category[1],url=in_stock_link[2])],
[in_stock[2], put_link(category[2],url=in_stock_link[2])],
[in_stock[3], put_link(category[3],url=in_stock_link[3])],
[in_stock[4], put_link(category[4],url=in_stock_link[4])],
]
put_table(table)
put_link('Data provided by RPiLocator',url="https://rpilocator.com")
start_server(main, port=8080, debug=True)