Initiation au client MQTT pour C

Familiarisez-vous avec le modèle de client MQTT pour C sur toutes les plateformes sur lesquelles vous pouvez compiler le code source C. Vérifiez que vous pouvez exécuter le modèle de client MQTT pour C avec IBM® MessageSight ou IBM WebSphere MQ comme serveur MQTT.

Avant de commencer

Pourquoi et quand exécuter cette tâche

Suivez cette tâche pour compiler et exécuter le modèle de client MQTT pour C sous Windows à partir de la ligne de commande ou de Microsoft Visual Studio 2010. Microsoft Visual Studio 2010 est aussi utilisé pour compiler le client dans le modèle pour la ligne de commande. Modifiez les scripts de ligne de commande pour compiler et exécuter le modèle sur d'autres plateformes.

Procédure

  1. Choisissez un serveur MQTT auquel vous pouvez connecter l'application client.

    Le serveur doit prendre en charge le protocole MQTT version 3.1. Tous les serveurs MQTT d'IBM le font, y compris IBM WebSphere MQ et IBM MessageSight. Voir Initiation aux serveurs MQTT.

  2. Installez un environnement de développement C sur la plateforme de génération.
    Les fichiers makefile dans les exemples de cette rubrique ciblent les outils suivants :
    • iOSPour iOS, sous Apple Mac avec OS X 10.8.2 et les outils de développement iOS du site Xcode.
    • LinuxPour Linux, la version gcc 4.4.6 de Red Hat Enterprise Linux Server version 6.2.

      Le plus bas niveau pris en charge de la bibliothèque C glibc est 2.12, et celui du noyau Linux est 2.6.32.

    • WindowsPour Microsoft Windows, Visual Studio version 10.0.
  3. Téléchargez Mobile Messaging et M2M Client Pack et installez le kit de développement de logiciels (SDK) MQTT.
    Il n'existe aucun programme d'installation, il suffit d'étendre le fichier téléchargé.
    1. Téléchargez Mobile Messaging et M2M Client Pack.
    2. Créez le dossier dans lequel vous allez installer le kit de développement de logiciels.

      Vous pouvez nommer le dossier MQTT. Dans la suite de cette rubrique, le chemin de ce dossier est représenté par racine SDK.

    3. Décompressez le contenu du fichier Mobile Messaging et M2M Client Pack dans racine SDK. Cette opération génère une arborescence qui commence par racine SDK\SDK.
  4. Facultatif : Suivez les étapes décrites dans Création des bibliothèques du client MQTT pour C.

    Ne réalisez cette étape que si Mobile Messaging et M2M Client Pack ne contient pas la bibliothèque client C destinée à votre système d'exploitation.

  5. Compilez et exécutez le modèle d'app C client MQTT, MQTTV3Sample.c.

Compilation et exécution du modèle d'app C client MQTT depuis la ligne de commande

Compilez et exécutez le modèle d'app C client MQTT depuis la ligne de commande. Le modèle se trouve dans le kit de développement de logiciels MQTT. Il contient un diffuseur de publications et un abonné MQTT.

Avant de commencer

Installez un environnement de développement C, par exemple Microsoft Visual Studio 2010, qui est utilisé dans le modèle.

Pourquoi et quand exécuter cette tâche

Compilez et exécutez le modèle pour C, MQTTV3Sample, dans le sous-répertoire des clients du kit de développement de logiciels, racine SDK\SDK\clients\c\samples.

Procédure

Créez un script dans le répertoire des exemples client pour compiler et exécuter Sample sur la plateforme de votre choix.

Le script suivant compile et exécute le modèle sur une plateforme Windows 32 bits, générée avec Microsoft Visual Studio 2010. Exécutez-le depuis le sous-répertoire racine SDK\SDK\clients\c\samples.

@echo off
setlocal
call "C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
cl  /nologo /D "WIN32" /I "..\include" "MQTTV3Sample.c" /link /nologo ..\windows_ia32\mqttv3c.lib
set path=%path%;..\windows_ia32;
start "MQTT Subscriber" MQTTV3Sample -a subscribe -b localhost -p 1883
@rem Sleep for 2 seconds
ping -n 2 127.0.0.1 > NUL 2>&1
MQTTV3Sample -b localhost -p 1883
pause
endlocal

Résultats

Le diffuseur de publications et l'abonné écrivent leur sortie dans leur fenêtre de commande :
Figure 1. Sortie du diffuseur de publications
Capture d'écran de la sortie du modèle de programme de diffuseur de publications
Figure 2. Sortie de l'abonné
Capture d'écran de la sortie du modèle de programme d'abonné

Compilation et exécution du modèle d'app C client MQTT à partir de Microsoft Visual Studio

Compilez et exécutez le modèle d'app C client MQTT à partir de Microsoft Visual Studio. Le modèle se trouve dans Mobile Messaging et M2M Client Pack. Il contient un diffuseur de publications et un abonné MQTT.

Avant de commencer

Le modèle utilise Microsoft Visual Studio 2010. Vous pouvez utiliser d'autres environnements de développement C sous Windows et sur d'autres plateformes, par exemple Eclipse IDE for C/C++ Developers.

Pourquoi et quand exécuter cette tâche

Compilez et exécutez le modèle pour C, MQTTV3Sample avec Microsoft Visual Studio 2010. MQTTV3Sample.c est dans le sous-répertoire des clients du kit de développement de logiciels, racine SDK\SDK\clients\c\samples.

Procédure

  1. Démarrez Microsoft Visual Studio.
  2. Créez un projet à partir de code existant.
    1. Cliquez sur Fichier > Nouveau > Projet à partir de code existant.
    2. Sélectionnez Visual C++ comme type de projet à créer.
    3. Cliquez sur Suivant.
  3. Définissez les paramètres de la fenêtre Spécifier l'emplacement du projet et les fichiers sources.
    1. Cliquez sur Parcourir et localisez le répertoire racine SDK\SDK\clients\c\samples.
    2. Nommez le projet MQTTV3Sample.
    3. Cliquez sur Suivant.
  4. Sélectionnez Projet d'application console dans la liste Type de projet. Cliquez sur Terminer.
  5. Configurez uniquement la configuration Déboguer.

    Par défaut, Microsoft Visual Studio crée une configuration release et une configuration de débogage. Dans le tutoriel, vous configurez la configuration de débogage. Pour supprimer les erreurs de génération, désélectionnez l'option Générer pour la version release.

    1. Cliquez sur Projet > Propriétés de MQTTV3Sample > Gestionnaire de configurations. Sélectionnez la Configuration de la solution active Release et désélectionnez Générer.
    2. Sélectionnez la Configuration de la solution active Débogage, puis Fermer.

      Dans les étapes qui suivent, vérifiez que vous modifiez la configuration de débogage.

  6. Modifies les paramètres C/C++ dans les Pages de propriétés de MQTTV3Sample.
    1. Dans la fenêtre Pages de propriétés de MQTTV3Sample, ouvrez Propriétés de configuration > C/C++ > Général.
    2. Dans la liste des propriétés générales, cliquez sur Autres répertoires Include, ajoutez le chemin de votre répertoire racine SDK\SDK\clients\c\include et cliquez sur Appliquer.
  7. Modifiez les paramètres de l'Editeur de liens.
    1. Ouvrez Propriétés de configuration > Editeur de liens > Général.
    2. Dans la liste des propriétés générales, cliquez sur Répertoires de bibliothèques supplémentaires et ajoutez le chemin de votre répertoire racine SDK\SDK\clients\c\windows_ia32.
    3. Dans la liste des propriétés de l'éditeur de liens, cliquez sur Ligne de commande. Entrez mqttv3c.lib dans la zone de saisie Options supplémentaires et cliquez sur Appliquer.
  8. Retirez le fichier source MQTTV3SSample.c du projet.
    1. Ouvrez le dossier MQTTV3sample > Fichiers source dans la fenêtre Explorateur de solutions.
    2. Cliquez avec le bouton droit sur MQTTV3SSample.c > Exclure du projet.
  9. Générez le projet MQTTV3Sample.
    1. Cliquez avec le bouton droit sur le projet MQTTV3sample dans l'Explorateur de solutions et cliquez sur Générer.

      La génération se termine sans erreur.

  10. Ajoutez deux nouveaux projets pour exécuter MQTTV3Sample comme instances d'exécution Subscriber (abonné) et Publisher (diffuseur de publications).

    Les projets Publisher et Subscriber doivent contenir les commandes d'exécution de MQTTV3Sample. Ils ne sont pas générés et ne contiennent pas de code.

    1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Solution `MQTTV3Sample` > Ajouter > Nouveau projet.
    2. Entrez Subscriber dans la zone Nom. Conservez la sélection Application console Win32. Cliquez sur OK.

      L'Assistant Application Win32 démarre.

    3. Dans l'Assistant Application Win32, cliquez sur Suivant. Cochez Projet vide > Terminer
    4. Répétez ces opérations pour ajouter le projet Publisher.
    5. Cliquez avec le bouton droit sur le projet Subscriber et cliquez sur Définir comme projet de démarrage.
    La fenêtre Explorateur de solutions est présentée à la Figure 3.
    Figure 3. Solution MQTTV3Sample
    Capture d'écran de Microsoft Visual Studio 8 Solution Explorer
  11. Configurez les pages de propriétés de Subscriber.
    1. Cliquez avec le bouton droit sur Subscriber dans l'Explorateur de solutions, puis cliquez surPropriétés > Propriétés de la configuration > Propriétés > Débogage.

      Vérifiez que le titre de la fenêtre est bien Pages de propriétés de Subscriber.

    2. Cliquez sur Environnement. Entrez path=%path%;racine SDK\SDK\clients\c\windows_ia32 et cliquez sur Appliquer.

      racine SDK varie en fonction de votre environnement.

    3. Cliquez sur Commande, et remplacez $(TargetPath) par le chemin du module MQTTV3Sample.

      Par exemple, racine SDK\SDK\clients\c\samples\debug\MQTTV3Sample

      racine SDK varie en fonction de votre environnement.

    4. Cliquez sur Arguments de la commande et entrez -a subscribe -b localhost -p 1883, puis cliquez sur Appliquer.
  12. Configurez les pages de propriétés de Publisher.
    Conseil : Vous pouvez passer d'un projet de pages de propriétés à un autre en cliquant sur les projets dans la fenêtre Explorateur de solutions.
    1. Répétez pour Publisher les mêmes opérations que pour Subscriber.

      L'argument de la commande est -b localhost -p 1883.

  13. Arrêtez le processus de génération des projets Publisher et Subscriber.
    1. Dans les pages de propriétés de l'un ou de l'autre des projets, cliquez sur Gestionnaire de configurations et désélectionnez Générer pour les configurations release et de débogage de Publisher et de Subscriber. Cliquez sur Fermer.
  14. Exécutez le modèle.
    1. Cliquez sur F5 pour démarrer Subscriber
    2. Cliquez avec le bouton droit sur Publisher dans l'explorateur de solutions, puis cliquez sur Déboguer > Démarrer une nouvelle instance.

Résultats

Le diffuseur de publications (Publisher) et l'abonné (Subscriber) écrivent leur sortie dans leur fenêtre de commande respective. Visual Studio ferme la fenêtre du diffuseur de publications. Regardez la fenêtre de l'abonné, présentée dans la figure qui suit, puis fermez la fenêtre de l'abonné.
Figure 4. Sortie de l'abonné
Capture d'écran de la sortie du modèle de programme d'abonné

Que faire ensuite

Générez et exécutez le diffuseur de publications et l'abonné asynchrones. Les exemples sont MQTTV3ASample.c et MQTTV3ASSample.c dans racine SDK\SDK\clients\c\samples.


Tâche Tâche

Commentaires

Icône d'horodatage Dernière révision: 2 novembre 2018
http://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mm.tc.doc/com.ibm.mm.tc.doc/tc10150_.htm