社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 9680|回复: 7

[原创] MQTT之应用开发

[复制链接]

1254

TA的帖子

4

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

发表于 2017-9-14 23:16:22 | 显示全部楼层 |阅读模式
如果看这个贴子还不知道mqtt是什么东西的 建议点击下面的链接 先了解了解
https://github.com/mcxiaoke/mqtt

先说明下,这次发的贴子 在单片机上并没有去实现,下次有空,刷下固件再试试,再在楼下补上

先介绍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
   微信截图_20170914231136.png


天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友


回复

使用道具 举报

1254

TA的帖子

4

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

 楼主| 发表于 2017-9-14 23:20:21 | 显示全部楼层
本帖最后由 ywlzh 于 2017-9-15 09:53 编辑

    再说说客户端的实现 我用的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安装目录里面
       微信截图_20170915094051.png

   按照他说的方式 来写一个调试助手
   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服务器
   
  1. _client->setHost(QHostAddress(ip_address));
  2.         _client->setPort(ip_port);

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

  6.        // _client->setWillTopic("name1");
  7.        // _client->setWillMessage("name2");
  8.         _client->connectToHost();
复制代码
  4.检查是否断开了连接
    _client->isConnectedToHost();
   5,订阅主题
   _client->subscribe("主题",0);
  6,发布消息
   QMQTT::Message msg(0,topic,msgstr.toLatin1());
   topic:主题
   msgstr:消息内容
   7.大功告成
   微信截图_20170915095306.png
   
   

天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友


回复

使用道具 举报

1254

TA的帖子

4

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

 楼主| 发表于 2017-9-14 23:21:41 | 显示全部楼层
本帖最后由 ywlzh 于 2017-9-15 10:07 编辑

再占一楼 说明QT在ubuntu下实现mqtt通信
在linux下算是最简单的,mkdir一个目录
cd
git clone github上的包
qmake
make
make install
完了
然后再将windows下的工程copy过来,去掉一些边框设计的代码,去掉一些win32API的代码
qmake
  make
  就可以生成执行文件
  执行
   微信截图_20170915100332.png


天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友


回复

使用道具 举报

1254

TA的帖子

4

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

 楼主| 发表于 2017-9-14 23:23:34 | 显示全部楼层
本帖最后由 ywlzh 于 2017-9-14 23:39 编辑

再占一楼 说明在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
   就可以看到生成了执行文件 执行可以了
   微信截图_20170914233259.png
天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友


回复

使用道具 举报

1254

TA的帖子

4

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

 楼主| 发表于 2017-9-14 23:25:14 | 显示全部楼层
本帖最后由 ywlzh 于 2017-9-15 10:06 编辑

安卓手机 推荐使用这个APP MQTT Example_v1.0_apkpure.com.rar (152.73 KB, 下载次数: 2)
天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友


回复

使用道具 举报

3

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-11-15 18:04:44 | 显示全部楼层
提供一下代码吧,最近想用QT开发安卓,把mqtt加进去,不知道怎么搞


回复

使用道具 举报

3

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-11-15 18:05:43 | 显示全部楼层
window下面的mqtt已经可以了,但是好像不是这个步骤,希望提供下代码参考下


回复

使用道具 举报

3

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-11-15 18:07:16 | 显示全部楼层
楼主的那个安卓是用qt写的么?


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则