C++ Mqtt覆盆子皮C++;

C++ Mqtt覆盆子皮C++;,c++,mqtt,raspberry-pi2,mosquitto,C++,Mqtt,Raspberry Pi2,Mosquitto,我想通过使用MQTT协议使raspberry pi成为一个发布者。到目前为止,我已经在我的raspberry pi中安装了mosquitto库,如下所示: 我只需要从中发布int值。 我想问你们的是,在我的C++程序中,如何使用蚊子,这样我就可以实现上述目标? (给我一些指导,链接到我可以找到有用的东西的地方。)使用Python可以更容易地完成(特别是当您使用Raspberry Pi时)。这是一个很好的开始(你可能需要谷歌翻译,因为它是用越南语) 基本上,Raspberry Pi将是MQTT服

我想通过使用MQTT协议使raspberry pi成为一个发布者。到目前为止,我已经在我的raspberry pi中安装了mosquitto库,如下所示:

我只需要从中发布int值。 我想问你们的是,在我的C++程序中,如何使用蚊子,这样我就可以实现上述目标?
(给我一些指导,链接到我可以找到有用的东西的地方。)

使用Python可以更容易地完成(特别是当您使用Raspberry Pi时)。这是一个很好的开始(你可能需要谷歌翻译,因为它是用越南语)


基本上,Raspberry Pi将是MQTT服务器和MQTT客户端,它将订阅您的主题。您的PC将是第二个MQTT客户端,并将发布主题

假设您已经安装了MOSQUITO库。 您可以将mqtt类调用为

try {

    class myMqtt *qr2sp;
    //int rc;
    mosqpp::lib_init();

    qr2sp = new myMqtt ("qr2sp", "pcktatDoor", "192.168.178.100", 1883);

    while (1){

        /// call camera [qrcam()], read QR and send to publish()
        qr2sp->send_msg(qr2sp->qrcam().c_str());

        rc = qr2sp->loop();

        if (rc){
            qr2sp->reconnect();
}
class myMqtt : public mosqpp::mosquittopp
{
  private:
   const char * host;
   const char * id;
   const char * topic;
   int      port;
   int      keepalive;

   void on_connect(int rc);
   void on_disconnect();
   void on_publish(int mid);

  public:
   myMqtt(const char *id, const char * _topic, const char *host, int port);
   ~myMqtt();
   bool send_msg(const char *message);
   std::string qrcam();

};
并且可以将myMqtt类声明为

try {

    class myMqtt *qr2sp;
    //int rc;
    mosqpp::lib_init();

    qr2sp = new myMqtt ("qr2sp", "pcktatDoor", "192.168.178.100", 1883);

    while (1){

        /// call camera [qrcam()], read QR and send to publish()
        qr2sp->send_msg(qr2sp->qrcam().c_str());

        rc = qr2sp->loop();

        if (rc){
            qr2sp->reconnect();
}
class myMqtt : public mosqpp::mosquittopp
{
  private:
   const char * host;
   const char * id;
   const char * topic;
   int      port;
   int      keepalive;

   void on_connect(int rc);
   void on_disconnect();
   void on_publish(int mid);

  public:
   myMqtt(const char *id, const char * _topic, const char *host, int port);
   ~myMqtt();
   bool send_msg(const char *message);
   std::string qrcam();

};
我用C++编写了一个应用程序,使用C++ [http]://GITHUB[.COM/MEABA/QRMQTT


也许会帮助你理解< /p>为什么不用Python?我知道一些C++,但没有Python。我也应该学吗。。我的任务在Python中容易吗?你已经尝试过C++了吗?如果你搜索,有很多例子,尝试一个,如果你有问题,更新问题。如果你知道的话,我找不到这些例子。请把它传下去。谢谢你给我这个。。我将首先尝试学习python,因为我需要从我的pi发布而不是订阅。如果你知道pi是出版商的任何其他例子,实际上它们与教程中提到的非常相似。Python很容易学习,您不需要花费太多时间就能理解教程中的代码。