如何将你在树莓派上部署的 IoT 物联网 MQTT 服务发布到公网?

上一章,你成功的在树莓派搭建了 EMQX 开源社区版,用来提供 MQTT 服务,并验证了设备端接入和消息通信。但你发现只能在局域网内访问 emqx.local服务,而 IoT 设备分布在全国各地公共网络环境,这些设备该如何接入呢?

01

在树莓派安装花生壳客户端

你需要借助内网穿透服务将树莓派上部署的 MQTT 服务发布到公共网络。花生壳软件提供内网穿透、端口映射服务,为全球1800多万用户提供DDNS动态域名解析服务,支持外网访问内网服务器,为用户提供免费动态域名申请,软件下载,域名解析,解析教程等服务。

首先,我们SSH登陆到树莓派,下载花生壳 5.1.0 版本

nginx 复制代码
wget "https://dl.oray.com/hsk/linux/phddns_5.1.0_rapi_aarch64.deb" -O phddns_5.1.0_rapi_aarch64.deb

下载完成后,执行如下命令,进行安装

css 复制代码
sudo dpkg -i phddns_5.1.0_rapi_aarch64.deb

安装成功后,你会获取到花生壳账号的 SN 和 Password

完整执行过程如下:

ruby 复制代码
emqx@emqx:~ $ wget "https://dl.oray.com/hsk/linux/phddns_5.1.0_rapi_aarch64.deb" -O phddns_5.1.0_rapi_aarch64.deb
--2023-08-11 17:35:42--  https://dl.oray.com/hsk/linux/phddns_5.1.0_rapi_aarch64.deb
正在解析主机 dl.oray.com (dl.oray.com)... 61.164.147.237, 122.225.213.251, 122.225.213.252, ...
正在连接 dl.oray.com (dl.oray.com)|61.164.147.237|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:207394 (203K) [application/octet-stream]
正在保存至: "phddns_5.1.0_rapi_aarch64.deb"


phddns_5.1.0_rapi_aarch 100%[=============================>] 202.53K  --.-KB/s  用时 0.05s   


2023-08-11 17:35:44 (3.75 MB/s) - 已保存 "phddns_5.1.0_rapi_aarch64.deb" [207394/207394])


emqx@emqx:~ $ sudo dpkg -i phddns_5.1.0_rapi_aarch64.deb
正在选中未选择的软件包 phddns。
(正在读取数据库 ... 系统当前共安装有 99512 个文件和目录。)
准备解压 phddns_5.1.0_rapi_aarch64.deb  ...
正在解压 phddns (5.1.0) ...
正在设置 phddns (5.1.0) ...
Created symlink /etc/systemd/system/multi-user.target.wants/phtunnel.service → /lib/systemd/system/phtunnel.service.
Installation, please later...
Successful installation of Phddns Service.


 +--------------------------------------------------+
 |           Oray Phtunnel Raspberry 5.1.0          |
 +--------------------------------------------------+
 |  SN: orayce81243ca57e   Default password: admin  |
 +--------------------------------------------------+
 |    Remote Management Address http://b.oray.com   |
 +--------------------------------------------------+

你可以通过如下命令来管理花生壳客户端

|----------------|---------|
| 命令 | 功能 |
| phddns start | 启动服务 |
| phddns status | 查看状态 |
| phddns stop | 停止服务 |
| phddns restart | 重启服务 |
| phddns reset | 重置服务 |
| phddns enable | 开机自启动 |
| phddns disable | 关闭开机自启动 |
| phddns version | 查看版本 |

02

配置内网穿透服务

当你安装好花生壳客户端后,使用生成的 SN 和 Password 登陆 http://b.oray.com/ ,实现和已有的花生壳账号绑定。

绑定成功后,在设备列表 你可以看到树莓派的 SN 标识。

相关推荐
老孙讲技术13 小时前
把工地遮挡和掉线接进项目部:setMessageCallback 订 alarm 与 deviceStatus
后端·物联网·音视频开发
老孙讲技术13 小时前
关店后有人进门,监控值班群却没响:用 setMessageCallback 订 human,再用 aiHuman 打开人形
后端·物联网·音视频开发
老孙讲技术13 小时前
把园区几百路摄像头收进值班台账:bindDevice 入账与 listDeviceDetailsByPage 翻页
后端·物联网·音视频开发
老孙讲技术13 小时前
把没网没电的户外点位接进出画值班台:unBindDeviceInfo 核 SIMCard 与 bindDeviceLive
后端·物联网·音视频开发
数字新视界1 天前
DCIM管理系统的技术架构与部署模式详解
数据库·物联网·数据中心·数据中心基础设施管理·dcim管理系统
jianqiang.xue2 天前
智能体整体架构设计:四大模块与目录组织
单片机·嵌入式硬件·物联网·架构·esp32
pnoker2 天前
从零部署 IoT DC3:四步快速启动实录
物联网·docker·部署
pnoker2 天前
IoT DC3 AI 能力:Agentic Center 的设计与边界
java·人工智能·物联网·大模型·spring ai
pnoker2 天前
IoT DC3 消息总线:六适配器可插拔设计
物联网·架构·kafka·消息队列·rabbitmq
桃蹊、2 天前
串口/网络透传实战:FreeRTOS 多任务架构与连接池设计
stm32·物联网·wifi·freertos