wolfmqtt移植 |
您所在的位置:网站首页 › wolves介绍 › wolfmqtt移植 |
1 MQTT介绍
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。 MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。 2 MQTT开源项目网上有很多mqtt的开源项目,根据实际情况选择适合的源码进行移植修改。我们主要选择C语言实现的客户端代码。 开源项目列举如下: 3.1 MQTT源码树 这里我们先来看一下wolfmqtt的源码目录结构。源码主要分布在3个目录中,wolfmqtt中是主要的头文件,src目录中是核心c代码,examples下面有各种平台的示例代码。 3.1.1 顶层目录 3.1.4 测试程序 实现对应平台的网络接口函数,网络接口实现代码位于:mqtt/examples/mqttnet.c,主要实现以下4个网络函数: 这里将MQTT的PRINTF函数替换为平台的dbg_print函数。 3.5 测试程序 3.5.1 示例代码版本 Linux编译:在wolfmqtt的源码顶层目录运行 automake/configure/make命令编译,编译出的可执行文件位于example目录下对应子目录。 Windows编译:使用vs2015(其他vs版本未测试过)编译example下面对应的工程。 测试程序使用方法参考mqtt_show_usage()函数中提示。 4 MQTT 接口版本接口描述 Mqtt初始化 连接mqtt服务器 订阅主题 推送主题消息 Mqtt主循环轮询 Mqtt发送ping包,在掉线后应该发起mqtt ping包 取消订阅 断开连接 Mqtt反初始化 Mqtt 额外命令,比如获取版本等功能 5 工具及其他5.1 mqtt测试后台 网上有很多测试后台程序及开源代码,有需要可以去网上搜索。这里我们调试使用eclipse的后台来做测试。后台配置如下: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |