物联网设备 ID 初始化方案

更新日期: 2021-12-06 阅读次数: 502 字数: 412 分类: 物联网

由于物联网设备上报数据时需要一个设备 ID 来唯一标识自己,所以需要一套 ID 下发方案。

量产需求

  • 控制屏获取设备 ID (即腾讯云 MQTT 用到的设备名),写入本地,并缓存
  • 屏上要能线上这个 ID,方便现场人员查看。用于设备维护,生产测试
  • 小程序通过蓝牙获取控制屏的设备 id,用于拉取设备传感器历史数据

TODO

  • [x] TCP 获取新设备 ID 的接口
  • [x] 更新协议文档
  • [x] 生成随机 Id,并写入数据库
  • [ ] MQTT 客户端订阅主题也需要账号密码?是的 https://cloud.tencent.com/document/product/634/32546
  • [ ] 腾讯云新建设备 API

方案一

控制屏上开机时判断是否有设备 ID,没有的话,调用服务器接口,拉取一个设备 ID,本地保存。

前置条件:

  • 需要设备插入 4G 卡

方案二

上位机从服务端拉取一个设备 ID,写入设备。

前置条件:

  • 一台能联网的上位机
  • 上位机软件

方案三

小程序蓝牙连接设备,判断是否已经有设备 ID,如果没有,由小程序从服务端拉取一个设备 ID,通过蓝牙写入设备。

前置条件:

  • 一台能使用小程序的手机,且可以联网

设备 ID (设备名)

uint32 0 to 4,294,967,295,但是不能为 0.

MQTT 客户端订阅主题也需要账号密码

https://cloud.tencent.com/document/product/634/32546

如果用的是密钥认证,其中的 username 的最后一部分是个时间戳,虽然腾讯云后台添加设备会自动生成这个,但是是有时效性的,需要设备端能自己按照算法生成。如果设备端不支持,也只能服务端生成,再下发给客户端了。

爱评论不评论