Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue133:python [2018/05/30 10:58] – auntiee | issue133:python [2018/05/31 15:43] (Version actuelle) – d52fr |
---|
QoS signifie Qualité de service. MQTT supporte trois niveaux, numérotés 0, 1 et 2. Si vous ne devez pas être certain de savoir ceux qui sont abonnés à vos messages thématiques, alors vous utilisez simplement une QoS de 0. Voici une description des niveaux : | QoS signifie Qualité de service. MQTT supporte trois niveaux, numérotés 0, 1 et 2. Si vous ne devez pas être certain de savoir ceux qui sont abonnés à vos messages thématiques, alors vous utilisez simplement une QoS de 0. Voici une description des niveaux : |
| |
0 - Au plus une fois | 0 - Au plus une fois. |
1 - Au moins une fois | 1 - Au moins une fois. |
2 - Exactement une fois | 2 - Exactement une fois. |
| |
| |
**When the broker transfers a message to a subscribing client, it uses the QoS of the subscription made by the receiving client** | **When the broker transfers a message to a subscribing client, it uses the QoS of the subscription made by the receiving client** |
| |
Lorsque l'intermédiaire (le « broker ») transfère un message à un client abonné, il utilise la QoS de l'abonnement effectué par le client destinataire. | Lorsque l'intermédiaire/serveur (le « broker ») transfère un message à un client abonné, il utilise la QoS de l'abonnement effectué par le client destinataire. |
| |
| |
Lorsque l'intermédiaire envoie un message à un client abonné, la QoS utilisée est celle utilisée par le client lorsqu'il s'abonne au sujet. Par conséquent, la QoS peut être déclassée par rapport à l'intention du client expéditeur. | Lorsque l'intermédiaire envoie un message à un client abonné, la QoS utilisée est celle utilisée par le client lorsqu'il s'abonne au sujet. Par conséquent, la QoS peut être déclassée par rapport à l'intention du client expéditeur. |
| |
A quel moment doit-on utiliser un niveau plutôt qu'un autre ? Fondamentalement, si votre client expéditeur n'a pas à s'inquiéter d'une ou deux transmissions manquées, et que votre connexion à l'intermédiaire est fiable 24 heures sur 24 et 7 jours sur 7, vous pourriez vous sentir en sécurité en utilisant le niveau 0 de Qos. Si vous avez besoin de garantir que le message publié parviendra à l'intermédiaire (ou en provenance de celui-ci), avec l'assurance presque totale que les messages passeront, utilisez le niveau 1. Si un message doit passer sans faute, alors utilisez le niveau 2, mais rappelez-vous que rien dans la vie n'est parfait à 100 %, surtout si vous comptez vous connecter à un untermédiaire (de part et d'autre) via une connexion externe vers l'Internet. | A quel moment doit-on utiliser un niveau plutôt qu'un autre ? Fondamentalement, si votre client expéditeur n'a pas à s'inquiéter d'une ou deux transmissions manquées, et que votre connexion à l'intermédiaire est fiable 24 heures sur 24 et 7 jours sur 7, vous pourriez vous sentir en sécurité en utilisant le niveau 0 de Qos. Si vous avez besoin de garantir que le message publié parviendra à l'intermédiaire (ou en provenance de celui-ci), avec l'assurance presque totale que les messages passeront, utilisez le niveau 1. Si un message doit passer sans faute, alors utilisez le niveau 2, mais rappelez-vous que rien dans la vie n'est parfait à 100 %, surtout si vous comptez vous connecter à un intermédiaire (de part et d'autre) via une connexion externe vers l'Internet. |
| |
| |
**We will be using a Qos Level 1 for our communications in our demo, just for practice.** | **We will be using a Qos Level 1 for our communications in our demo, just for practice.** |
| |
Nous utiliserons le niveau 1 de Qos pour les communications dans notre démo d'entrainement. | Nous utiliserons le niveau 1 de Qos pour les communications dans notre démo d'entraînement. |
| |
| |
Le matériel | Le matériel |
| |
Si vous vous souvenez du projet original réalisé dans le FCM 109, nous avons utilisé un DHT11 connecté à notre Raspberry Pi. Nous avons utilisé la bibliothèque DHT22 python d'Adafruit et avons légèrement modifié leur code échantillon. | Si vous vous souvenez du projet original réalisé dans le FCM n° 109, nous avons utilisé un DHT11 connecté à notre Raspberry Pi. Nous avons utilisé la bibliothèque DHT22 python d'Adafruit et avons légèrement modifié leur code échantillon. |
| |
J'ai recréé le diagramme de Fritzing en montrant les connexions matérielles... | J'ai recréé le diagramme de Fritzing en montrant les connexions matérielles : |
| |
Une fois tout le matériel installé, nous devons télécharger et installer la bibliothèque. Si vous n'avez pas la bibliothèque, vous pouvez la trouver sur GitHub à l'adresse https://github.com/adafruit/Adafruit_Python_DHT.git . Rappelez-vous, vous devez installer la bibliothèque sur le Raspberry Pi. Voici les étapes pour cloner la bibliothèque de github. | Une fois tout le matériel installé, nous devons télécharger et installer la bibliothèque. Si vous n'avez pas la bibliothèque, vous pouvez la trouver sur GitHub à l'adresse https://github.com/adafruit/Adafruit_Python_DHT.git . Rappelez-vous que vous devez installer la bibliothèque sur le Raspberry Pi. Voici les étapes pour cloner la bibliothèque de github : |
| |
| |
Here is our updated code (right, and continuing on to the next page). You can try modifying the original code, or just start over. It’s not that long.** | Here is our updated code (right, and continuing on to the next page). You can try modifying the original code, or just start over. It’s not that long.** |
| |
Le code d'exemple se trouve dans le dossier « /examples », appelé simpletest.py. Assurez-vous de changer la ligne qui définit la broche de votre capteur pour qu'elle corresponde à votre configuration. Le code original suppose que vous mettez la broche de données du capteur sur le GPIO 23 (ligne 35). Dans la configuration que je présente, utilisez GPIO 4. Assurez-vous également de commenter la ligne 31 si vous utilisez un Raspberry Pi au lieu d'une planche Beaglebone. | Le code d'exemple se trouve dans le dossier « /examples », appelé simpletest.py. Assurez-vous de changer la ligne qui définit la broche de votre capteur pour qu'elle corresponde à votre configuration. Le code original suppose que vous mettez la broche de données du capteur sur le GPIO 23 (ligne 35). Dans la configuration que je présente, utilisez GPIO 4. Assurez-vous également de commenter la ligne 31 si vous utilisez un Raspberry Pi au lieu d'une carte Beaglebone. |
| |
Voici notre code mis à jour (à droite, puis il continue à la page suivante). Vous pouvez essayer de modifier le code original ou simplement recommencer à zéro. Ce n'est pas si long. | Voici notre code mis à jour (à droite, puis il continue à la page suivante). Vous pouvez essayer de modifier le code original ou simplement recommencer à zéro. Ce n'est pas si long. |