stm32移植paho_几步实现stm32上面移植mqtt

本文介绍了如何在STM32上移植Paho MQTT库,通过详细步骤和代码示例展示了TCP连接、发布和订阅消息的过程,为物联网设备接入MQTT服务提供了一种解决方案。
摘要由CSDN通过智能技术生成

几步实现stm32上面移植mqtt

热度 2已有 9252 次阅读2016-11-8 15:08

|个人分类:mqtt

最近项目需要,stm32上面使用到mqtt了,百度了下,发现网上资料还是挺少的,虽然有几份相关的资料,下载下来之后,看到了mqtt的底层代码竟然还有错误,这个问题导致了我后面一直调试不通,后来,我直接从官方下载了mqtt的源码用比较器比较后找到了原因,最后果断将官方的mqtt底层代码移植上来,mqtt的发布还是比较顺利,订阅虽然可以收到消息,但是由于没有移植os,发布消息时,订阅接受有时无法收到消息,这个还在优化,我使用的是stm32f103c8t6平台+w5500.其实只要带以太网接口就行。  首先我们从mqtt官方下载源码

http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.embedded-c.git/refs/

下载后将MQTTPacket下面的src文件都加入到自己的MDK工程中。

如果采用W5500的话,最好先用官方的TCP例子将TCP调试通,而且能保证访问外网,可以借鉴下网上那个STM32F405+W5500的例子,我觉得那个还是挺好的,我也是主要借鉴了那个例子,不过我还是不太喜欢他把TCP的建立封装到mqtt里面,一开始我也是采用他那种方法,不过一直出错,后来我采用了状态机实现,先让TCP和mqtt服务器建立TCP连接在调用mqtt的连接,发布等API,这样比较好调试。调试的话,我采用的是下面那个页面调试的http://m2m.demos.ibm.com/mqttclient/#log

其实真正要你实现的mqtt接口,主要是transport.c里面的几个API

int transport_sendPacketBuffer(unsigned char* buf, int buflen)

{

return send(SOCK_MQTT,buf,buflen);

}

/**

* @brief  ×èèû·½ê½½óêÕTCP·tÎñÆ÷·¢ËíμÄêy¾Y

* @param  buf êy¾Y′æ′¢ê×μØÖ·

* @param  count êy¾Y»o3åÇø3¤¶è

* @retval D¡óú0±íê¾½óêÕêy¾Y꧰ü

*/

int transport_getdata(unsigned char* buf, int count)

{

r

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值