移动时将您的 Pi 连接到互联网

物联网 联网
2021-06-25 03:14:01

因此,我正在开展一个项目,在该项目中,我已经拆掉了我小时候拥有的旧式 1/10 比例赛车手推车的所有 RC 相关部件,并用一些 Arduino 和 GPS 替换了这些部件,以创建超级基本的自动驾驶汽车。我想添加 Raspberry Pi Zero W 作为板载基站,通过我稍后将使用我的服务器设计的 Web 应用程序进行数据记录和网络控制。

我担心的是,除了从 Verizon 或 AT&T 获得某种数据盒并为我不想要的合同支付巨额的月费之外,我不确定是否还有其他便宜的选择。

那么我有哪些选择可以让我在蜂窝网络上使用 Pi 而不会花费我一条胳膊和一条腿?

2个回答

您可以使用 Sigfox 或 Lora,但是,它每天只能发送少量消息,因此您将无法流式传输或发送实时命令。而且它也不是免费的,但是很便宜。但是,如果您没有 Internet 提供商或 GSM 提供商,则无法连接。

我做过一个项目,曾经用 Sigfox 网络做同样的事情,我有一个服务器,并使用 GPS 位置和传感器数据向它发送数据。该位置是使用谷歌地图的 javascript API 显示的。这不是一项艰苦的工作,但它不是“流媒体”位置,因为 Sigfox 网络不是为它设计的。(每条消息至少计算 15 秒)

我认为Electron by Particle 可能是您正在寻找的东西。Electron 允许您构建可以连接到 2G 或 3G 移动无线网络的设备。

在之前的评论中,您提到您每月的数据使用量可能不会超过 1 兆字节的数据。使用 Electron,您每月需要支付 2.99 美元(包括第一个兆字节)的基本费率,然后每额外增加 0.99 美元

从技术角度来看,Electron 连接到 Particle 的云并与其交换消息。然后,您可以通过从您的网络应用程序向 Particle 的云发送 HTTP 请求,通过您的网络应用程序控制 Electron。Electron 具有 GPIO 引脚(也用于串行/UART 通信),因此您可以根据需要将其与 Raspberry Pi 连接 - 有关更多信息,请访问此处

在一般情况下,您和 Electron 之间的通信应如下所示:

  1. 编写一个处理 Electron 命令的函数:
int callRaspberry(String command) {
    //handle communication here
}
  1. 在设置期间注册以前的功能:
void setup()
{
   Particle.function("callRaspberry",callRaspberry);
}
  1. 向 Particle 的云发出请求,以调用 Electron 上的函数:
curl https://api.particle.io/v1/devices/<DEVICE_ID>/callRaspberry \
  -d access_token=<YOUR_ACCESS_TOKEN> \
  -d arg=<COMMAND_VALUE>

可以在此处找到更多代码示例

我也看到Hologram提供与 Electron 类似的设备,而且它们的服务价格也更便宜。你可以在这里找到一些比较