- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我打算创建一个非常简单的家庭\办公室监控系统,我将能够在 Raspberry Pi 上使用 Mosquitto 代理连接传感器。传感器会将数据发布到代理,我将能够以订阅者的身份查看数据。
我有一个发布者,它定期向同一 LAN 网络中家中的 Raspberry Pi(Mosquitto 代理)发布消息。但我想将位于我办公室的传感器连接到同一个代理,因此只能在线连接。
我目前面临的问题是我想将传感器连接到 Raspberry Pi,但由于硬件的限制,我需要通过 Internet 进行连接。如何连接传感器以从 LAN 网络外部发布到驻留在 Raspberry Pi 中的代理?我刚查了一下,我的公共(public) IP 地址下可能有数千个地址,我怎么知道哪个是我的并连接到它?!
最佳答案
在某种程度上取决于您的家庭网络。如果您的 ISP 使用所谓的“Carrier Grade NAT”(由于现在几乎没有可用的 IPv4 地址这一事实而越来越普遍),您将无法从 Internet 连接到您的本地网络。
否则您可以向内建立连接,因此您的远程传感器只需要一个 TCP/IP 连接。 我们需要更多关于传感器的信息来向您展示如何做到这一点。要查找您的公共(public) IP 地址,请访问 https://www.whatismyip.com/从本地网络上的计算机。 (要了解您是否受困于运营商级 nat,请询问您的 ISP 或对您的公共(public) IP 地址进行反向查找,您可能会知道)。您还需要在路由器上配置防火墙,以便它允许入站连接到您选择的端口(在外部)并将其映射到 Pi 的内部 IP 地址和在 Mosquitto 上配置的用于处理 MQTT 流量的端口。
对于运营商级 NAT,或者如果您无法配置路由器的防火墙以允许传入连接,您应该在 Internet 上的某个地方使用另一个 MQTT 代理。然后配置您的 Pi 代理以桥接到 Internet 代理。
Owntracks documentation有一个快速教程。 Mosquitto 文档中也提供了有关如何执行此操作的信息。
在这种情况下,您的 Pi 代理正在建立到互联网的连接,如果您没有过度阻止传出流量,这在任何 WAN 上都可以正常工作。
无论哪种情况,都不要忘记互联网上的任何流量都是不安全的。您将需要设置 SSL 证书以及用户名/密码组合以保护流量。
关于raspbian - 通过 Internet 连接到安装在 Raspberry Pi 上的 MQTT 代理 (Mosquitto),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34920609/
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在使用带有Grove Pi +(1.2.2固件)的Raspberry Pi 3 B模型和用于Robots Image的Raspbian。 我在I2C-1端口中插入了多 channel 气体传感器,
这看起来非常简单,但我似乎无法弄清楚如何将 -Pi 和 Pi 之间的角度映射到 0 到 2Pi 的范围内。我尝试使用 np.select 但由于某种原因它卡住了我的程序。我需要这个范围内的角度,因为它
在使用 SciPy 和 NumPy 的项目中,我应该使用 scipy.pi , numpy.pi , 或 math.pi ? 最佳答案 >>> import math >>> import numpy
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-topic
我有一个运行 Raspbian 的 Raspberry Pi 1。我尝试在 Raspberry Pi 3 上运行 SD 卡,但它没有启动。 我已经阅读了有关升级 Raspberry Pi 2 安装以在
#include using namespace std; #define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #d
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我目前正在尝试RadiusNetworks发布的Raspberry Pi iBeacon教程,网址为 http://developer.radiusnetworks.com/2013/10/09/ho
我无法在运行Raspbian的Raspberry Pi 3上安装我创建的 Electron 应用程序。我已经使用了electronic-packager来创建软件包,然后创建了一个debian安装程序
我想在Linux上为Raspberry Pi 1设置交叉编译环境。 特别是我想尝试最新版本,即Raspbian测试+ Qt5开发分支。 这个问题: How can I create a modern
我想要从我的 Raspberry Pi Zero 到手机的低延迟流式传输。据我了解,移动浏览器不支持 RTMP 流式传输,HLS 流式传输具有高延迟,而 webRTC 是我最好的选择。 有谁知道从零开
我的公司使用 Raspberry Pi 3 作为产品中的嵌入式 Controller 。用户不会优雅地关闭它,他们只是扳动一个开关。为避免损坏,/boot 和/root 文件系统是只读的。这似乎是防弹
如何使用 Raspberry Pi 作为 b/w USB Tethered 手机和路由器的桥接器,使用“以太网电缆 b/w Raspberry Pi 和路由器”和“USB 电缆 b/w 手机和 Ras
我正在尝试在Raspberry Pi 3上安装Rakudo Star 2018.04。 我做: sudo perl Configure.pl --gen-moar --gen-nqp --prefix
我正在寻找一些可以有效完成的不错的 C 代码: while (deltaPhase >= M_PI) deltaPhase -= M_TWOPI; while (deltaPhase T Mod(T
我正在尝试为 raspberry Pi 构建跨环境以在 Eclipse CDT for windows 上构建二进制文件。 我得到了用于访问 GPIO 的 Wiring Pi,我需要使用“Window
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我正在寻找一些可以有效完成的不错的 C 代码: while (deltaPhase >= M_PI) deltaPhase -= M_TWOPI; while (deltaPhase T Mod(T
这个问题在这里已经有了答案: C: How to wrap a float to the interval [-pi, pi) (15 个答案) 关闭 9 年前。 我想知道是否可以定义一个只能取 -
我是一名优秀的程序员,十分优秀!