可扩展的 Arduino ESP32 IoT 项目(拥有大量用户)

物联网 MQTT 阿杜伊诺 aws-iot
2021-06-10 13:39:36

我计划创建一个测量距离的 Arduino 设备,并通过 WIFI 将数据发送到 AWS IOT。之后,我想在 Android 或 iphone 应用程序上查看测量结果。

我怎样才能让我的想法与大量用户一起工作?我的意思是,假设我卖出了 100 台设备,每个买家将如何连接到他自己的设备?

我在想每个 Arduino 都会有一个唯一的 ID/UUID,但是我如何使用 AWS IOT 做到这一点?我应该使用其他服务器/MQTT平台吗?

我正在使用 Arduino ESP32。

2个回答

你似乎在寻找什么叫做provisioning,这是一个相当复杂的主题,你可以从这个随机挑选的亚马逊页面中看到您开始考虑大规模部署是正确的,并且您可能还想开始考虑其他相关活动(如何禁止被篡改的设备,如何在不需要 OTA 固件的情况下跟踪设备),用户可以转让/出售设备吗(如果您的商业模式是出售而不是出借)。

您有几个选择:

  • 设备可以预配置发货
  • 设备由最终用户注册
  • 您根据了解用户拥有的设备来处理用户的注册

请放心,任何真正的物联网平台都会为服务的这方面提供答案。也许具有不同的完整性,但它是相当基本的东西。

您可以使用设备 MAC 作为设备的唯一标识符。构建您的 MQTT 主题,使设备唯一标识符成为主题的一部分,然后使用 ACL(访问控制列表)来限制对相应主题的订阅/发布。我通过这种方法使用 Mosca MQTT 代理并以这种方式处理 10+K 个设备。