我有多个设备(A、B、C)。设备 A 是一个传感器,用于捕获数据并通过本地 Wi-Fi 网络与设备 C (Android) 共享数据。问题在于,接收数据的应用程序只能在Android上运行,而Android不支持同时连接两个网络,因此当C连接到A发出的Wi-Fi时,它可以正确接收A捕获的数据,但是失去互联网连接。我想知道第三台设备 B(Ubuntu 23.10)通过 4G 调制解调器连接到互联网,是否可以连接到 A 广播的 Wi-Fi 网络并通过该 Wi-Fi 网络共享互联网,以便 C 在连接时也有互联网到 A 的 Wi-Fi。
A 不可配置,它是购买的设备,我无法修改任何内容。 A 发出 Wi-Fi 信号并接收数据,需要将 Android 设备 (C) 连接到 A 的 Wi-Fi 网络,以便从其应用程序接收数据。如果 A 可以连接到 C 发布的热点,那么就不会有问题,因为 A 和 C 将连接,并且 C 将保持互联网连接。但是,A 的应用程序不支持该功能,接收 A 捕获的数据的唯一方法是将 C 连接到 A 创建的 Wi-Fi。我想知道是否可以添加另一个设备 (B),其带有支持同时连接网络接口(例如 Ubuntu)并通过 A. 创建的 Wi-Fi 共享互联网的操作系统。
我搜索了很多类似的问题,但没有一个能解决我的问题。在大多数提出的问题中,互联网是通过网线或创建热点来共享互联网的,但是,我需要通过A创建的Wi-Fi网络来共享互联网,而不是创建新的。另一方面,我找到了很多关于桥梁和接合的信息,但也没有取得令人满意的结果。
答案1
确定你的方法
虽然 Ljm 的答案肯定是可行的,但需要做一些解释,但这将是最容易实现的,并且会花费您的时间以及任何受良好支持的 USB Wifi 适配器的成本。 提示:远离包含 Broadcom 芯片组的适配器。尽管 Pi 中的无线 SoC 是基于 Broadcom 的,但 USB 版本的驱动程序已停产。
连接什么
- A - 钓鱼回声测深仪:上下文 -DeeperScan SmartSonar Chirp+2
- B-树莓派
- C - 安卓手机
我们练习的目的是将上述所有三个设备放在同一子网中,正如 Ljm 也提到的那样。简单来说,子网是一个位掩码。该位掩码确定 IP 地址中有多少属于主机,有多少属于客户端计算机。最常见的子网是255.255.255.0
,这意味着 75% 的八位字节属于主机,25% 属于客户端。在 LAN 的情况下,主机是 DHCP 服务器,客户端可以是上述任何设备。
要将这些设备置于同一子网中,DHCP 服务器必须能够同时与所有 3 台设备进行协商。根据我们的评论和您的图片,OP 和我确定A - Fishing Sounder
,并且只有在独立连接的情况下C - Android Phone
才能进行协商。 B - Raspberry Pi
(它们不会同时连接)。
怎么办?
由于B - Raspberry Pi
SoC 的限制:
- 无线卡可以传输/连接到其他网络,或者
- 无线卡可以接收/连接。
因为我们无法摆弄 的内部结构A - Fishing Echo Sounder
,所以只剩下 C - Android Phone
.由于手机(无论品牌如何)使用单独的硬件,它们能够同时连接和连接到其他设备,因此我们颠倒了互联网连接设备。因此,OP 的图片现在看起来像这样:
Internet
==> Android Phone ^
| ^ =======
| | Pi Wireless Adapter ^
| Fishing Echo Sounder <===========================> Raspberry Pi
| |
| Second USB Adapter
| ^
| |
|===========================================================
正如OP还指出的那样,Pi的限制可以通过购买USB无线适配器来克服,但为此我建议在购买之前做好功课,正如我的提示所提到的。购买后,OP 必须确保 Pi 的无线适配器和购买的 USB 适配器都有 IP 地址,这些地址是手动分配的地址,属于A - Fishing Echo Sounder
地址池。
答案2
A 不可配置,它是购买的设备,我无法修改任何内容。
那么这个100%取决于A如何设置。但一切都表明这是不可能的,因为你必须告诉控制你想要加入的网络的A,告诉其他设备使用B来访问互联网。
另外,如果 A 是一些较弱的嵌入式设备,由于网络带宽和 CPU 限制,您绝对不会想用它来路由流量 - 并且它必须在加密设置中这样做。所以,这是双重不可取的。
抱歉,您拥有的设备及其软件对用户不友好,并且不允许您做合理的事情。
请注意,目前最大的僵尸网络是廉价的物联网设备,鉴于其固件质量,这些设备不应该连接到互联网。因此,也许将 A 连接到可访问互联网的网络也不是一个好主意。
答案3
根据您提供的信息,我没有现成的解决方案。这也有点取决于A的配置。所以我只是提出我的思维方式,希望它有所帮助。
A 显然提供了您可以用手机连接的 SSID。 A 还将执行某种形式的 DHCP,为您提供 IP 地址。连接到 A 时,您的 Android 设备将显示类似 IP 地址 192.168.xy 的内容,网络掩码为 255.255.255.z(对于此类设备,z 几乎始终为 0)。
您应该能够将您的 Raspberry Pi (?) 从绘图连接到该子网。然后,您需要将 Pi 配置为某种形式的路由器。
- 您需要对 A 的子网进行 NAT
- 您可以使用 OpenVPN 提供对此特定子网的访问。使用 OpenVPN 将允许您访问设备,只要您的 Openvpn 服务器可访问。
- 确保您没有双 IP 子网。