庆科云
概述
FogCloud是庆科云提供的一个物联网智能云平台。FogCloud提供功能强大的云端服务。这些服务包括 产品/APP管理 ,消息通道,数据存储,设备状态 数据远程同步 到手机设备,以及第三方 微信平台开发,代码托管,在线调试等功能。主要特点为:数据统计,智能触发,OTA。FogCloud宣称平台提供完完全全的开发,彻彻底底的接地气,真真正正的安全。
功能
1、产品(设备)与APP(用户)管理
开发者可以在FogCloud网站创建自己的智能产品和对应的App,并自定义产品属性与数据模型,为每个App提供独立的用户管理系统。
2、消息通道
FogCloud使用开源的MQTT通信协议建立稳定高速的消息通道,为设备和App提供高并发,高可用,低延迟,低功耗的通信服务,并提供简单方便的API以及在线调试工具。
使用FogCloud的消息管理接口,开发者还可以实现数据远程同步,定时发送消息,以及计划任务等扩展功能。
3、数据模型与数据存储
数据模型
开发者可以在FogCloud控制台针对不同硬件产品类型灵活地自定义数据模型,打造自己专属的智能硬件产品。
FogCloud提供丰富的数据模型模板,极大地方便了开发者为不同的智能硬件类型迅速建立完善的数据模型。
数据存储
基于FogCloud的数据模型,我们为开发者们提供了一套完整的数据存储系统。让开发者能够快速、方便的将设备和App接入,而不必关心数据仓库的建立和维护成本。
除了常规的数据储存服务,FogCloud还提供 按时间序列存储 功能,以及简单的 数据处理 和 数据按条件导出 功能,会保存数据更新的历史记录,进行简单的数据处理并自定义导出,方便开发者利用FogCloud的数据进行数据分析。
4、云端转码
针对硬件发送的数据和app端数据格式不一样的场景,FogCloud还提供云端转码功能,您可以将转码代码使用git仓库托管并部署在FogCloud上,帮你自动转码。
5、OTA
FogCloud为硬件开发者提供查询ROM最新版本信息的接口,开发者可以方便的为自己的智能硬件产品实现OTA功能,也可以让阿里云等第三方托管在Fogcloud上的实现OTA。对于OTA更详细的介绍您可以前往OTA页面
6、计划任务
FogCloud还提供计划任务功能,通过此功能,我们可以为智能设备设定很多计划任务。比如:为您的智能窗帘设定一个“每天晚上9:00放下窗帘;每天早上9:00拉起窗帘”的任务。如果您想更深入了解请前往计划任务
交互
简介
FogCloud是一个通用的开放平台,为设备和App提供灵活的接入方式。要使用FogCloud将设备接入网络,首先需要了解设备/App与FogCloud的交互流程。
设备/App使用FogCloud服务的流程分为三个步骤:
1,注册: 设备/用户注册FogCloud,获得在云平台的唯一身份id。
2,绑定: 通过该流程完成某一用户和某一设备的绑定关系。
3,通信: 使用FogCloud的消息服务传输数据及发送指令。
其中,注册和绑定两个过程使用FogCloud的Open API,而通信则使用FogCloud的MQTT服务器。
1,注册
注册包括产品下的设备注册和App下的用户注册。如图:
App开发者调用用户管理接口为自己的App注册用户,完成App下的用户注册。
而设备注册有两种方式可以选择:
a,用户购买设备后由使用者注册,注册流程可以参考 Device注册。
注意: 设备在注册之前先要连上wifi并接入Internet,为设备配网的过程请参考 Device配网。
b,在设备出厂前由设备厂商注册,厂商可以在控制台产品页面点击 +创建 按钮,在创建设备页面批量填写设备的MAC地址完成设备注册,也可以自行调用设备注册接口将设备的MAC地址批量发送给FogCloud完成设备注册。
至此,设备和用户都接入了FogCloud,在云端有了独立的身份。
2,绑定
设备和用户虽然都完成了FogCloud的注册,但他们各自独立,并没有从属关系或绑定关系。只有完成了绑定流程之后,设备和用户才能进行通信。绑定流程如图
2.1,在局域网内,由App将user_id发给设备。user_id是App用户在登录时,云端返回的。
2.2,设备调用绑定接口 /v2/devices/bind,返回的结果为成功,则说明绑定成功。
2.3,App调用获取设备列表接口 /v2/devices/get 来获取这台设备。
注意: 对于某台设备,第一个对他进行绑定操作的用户将成为设备的owner,后来再绑定的用户会成为share用户。
3,通信
设备和APP通过Open API完成了用户/设备的注册和绑定,然后连接MQTT服务器进行控制命令和数据的传输。如图:
FogCloud的消息通道使用MQTT协议,MQTT协议的消息传输基于 Topic(频道) 和 publish/subscribe(发布订阅)。
Device 通过消息频道 device_id/in 接收消息,将执行结果和上传数据发送到 device_id/out。
APP 发送控制命令到 device_id/in,监听 device_id/out 获得设备最新状态。
注意: 使用MQTT通信服务,开发者可能需要了解IBM官方网站的 MQTT协议规范
使用方法
使用庆科云主要有四个步骤:注册登录-创建产品及APP-设备与APP通讯-APP/Device连接mqtt服务器
创建完产品及APP后就可以对其进行管理了。
产品管理
庆科云的产品管理页面提供产品信息页面、设备列表页面、数据模型页面、触发器页面、ROM发布页面、云端转码页面、开发者管理页面。
APP管理
庆科云的APP管理页面提供App信息页面、用户列表页面、开发者管理页面。若是微信APP,还提供git部署 , 微信菜单。
设备与APP的通讯
配置了产品与APP之后,就可以进行代码配置和调试了。
FogCloud的接口使用 HTTP 协议,请求响应都使用 JSON 格式。
具体的调试方法请见设备和App与云交互概要
总结来说,设备与APP通讯主要有四个步骤:APP用户注册并登录-Device配网-Device注册-APP与Device绑定。
注:庆科云的APP与设备绑定必须在同一WiFi环境下
庆科云的APP与设备绑定使用的是FogCloud的HTTP OpenAPI。
App/Device的即时通信不需要再调用FogCloud的HTTP OpenAPI,而是使用FogCloud的MQTT服务器。
用户与APP管理功能详解
用户管理
点击 产品图标,可以进入该产品详情页,其中包含七个页面,页面依次是:产品信息、设备列表、数据模型、触发器、ROM发布、云端转码、开发者管理,当中包含了设备详情页面:设备信息、MQTT测试、数据点统计、在线统计。
1、产品信息
产品信息: 列出了产品的基本信息。点击 红色笔 按钮,可以对产品的基本信息进行修改。点击 删除此产品 可以将该产品删除,包括该产品下的所有设备都会被删除。下面的地图显示该产品下的设备的地址。
2、设备列表
设备列表: 展示该产品下已经注册的设备。如果该产品下的设备比较多,你可以根据mac地址来对该设备进行 搜索 。导出 按钮可以导出csv格式的设备列表信息。同步到微信 按钮可以选择你的产品及对应的微信app,点击 同步 后,可获取对应微信号下的设备二维码。点击 红色+ 按钮,创建注册一台或者多台新设备,注册多台新设备时,MAC地址换行支持批量创建。
点击 设备图标 进入该设备的详情页面。在设备详情页面中包含4个页面,依次为:设备信息、MQTT测试、数据点统计、在线统计。
2.1、设备信息
设备信息: 显示设备的基本信息。可以点击 删除该设备 按钮将该设备从产品中完全删除,删除后设备信息会被注销,且该设备与其他用户的绑定关系会全部丢失。
2.2、MQTT测试
MQTT测试: 针对当前设备的MQTT频道进行调试,页面自动为你订阅了device_id/in和device_id/out频道,这两个频道内有消息时会自动显示在请求日志下面。
2.3、数据点统计
数据点统计: 如果你的数据模型设置为按时间序列存储,并且使用MQTT服务器的device _id/out频道发布了该数据模型的信息,数据点统计页面就会显示数据模型的时间序列信息统计图。提供的统计方式是一天、一周、30天。
2.4、在线统计
在线统计: 显示设备的在线状态统计信息,有蓝色显示的时间范围为设备在线,设备离线时段图标显示为空白。
3、数据模型
数据模型: 这是FogCloud的核心功能。我们建议开发者为产品的所有数据点创建数据模型,如果设置该数据点的时间序列属性为true,则可以使用datapoints接口查询到该数据点的历史数据(时间序列的数据点建议不超过5个)。点击 红色+ 按钮,添加新的数据点。
其包括以下几个属性:
a. 数据模型参数:必填项,属性变量名。
b. 属性名:属性实际代表的描述名称,例如:“温度、举例、重量等”。
c. 时间序列:选择是,表示属性存储将会以时间为顺序,全部记录下来。例如:空气净化器的PM值,都将按照时间戳先后顺序,存储在云端。选择否,则表示,之后的数据存储将以覆盖形式存储,适用于一些只有最终状态有意义的属性,例如:设备当前在线状态,等等。
d. 参数类型:int、bool等类型
e. 描述:关于数据模型的说明。
4、触发器
触发器:此功能基于产品的数据模型功能,可以选择一个数据点并设置数据点的数值监听条件,如果条件触发则访问指定的url实现自定义的功能。点击 红色+ 按钮,创建新的触发器。
您可以根据自己产品的需求,对之前创建的某些数据模型进行监控,达到您设置的临界点时,事件触发。包括以下几个属性:
a.名字:你的事件触发的名字
b.数据模型:选择你在上一步中创建的数据模型
c.时间间隔:如果事件发生,希望去执行的时间,若为0就是立即执行
d.比较:5种条件选择,自己根据需求挑选
e.阈值:事件触发达到的极限值,自己定义
f.调用URL(POST):调用触发器的地址
5、ROM发布
ROM发布:设备固件的开发者在这将新版rom发送到云端,实现设备的远程自动升级。点击红色+按钮上传固件。
需要填写以下几个参数:
a. version(必须):您发布ROM的版本号
b. 版本类别:分为alpha、beta、release和eol。可以根据您目前ROM的情况自由选择
c. corename:发布代号(别名)
d. 上传文件(必须):请选择要上传的ROM固件的文件
最后点击上传,即可完成ROM在线托管。并附有下载地址。
6、云端转码
云端转码:该功能就是针对设备端和App端消息不一致的场景,FogCloud会使用开发者上传的转码脚本将消息转换格式后发送。添加git仓库地址来部署自定义的转码脚本。
需要填写以下几个参数:
a. Repo(必须):如果您的项目在git上是公开的,请填写项目http地址;如果是加密的,请填写SSH地址
b. Deploy Key(参考):只有在项目是加密的情况下,需要在git的deploy_keys中将FogCloud的SSH Key加入您的项目,这样FogCloud就能自动读取您的代码。
c. Web Hook Url:请将此项加入您Git项目的Web Hooks中,以便在您更新您的代码时,FogCloud能自动获取发布。否则您需要手动到FogCloud发布。
最后点击发布即可完成云转码托管。
7、开发者管理
开发者管理: 点击 红色+ 按钮,输入其他开发者的用户名,点击添加,即为您的产品添加了协同开发者,我们建议固件开发者和App开发者互相添加,更有利于协作开发。
APP管理
点击 App图标 进入该App的详情页,其包含三个页面:App信息、用户列表、开发者管理。
1、App信息
App信息:展示App基本属性信息。你可以点击 红色笔 编辑按钮编辑App的基本信息。SMS Server为可配置项,如果你的App支持手机号码注册,可以在这里配置短信服务器,FogCloud现在支持yuntongxun.com的短信服务,你需要在云通讯网站注册并配置app与短信模板,并在这里配置对应的信息。 点击 删除此App 按钮,可以将该App删除,同时该产品下所有用户也会被删除。
2、用户列表
用户列表: 展示该App下已经注册的用户。
点击编辑按钮可以进入用户管理页面。
2.1、用户信息
用户信息:展示用户基本信息,App的客服可以点击 红色笔 为用户修改密码。
2.2、用户设备
用户设备:展示该用户绑定的设备列表。App的客服可以在这里为用户解绑设备。点击设备可以进入设备管理页面。
3、开发者管理
开发者管理:点击 红色+ 按钮,输入其他开发者的用户名,点击添加,即可以为你的产品添加协同开发者,建议固件开发者和App开发者互相添加,更有利于协作开发。