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

news2024/12/23 6:24:06

0449deee4cb7bb3ff7fbd45b02dfd2d5.png

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

01

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

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

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

wget "https://dl.oray.com/hsk/linux/phddns_5.1.0_rapi_aarch64.deb" -O phddns_5.1.0_rapi_aarch64.deb

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

sudo dpkg -i phddns_5.1.0_rapi_aarch64.deb

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

f8953147b3c3279d8bb18feaca867f91.jpeg

完整执行过程如下:

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/  ,实现和已有的花生壳账号绑定。

44efdbd9ca7c30edc048c0a3ac1941c7.png

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

620458b2fe4fca450744404d9535f015.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1022249.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android 13 CameraMetadata详解1 (内存分布以及增删改查)

文章目录 简介allocate_camera_metadataadd_camera_metadata_entrydelete_camera_metadata_entryupdate_camera_metadata_entryfind_camera_metadata_entry 点赞收藏加关注,下次找我不迷路。 也欢迎关注微信公众号 无限无羡 期待与你的相识! 简介 初识…

【面试必刷TOP101】删除链表的倒数第n个节点 两个链表的第一个公共结点

目录 题目:删除链表的倒数第n个节点_牛客题霸_牛客网 (nowcoder.com) 题目的接口: 解题思路: 代码: 过啦!!! 题目:两个链表的第一个公共结点_牛客题霸_牛客网 (nowcoder.com) …

雷达仿真:FMCW DDMA-MIMO 3D点云获取方法

1.DDMA-MIMO原理 由于TDMA-MIMO采用不同单天线交替发射信号,没有更好的利用发射天线同时工作的发射资源,导致发射功率低以及损耗大,从而使得TDMA波形只能应用在近距离探测的低功率雷达场景。而DDMA波形则能很好的弥补TDMA上述缺点&#xff0c…

为什么用IP访问网站也要使用SSL证书

IP地址SSL证书是一种专门用于公网IP地址验证的数字证书。它可以为公网IP地址提供安全的数据传输保障,解决了IP地址明文传输的安全隐患,保护了IP地址的数据传输安全。 与普通的SSL证书不同,IP地址SSL证书是基于IP地址进行验证的。在申请IP地址…

ssh登录时间久或登陆后报错

情况1 问题描述: ssh登录时间很久,登录后出现abrt-cli status timed out 的报错 问题原因: .lock文件被锁导致 执行systemctl status abrtd.service可以看到被锁的.lock 处理方式: ps -ef | grep pid 找到被锁的进程kill掉…

Java基于SpringBoot的在线考试系统的研究与实现(附源码,教程)

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 第一章第二章.主要技术第三章第四章 系统设计4.1功能结构4.2 数据库设计4.2.1 数据库E/R图4.2.2 数…

Windows安装cuda和cudnn教程最新版(2023年9月)

文章目录 cudacudnn cuda 查看电脑的cuda最高驱动版本(适用于N卡电脑-Nvidia) winR打开命令行,输入nvidia-smi 右上角cuda -version就是目前支持的最高cuda版本 nvidia官网下载cuda 下载地址:https://developer.nvidia.com/cuda…

pip常用指令

文章目录 简介pip的基本用法常用指令查看pip版本安装Python软件包指定版本安装Python软件包pip安装多个Python软件包通过requirements.txt文件批量安装Python软件包pip安装本地whl安装包 下载安装包到本地将已安装的Python软件包信息导出到指定文件中卸载Python软件包查看当前环…

[S2] Challenge 25 心脏病预测

问题 您是一家医疗保健公司的数据科学家,试图创建患者是否患有心脏病的预测因子。目前,您正在试验 11 种不同的特征(潜在心脏病指标)和 XGBoost 分类模型,您注意到它的性能可能会根据其调整方式而发生很大变化。在此挑…

Git学习笔记3

Git分支管理: 先来考虑一个问题: 开发者A开发软件的某一个功能模块, 还没有开发完成,但害怕进度丢失就提交。假设另一位开发者B并不知道A没有完成, 而直接使用了A开发的文件,这造成了问题。 解决方法: 开发者A创建一个属于自己的分支,这个分…

vite+react 使用 react-activation 实现缓存页面

对应的版本 "react": "^18.2.0", "react-activation": "^0.12.4", "react-dom": "^18.2.0", "react-router-dom": "^6.15.0",react-activation 这是一个npm包,在react keep alive…

Linux服务器查看CPU相关信息

文章目录 一、基本概念cpu个数cpu核数超线程技术 二、查看命令查看CPU型号查看物理CPU个数(物理层面)查看每个物理CPU中core个数(核数)查看逻辑CPU个数(逻辑层面) 三、以上概念的关系参考资料 一、基本概念 cpu个数 物理cpu个数…

图神经网络系列之序章

文章目录 一、为什么需要图神经网络?二、图的定义1.图的定义和种类2.一些关于图的重要概念2.1 子图2.2 连通图2.3 顶点的度、入度和出度2.4 边的权和网2.5 稠密图、稀疏图 3.图的存储结构3.1 邻接矩阵3.2 邻接表3.3 边集数组3.4 邻接多重表3.5 十字链表3.6 链式前向…

华为云HECS云服务器docker环境下安装mysql

华为云HECS云服务器,已经安装了docker环境,准备下docker环境下安装mysql。 一、HECS云服务器安装docker 登录华为HECS云服务器,安装docker环境。 安装docker参考如下文章: 华为云HECS安装docker并安装mysql-CSDN博客 二、拉取…

Linux下的Docker安装,以Ubuntu为例

Docker是一种流行的容器化平台,它能够简化应用程序的部署和管理。 Docker安装 1、检查卸载老版本Docker(为保证安装正确,尽量在安装前先进行一次卸载) apt-get remove docker docker-engine docker.io containerd runc 2、Dock…

【栈与队列面试题】用队列实现栈(动图演示)

两个队列实现一个栈 前言: 💥🎈个人主页:​​​​​​Dream_Chaser~ 🎈💥 ✨✨刷题专栏:http://t.csdn.cn/UlvTc ⛳⛳本篇内容:力扣上栈与队列的面试OJ题目 目录 两个队列实现一个栈 队列的实现&#xf…

Java毕业设计-基于SpingBoot的网上图书商城

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1. 简介2 技术栈3.1系统功能 4系统设计4.1数据库设计 5系统详细设计5.1系统功能模块5.1系统功能…

Python 图像处理库PIL ImageOps笔记

# 返回一个指定大小的裁剪过的图像。该图像被裁剪到指定的宽高比和尺寸。 # 变量size是要求的输出尺寸,以像素为单位,是一个(宽,高)元组 # bleed:允许用户去掉图像的边界(图像四个边界&#xff…

APP产品经理的职责(合集)

APP产品经理的职责1 职责: 1、根据部门发展规划、主动发掘业务需求,独立负责线上用户产品线的完整业务规划、产品设计、产品管理等工作; 2、负责协调BD、运营、研发、市场等各部门,共同推进新产品开发,确保产品能够保质按时上线…

C语言指针,深度长文全面讲解

指针对于C来说太重要。然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机硬件以及操作系统等方方面面的基本知识。所以本文尽可能的通过一篇文章完全讲解指针。 为什么需要指针? 指针解决了一些编程中基本的问题。…