干货

MQTT之应用开发

分类名:经验日期:2017-09-14作者:ywlzh
分享到
微博
QQ
微信
LinkedIn

0.mqtt介绍
https://github.com/mcxiaoke/mqtt

1.server端的搭建
    linux 下使用mosquitto 参考链接:
    http://blog.csdn.net/swedenfeng/article/details/53510048
   
   windows下使用Apollo服务器,要事先安装jdk的环境,在环境变量添加java_home的路径。其实我是想要用mosquitto的,可惜在windows下总是有问题,这个apollo很占内存,优点就是可视化,渐渐使用就会明白。如果本地架好服务器,想要推广到外网能访问,可以使用像花生壳之类的内网穿透的软件实现。
       http://www.voidcn.com/article/p-dbaephvi-kd.html
   
    使用免费的云服务器,这个就最好做了,本来想用腾讯云,百度云之类的试试,进去就是长篇大论,这那的,太烦,找到个简单的,而且还有视频教你一步一步搭建。照着来就好。
   https://www.youtube.com/watch?v=zx0kMbwxnak&t=3s
  


2.客户端的实现 

    我用的QT 并且跨平台 windows下,ubuntu,ARM开发板(其实可以当做树莓派,全志的版子)都可以实现。
    先说windows下使用QT开发的过程,不难,github上有qmqtt,可以一用:
    https://github.com/emqtt/qmqtt 

    添加,双击.pro 在里面添加

[backcolor=rgba(27, 31, 35, 0.05)]CONFIG += NO_UNIT_TESTS  

[backcolor=rgba(27, 31, 35, 0.05)]   

执行qmake, 然后对应的debug和release运行下 会在对应的目录里有lib,dll,文件 ,将src,lib,dll添加到QT安装目录里面。
   
           

   按照介绍的方式来写一个调试助手。
1.添加头文件,在.pro说明第三方库
   定义一个类

  QMQTT::Client *_client;//记得要知道何时new 何时delete


2.DNS解析域名

   QString ip_address =ui->line_IP->text();  //这里输入域名
    QHostInfo::lookupHost(ip_address,this, SLOT(slot_get_ip(QHostInfo)));

    跳到槽函数执行host_info.addresses()[0].toString();就是对应的IP地址了


3.连接mqtt服务器

_client->setHost(QHostAddress(ip_address));
        _client->setPort(ip_port);

        _client->setClientId(Clienid);
        _client->setUsername(adm);
        _client->setPassword(passwd.toLatin1());

       // _client->setWillTopic("name1");
       // _client->setWillMessage("name2");
        _client->connectToHost();

  

4.检查是否断开了连接

    _client->isConnectedToHost();


5,订阅主题

   _client->subscribe("主题",0);

  

6.发布消息

   QMQTT::Message msg(0,topic,msgstr.toLatin1());
   topic:主题
   msgstr:消息内容

   

7.大功告成
    
    



3.QT在ubuntu下实现mqtt通信 
    在linux下算是最简单的,mkdir一个目录 

cd
git clone github上的包
qmake
make
make install


    然后再将windows下的工程copy过来,去掉一些边框设计的代码,去掉一些win32API的代码

qmake 
 make

  就可以生成执行文件
  执行
 


4.在ARM开发板上实现

    版子刷的ubuntu mate系统,所以很多操作同ubuntu下是一样的。
    既然刷的ubuntu mate 系统就可以使用apt-get install安装软件。很方便,也很便捷。
  先安装qt开发环境 

   sudo apt-get install qt5-default

  如果只想使用vim编辑 不想安装qtcreator 可以不装,如果安装 sudo apt-get install qtcreator ,接近300MB的空间。

  然后安装mqtt
  还是github上的
  https://github.com/emqtt/qmqtt 
  创建好一个文件夹 然后git clone 如果没装git 安装即可
  好了后 

cd 
qmake 
make 
make 
install

 就这么简单 
  再将ubuntu下的程序原封不动的拷贝过来 
  删除对应的makefile文件 

qmake project
  qmake 
   make

   就可以看到生成了执行文件 执行可以了
      


5.安卓手机APP推荐

安卓手机 推荐使用这个APP  MQTT Example_v1.0_apkpure.com.rar 


关键字:MQTT
阅读原文 浏览量:10892 收藏:0
此内容由EEWORLD论坛网友 ywlzh 原创,如需转载或用于商业用途需征 得作者同意并注明出处

上一篇: 开关电源设计中的矛盾与折中
下一篇: TPS61088-EVM评估板(10A step-up DC-DC )到手简测,效率、纹波和瞬态

评论

登录 | 注册 需要登陆才可发布评论    
评论加载中......
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright ? 2005-2017 EEWORLD.com.cn, Inc. All rights reserved