物联网开发总结

Posted jianpingzju

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了物联网开发总结相关的知识,希望对你有一定的参考价值。

本文介绍两种常见的物联网开发平台,腾讯云IOT平台以及苹果MDM

  • 腾讯云IOT平台:通过IOT平台,实现对设备的控制,管理。比如想通过API控制一个电源,灯,空调等等。
  • 苹果MDM:MDM的全称是Mobile Device Management,是苹果公司为了管控苹果设备推出的一个设备管理平台。比如控制ipad安装软件/壁纸,查看电量等等。

腾讯云IOT

准备

网关
子设备(如电源控制器,灯,门禁等)
IOT平台
配网小程序

网关和子设备一般是由适配了腾讯云协议的厂商提供,IOT平台由腾讯提供,业务只需要开发配网小程序(腾讯云提供了SDK,开发非常方便)。

结构

网关和设备通过局域网协议进行通信,网关和IOT平台通过MQTT协议进行通信。只需要配置网关的网络,不需要配置设备的网络。

腾讯云IOT平台相关概念:

  • 腾讯云账号:IOT平台管理账号
  • IOT实例:管理项目和应用
  • 项目:产品必须建立在项目下面
  • 应用:腾讯连连应用,会有appID,appKey等,用户设备的管理
  • 产品:腾讯云IOT平台上需要建立如网关,子设备的产品
  • 产品物模型:物模型定义了设备的属性和行为,用来管控设备。
  • 腾讯连连用户和家庭:连连是配网和管理设备用的,连连用户通过oauth2协议进行鉴权,一个用户下面有若干家庭,创建新用户时会创建一个默认的家庭。设备和网关都是在某个家庭下面管理的,如果想控制网关或者网关下的设备,都需要带上家庭ID。

网关配网

腾讯云提供了若干种配置网关网络的方法,下面是通过softAP方式对网关进行配网的流程:

子设备添加到网关

子设备添加到网关需要设备商提供相关的功能,涉及到了网关和子设备局域网的通信。步骤如下:

  • 调用网关搜索网关附近的子设备
  • 子设备定位:使子设备发出声音,从而知道当前添加的是哪个设备
  • 添加子设备:将一个子设备添加连连,并绑定到一个网关

苹果MDM

需要用户自己搭建MDM服务器,推荐使用开源的:https://github.com/micromdm/micromdm

概念

  • MDM server:业务自己维护的MDM服务
  • ABM:Apple Business Manager,苹果提供的,在这里可以管理苹果设备
  • APNS:Apple Push Notification service,苹果推送服务,用于和苹果设备直接通信
  • 设备:如IPad,MacBook

如上图所示,MDM server需要APNS和ABM的鉴权,需要配置相关的证书,流程比较长,参照micromdm的文档配置鉴权:
https://github.com/micromdm/micromdm/blob/main/docs/user-guide/quickstart.md

MDM server和APNS之间通信遵守苹果制定的协议:
https://developer.apple.com/business/documentation/MDM-Protocol-Reference.pdf

设备添加

添加流程如下:

  • 在ABM上添加设备,并指定mdm server
  • ABM把设备同步到mdm server
  • 生成dep profile:参考 https://github.com/micromdm/micromdm/blob/main/docs/user-guide/enrolling-devices.md,生成dep profile,这个dep profile是一个json格式的文件,配置了mdm server的地址等,设备安装了dep profile,才能enroll到mdm server
  • 给设备指定dep profile
  • IPad重新激活,激活过程中会让用户选择是否加入到MDM控制
  • IPad下载dep profile,enroll到mdm server
  • 至此IPad录入到mdm server。

正确录入的设备通过./mdmctl get devices命令可以查看设备的EnrollmentStatus状态为true。

成功录入的设备就可以HTTP调用/v1/commands进行设备控制。

设备控制的流程可以参考上图:

  • Mdm通知APNS有新的控制指令
  • APNS来mdm取指令
  • APNS控制设备
  • APNS调用mdm返回结果

如果设备不在线,APNS会把指令存起来,等设备在线了,会再次控制设备,再调用mdm返回结果。

以上是关于物联网开发总结的主要内容,如果未能解决你的问题,请参考以下文章

Techo TVP物联网开发者峰会青润的总结

物联网开发总结

物联网平台:前端技术选型总结

猿创征文|不会代码也能玩开发?基于华为云 IoT 快速实现 0 代码体验物联网设备上云

猿创征文|不会代码也能玩开发?基于华为云 IoT 快速实现 0 代码体验物联网设备上云

物联网架构演进和微信智能设备平台开发