MT7621加 OPENWRT 移植MQTT(paho.mqtt.c) 进行数据的收发

1. 下载MQTT的代码paho.mqtt.c,https://github.com/eclipse/paho.mqtt.c,咱是从gitHUB上下载的,也可以直接在ubuntu上面,用git clone https://github.com/eclipse/paho.mqtt.c.git 下载

 

2. 下载完成后,看下代码结构

 

3. 编译问题,这套代码需要用到SSL,当然不用也是可以的,就是需要修改根目录下的Makefile,比较麻烦,反正我是修改了Makefile,可以不用SSL的。CC等于交叉编译工具链的目录,在根目录下执行

make CC=/home/qhq/openert_mt7621/toolchain_mipsel_24kc_gcc_8.3/bin/mipsel-openwrt-linux-gcc

就可以开始编译了,中途可能会提示错误,STAGING_DIR没定义,自己去export一下

export STAGING_DIR=/home/qhq/openert_mt7621/toolchain_mipsel_24kc_gcc_8.3/bin:$STAGING_DIR

4. 其中编译的时候出现问题

error: expected declaration specifiers or '...' before numeric constant
 void free(void *);

需要修改根目录下的Makefile文件,去掉-D_GNU_SOURCE

 

基本就可以编译过去了。其他问题可能是SSL的问题了,由于我修改Makefile去掉SSL,所以跳过SSL的问题。

5. 编译完成后,成功的话会生成built文件,里面的.so就是库文件

 

当时比较好奇,.so 和 .so.1 ,.so.1.3什么关系,解释如下,说白了,其中一个是库,另外两个是快捷方式(软链接),都指向这个库,可能有些系统喜欢.so。有些喜欢。so.1,口味不同。反正我都是3个都拷贝到我的MT7621的  /usr/lib ,以防万一

 

接下来把我的应用代码,也拷贝到MT7621里面,执行一下

 

 

平台上收到咱的数据

 

posted @   429512065  阅读(1872)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
历史上的今天:
2018-07-06 调用bash的时候出现curl command not found
2018-07-06 NB-IOT修改KV值的方法
点击右上角即可分享
微信分享提示