总而言之,您需要一个在汽车或公共汽车上行驶的 Arduino 向传感器发送一些数据。
首先你要搞清楚你是实时需要这些数据,还是可以在驱动的过程中采集,最后发送到服务器。
如果您需要实时,那么我们可能会排除 WiFi,除非您 1000% 确定始终有 WiFi 覆盖(也许是新加坡?)。
这给我们留下了公共电话网络。您可以决定成本/电池寿命(除非您将决定由车辆供电),是将 SIM/GSM 模块添加到 Arduino,还是将温度传感器添加到廉价的 Android 手机。
您可以在此处寻求建议,但在Hardware Recommendations Stack Exchange 中可能会更好。在任何一种情况下,请明确您想要什么,以及哪些功能优先于其他功能。
您的问题是关于将数据从车辆推送到服务器。有很多使用 SMS 的解决方案,通常是因为它更便宜,但您可能应该只使用 HTTPS 和您自己设计的标准CRUD RESTful API(除非服务器已经指定了一个 API)。
如果你能等到行程结束,那么当车辆回到基地时你就可以使用WiFi。
既然你说到巴士,你可能想要冒险。当公共汽车四处行驶时,它们可能会存储数据,直到它们到达 WiFi 点并传输它。
或者,直到他们经过另一辆公共汽车。
这是我对这个问题的回答的轻微改写- 尝试将斑马视为公共汽车:-)
基本上,TCP/IP 会丢弃无法传送的数据包,而延迟/中断容忍网络(维基百科版本)将存储和转发。
因此,如果您的总线没有 WiFi 连接,它会等待,直到它有,或者直到它通过另一条总线,然后可能将数据包发送到另一条总线,而另一条总线可能必须存储,直到它可以有 Wifi ,然后最终转发数据包。
从广义上讲,当总线相互经过时,它们会说“嘿,如果你有一些 WiFi 接入,你能把这些数据传递给服务器吗?”。
已经有许多现有的项目使用 DTN,首先是著名的 zebranet(谷歌用于 zebranet 野生动物追踪)。
我自己开发了一些这样的项目,但不允许讨论它们。
我相信一点点想象力和一些 Raspberry Pi Zero Ws 会让你为自己开发一个有趣的项目