物联网设备 ID 初始化方案

文章目录

    由于物联网设备上报数据时需要一个设备 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 的最后一部分是个时间戳,虽然腾讯云后台添加设备会自动生成这个,但是是有时效性的,需要设备端能自己按照算法生成。如果设备端不支持,也只能服务端生成,再下发给客户端了。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式