2016-08-27 4 views
2

Я хотел бы сделать малину pi издателем только с использованием протокола MQTT. До сих пор я установил библиотеку mosquitto в моем малиновом пи после этого:Mqtt Raspberry PI C++

http://www.instructables.com/id/Installing-MQTT-BrokerMosquitto-on-Raspberry-Pi/

Я только публиковать Int значения от него. Что я хочу спросить, ребята, как использовать москит в моей программе на C++, чтобы я мог достичь своей цели, упомянутой выше? (дайте мне некоторое руководство, ссылки на то, где я могу найти что-то полезное.)

+0

почему don'y вы используете Python? – Nik

+0

Я знаю некоторые C++, но вообще не питон. Должен ли я узнать его также ... будет ли моя задача легкой в ​​python? –

+0

Что вы уже пробовали с C++. Есть много примеров, если вы ищете, попробуйте один и обновите вопрос, если у вас есть проблема. – hardillb

ответ

0

Вы можете сделать это проще с помощью Python (особенно, когда вы используете малину Pi). Этот tutorial хорош для начала (вам может понадобиться перевод Google, потому что он во Вьетнаме).

В основном, Raspberry Pi будет MQTT сервер, а также MQTT клиента, и он будет Подписка ваш Тема. Ваш компьютер будет вторым клиентом MQTT и будет ОпубликоватьТема.

+0

Я ценю, что вы даете мне это. Я сначала попытаюсь изучить python, потому что мне нужно опубликовать из моего пи, не подписываться. если вы знаете какой-либо другой пример, где pi является издателем. –

+0

На самом деле они действительно похожи на то, что упоминалось в уроке. Python прост в освоении, и вам не нужно тратить много времени, чтобы понять код в учебнике. – Nik

0

с предположением, что вы уже установили библиотеку москитов. Вы можете вызвать класс 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(); 
} 

и может объявить класс myMqtt как,

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(); 

}; 

Я написал небольшое приложение с OpenCV и MQTT с использованием C++ - здесь [HTTPS]: // GitHub [.] ком/meAbab/qrMqtt

Вероятно, поможет вам понять

 Смежные вопросы

  • Нет связанных вопросов^_^