Я хотел бы сделать RasPberry Pi издателем только с использованием протокола MQTT. До сих пор я установил библиотеку mosquitto в мой Raspberry Pi, выполнив следующие действия:
http://www.instructables.com/id/Installing-MQTT-BrokerMosquitto-on-Raspberry-Pi/
Мне останется только опубликовать значения int из него.
Ребята, я хочу спросить вас, как я буду использовать mosquitto в моей программе на c ++, чтобы я мог достичь своей цели, упомянутой выше?
(дайте мне несколько советов, ссылки, где я могу найти что-то полезное.)
Вы можете сделать это проще с помощью Python (особенно когда вы используете Raspberry Pi). это руководство хорошо начать с (вам может понадобиться Google переводчик, потому что он на вьетнамском языке).
По сути, Raspberry Pi будет MQTT-сервером, а также MQTT-клиентом и будет Подписывайся ваш Тема. Ваш ПК будет вторым клиентом MQTT и будет Публиковать Тема.
с предположением, что вы уже установили библиотеку комаров.
Вы можете вызвать класс 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 [.] Com / meAbab / qrMqtt
Наверное, поможет вам понять