一些IoT平台的相关知识杂合,包括阿里云,百度天工,微信物联网,AWS,Watson等平台。

BATH designs:
百度物接入IoT Hub
目前每个账户只能创建2个endpoint,100个things,100个principal。
policy
为身份principal设置对应的策略policy,一个principal对应一个policy。
permission
为每一个policy设置一组权限permission,其中包括主题topic,和对该主题的操作权限operation。
IoT Hub为每个实例提供3种默认连接方式
TCP:端口1883,不支持传输数据加密,可以通过MQTT.fx客户端连接。
SSL:端口1884,支持SSL/TLS加密传输,MQTT.fx客户端连接
WSS:端口8884,支持WebSocket浏览器方式连接,同样包含SSL加密
String endpoint = “hostname”; //输入创建实例endpoint返回的hostname
String username = “yourendpoint/yourthing”; //输入创建thing返回的username
String password = “Dm3yyvOHb7zt/uRWsPgsfsgbnj7CxuVMc+uDbf4j960=”; //输入创建principal返回的password
String topic = “building-b/floor-5/temperature-1”; //订阅的消息主题,本例是指订阅b号楼第五层的温度

百度天工是融合了百度ABC(AI、Big Data、Cloud)的“一站式、全托管”智能物联网平台。从端到云,从数据采集、传输、计算、存储、展现到分析,天工提供了全面的基础产品和服务。立足于”连接”、”理解”到”唤醒“的各项关键能力,从而轻松构建各类智能物联网应用,促进行业变革。
物接入(IoT Hub)是一个全托管的云服务,帮助建立设备与云端之间安全可靠的双向连接,以支撑海量设备的数据收集、监控、故障预测等各种物联网场景
物接入(设备型)即原物管理,在提供原生 MQTT 支持的同时,引入基于设备的物影子、物模型等概念,提供云端的状态暂存、直接获取在线状态、数据可以直接存储TSDB、物影子数据可以直接在物可视中展示。对以设备概念构建的物联网场景中,理解将更容易,使用将更便捷。
物接入(数据型)仅提供MQTT协议层接入支持,开发者可基于MQTT数据流做物联网应用开发,数据存储TSDB需要通过规则引擎。要求开发者对 MQTT 协议本身概念较为熟悉。
在设备端(此处用MQTT.fx模拟设备端)用与同物影子名称相同的Client ID连接,且用该Client ID成功向$baidu/iot/shadow/myDeviceName/update发布第一条消息后,控制台物影子才能转为在线状态。
lastActiveTime为最后一次活跃时间,记录设备最近一次和云端交互的时间。若一个设备从未与云端交互,则该时间默认为格林威治时间(1970年1月1日)。
度家(DuHome)平台基于百度天工IOT基础套件,垂直于智能家居方向,提供覆盖设备配网、注册、管理、控制、联动、OTA等全生命周期的一站式解决方案。帮助智能家居厂商更快捷地使用设备云服务,帮助企业节约人力成本,快速实现智能化转型。
物可视 IoT Visualization产品定价
物可视(IoT Visualization),用做PPT的方式,助您零编程完成可视化开发,带给您所见即所得的可视化开发体验。
新版物管理提供了哪些topic?
$baidu/iot/shadow/{deviceName}/update 、
$baidu/iot/shadow/{deviceName}/get、
$baidu/iot/shadow/{deviceName}/delta、
$baidu/iot/shadow/{deviceName}/delete、
$baidu/iot/shadow/{deviceName}/update/documents、
$baidu/iot/shadow/{deviceName}/update/snapshot

物接入分为设备型(原物管理)和数据型两种类别,设备型适用于基于设备的物联网场景;数据型适用于基于数据流的物联网场景。
您可以利用物接入来作为搭建您物联网应用的第一步,支持亿级并发连接和消息数,支持海量设备与云端安全可靠的双向连接,无缝对接天工平台和百度云的各项产品和服务。

Tencent:
腾讯微瓴是深度适配智慧建筑场景的物联网类操作系统。致力于实现建筑场景智慧连接,为生态合作伙伴提供云边端一体化、安全稳定 的物联网统一服务平台,
通过微瓴提供的开放能力帮助生态合作伙伴更高效、低成本地构建各种创新的物联网应用场景,帮助建筑行业 快速实现数字化转型,提升运营效率,创造全新的业务管理模式和更好的服务体验。

微信向硬件设备开放接收微信消息能力
微信团队正式发布针对硬件设备的消息分享API,接入了该API的设备可以接收微信用户转发的部分微信消息。
设备授权
调用 设备授权新接口,获取deviceid和二维码,然后利用获取到的deviceid更新设备属性(如mac地址,connect_protocol等)。
获取到的二维码即为一机一码,设备厂商利用二维码生成器把获取到的二维码串生成为二维码,用户扫描该二维码后,关注厂商公众号,即可绑定设备。
注意:
设备授权时必须填上productid。

Huawei LiteOS开发者中心
Huawei LiteOS面向IoT领域轻量级物联网操作系统,遵循BSD-3开源许可协议,广泛应用于智能家居、个人穿戴、车联网、城市公共服务、制造业等领域,大幅降低设备布置及维护成本,有效降低开发门槛、缩短开发周期
IoT OceanConnect生态
什么是OceanConnect
OceanConnect是华为云核心网推出的以IoT联接管理平台为核心的IoT生态圈。基于统一IoT联接管理平台,通过开放API和IoT Agent实现与上下游产品能力的无缝联接,给客户提供端到端的高价值行业应用,比如OceanConnect智慧家庭、OceanConnect车联网、OceanConnect智能抄表等。
资源获取
OceanConnect开发资源 LiteOS开发资源 NB-IoT开发资源 EC-IoT开发资源
接口路径
http://server:port/topus/api/token/simple/v1
app_key为参数中的client_id,Authorization的值即为调用Auth接口获取到的access_token。
参数说明
grantType String 授权类型,默认值client_credentials
client_id String 用户名,填写应用程序ID。
client_secret String 登录用户口令,填写应用程序密码。
返回结果
scope String 范围,默认值default
token_type String 鉴权token类型,默认值bearer
expires_in String 平台生成并返回access_token的有效时间
access_token String Oauth 2.0 鉴权参数

阿里云Link
物联网络管理平台是组建网络的管理平台 ,符合LoRaWAN协议,支持网关管理、凭证管理、终端管理、数据安全等。用户可使用平台维护网络组网,也能与阿里云物联网平台搭配,组合成解决方案
阿里云Link ID²提供密钥分发中心和认证中心两个服务。
分发中心采用硬件加密机和安全存储技术,确保密钥云端生成和存储的安全;与合作伙伴的安全产线对接,确保密钥安全烧录到各种安全等级的载体上。
客户将安全载体集成到物联网设备,基于设备端和云端的SDK,调用ID²认证中心提供的设备认证、信息加密等接口,建立安全通道,保障业务数据的不可抵赖性、完整性和保密性。
Link Develop
Link Develop 为物联网开发者提供一站式开发服务:设备开发、服务开发、Web开发和移动开发,并可将您的开发成果实现商业化变现。
关于物联网平台
物联网平台是阿里云专门为物联网领域的开发人员推出的,其目的是帮助开发者搭建安全性能强大的数据通道,方便终端(如传感器、执行器、嵌入式设备或智能家电等等)和云端的双向通信。
设备数据存储
物联网平台通过规则引擎与存储产品打通,企业不需要购买服务器,只需要在规则引擎中配置一些简单的规则,就可以将设备数据存储到指定的资源中
设备数据实时计算
在物联网领域,由于存在大量的实时数据流(物联网场景下传感器产生的数据流更多),同时核心关键业务对于数据监控的时效性要求非常高,在这类领域流计算、实时计算的应用场景将非常广泛。
规则引擎将设备数据实时转发到Datahub,进而和流式计算打通,帮助用户实现对设备数据进行实时计算的场景

为每个设备颁发阿里云IoT的凭证,依赖凭证才能连接阿里云IoT。
提供设备级的授权粒度,任何设备必须经过授权才能对某个Topic发布订阅消息
服务端也需要经过授权才能操作其他账号下的Topic

规则引擎
为用户提供类SQL语言的规则引擎,帮助用户过滤数据、处理数据,并能够发送数据到阿里云其他服务,例如RDS,OTS,ONS等等,也能够发送到数据到其他Topic。
设备快照(待上线)
保存设备的最新状态或者APP希望的最新状态在云端,然后当设备或APP连接上来时,同步状态给设备或APP。
产品
同类设备的集合,方便管理设备
AppKey
阿里云IoT为产品颁发的唯一标识
AppSecret
阿里云IoT为产品颁发的产品密钥,和AppKey成对出现
设备ID
对应的英文名称:DeviceId。阿里云IoT为设备颁发的唯一标识
设备秘钥
对应的英文名称:DeviceSecret。阿里云IoT为设备颁发的设备秘钥,和设备ID成对出现
RPC
设备端向云端发送数据协议,这只适用CCP协议接入的设备
RRPC
由云端发起,但是期望设备端响应的数据交互协议,这只适用CCP协议接入的设备
添加设备
目前只能在控制台上添加设备,而且单次操作添加不能5万,单个产品不能超过1亿
设备数据上报地址
目前只能支持本账号下的ECS或SLB的IP地址访问以及ACE的域名访问
Topic的长度
不能超过128字节
CCP协议包大小
不能超过256K
MQTT协议包大小
不能超过256K
设备授权操作
不能超过50个

设备接入云端的协议
基于CCP接入(MQTT协议的精简版)
协议本身具备安全算法,不依赖TLS算法
协议大小更精简,包头,payload占用字节更少。例如header只有1个字节
协议支持多种通信模式,相对于MQTT,不仅支持Pub/Sub,还支持RPC/RRPC
基于MQTT接入
被广泛用在嵌入式设备的消息传输上
COAP(待上线)
CoAP是一种软件协议旨在用于非常简单的电子设备,让他们通过互联网交互通信。详情请访问COAP
HTTP(待上线)
数据通道支持设备通过HTTP协议用REST API的方式连接阿里云IoT。设备可以通过POST方式实现Pub消息到某个Topic。
全链路加密
整个通信链锯以RSA,AES加密,保证数据传输的安全。

后端系统:.NET、PHP、Java、Node。
使用模板功能推送本地化通知信息,让用户获得与自己所用语言一致的信息。模板功能无需为每个客户存储本地化设置。

阿里物联网套件MQTT子设备自动注册的方法及流程
1. 首先在物联网控制台下面创建一个产品;产品类型选择“网关”;
2. 通过控制台在网关下面先添加一个设备 DeviceName = devicename
3. 获得设备的三元参数:
ProductKey = pk;
DeivceName = devicename;
DeviceSecret =……….;
4. 获得该设备的登录名及状态;
ClientID = devicename|securemode=3,signmethod=hmacsha1,timestamp=789|
UserName = devicename&pk;
Password = …………..; (密码需要hmacsha1()具体看文档)
5. 连接MQTT;
Adderss = pk.iot-as-mqtt.cn-shanghai.aliyuncs.com;
Port = 1883;
ClientID =devicename|securemode=3,signmethod=hmacsha1,timestamp=789|
6. 定阅一个Topic:/sys/pk/devicename/thing/sub/register_reply
7. 发布注册申请Topic:/sys/pk/devicename/thing/sub/register
8. 等待网关回复Topic,数据格式为:
完成了一个用户名为“devicename02”的设备的自动注册;
9. 使用“devicename02”的三元参数重新连接MQTT服务器;

阿里云IOT
const mqtt = require(‘aliyun-iot-mqtt’);
//设备属性
const options = {
productKey: “产品productKey”,
deviceName: “设备deviceName”,
deviceSecret: “设备的secret”,
regionId: “cn-shanghai”
};
//建立连接
const client = mqtt.getAliyunIotMqttClient(options);

//属性上报的Topic
const topic = `/sys/${options.productKey}/${options.deviceName}/thing/event/property/post`;
setInterval(function() {
//发布数据到topic
client.publish(topic, getPostData());
}, 5 * 1000);

function getPostData(){
const payloadJson = {
id: Date.now(),
params: {
temperature: Math.floor((Math.random() * 20) + 10),
humidity: Math.floor((Math.random() * 20) + 60)
},
method: “thing.event.property.post”
}

console.log(“===postData topic=” + topic)
console.log(payloadJson)

return JSON.stringify(payloadJson);
}

AWS IoT设备网关支持设备安全高效地与 AWS IoT进行通信。设备网关可以使用发布/订阅模式交换消息,从而支持一对一和一对多的通信。凭借此一对多的通信模式,AWSIoT将支持互连设备向多名给定主题的订阅者广播数据。
认证和授权
AWS IoT在所有连接点处提供相互身份验证和加密。AWS IoT支持 AWS 身份验证方法(称为“SigV4”)以及基于身份验证的X.509证书。使用HTTP的连接可以使用任一方法,使用MQTT的连接可以使用基于证书的身份验证,使用WebSockets的连接可以使用SigV4。
使用 AWS IoT生成的证书以及由首选证书颁发机构(CA)签署的证书,将所选的角色和/或策略映射到每个证书,以便授予设备或应用程序访问权限,或撤消访问权限。
通过控制台或使用 API 创建、部署并管理设备的证书和策略。这些设备证书可以预配置、激活和与使用AWSIAM 配置的相关策略关联。
AWS IoT还支持用户移动应用使用AmazonCognito进行连接,AmazonCognito将负责执行必要的操作来为应用用户创建唯一标识符并获取临时的、权限受限的AWS凭证。
注册表
注册表将创建设备标识并跟踪元数据,如设备的属性和功能。
注册表向格式一致的每台设备分配唯一的标识,而不管设备的类型和连接方式为何。此外,它还支持描述设备功能的元数据,例如传感器是否报告温度,以及数据是华氏度还是摄氏度。
注册表存储有关设备的元数据,无需支付额外费用;并且需要每隔 7 天至少访问或更新注册表条目一次,注册表中的元数据就不会过期。
设备影子(Shadow)
设备影子保留每台设备的最后报告状态和期望的未来状态,即便设备处于离线状态。
通过 API 或使用规则引擎,获取设备的最后报告状态或设置期望的未来状态。
应用程序可以设置设备的期望未来状态,而无需说明设备的当前状态。AWS IoT将比较期望未来状态和最后报告状态之间的差异,并命令设备“弥补差异”。
设备 SDK 能够轻松地同步其状态及其影子,并响应通过影子设置的期望的未来状态。
设备影子免费存储设备状态多达一年。如果至少每年更新一次状态,则设备影子将永久保留状态;否则状态将过期。
设备影子(Shadow)服务
$aws/things/{thingName}/shadow/update
$aws/things/{thingName}/shadow/get
$aws/things/{thingName}/shadow/delete
规则引擎
规则引擎验证发布到 AWS IoT的入站消息,并根据定义的业务规则转换这些消息并将它们传输到另一台设备或云服务。规则可以应用至一台或多台设备中的数据,并且它可以并行执行一个或多个操作。
使用类似 SQL 的语句编写规则。例如:如果温度读数超出特定阈值,则它可以触发规则以便将数据传输到AWSLambda;如果此温度超出其他5台设备的平均值15%,则应采取措施。
N:1入站的传感器流式数据(数据降噪)
规则引擎过滤、转换、汇总传感器数据后,发送至亚马逊Kinesis处理实时流式数据
Kinesis流式数据共享至其它业务系统
将流式数据的实时处理结果导入至数据库、应用或其它亚马逊服务
设备管理
支持全球或部分地区的固件升级
规则引擎在DynamoDBm数据库跟踪升级状态和进度
注册表存储设备的固件版本
AWS IoT仪表盘
证书
策略
规则
设备
CloudWatch首页
当前告警和状态
告警和资源图表
服务健康度
CloudWatch
自定义仪表盘
自定义图表进行排障和监控趋势
搜索所有AWS资源指标
创建和修改告警参数
平台管理界面 – 创建设备 – 设备属性 – 创建证书 – 激活证书 – 创建策略 – 绑定证书与策略 – 绑定证书与设备 – 配置设备 – 使用MQTT客户端订阅设备消息 – 使用MQTT客户端查看设备消息 – 创建规则 – 创建规则的行为 – 测试订阅是否成功

组织:向 Watson IoT Platform 注册时提供组织标识,确保仅可从设备和应用程序访问组织自己的数据。
设备:设备可以是连接到因特网并具有放入云中的数据的任何对象。设备必须先进行注册,然后才能连接到 Watson IoT Platform。设备将使用认证令牌向 Watson IoT Platform 唯一表明自身身份。设备分为受管设备和非受管设备。
应用程序:连接到因特网并且希望与来自设备的数据进行交互和/或以某种方式控制这些设备的行为的任何对象。应用程序使用 API 密钥和唯一应用程序标识向 Watson IoT Platform 表明自身身份。
网关设备:网关是设备的专用类。它们兼具应用程序和设备的功能,使其能够充当访问点,为无法直接连接的其他设备提供与服务的连接。
事件:事件是设备将数据发布到 Watson IoT Platform 所采用的机制。设备控制事件的内容,并为其发送的每个事件分配名称。Watson IoT Platform 接收到事件时,将使用凭证来确定从哪个设备发送了该事件。由于使用这种体系结构,设备将无法模拟其他设备。
命令:命令是应用程序可用于与设备进行通信的机制。仅应用程序可发送命令,命令必须向特定设备发出。
设备注册表:管理库存,配置安全性以及存储数百万设备的元数据。定义设备类型以表示各设备型号,并将缺省元数据应用于该类型的所有设备。
历史记录:配置 Watson IoT Platform 以存储设备生成的事件记录。
连接、配置和管理设备
在Bluemix连接Watson IoT ,配置和管理IoT设备和数据,创建应用程序、可视化仪表板和移动 IoT 应用程序。
可视化归集事件
Bluemix以可视化的方式收集IoT事件到逻辑流程图中,使用Node-Red进行拖拽式流程编排。
收集和管理时间序列视图的数据,准实时地在数据可视化面板中查看IoT设备状态。
设备管理
通过使用设备管理服务,执行各种设备操作,例如,重新引导或更新固件、接收设备诊断和元数据,或者执行批量设备添加和移除。
安全通信
从设备中安全接收数据并向设备发送命令。通过将 MQTT 与 TLS 结合使用来完成此操作,保护设备与服务间的所有通信。


发表评论

电子邮件地址不会被公开。