MQTT协议应用实例
引子:很久以前就知道MQTT协议了,也知道该协议主要应用到物联网上,具备很多特点,但是一直是处于不知其意状态。今天有幸看到了一篇博文,然后自己将该博文里面的内容操作了一遍,同时将手上的CC3200开发板连接到CloudMQTT代理服务器上,以CC3200为客户端,订阅三个主题(控制三个LED灯),发布两个主题(按键SW2,SW3)。当然这也是有参考文献的,很久之前就做过实验,不过那时都是似懂非懂,今天重新理了一下,感觉大快人心。
参考博文:
1.MQTT学习笔记——MQTT协议体验 Mosquitto安装和使用
2.一步一步学习CC3200与MQTT服务器通讯
//#define PORT_NUMBER 1883
#define PORT_NUMBER 17020
#define MAX_BROKER_CONN 1
#define SERVER_MODE MQTT_3_1
/*Specifying Receive time out for the Receive task*/
#define RCV_TIMEOUT 30
/*Background receive task priority*/
#define TASK_PRIORITY 3
/* Keep Alive Timer value*/
#define KEEP_ALIVE_TIMER 25
/*Clean session flag*/
#define CLEAN_SESSION true
/*Retain Flag. Used in publish message. */
#define RETAIN 1
/*Defining Publish Topic*/
#define PUB_TOPIC_FOR_SW3 "/cc3200/ButtonPressEvtSw3"
#define PUB_TOPIC_FOR_SW2 "/cc3200/ButtonPressEvtSw2"
/*Defining Number of topics*/
#define TOPIC_COUNT 3
/*Defining Subscription Topic Values*/
#define TOPIC1 "/cc3200/ToggleLEDCmdL1"
#define TOPIC2 "/cc3200/ToggleLEDCmdL2"
#define TOPIC3 "/cc3200/ToggleLEDCmdL3"
/*Defining QOS levels*/
#define QOS0 0
#define QOS1 1
#define QOS2 2
{
{
{
{
SL_MQTT_NETCONN_URL,
SERVER_ADDRESS,
PORT_NUMBER,
0,
0,
0,
NULL
},
SERVER_MODE,
true,
},
NULL,
"user1",
//NULL,
//NULL,
" User",
" Password",
true,
KEEP_ALIVE_TIMER,
{Mqtt_Recv, sl_MqttEvt, sl_MqttDisconnect},//huidiaohuanshu
TOPIC_COUNT,
{TOPIC1, TOPIC2, TOPIC3},
{QOS2, QOS2, QOS2},
{WILL_TOPIC,WILL_MSG,WILL_QOS,WILL_RETAIN},
false
}
long pay_len, bool dup,unsigned char qos, bool retain);//cc3200作为客户端的接受函数,该函数内,会对接受的消息进行处理,来触发函数5,以实现控制LED的功能。
2、static void sl_MqttDisconnect(void *app_hndl); //断开连接
4、void pushButtonInterruptHandler3();
6、void TimerPeriodicIntHandler(void); ?//心跳函数,当服务器代码没有收到发布者和订阅者的消息时,服务器会与客户端会维持心跳连接
7、void MqttClient(void *pvParameters);//客户端程序,此程序功能为:
2. Initializes the mqtt library and set up MQTT connection configurations
3. set up the button events and their callbacks(for publishing)
4. handles the callback signals
MQTT协议应用实例相关推荐
- MQTT协议学习:3、MQTT客户端实例
MQTT协议学习:3.MQTT客户端实例 文章目录 MQTT协议学习:3.MQTT客户端实例 1. 前言 2. Paho MQTT (1). Go客户端实例 (2). Python客户端实例 (3). ...
- Android Mqtt协议(连接、发布、订阅)实例、亲测可用
实现步骤: 1.项目根目录build.gradle中添加: allprojects {repositories {...maven{ url "https://repo.eclipse.or ...
- 基于mqtt协议的消息推送服务器,基于 MQTT 协议的推送服务
一.简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级& ...
- 云服务器mqtt协议,云服务器mqtt协议
云服务器mqtt协议 内容精选 换一换 IPv6的使用,可以有效弥补IPv4网络地址资源有限的问题.如果当前云服务器使用IPv4,那么启用IPv6后,云服务器可在双栈模式下运行,即云服务器可以拥有两个 ...
- 阿里云物联网平台 > 设备接入 > 使用开放协议自主接入 > MQTT协议接入 >
MQTT-WebSocket连接通信 更新时间:2020-09-08 16:57:21 编辑我的收藏 本页目录 背景信息 操作步骤 物联网平台支持基于WebSocket的MQTT协议.您可以首先使用W ...
- 转:XMPP协议、MQTT协议、HTTP协议、CoAP协议的基本比较
一.先看下相关国外的专业数据对四大协议的比较: Protocol CoAP XMP ...
- mqtt协议 阿里云物联网平台
mqtt协议 阿里云物联网平台 MQTT报文结构 MQTT---CONNECT连接服务器报文 固定报头 可变报头 有效载荷 客户端ID 用户名 密码 转换 通过网络调试助手连接阿里云服务器 远程主机地 ...
- ESP8266连接阿里云--MQTT协议
ESP8266连接阿里云–MQTT协议 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(Publish/Subscr ...
- 【4G模块】中移物联ML302 + GD32F407 使用支持MQTT协议AT指令接入阿里云物联网平台
目录 〇.目的.GD32.ML302相关简介 0.目的: 1.ML302: 2.LTE Cat.1: 3.GD32F407 一.GD芯片创建工程写驱动:LED.串口4.4G模块 1.创建工程 2.LE ...
最新文章
- LeetCode Decode String(栈和递归)
- Windows之Chocolatey:windows下的apt-get即Chocolatey简介、安装、使用方法之详细攻略
- OpenCV使用Kinect和其他OpenNI兼容的深度传感器
- EF增删查改加执行存储过程和sql语句,多种方法汇总
- xshell终端中文乱码解决
- 王者归来!C语言击败Python勇夺“2019年度编程语言”冠军
- python3和php7哪个好_性能是Flask的3倍!比PHP7还快!这个Python框架你值得拥有!
- Tomcat 或JBOSS java.lang.ArrayIndexOutOfBoundsException: 8192 解决方案【转】
- 国庆活动延长三天!快来领取你的数据技术嘉年华门票!
- ssm项目配置文件中的包扫描bean,排除特定bean的扫描
- Excel表中的数据导入到数据库中
- mongo与sql对比--来自网上
- WPF/Silverlight深度解决方案:(四)基于像素的图像合成(For WPF)
- Java方法重载注意事项
- base64的原理及优缺点
- BIM信息化综合管理运营平台、BIM模型、数据首页、工单管理、建设建筑、工单信息、设备管理、工地、设备台账、运维标准、巡检管理、巡检计划、巡检任务、维保管理、能耗管理、3d模型、文档管理、工作日报
- journalctl日志工具使用方法
- redis 中pipline,mset, mget使用对比
- 接地电阻检测项目带电检测技术方案
- Linux文件加密系统-eCryptfs
热门文章
- 消息中间件----内存数据库 Redis7(第3章 Redis 命令)
- [PL/SQL] 请教大家一个问题,存储过程中需要几个commit?
- java实现word文件和xml文件互转
- 操原作业(一)之Ubuntu编译新内核
- 解决Themida加壳程序在VMware虚拟机无法运行问题_HS_TMD
- android opengl es 圆锥纹理贴图
- 蓝色满天星中的小白兔
- 杜克大学计算机专业本科入学条件,杜克大学计算机专业基本信息详解以及入学要求汇总介绍...
- 小白也能看懂的网络基础 | 02 什么是连接设备?
- java咖啡标志_50个包含咖啡的创意LOGO设计