openwrt安装mosquitto使之变成一个MQTT中间服务器

 

背景介绍:

很多路由器都可以刷Openwrt系统,MQTT协议是一个很好的物联网协议。于是,在Openwrt路由器上安装一个MQTT中间服务器,就可以把路由器变成“局域网里的物联网中心”。

 

以下是实现方法:

使用pytty登录路由器,依次写下以下命令即可。

opkg update
opkg install mosquitto
opkg install mosquitto-client
opkg install libmosquitto

//后面三个 也可以一起装
//opkg install mosquitto mosquitto-client libmosquitto

安装完记得去路由器的“启动项”里把mosquitto启动一下,并设置成开机启动。以便手机等移动设备可以访问到它。

 

错误处理:

Collected errors: * opkg_install_cmd: Cannot install package mosquitto. * opkg_install_cmd: Cannot install package mosquitto-client. * opkg_install_cmd: Cannot install package libmosquitto. Unknown package 'mosquitto'. Unknown package 'mosquitto-client'. Unknown package 'libmosquitto'. 

 

如果遇到以上错误,多半可能是因为国外的源被墙了,可以换成国内清华的源,搜“OpenWrt软件源清华大学镜像”之类的关键词应该就能找到相关信息。

 

注意源的版本和系统的版本要一致~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
下面是在 OpenWrt 上编译一个简单的 WebSocket 服务器的步骤: 1. 安装 OpenWrt SDK 首先,你需要安装 OpenWrt SDK。你可以到 OpenWrt 官网下载相应的 SDK 版本,然后按照官方文档的指导进行安装。 2. 安装 libwebsockets 库 WebSocket 服务器需要使用 libwebsockets 库。你可以在 OpenWrt SDK 中使用 opkg 安装该库,命令如下: ``` $ cd <path/to/sdk> $ ./scripts/feeds update packages $ ./scripts/feeds install libwebsockets ``` 如果你的 OpenWrt 版本不支持 libwebsockets 库,则需要手动下载源代码,并将其编译到 OpenWrt 中。 3. 编写 WebSocket 服务器代码 下面是一个简单的 WebSocket 服务器代码示例,你可以将其保存为 `websocket_server.c` 文件。 ```c #include <libwebsockets.h> static int callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user, void *in, size_t len) { // 处理 HTTP 请求 return 0; } static int callback_ws(struct lws *wsi, enum lws_callback_reasons reason, void *user, void *in, size_t len) { // 处理 WebSocket 请求 return 0; } static struct lws_protocols protocols[] = { { "http-only", callback_http, 0, 0 }, { "ws", callback_ws, sizeof(int), 0 }, {NULL, NULL, 0, 0} }; int main() { struct lws_context *context; struct lws_context_creation_info info = { .port = 8000, .protocols = protocols }; context = lws_create_context(&info); if (context == NULL) { // 创建 context 失败 return -1; } while (true) { lws_service(context, 50); // 处理 WebSocket 请求 } lws_context_destroy(context); return 0; } ``` 4. 编译代码 接下来,你需要使用 OpenWrt SDK 中的编译工具链编译 `websocket_server.c` 文件。命令如下: ``` $ cd <path/to/sdk> $ make package/libs/libwebsockets/compile V=s ``` 如果编译成功,你将在 `bin/packages/<target>/libwebsockets_*.ipk` 目录下找到编译出来的 IPK 包。 5. 安装 IPK 包 最后,你可以使用 opkg 工具在 OpenWrt 路由器上安装编译出来的 IPK 包。命令如下: ``` $ opkg install <path/to/ipk> ``` 安装完成后,你可以在 OpenWrt 路由器上运行 WebSocket 服务器了。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NewImagery

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值