Logo Mon Club Elec

http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PYQTReseau

Les réseaux informatiques sont devenus une partie essentielle de notre vie quotidienne. Ils nous permettent de communiquer, de partager des informations et de travailler à distance. Cependant, la mise en place et l’entretien d’un réseau peuvent être compliqués et coûteux. Dans cet article, nous allons examiner les différents aspects des réseaux informatiques et comment les mettre en place et les maintenir. Nous verrons également comment les réseaux peuvent être utilisés pour améliorer la productivité et la sécurité des entreprises.

PyQt + Reseau : la communication réseau

http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PYQTReseau

PyQt et le réseau : 1. Interfaces PyQt serveur TCP
PyQt et le réseau : 2. Interfaces PyQt client TCP
PyQt et le réseau : 3. Interfaces PyQt UDP

PyQt + Reseau : Interfaces PyQt en Serveur TCP

http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PYQTReseau
  • Terminal serveur TCP simple avec envoi de réponse Http et HTML
  • Terminal serveur TCP et champ pour envoi de réponse Http et HTML (idéal pour tests) *
  • Terminal mixte serveur TCP et Série + réceptions de 6 valeurs numériques sous forme de chaine et affichage dans 6 widgets LCD *

PyQt + Reseau : Interfaces PyQt en Client TCP

Les interfaces réseau client TCP possibles se superposent aux interfaces Série

Client TCP : Réception de données en provenance du réseau

http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PYQTReseau
http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PYQTReseau

Réseau vers PyQt : Réception Réseau avec une interface « Terminal Client TCP Réseau »
Avec le module QtNetwork

  • Terminal client TCP avec champ réception réponse serveur et pushButton pour ping vers le serveur *

Avec le module Socket (Pour mémoire)

  • Définir paramètres serveur, envoyer une requête et afficher la réponse reçue du serveur distant = « Terminal client TCP » *
  • Terminal client TCP avec pushButton pour ping vers le serveur *
http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PYQTReseau

Réseau vers PyQt : Réception Réseau avec traitement de chaînes de caractères

  • Analyse d’une chaîne de caractères reçue en provenance du réseau et extraction de paramètres numériques.
  • Recevoir de façon asynchrone des paramètres numériques par réception de chaines spécifiques avec paramètre numérique reçue en provenance du réseau(= décodage de « fonctions » avec un paramètre numérique reçues sur le port série)
http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PYQTReseau

Réseau vers PyQt : Réception Réseau avec affichages numériques

  • Réception d’une valeur numérique en provenance du réseau et affichage dans un widget LCD
  • Réception d’une valeur numérique en provenance du réseau, conversion mesure/unité et affichage dans des widgets LCD.
  • Terminal client TCP complet + réceptions de 6 valeurs numériques sous forme de chaine et affichage dans 6 widgets LCD *
  • Affichage dans 12 widgets d’affichage LCD de 6 valeurs numériques reçues en provenance du réseau et converties en unités.
  • Configurer le port série, recevoir les 6 valeurs numériques des voies analogiques en provenance du réseau et les afficher dans 6 widgets LCD – variante avec onglets
http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PYQTReseau

Réseau vers PyQt+PyQwt (1) : Réception Réseau avec affichage dans des widgets d’affichage analogique
QwtDial

  • Afficher dans un QwtDial, le widget d’affichage analogique « à aiguille », une valeur de conversion analogique numérique (0-1023) reçue en provenance du réseau
  • Réception d’une valeur numérique en provenance du réseau, dans un QwtDial, le widget d’affichage analogique « à aiguille », conversion mesure/unité et affichage dans des widgets LCD.
  • Réception de 6 valeurs numériques en provenance du réseau, dans 6 QwtDial, le widget d’affichage analogique « à aiguille », conversion mesure/unité et affichage dans 12 widgets LCD.

QwtThermo

  • Afficher dans un QwtThermo, le widget d’affichage analogique « vu-mètre », une valeur de conversion analogique numérique (0-1023) reçue en provenance du réseau
  • Réception d’une valeur numérique en provenance du réseau, dans un QwtThermo, le widget d’affichage analogique « vu-mètre », conversion mesure/unité et affichage dans des widgets LCD.
  • Réception de 6 valeurs numériques en provenance du réseau, dans 6 QwtThermo, le widget d’affichage analogique « vu-mètre », conversion mesure/unité et affichage dans 12 widgets LCD.
  • Lancer une alarme sonore ou vocale en cas de dépassement d’une valeur d’alarme d’un QwtThermo par une valeur reçue en provenance du réseau

Client TCP : Envoi de données sur le réseau

Path:

Envoi par clic pushButton On/Off

  • Allumer une LED côté serveur TCP Arduino avec un PushButton en mode ON/OFF.
  • Contrôler toutes les broches numériques d’un serveur TCP Arduino en mode ON/OFF à l’aide de pushButton On/Off

Envoi par clic pushButton

  • Envoyer et recevoir des chaînes sur le réseau = créer un terminal client TCP réseau « Arduino-like » !
    • Envoyer une chaîne avec paramètre numérique vers serveur TCP Arduino et extraire la valeur numérique reçue côté Arduino
  • Terminal réseau intégrant un clavier de 5 pushButtons type « Joystick » pour envoi de chaînes personnalisées vers le serveur TCP (contrôle graphique de dispositifs, robots…via le réseau)
    • Contrôler un robot à PC embarqué à l’aide d’une tablette tactile
    • Contrôler une tourelle pan-tilt à l’aide de l’interface « Joystick »
  • Terminal client TCP réseau intégrant 1 spinBox (widget de réglage de valeur numérique) pour envoi de chaîne avec paramètre numérique sur le port Série.
  • Envoyer vers le serveur TCP par clic sur un pushButton une valeur numérique d’un widget LCD réglable par un dial +/- précédée du contenu d’un champ texte (format fonction(valeur))
    • Régler la luminosité d’une LED
  • Envoyer vers le serveur TCP la valeur numérique courante d’un slider après validation par appui sur un pushButton
    • Régler la position d’un servomoteur à l’aide d’un slider après validation par appui sur un pushButton
  • Envoyer vers le serveur TCP la valeur numérique courante d’un QwtDial après validation par appui sur un pushButton
    • Régler la position d’un servomoteur à l’aide d’un QwtDial, widget « à aiguille » configuré à 180°après validation par appui sur un pushButton
  • Envoyer vers le serveur TCP une valeur numérique saisie à l’aide d’un clavier graphique.
    • Contrôler la position d’une tourelle pan-tilt à l’aide de l’interface à clavier graphique
  • Un minuteur graphique pour contrôler serveur TCP Arduino : réglage d’un widget LCD avec un bouton réglable (dial), bouton de Go / Stop, envoi vers le serveur TCP signal de début/fin (à partir de 2 champs texte) *
    • Allumer / éteindre un dispositif connecté à Arduino à partir de l’interface de minuteur graphique série

Path:

Envoi par widget graphique analogique

  • Envoyer vers le serveur TCP la valeur numérique courante d’un slider en « live »
    • Régler la position d’un servomoteur à l’aide d’un slider en « live » par envoi d’une valeur numérique sur le port série
  • Envoyer vers le serveur TCP la valeur numérique courante de 3 sliders en « live » sous forme de chaînes avec paramètres numériques *
    • Régler la couleur d’une LED RGB à l’aide de 3 sliders en « live » par envoi d’une valeur numérique sur le port série
  • Envoyer vers le serveur TCP la valeur numérique courante de 5 sliders en « live » sous forme de chaînes avec paramètres numériques *
    • Contrôler un bras robotisé 5/6 axes à l’aide de 6 sliders en « live » par envoi de chaînes avec paramètres numériques sur le port série
  • Envoyer vers le serveur TCP la valeur numérique courante d’un Dial, bouton réglable, en « live » (lors du lâcher bouton souris)
  • Envoyer vers le serveur TCP la valeur numérique courante de 5 sliders en « live » sous forme de chaînes avec paramètres numériques + enregistrement des positions et boutons GoTo Sync et bouton « play » +/- enregistrement fichier
  • Envoyer vers le serveur TCP la valeur numérique courante d’un QwtDial, widget « à aiguille » configuré à 180°, en « live »
    • Régler la position d’un servomoteur à l’aide d’un QwtDial, widget « à aiguille » configuré à 180° en « live »

Client TCP : Communication avancée

Path:

Echanges bi-directionnels serveur TCP <=> Client TCP PyQt

  • Envoyer et recevoir des chaînes en provenance/vers le réseau = créer un terminal client TCP « Arduino-like » !
  • Un Terminal client TCP « Arduino-like » léger et autonome : variante avec bouton de stop.
  • Terminal client TCP « Arduino like » : variante avec bouton de stop et spinbox de réglage du délai de réception
  • Envoyer une chaîne de requête vers serveur TCP Arduino et récupérer la réponse renvoyée (lancer conversion analogique et récupérer mesure)

Path:

Arduino vers PyQt vers Gnu/Linux : Réception Série et contrôle du Système

  • La réception d’une chaîne (envoyée par serveur Arduino TCP ) sur le réseau lance une ligne de commande système.
  • Déclencher une succession de lignes de commande par réception d’une chaîne reçue sur le réseau lors appui sur un BP côté serveur TCP Arduino
http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PYQTReseau

Arduino vers PyQt+PyQwt (2) : Réception Série avec affichage graphique sous forme de courbes

  • (voir Qwt)
  • Oscilloscope mono-voie simple (voir Qwt)
  • Oscilloscope mono-voie simple avec datalogging dans fichier texte (voir Qwt)
  • Oscilloscope 6 voies simultanées sur le même graphique
  • Oscilloscope 6 voies simultanées sur 6 graphiques différents
  • Une interface pour thermomètre numérique (LM 35 côté Arduino) avec affichage QwtPlot + QwtThermo + datalogging dans un fichier

PyQt + Reseau : Interfaces PyQt communication UDP

Path:

UDP

  • Terminal avec fonction getIP sur pushButton et scan réseau *
  • Terminal UDP pour envoi / réception de paquets UDP *

Création originale de X.HINAULT – www.mon-club-elec.fr – 2013 – Tous droits réservés – GPLv3

Noter cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archive Mon Club Elec

Articles populaires

Newsletter

Inscrivez-vous maintenant et bénéficiez d'un soutien continu pour réaliser vos travaux électriques en toute sécurité.