如何将设备与用户关联?

物联网 亚历克斯 aws-iot
2021-06-05 01:47:59

我正在尝试使用 Arduino 和 Amazon 的服务菜单(Alexa Skill Kit、AWS Lambda 和 AWS IoT)来学习 IoT 开发。我已经取得了长足的进步,但是当我考虑为一组设备实现这些时,我不知道如何解决这个问题:

对于无头设备,您如何将客户的设备与该客户相关联?

每当用户调用您的 Alexa 技能时,您都可以轻松地从 Alexa 获取用户 ID,您可以将数据库中的用户 ID 与客户进行匹配,并可能将其与为该客户注册的设备进行匹配——但是您如何向客户注册设备? 是否必须像让客户在某个 UI 中输入序列号一样?我有一个想法,您可能会使用 OAUTH 从(例如)客户的 Amazon 帐户获取令牌,将其发送到设备,然后让设备将令牌及其自己的标识符呈现给您的数据库。这样,您至少可以在他们关联的帐户和设备之间建立一个链接。

这听起来像是一个合理的方法吗?我还没有找到太多关于将特定设备连接到特定客户帐户的信息,因此非常欢迎任何包含更多信息的链接。

2个回答

许多公司“让客户在某个 UI 中输入序列号”。当您购买设备时,说明通常会要求客户访问公司网站,创建一个帐户,然后输入设备的序列号和/或 MAC 地址。您创建的帐户与连接到设备的任何智能手机应用程序(通常是公司制作的专有应用程序)一起使用。将无头设备链接到您的家庭 ISP 网络是另一个问题。如果它通过 wifi 连接,通常设备以接入点模式发货,并将广播它自己的 wifi 网络,使用 SSID 名称,例如“NewThermostat_12345”。客户连接到这个 wifi 网络,如果他们打开浏览器,强制门户通常会将他们直接带到管理页面,在那里他们可以输入他们的家庭 wifi 网络 SSID 名称和密码。然后设备关闭接入点模式(NewThermostat 网络消失),打开客户端模式,并连接到您的家庭 wifi 网络。

除了两种最常见的方法:

  1. 客户将印在设备上的序列号输入公司门户。
  2. 设备公开 WiFi AP 以进行初始注册。

是第三种并不少见的方法:

  1. 设备响应物理触发形成接近连接。

触发器可能是将磁铁放在附近、轻敲设备、将 IR 灯照射到窗口中,或移除一次性标签。无论触发是什么,它都会导致设备进入调试或注册模式,这使其能够响应某种形式的短距离通信。通常是蓝牙,但也可能是 NFC 或 WiFi。该设备通过此临时通信渠道与客户的智能手机或计算机配对,自动通知其唯一标识,以便客户完成设备注册过程。