6.1 En Python
Programmer des applications de contrôle et de surveillance de nos objets connectés en Python revient à envoyer des requêtes client-serveur de la même façon qu’on l’a fait sur le Raspberry Pi. Selon qu’on a programmé notre objet comme un serveur de données qui peut gérer des requêtes GET et POST, et selon qu’il s’attend à communiquer avec des paires de données simplement sous forme de chaînes ou en format JSON, nous pourrons envoyer les requêtes nécessaires pour contrôler notre objet et obtenir ses données. Si on a choisi le protocole MQTT, notre application de contrôle et de surveillance utilise la bibliothèque de la même façon que l’objet connecté pour publier des messages et s’abonner à des sujets. Voir à ce sujet la section 5.3 Échange de données par le protocole MQTT.
6.1.1 Obtenir les données JSON
Si on a programmé notre objet connecté pour qu’il puisse fournir ses données en format JSON, on peut aussi utiliser la bibliothèque requests dans une application Python pour envoyer une requête GET à l’adresse de notre objet et récupérer ses données. Voir la Figure 101 pour un exemple où on affiche les données obtenues toutes les secondes. Cet exemple peut être utilisé pour tester celui de la section 5.2.2 Pour fournir un fichier de données JSON.
Figure 101 — Obtenir des données JSON dans une application Python
Vidéo 63 : Programmer un client Python qui reçoit des données JSON
6.1.2 Envoyer des paires de données
Si notre objet connecté est programmé pour réagir à des requêtes POST, on peut aussi lui envoyer des données en paramètres comme sur la Figure 102.
Figure 102 — Envoyer une requête POST avec paramètre
Vidéo 64 : Programmer un client Python qui envoie des commandes sous forme de paires clé-valeur
6.1.3 Envoyer des données JSON
Si notre objet prévoit recevoir les données plutôt en format JSON, on doit envoyer nos données ou nos commandes dans ce format. Voir la Figure 103 pour un exemple où on envoie une commande en format JSON. Cet exemple et le précédent peuvent être utilisés pour tester le code des exemples de la section 5.2.3 Pour réagir à des requêtes POST et contrôler les objets.
Figure 103 — Envoyer une requête POST avec des données JSON
Vidéo 65 : Programmer un client Python qui envoie des commandes JSON