第 1-7 课:设备禁用与删除_设备禁用删除可以在什么平台实现-程序员宅基地

技术标签: MQTT  EMQ  从 0 开始搭建 IoT 平台  物联网  IoT  

在这一节中,我们来设计和实现设备生命周期管理中的禁用和删除功能。

设备禁用

设备禁用的逻辑很简单,业务系统可以通过一个接口暂停设备的接入认证,被禁用的设备无法接入 IotHub;业务系统也可以通过一个接口恢复设备的接入认证,使设备可以重新接入 IotHub,这里还暗含着另外一个操作,在禁用设备的时候,如果这个设备已经接入 IotHub,且是在线状态,那么需要将这个设备踢下线。接下来我们来一步一步实现这些功能。

Server API

首先在 Device 模型里加一个字段,来标识设备当前是否可以接入 IotHub:

// IotHub_Server/models/Device.js
const deviceSchema = new Schema({
    //ProductName
    product_name: {
        type: String,
        required: true
    },
    //DeviceName
    device_name: {
        type: String,
        required: true,
    },
    //接入EMQX时使用的username
    broker_username: {
        type: String,
        required: true
    },
    //secret
    secret: {
        type: String,
        required: true,
    },

    //可接入状态
    status: String
})

创建设备时默认状态为 active:

//IotHub_Server/routes/device.js
router.post("/", function (req, re
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sufish/article/details/109335157

智能推荐

移动开发测试工具——Bugtags的集成-程序员宅基地

文章浏览阅读134次。移动开发测试工具——Bugtags官网:https://bugtags.com/注册开发者账号 注册账号并激活邮箱,都会就不多做介绍了。创建应用 创建完账号以后会提示添加应用,点击添加 添加应用 创建成功集成官方集成文档(需要登录):https://bugtags.com/console/apps/..._bugtags官网

将PHP CodeSniffer与WordPress结合使用:安装和使用WordPress规则-程序员宅基地

文章浏览阅读251次。如果您只是加入本系列,我们一直在讨论代码气味,如何重构它们的话题,以及可用来帮助我们自动完成随之而来的一些单调性的工具,尤其是在PHP编程中。 如果您还没有阅读本系列的前两篇文章,我建议您这样做,因为它们涵盖了我们在继续本文其余部分之前已经具备的一些先决条件。 这些文章是: 将PHP CodeSniffer与WordPress结合使用:了解代码气味 将PHP CodeSnif..._"/vendor/bin/phpcs\" --version"

互联网各大厂的中台建设怎么样了?腾讯/百度/头条/滴滴/小米...-程序员宅基地

文章浏览阅读559次。点击蓝色字体“肉眼品世界”,关注公众号深度价值体系传递文|技术领导力社区中台组编辑| Emma01腾讯:中台战略,All in产业互联网自去年CSIG成立以来,腾讯通..._小米 中台建设 瓶颈

Spring JPA 使用 NOT IN 查询_jpa not in-程序员宅基地

文章浏览阅读9.9k次,点赞3次,收藏4次。List<String> useridList = new ArrayList<>(); //需要注意的是这个位置 new ArrayList<>(); useridList 存的是 not in 中的参数Repository 接口中方法第一种带分页public Page<UserEntity> findByIdNotIn(..._jpa not in

在linux安装软件错误:无法open;没有那个文件或目录,Linux上安全软件导致出现cpio: open 失败 - 没有那个文件或目录...-程序员宅基地

文章浏览阅读3.4k次。近日笔者在一台linux服务器上安装vnc-server,却莫名奇妙的遇到了以下问题;错误:解压压缩文件在文件/etc/rc.d/init.d/vncserver;56655132失败:cpio:open失败-没有那个文件或目录错误:vnc-server-4.1.2-14.el5_6.6.x86_64:安裝已失败我最先关注的是这个错误:没有那个文件或目录,这个错误在linux操..._cpio: open

测试代码的坏味道-程序员宅基地

文章浏览阅读3.5k次。测试代码才能真正体现开发人员的水平。追求技术卓越是采用敏捷的第一成功要素。—— Jeff Sutherland 敏捷宣言创始人之一Phodal: “你为什么写测试?”开发人员 A:“为了..._代码检测 坏味道

随便推点

linux ping策略打开_linux ping策略打开_如何在Linux服务器禁止和开启ping包 互联网技术圈 互联网技术圈......-程序员宅基地

文章浏览阅读81次。临时允许ping命令可使用命令:echo 0 >/proc/sys/net/ipv4/icmp_ignore_all :0,代表允许;1,代表禁止1,查看当前设置:[root@k4622v /root]# more /proc/sys/net/ipv4/icmp_echo_ignore_all0科技看到为0,为此我们可以ping一下试试2,使用ping命令测试C:\Users\adminis..._linux开通ping策略

IDC许可证是什么,如何办理IDC增值电信业务经营许可证年报_idc业务年报申报-程序员宅基地

文章浏览阅读291次。IDC许可证有地网和全网之分,地网在公司所在地通信管理局申请,全网在中华人民共和国工业和信息化部申请。一、申请企业要满足四项基本条件(涉及到地网,因各地通信管理局会根据本地具体业务发展情况制定特色要求,下列关于地网的要求仅供参考,个别省份未必适用):1、注册资金全网1000万元(实缴认缴均可),地网100万元(实缴认缴均可);2、申请公司至少要有三名员工并且可以提供近一个月的社保证明(需申请主体自行缴纳,劳务派遣不可);3、申请公司股东逐级追溯不得包含外资成分,注意是逐级追溯,也就是说你股东的_idc业务年报申报

pta6-1 快速排序_给一个无序表,使用快速排序算法对它进行排序。 函数接口定义: int partition(sqli-程序员宅基地

文章浏览阅读4.3k次,点赞4次,收藏12次。6-1 快速排序 (15分)给一个无序表,使用快速排序算法对它进行排序。函数接口定义:int Partition(SqList &L,int low,int high); void QuickSort(SqList &L, int low, int high);其中L是待排序表,low和high是排序的区间。裁判测试程序样例:#include <iostre..._给一个无序表,使用快速排序算法对它进行排序。 函数接口定义: int partition(sqli

IDEA git操作技巧大全,持续更新中_idea上的git操作-程序员宅基地

文章浏览阅读4.5k次,点赞81次,收藏240次。IDEA git操作大全,cherry pick、revert、squash等等,持续更新中......_idea上的git操作

sublime text3 python找不到文件路径_Sublime text 3 集成python 3 环境配置-程序员宅基地

文章浏览阅读322次。介质版本:Python 3.6Sublime Text 3包括:sublime字体配置。常用插件:Package Control、SublimeCodeIntel、SublimeREPL、SublimeTmpl、ColorSublime、Anaconda、SublimeLinter1、sublime基本配置。配置python路径:击New Build System后,会生成一个空配置文件,在这个配..._sublime text 新建的配置文件找不到

vue常用插件_vue插件-程序员宅基地

文章浏览阅读5.8k次,点赞8次,收藏55次。element - 饿了么出品的Vue2的web UI工具套件mint-ui - Vue 2的移动UI元素- 基于 Vuejs 的开源 UI 组件库Keen-UI - 轻量级的基本UI组件合集vue-material - 通过Vue Material和Vue 2建立精美的app应用muse-ui - 三端样式一致的响应式 UI 库vuetify - 为移动而生的Vue JS 2组件框架vonic - 快速构建移动端单页应用vue-blu - 帮助你轻松创建web应用。_vue插件

推荐文章

热门文章

相关标签