View  Edit  Attributes  History  Attach  Print  Search

ACCUEIL | ARDUINO > S'INSTALLER > DEBUTER > APPROFONDIR | PROCESSING | MECATRONIQUE | MATERIEL | OUTILS | TESTS | Plus...|
Python > Shell > ATELIERS Python + Qt > PyQt apps > PyQt+Arduino | Mes Robots | RepRap | Mes lib'Arduino | Mes shields Arduino | Mes distros | Les Mini-PC |
ATELIERS ARDUINO| VIDEOS | COMPRENDRE | REFERENCES | CODER | TECHNIQUE | GNU/LINUX | LIENS | Rien à voir |

PYQT | Premiers pas | Les bases | Port Série | Réseau | Memo PyQt | Memo PyQwt |

PyQt + Reseau : la communication réseau

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

  • 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

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 *

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)

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

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

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