Pyduino et Bottle sont deux outils puissants qui permettent aux développeurs de créer des applications réseau simples et efficaces. En combinant ces deux technologies, il est possible de créer un serveur TCP/HTTP simple et robuste. Dans cet article, nous allons voir comment utiliser Pyduino et Bottle pour créer un serveur TCP/HTTP simple et comment le configurer pour répondre aux requêtes des clients. Nous verrons également comment le serveur peut être utilisé pour fournir des services tels que le transfert de fichiers et le streaming de données.
Pyduino + Bottle : Réseau : Créer un serveur TCP / Http simple.
Ce que l’on va faire ici
- Dans ce code, je vous montre comment mettre en place un serveur TCP simple en utilisant Bottle, un micro-framework web écrit en Python très pratique.
Pré-requis
- un mini-PC (pcDuino conseillé) avec système Lubuntu opérationnel. Voir si besoin la page d’accueil du pcDuino
- Langage Python (2.7) et l’IDE Pyduino ou l’éditeur Geany installés. Voir si besoin : Logiciel pour développer avec Pyduino
- ma librairie pyDuino installée : voir si besoin : Télécharger et installer Pyduino sur le pcDuino
Il est également nécessaire ici d’installer Bottle et CherryPy :
sudo apt-get install python-cherrypy3
Schéma fonctionnel
- Le code Pyduino communique avec l’interface réseau du système qui assure la connexion avec le client distant :
- Noter que ce code fonctionne aussi bien en éthernet (filaire) qu’en wifi (sans fil) sous réserve que la connexion matérielle soit opérationnelle.
Le réseau utilisé
- Note : le poste fixe peut évidemment être le poste depuis lequel vous accédez au pcDuino par VNC, au moins en phase d’essai.
Matériel nécessaire
Système
- Le pcDuino
- connecté à un réseau local actif associant :
- un routeur (une box internet typiquement) +/- un switch réseau
- d’autres postes sur le réseau, notamment un poste fixe ou une tablette.
- voire un poste distant sur le web
- Si on utilise le wifi, on utilisera le dongle wifi ou une clé USB wifi au lieu de l’interface réseau ethernet. Mais pour un simple test, rester en filaire, c’est plus simple !
E/S
- Pas utilisées.
Instructions de montage
- Simplement connecter le pcDuino au réseau, ce qui est normalement déjà le cas si vous travaillez en accès VNC !
Le montage à réaliser
Le fichier *.yno
Copier/coller ce code dans l’IDE Pyduino :
from bottle import route, run
# entete declarative
noLoop=True # loop sera appelee par timer
port=8080 # le port de connexion
#— definition des « routes » – a mettre AVANT setup
@route(‘/’) # racine /
def racine():
return(« Serveur OK ! »)
@route(‘/hello’) # /hello
def hello():
return(« Hello World ! »)
#— setup —
def setup():
timer(100,loop) # 1er appel de loop par timer – a mettre avant run
run(host=Ethernet.localIP(), port=8080, server=‘cherrypy’) # lance le serveur – attention : a mettre apres les routes..
# — fin setup —
# — loop —
def loop():
# ici instruction loop
print « loop »
timer(1000, loop) # autorappel de loop
# — fin loop
Ce code est également disponible ici : http://cloud-mon-club-elec.fr/public.php?service=files&t=ade17425e72f83ee3aa8406e2ea89592&download
Utilisation
- Connecter le mini-PC au réseau
- Appuyer sur le bouton exécuter dans l’IDE Pyduino
- Une fenêtre de Terminal doit apparaître : un message indique que le serveur attend un client entrant.
- Ouvrir alors sur le poste client un navigateur, par exemple firefox, et saisir l’adresse ip du mini-PC suivie de :8080 ce qui donne par exemple 192.168.0.8:8080. On utilise ici le port 8080 d’où le :8080…
- A ce moment là, on doit voir sur le mini-PC les messages attestant de la connexion du client
- Puis le serveur envoie sa réponse texte simple

- Noter que le poste fixe peut simultanément accéder au mini-PC par VNC (qui utilise le port 5900) et par le navigateur client ( qui utilise le port 8080) !
- Simple et efficace.
Discussion technique
- Difficile de faire plus simple !
Articles similaires:
- Pyduino + Bottle : Réseau : Créer un serveur TCP / Http de page HTML simple.
- Pyduino + Bottle : Réseau : Créer un serveur de fichiers textes contenus dans un répertoire
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ATELIERSPYDUINOWEBAPPSHTMLServeurBottleFichiers
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ATELIERSPYDUINOWEBAPPSHTMLServeurBottle
- Programmer le pcDuino : Pyduino : Réseau : Afficher l’adresse IP du système.
Articles Liés
- Pyduino + Bottle : Réseau : Créer un serveur TCP / Http de page HTML simple.
Pyduino et Bottle sont deux outils puissants qui peuvent être utilisés pour créer des serveurs…
- Mini-Webapps avec Pyduino
Les mini-webapps sont une nouvelle façon de créer des applications web interactives et intuitives. Elles…
- Test simple de réception d'une chaine de caractère par le module wifi RedFly en serveur réseau depuis PC client réseau via le réseau wifi.
Le test simple de réception d'une chaine de caractère par le module wifi RedFly en…