阿里云物联网套件

京东云擎  时间:2021-01-05  阅读:()

控制台使用手册1.
2.
3.
4.
5.
控制台使用手册子账号访问IoT创建子账号用主账号登录阿里云官网进入控制台:依次将鼠标移动至产品->管理与监控,单击访问控制进入访问控制产品页;单击获取使用资格申请使用权限,然后单击管理控制台进入控制台;依次单击用户管理->新建用户(右上角)进入新建用户页面在创建用户对话框里输入:登陆名(必填)和显示名,备注,邮箱,电话等(可选),同时勾选:为该用户自动生成AccessKey点击确定,完成子账号创建.
创建成功后,会提示是否下载子账号AK,请选择下载并妥善保管子账号AK文件.
图示1:阿里云物联网套件控制台使用手册1---新建授权策略1在RAM控制台上依次点击:授权策略管理->自定义授权策略->新建授权策略图示12在弹出对话框中:选择授权策略模板(使用空模板)3编辑授权策略并提交:修改授权策略名称(自定义名称),备注,策略内容,并提交.
示例:一个IoT授权策略内容模板:授权策略是json格式的字符串,其中,Action:表示要授权的操作,IoT操作都以"iot:"开头,例如:"iot:CreateProduct"表示IoT服务的API:CreateProduct{"Statement":[{"Action":"iot:*","Effect":"Allow","Resource":"*"}],"Version":"1"}阿里云物联网套件控制台使用手册2----其他详见附录:IoTAPI和授权操作映射表;Effect:表示授权类型,例如:Allow,DenyResrouce:""默认获取所有**详细授权策略的规则说明请参考RAM帮助文档*图示21.
添加子账号授权策略返回用户管理,找到第一步创建的子账号,点击右侧授权.
在弹出的对话框中,选择授权策略名称,并添加到右侧已选授权策略列表,点击确定提交.
2.
使用子账号进行访问IoT服务返回概览,找到RAM用户登录链接.
输入子用户名称和子用户密码登录.
如果没有提示没有权限,说明子账号有权限访问.
如何使用带IP限制的访问控制阿里云物联网套件控制台使用手册3-示例1:在Allow授权中增加IP限制允许通过42.
120.
88.
0/24,42.
120.
66.
0/24两个IP段访问IoT套件示例2:在Deny授权中增加IP限制如果源IP不在42.
120.
88.
0/24中则禁止对IoT执行任何操作;注意:因为Policy的鉴权规则是Deny优先(即如果用户的访问操作命中任意一条Deny规则,则禁止访问),所以访问者从42.
120.
88.
0/24以外的IP地址访问时,IoT套件服务会报没有权限.
注意事项为保证安全,在添加子账号,添加授权策略和增加授权时,需要手机短信或邮件验证.

IoTAPI授权映射表{"Statement":[{"Action":"iot:*","Effect":"Allow","Resource":"acs:iot:*:*:*"}],"Version":"1","Condition":{"IpAddress":{"acs:SourceIp":["42.
120.
88.
0/24","42.
120.
66.
0/24"]}}}{"Statement":[{"Action":"iot:*","Effect":"Deny","Resource":"acs:iot:*:*:*"}],"Version":"1","Condition":{"NotIpAddress":{"acs:SourceIp":["42.
120.
88.
0/24"]}}}IoTAPIRAM授权操作资源(Resource)接口说明阿里云物联网套件控制台使用手册4CreateProductiot:CreateProduct*创建产品UpdateProductiot:UpdateProduct*修改产品QueryProductiot:QueryProduct*查询产品GetCatsiot:GetCats*获取产品类型信息QueryProductByUserIdiot:QueryProductByUserId*根据用户id查询产品RegistDeviceiot:RegistDevice*创建设备QueryDeviceiot:QueryDevice*批量查询设备QueryByDeviceIdiot:QueryByDeviceId*根据deviceId查询设备QueryDeviceByNameiot:QueryDeviceByName*根据deviceName查询设备DeleteDeviceiot:DeleteDevice*删除设备ApplyDeviceWithNamesRequestiot:ApplyDeviceWithNamesRequest*批量创建设备QueryApplyStatusiot:QueryApplyStatus*查询申请状态QueryPageByApplyIdiot:QueryPageByApplyId*根据申请id分页查询BatchGetDeviceStateiot:BatchGetDeviceState*批量获取设备状态QueryTopiciot:QueryTopic*查询TopicStartRuleiot:StartRule*启动规则StopRuleiot:StopRule*暂停规则ListRuleiot:ListRule*查询规则列表GetRuleiot:GetRule*查询规则详情CreateRuleiot:CreateRule*创建规则UpdateRuleiot:UpdateRule*修改规则DeleteRuleiot:DeleteRule*删除规则CreateRuleActioniot:CreateRuleAction*创建规则中的转发数据方法UpdateRuleActioniot:UpdateRuleAction*修改规则中的转发数据方法DeleteRuleActioniot:DeleteRuleAction*删除规则中的转发数据方法GetRuleActioniot:GetRuleAction*获取规则中的转发数据方法ListRuleActionsiot:ListRuleActions*获取规则中的转发数据方法列表阿里云物联网套件控制台使用手册5产品管理本文档主要介绍产品管理控制台的使用说明,帮助用户快速使用阿里云物联网套件.

开通物联网套件以aliyun账号直接进入IoT控制台,如果还没有开通阿里云物联网套件服务,则需要申请开通.

Pubiot:Pub*发布消息Subiot:Sub*订阅消息Unsubiot:Unsub*取消订阅ServerOnlineiot:ServerOnline*服务端订阅者上线DeviceGrantiot:DeviceGrant*设备授权DeviceRevokeByTopiciot:DeviceRevokeByTopic*通过Topic名撤销设备权限DeviceRevokeByIdiot:DeviceRevokeById*通过ID撤销设备权限DevicePermitModifyiot:DevicePermitModify*修改设备权限ListPermitsiot:ListPermits*列出设备的权限RRpciot:RRpc*发送消息给设备并得到设备响应CreateProductTopiciot:CreateProductTopic*创建产品Topic类DeleteProductTopiciot:DeleteProductTopic*删除产品Topic类QueryProductTopiciot:QueryProductTopic*查询产品Topic类列表UpdateProductTopiciot:UpdateProductTopic*修改产品Topic类QueryDeviceTopiciot:QueryDeviceTopic*查询设备Topic列表DebugRuleSqliot:DebugRuleSql*规则引擎SQL调试阿里云物联网套件控制台使用手册61.
2.
3.
--接入引导创建产品添加设备获取设备的Topic创建产品初步进入控制台后,需要创建产品.
点击创建产品.
产品相当于某一类设备的集合,用户可以根据产品管理其设备等.
产品名称:对产品命名,例如可以填写产品型号.
产品名称在账号内保持唯一.

productKey:阿里云IoT为产品颁发的全局唯一标识符添加设备创建完产品之后,可以为该产品添加设备.
进入产品管理页面下的设备管理,点击添加设备.

说明:用户可以自定义设备名称(即deviceName),这个名称即可作为设备唯一标识符,用户可以基于该设备名称与IoTHub进行通信,需要指出的是,用户需要保证deviceName产品内唯一.
阿里云物联网套件控制台使用手册7--设备证书:添加设备之后,物联网套件为设备颁发的唯一标识符,设备证书用于设备认证以及设备通信,详细的请参考设备接入文档.
deviceName:用户自定义设备唯一标识符,用于设备认证以及设备通信,用户保证产品维度内唯一.
deviceSecret:物联网套件为设备颁发的设备秘钥,用于认证加密,与deviceName或者deviceId成对出现.
除了控制台添加设备,也可以通过API接口动态授权,请参考设备注册获取设备的Topic添加设备之后,可以获取设备的Topic.
点击Topic列表说明:创建产品之后,物联网套件都会为产品默认定义三个Topic类.
那么,在添加设备之后,每个设备都会默认有三个Topic,即图中所示.
如果想要增加、修改、删除Topic,请到消息通信重新定义Topic类.
设备可以基于Topic列表中的Topic进行Pub/Sub通信,例如列表中有/1000118502/test9/update,且设备拥有的权限是发布,这就意味着设备可以往这个Topic发布消息;同样,列表中/1000118502/test9/get,权限是阿里云物联网套件控制台使用手册8订阅,这就意味着设备可以从这个Topic订阅消息.
设备接入获得productKey、设备证书以及设备的Topic这些参数,就可以基于aliyunIoTdeviceSDKforC将设备连接上IoTHub并进行通信,具体请参考文档设备接入影子初始状态:创建产品和设备后,设备处于未激活状态,设备影子链接处于无法点击状态,设备必须连接到IoT套件后才可以看到设备影子链接.
设备端凭借key/secret连接到IoT套件后.
设备端上报状态到IoT套件后.
应用程序更新影子状态:repored字段可以为空,desired字段不能为空,输入正确的json格式数据即可.
阿里云物联网套件控制台使用手册9更新完后影子状态变为:desired内容可以是嵌套的json,也可以是数组.
用户在创建产品之后,可以在消息通信页面里配置让设备使用PUB/SUB或者使用RRPC这两种通信方式,请根据您的使用场景选择通信方式,详情请参考文档通信方式.
发布订阅(PUB/SUB)用户可以在这里定义Topic类,Topic类请参考文档Topic.
{"colors":["RED","GREEN","BLUE"]}{"colors":{"RED":125,"GREEN":125,"BLUE":125}}阿里云物联网套件控制台使用手册10-------Topic类的特性:Topic类是一类Topic的集合,举个例子,Topic类:/pk/${deviceName}/update是具体Topic:/pk/device1/update或者/pk/device2/update的集合.
Topic类格式必须以"/"进行分层,区分每个类目.
其中前两个类目已经规定好,第一个代表产品标识ProductKey,第二类目${deviceName}通配deviceName其余类目命名只能包含字母,数字和下划线(_)命名每级类目,每级类目不能为空设备操作权限:发布就意味着设备可以往这个Topic发布消息,订阅就意味着设备可以从这个Topic订阅消息.
注意:Topic类不能用于通信,pub/sub是基于具体的Topic通信.
举个例子,用户不能使用/pk/${deviceName}/update进行通信,只能使用/pk/device1/update或者/pk/device2/update通信.

定义好之后该产品下面的所有设备都会拥有对应的Topic云端请求设备端(RRPC)物联网套件同样提供机制可以让云端请求设备端,并得到设备的返回结果,例如控制设备得到结果.
这部分在控制台没有相应功能提供,但是阿里云物联网套件提供了相应的API完成该功能,请参考最佳实践远程控制设备并返回结果.
本文档主要介绍控制台如何配置服务端订阅.
用户在创建产品之后,可以在服务端订阅页面里面配置,选择设备消息类型推送到MNS队列中,用户服务端从队列里获得设备数据.
这样简化服务端订阅设备数据的流程,让客户的服务端能够简单方便并高可靠的获得设备数据.
配置前提:创建产品开通MNS服务授权IoT写入MNS队列的权限配置阿里云物联网套件控制台使用手册11-1.
2.
---1.
名词解释:订阅的消息类型:设备上报消息:指的是产品下所有设备Topic列表中具有发布权限的Topic中的消息,例如产品下面有三个Topic类,其中有/pk/${deviceName}/get:订阅、/pk/${deviceName}/update:发布、/pk/${deviceName}/update/error:发布.
那么设备上报消息指的是,/pk/${deviceName}/update和/pk/${deviceName}/update/error对应的所有Topic中的消息.

选中后保存,系统会把这些Topic中的消息转发到上面默认创建的MNS队列里设备状态变化通知:指的是一旦该产品下的设备状态变化时,例如上线,下线,套件产生的消息.
选中后保存,系统会推送设备上下线消息到上面默认创建的MNS队列里区域:IoT默认在该区域创建Queue,下面在使用MNSSDK获取Endpoint需要在MNS控制台选择该区域(region)队列:IoT会自动到MNS华东1下创建aliyun-iot-${productKey}队列,并将选择的消息写入该队列,用户可以通过监听这个队列来获取设备上报的消息.
具体可以到MNS控制台查看.

角色名称:用户授权IoT访问用户MNS系统的角色,IoT系统根据这个授权角色写入消息到用户的MNS消息队列,否则消息无权写入.
配置保存后IoT会自动在MNS华东1区域下创建aliyun-iot-${productKey}队列,60s之后将选择的消息写入到该队列.
特别说明:IoT创建的队列命名规则是aliyun-iot-${productkey},${productkey}是该产品的productkey.
消息写入队列之后,如何从队列中获取数据,请参考文档服务端快速开始使用说明日志类型分为三类:设备行为分析,上行消息分析,下行消息分析;支持按设备名称(deviceName),消息ID(messageId),状态(成功、失败、全部),时间范围来筛选日志,方便查看上下文内容,失败原因等.

特别注意:deviceName:该产品下设备唯一标识,客户可以根据deviceName搜索出该设备的相关日志阿里云物联网套件控制台使用手册122.
3.
4.
5.
6.
.
messageId:某条消息在套件里的唯一标识,可以用messageId追踪到这条消息全链路的流转状况.
状态:有两个状态:成功、失败.
{}是变量,日志根据实际运行打印相应结果日志提供的是英文,不会打印中文一旦出现失败状态的日志内容,非systemerror的原因都是由于用户使用不当或者产品限制导致的,请仔细排查.
设备行为分析:设备行为主要有设备上线(online),设备下线(offline)的日志.
可按deviceName,时间范围来筛选日志,操作界面如下图所示:设备离线原因中英文对查表上行消息分析:上行消息主要包括设备发送消息到topic,消息流转到规则引擎,规则引擎转发到云产品的日志.
可按deviceName,messageId,状态,时间范围来筛选日志,操作界面如下图所示:英文中文Kickedbythesamedevice被相同设备踢下线ConnectionresetbypeerTCP连接被对端重置Connectionoccursexception通信异常,IoT服务端主动关闭连接Devicedisconnect设备主动发送MQTT断开连接请求Keepalivetimeout心跳超时,IoT服务端关闭连接阿里云物联网套件控制台使用手册13上行消息中英文对查表,其中包括context(打印的英文日志+中文注释),errorreason(打印的英文日志),失败的原因(中文注释)contexterrorreason失败原因Devicepublishmessagetotopic:{},QoS={},protocolMessageId:{}设备发送消息到opic:{},QoS={},protocolMessageId:{}Ratelimit:{maxQps},currentqps:{}限流{最大流量},当前qps:{}Noauthorization未授权Systemerror系统错误sendmessagetoRuleEngine,topic:{}protocolMessageId:{}IoTHub发送消息给规则引擎,topic:{}protocolMessageId:{}{eg,toomanyrequests}失败信息,例如太多请求被限流导致失败Systemerror系统错误TransmitdatatoDataHub,project:{},topic:{},fromIoTtopic:{}规则引擎发送数据到Datahub,project:{},topic:{},来自IoT的topic:{}DataHubSchema:{}isinvalid!
DataHubSchema:{}无效,类型不匹配DataHubIllegalArgumentException:{}Datahub参数异常:{}WriterecordtodataHuboccurserror!
errors:[code:{},message:{}]写数据到datahub出错,错误:[code:{},message{}]DatahubServiceException:{}Datahub服务异常:{}Systemerror系统错误TransmitdatatoMNS,queue:{},theme:{},fromIoTtopic:{}发送数据到MNS,queue:{},topic:{},来自IoT的topic:{}MNSIllegalArgumentException:{}MNS参数异常:{}MNSServiceException:{}MNS服务异常:{}MNSClientException:{}MNS客户端异常:{}Systemerror系统错误TransmitdatatoMQ,topic:{},fromIoTtopic:{}MQIllegalArgumentException:{}MQ参数异常:{}阿里云物联网套件控制台使用手册14下行消息分析:下行消息主要是云端发送消息到设备的日志,可按deviceName,messageId,执行状态,时间范围来筛选日志,操作界面如下图所示:下行消息中英文对查表,其中包括context(打印的英文日志+中文注释),error规则引擎发送数据到MQ,topic:{},来自IoT的topic:{}MQClientException:{}MQ客户端异常:{}Systemerror系统错误TransmitdatatoTableStore,instance:{},tableName:{},fromIoTtopic:{}规则引擎发送数据到TableStore,实例名:{},表名:{},来自IoT的topic:{}TableStoreIllegalArgumentException:{}TableStore参数异常:{}TableStoreServiceException:{}TableStore服务异常:{}TableStoreClientException:{}TableStore客户端异常:{}Systemerror系统错误TransmitdatatoRDS,instance:{},databaseName:{},tableName:{},fromIoTtopic:{}规则引擎发送数据到RDS,实例名:{},数据库名:{},表名:{}RDSIllegalArgumentException:{}RDS参数异常:{}RDSCannotGetConnectionException:{}RDS无法连接:{}RDSSQLException:{}RDSSQL语句异常Systemerror系统错误Republishtopic,fromtopic:{}totargettopic:{}规则引擎转发topic,从topic:{}到目标topic:{}Systemerror系统错误RuleEnginereceivemessagefromIoTtopic:{}规则引擎接收消息,来自IoT的topic:{}Ratelimit:{maxQps},currentqps:{}限流{最大流量},当前qps:{}Systemerror系统错误Checkpayload,payload:{}检测payload,payload:{}PayloadisnotjsonPayload的json格式不合法阿里云物联网套件控制台使用手册15reason(打印的英文日志),失败的原因(中文注释)规则引擎当用户是基于Topic进行通信时,则可以使用规则引擎对Topic中的数据进行处理,然后转发到阿里云其他服务上,例如可以转发到RDS、TableStore中进行存储,例如可以转发到流式计算中进行实时计算,例如可以转发到消息中间件DataHub、LogHub上进而与流计算配合提供服务,等等.
当然也可以使用规则引擎将Topic中的数据处理转发到另一个Topic中实现M2M通信.
数据从采集到计算到存储,用户无需购买服务器部署分布式架构,用户通过规则引擎只需在web上配置规则即可实现采集+计算+存储等全栈服务.
contexterrorreason失败原因Publishmessagetotopic:{},protocolMessageId:{}推送消息给topic:{},protocolMessageId:{}Noauthorization未授权Publishmessagetodevice,QoS={}IoTHub发送消息给设备IoThubcannotpublishmessages因为服务端没有得到设备的puback,会一直发消息,直到超过50条的阈值然后IoTHub就会无法发送消息Devicecannotreceivemessages设备端接受消息的通道阻塞,可能由于网络慢,或者设备端消息能力不足导致了服务端发送消息失败Ratelimit:{maxQps},currentqps:{}限流{最大流量},当前qps:{}PublishRRPCmessagetodeviceIoT发送RRPC消息给设备IoThubcannotpublishmessages设备端一直没有回复response,而且服务端一直发送消息超出阈值导致发送失败Responsetimeout设备响应超时Systemerror系统错误RRPCfinishedRRPC结束{e.
grrpcCode}错误信息,会打出相应的RRPCCode,比如UNKNOW,TIMEOUT,OFFLINE,HALFCONNPublishofflinemessagetodeviceIoTHub发送离线消息给设备Devicecannotreceivemessages设备端接受消息的通道阻塞,可能由于网络慢,或者设备端消息能力不足导致了服务端发送消息失败阿里云物联网套件控制台使用手册161.
2.
3.
4.
5.
特别注意:规则引擎是基于Topic对数据进行处理Topic中的消息格式必须是JSON才能使用规则引擎规则引擎是通过SQL对Topic中的数据进行处理SQL语法目前不支持子查询、不支持like操作符,支持部分函数,比如deviceId()获取当前设备Id,请参考函数列表创建规则创建完规则,即可编写SQL对某一Topic中的数据进行处理,详细SQL规则请参考文档表达式阿里云物联网套件控制台使用手册171.
2.
图中例子表达的规则:将key为tem和hum对应的数据从Topic:/232*****/+/update中的JSON消息中提取出来,而且利用规则引擎规定的函数deviceId()和topic()将特定的数据提取出来(规则引擎支持的函数详情请参考文档函数),再通过条件tem>50对数据进行过滤,最后得到处理过后的数据,以便进行下一步转发该数据.

特别注意:Topic支持通配符规则引擎中的SQL表达式支持标准SQL语法,而且会提供额外的函数方便实现丰富的场景.

转发数据通过编写SQL对Topic中的消息进行处理,然后可以添加方法对处理过后的消息进行转发操作.
下面将详细介绍目前已经上线的转发操作,而且我们的方法会不断增加,提供更多更完善的服务给用户.

发布消息到另一个Topic将Topic中的消息处理过后,发送到另一个Topic,可以实现M2M场景,但是又不局限于M2M,帮助节省服务阿里云物联网套件控制台使用手册18---端的开发.
特别注意:重新发送的Topic不支持通配符,但可以使用${}表达式引用上下文值,比如${a}将解析为selectxxxasa对应的值.
用户通过物联网套件的规则引擎将数据转发到消息队列MQ中,从而具备了从设备到IoT套件到MQ再到应用服务器全链路高可靠的消息能力.
用户选择消息队列Topic所在地域.
用户根据业务选择需要写入数据的Topic用户授权套件具有写入消息队列Topic的权限在此需要强调一下,MQ非铂金实例的Topic不支持跨地域的访问写入.
所以用户如果没有创建铂金实例的Topic,那就必须在套件规则引擎所在的地域下创建Topic,否则不能写入,例如图中规则引擎所在地域是华东2,那么消息队列的Topic也需要在华东2创建;如果用户需要购买MQ的铂金实例,那可以不用关心在哪个地域购买铂金实例,因为铂金实例的Topic,套件都可以有权限写入数据.
启动规则之后,套件就会将数据写入消息队列的Topic中,然后用户可以基于MQ的实现消息的收发,具体请参考文档MQ订阅消息可以将处理过后的消息,通过配置方法存储到表格存储(TableStore)中.
想了解更多表格存储的信息,请参考表格存储(TableStore)阿里云物联网套件控制台使用手册19---操作注意事项:用户需要在控制台上选择TableStore数据表,用于数据存储.
如果没有资源,则需要用户创建数据表创建TableStore数据表必须创建主键,当用户选择好数据表之后,控制台会自动读出该表的主键,用户需要配置主键的值.
规则引擎不能操作用户的TableStore数据表,必须经过用户的授权才能对用户的数据表进行写数据.
所以,用户需要创建一个具有TableStore写入权限的角色,然后将该角色赋予给规则引擎,这样规则引擎才能将处理过后的数据写入数据表中.
示例:经过SQL抽取出来的JSON数据:{"id":"1234","data1":"xxx","data2"业务上需要把这个JSON数据存入TableStore中,并且主键是id.
那么用户只需在控制台配置主键的值,输入${id},这就意味着当有消息过来并触发规则,主键id就会存入JSON中id的value值.
这里要特别强调一下,${}是转义符,如果不输入该转义符,存入的将会是一个常量.

配置完主键之后,当有消息过来,套件会自动解析JSON中的除了主键之外的key值,然后根据key自动创建TableStore的数据列.
例如,该示例中,就会创建两列:data1和data2,并且会在每列下面存入对应的value值.
这里要特别强调一下,目前只支持一级JSON的解析,不支持嵌套JSON的解析,那么在该示例,data2下面就会以字符串的形式存入整个嵌套JSON,而不能再次对嵌套JSON进行解析创建列.

数据转发到DataHub中物联网套件的定位在于设备接入和设备管理,对于数据存储和计算,物联网套件会将这部分工作交给阿里云其他云产品.
在很多物联网场景中,流计算是刚需.
阿里云流计算平台的数据采集模块,均是围绕DataHub作为流式数据采集的目的Pub/Sub系统.
Q:DataHub是什么A:流计算是一种事件触发的模型,即一旦有新的事件(数据)达到,流计算系统将完成一次计算,并继续转为等待下一次事件到来.
源源不断的数据流将为下游的流计算提供触发,阿里云流计算触发的数据流就存放在DataHub,DataHub产品即可为下游的流式计算提供事件触发机制,触发流计算的运行.
因此用户阿里云物联网套件控制台使用手册20---只需要将驱动流计算运行的流式数据写入DataHub,使用了该DataHubTopic的下游流计算任务即可被触发进行一次运算.
DataHub定义为大数据Pub/Sub系统,为下游的流计算、MaxCompute等提供了实时数据的入口.

规则引擎将设备数据实时转发到Datahub,进而和流式计算打通,帮助用户实现对设备数据进行实时计算的场景.
详细请参考流计算文档下图是在控制台上配置转发规则,将数据转发到DataHub中.
操作说明:用户需要先选择DataHub中的Project,然后根据Project选择Topic.
如果没有资源,那就需要去DataHub控制台创建相应的资源.
选择完DataHub中的Topic后,规则引擎会自动获取Topic中的Schema,接下来需要将规则引擎筛选出来的数据映射到对应的Schema中.
规则引擎不能操作用户的DataHub资源,必须经过用户的授权才能对用户的DataHub进行写数据.
所以,用户需要创建一个具有DataHub写入权限的角色,然后将该角色赋予给规则引擎,这样规则引擎才能将处理过后的数据写入DataHub中.
特别注意:将规则引擎筛选出来的数据映射到对应的Schema,需要使用${},如果不使用的话,存到表中的将会是一个常量;Schema与规则引擎的的数据类型必须保持一致,不然无法存储.

存储到云数据库(RDS)中华东2节点暂不支持用户可以通过在控制台上配置方法将物联网套件中的数据路由转发到云数据库(RDS)中.
想要了解更多RDS信息的,请参考文档云数据库(RDS).
阿里云物联网套件控制台使用手册21------操作说明:首先用户需要根据自己的业务选择数据库进行数据存储.
用户需要先选择地域,然后根据地域选择实例,最后根据实例选择数据库.
如果没有资源,那就需要去RDS控制台创建相应的资源.

选择完数据库之后,需要选择对该数据库具有读写权限的账号,如果没有,则需要去RDS控制台创建账号.
输入该账号密码,让规则引擎去连接RDS进而写数据.
输入数据库中已经建立的数据表名,确定之后,数据将会写进这张表中.
确定数据表之后,需要将规则引擎筛选出来的数据对应存到数据表中的字段中.
举个例子,将规则引擎筛选出来的JSON数据对应的存到RDS数据表中的字段中.
假如规则引擎的SQL:SELECTtemFROMmytopic.
假如RDS数据库有一张表,表中有tem字段,类型是String.
存储可以在控制台上配置,字段填入的是RDS数据表中的字段,例如tem,值填入的是规则引擎筛选出来的JSON字段,例如${tem},这里要强调两点,需要使用${},如果不使用的话,存到表中的将会是一个常量,例如填入tem,那数据表存入就是tem这个常量;字段与值的数据类型必须保持一致,不然无法存储.
特别注意:目前规则引擎支持MySQL,所以您购买RDS实例请选择MySQL类型规则引擎为了连接RDS,会在RDS的白名单中添加140.
205.
144.
0/24,140.
205.
145.
0/24,140.
205.
146.
0/24,100.
68.
4.
0/24,140.
205.
128.
0/24,100.
68.
13.
0/24,100.
68.
30.
0/24,100.
68.
31.
0/24,106.
11.
63.
0/24,140.
205.
134.
0/24,140.
205.
40.
0/24,140.
205.
39.
0/24,100.
68.
18.
0/24,140.
205.
51.
0/24,140.
205.
56.
0/24.
这些IP段不能删除,不然物联网套件就无法连接RDS,进而也就无法将数据写进RDS数据库中.
如果没有此记录请手工添加.

写入的RDS需要开通公网IP地址,否则规则引擎无法将符合规则的数据写入进去下图展示的就是RDS控制台的白名单,当用户使用规则引擎将数据写进RDS某个数据库实例时,就会出现在白名单中出现140.
205.
144.
0/24,140.
205.
145.
0/24,140.
205.
146.
0/24,100.
68.
4.
0/24,140.
205.
128.
0/24,100.
68.
13.
0/24,100.
68.
30.
0/24,100.
68.
31.
0/24,106.
11.
63.
0/24,140.
205.
134.
0/24,140.
205.
40.
0/24,140.
205.
39.
0/24,100.
68.

18.
0/24,140.
205.
51.
0/24,140.
205.
56.
0/24这个记录.
阿里云物联网套件控制台使用手册22-----规则引擎为了连接RDS数据库,需要使用用户的账号去连接,这就需要用户提供账号和密码给规则引擎.
这里面需要强调的是规则引擎取得用户的账号后,只是负责将规则匹配的数据写进数据库中,不会做其他操作.
规则引擎只是负责将数据写进RDS数据表中,不会去帮用户去创建数据表,所以用户需要在RDS中自行创建数据表.
存储需要用户自行保证字段与值的数据类型一致,不然会导致写入不成功;值应该使用函数${},这样才能存入JSON数据中的value,不然的话将会存入一个常量.
数据转发到消息服务(Messageservice)中规则引擎可以将IoTHub中的数据转发到消息服务(MNS)中.
有关消息服务的详情,请戳这里.
物联网套件与消息服务的结合,可以实现设备端与服务端之间高性能的消息闭环传输.

设备发送数据到服务端:设备发布消息到物联网套件中,物联网套件通过规则引擎将消息进行处理并转发到MNS的主题中,最后客户的应用服务器调用消息服务的接口订阅消息.
这种方式优势是MNS可以保证消息的可靠性,避免了服务端不可用时的消息丢失,同时MNS在处理大量消息并发时有削峰填谷的作用,保证服务端不会因为突然的并发压力导致服务不可用.

服务端发送数据到设备:客户的应用服务器调用物联网套件的OpenAPI发布数据到物联网套件中,然后设备从物联网套件中订阅消息.
阿里云物联网套件控制台使用手册231.
2.
3.
4.
1.
2.
3.
4.
使用步骤mns控制台创建主题创建规则,将iot数据处理并转发到mns主题中您的服务器接入mns的sdk(推荐使用queue模式订阅)发送一条设备消息,查看您的服务器是否收到详细参考以下截图:MNS控制台操作MNS控制台1.
创建主题这个主题是为了给规则引擎推送数据使用的.
2.
创建订阅主题创建后,还需要给这个主题创建订阅者,这样您的服务器以某个订阅者身份去订阅数据.

主题的消息可以被多个订阅者消费,目前几种方式:队列:把topic里消息转到某个队列,这样您的服务器可以基于某个队列监听数据http:把topic里消息主动通知到您的http地址(需要您部署httpwebserver)邮件:参考mns文档邮件推送短信:参考mns文档短信推送阿里云物联网套件控制台使用手册24---用户根据自己的业务创建订阅者,可以有多个订阅者.
规则引擎转发如下图,添加方法,将数据转发到创建的主题中操作说明:在方法中选择发送消息到消息服务(Messageservice)中首先用户需要根据自己的业务选择消息服务中主题作为数据转发目的地.
用户需要先选择地域,然后根据地域选择主题.
如果没有资源,那就需要去消息服务控制台创建相应的资源.

规则引擎不能操作用户的消息服务中的主题,必须经过用户的授权才能对用户的主题进行写数据.
所以,用户需要创建一个具有消息服务写入数据权限的角色,然后将该角色赋予给规则引擎,这样规则引擎才能将处理过后的数据写入数据表中.
如果存在该角色,选择该角色,如果不存在,创建该角色.
角色具体信息请到RAM控制台查看.
配置好方法之后,运行该规则,就可以将经过SQL语法处理过后的数据转发到消息服务的主题中.

如何从MNS主题获取数据,请参考文档主题使用手册当编写完SQL,添加好方法之后,用户就可以启动规则.
这样一旦有消息Pub到SQL语法中的Topic里时,规则就触发,执行规则.
停止规则用户也可以停止规则,这样规则就不会被触发.
阿里云物联网套件控制台使用手册251.
2.
3.
4.
扩展服务固件升级服务使用指南本文档主要介绍固件服务的控制台使用说明,帮助用户快速使用固件服务.

开通固件升级服务以阿里云帐号直接进入IOT控制台,就可以找到固件升级.
如果还没有开通固件升级服务,则需要点击开通.

使用引导添加固件验证固件批量升级再次升级添加固件目前只有华东2节点支持固件服务.
进入控制台,点击产品管理,选择华东2节点,可以在左侧扩展服务菜单栏看到固件升级菜单.
点击固件升级,在右上角有个添加固件按钮,点击添加固件.

阿里云物联网套件控制台使用手册261.
2.
3.
4.
1.
2.
说明上传的固件文件名称不能包含特殊字符,仅支持中文、英文字母、数字和下划线,长度限制1~32.
上传的固件文件必须是bin文件,一般是linux下编译生成的二进制文件.
上传的固件文件大小不能超过10M.
用户最多能上传100个固件文件(已删除的也包括在内).
验证固件添加完固件后,必须先使用少量设备来验证固件是否可用.
若验证固件可用,则此固件才可以在大量设备上投入使用.
在固件列表上选择某一固件,点击验证固件.
说明:验证固件会向mqtt接入的设备推送升级通知,在线设备会立即接收到升级通知(不在线的设备下次接入时系统会再重新推送一次);其他接入方式(如coap或者https)的设备都是短连接的,所以无法收到.
可以反复发起验证固件,验证固件的本质就是指定少量设备进行升级.
阿里云物联网套件控制台使用手册273.
4.
5.
1.
2.
3.
4.
5.
对于某一固件来说,上一次的验证动作没有结束,是无法再次发起验证的.

百纵科技(1399元/月)香港CN2站群232IP

湖南百纵科技有限公司是一家具有ISP ICP 电信增值许可证的正规公司,多年不断转型探索现已颇具规模,公司成立于2009年 通过多年经营积累目前已独具一格,公司主要经营有国内高防服务器,香港服务器,美国服务器,站群服务器,东南亚服务器租用,国内香港美国云服务器,以及全球专线业务!活动方案:主营:1、美国CN2云服务器,美国VPS,美国高防云主机,美国独立服务器,美国站群服务器,美国母机。2、香港C...

腾讯云CVM云服务器大硬盘方案400GB和800GB数据盘方案

最近看到群里的不少网友在搭建大数据内容网站,内容量有百万篇幅,包括图片可能有超过50GB,如果一台服务器有需要多个站点的话,那肯定默认的服务器50GB存储空间是不够用的。如果单独在购买数据盘会成本提高不少。这里我们看到腾讯云促销活动中有2款带大数据盘的套餐还是比较实惠的,一台是400GB数据盘,一台是800GB数据盘,适合他们的大数据网站。 直达链接 - 腾讯云 大数据盘套餐服务器这里我们看到当前...

HoRain Cloud:国内特价物理机服务器,镇江机房,内地5线BGP接入,月付499元起

horain怎么样?horain cloud是一家2019年成立的国人主机商家,隶属于北京辰帆科技有限公司,horain持有增值电信业务经营许可证(B1-20203595),与中国电信天翼云、腾讯云、华为云、UCloud、AWS等签署渠道合作协议,主要提企业和个人提供云服务器,目前商家推出了几款特价物理机,都是在内地,性价比不错,其中有目前性能比较强悍的AMD+NVMe系列。点击进入:horain...

京东云擎为你推荐
域名注册公司公司域名注册在哪个网站上注册好虚拟主机服务器虚拟主机与独立服务器区别域名注册网网站域名申请,在那备案?广东虚拟主机有什么便宜又好用的虚拟主机吗?美国服务器托管美国网站服务器去哪里租?国外主机空间可以购买国外主机(空间一样吗?)来做私服吗?台湾主机台湾的电脑硬件比韩国,日本,美国强?香港虚拟空间最稳定香港虚拟主机空间在哪里?网站空间商域名空间商怎么做虚拟主机管理系统虚拟主机管理系统那一家好?
免费申请网站域名 免费cn域名 国外主机 128m内存 便宜建站 parseerror 免费全能空间 坐公交投2700元 权嘉云 howfile 日本bb瘦 服务器维护方案 idc资讯 重庆双线服务器托管 如何注册阿里云邮箱 1元域名 镇江高防 ssl加速 免费主页空间 服务器托管价格 更多