雾计算可以理解为设备端的计算,能协助云计算解决部分其无法解决的数据计算需求,比如要求一秒钟采集50次传感器的设备,不可能实时把数据传到云端再进行处理,更适合在设备进行必要的数据计算,向云端传输处理结果,或者模组直接将数据的分析结果转换成对设备的动作等,提高实时性。
机智云ECE雾计算主要对接智能设备用的通信模组和手机,采取编译性语言(C语言)和解析性语言(Lua)相结合的方式,使用解析性脚本,将适配策略在云端进行配置,配置后通过推送的方式发送到模组或手机,设备收到新的配置策略后,立即执行;配置策略分别负责适配传输层协议适配、业务层协议适配、数据的计算方法等。
机智云ECE雾计算能降低开发成本,缩短开发周期。
ECE是Edge Computing Engine的缩写,意为边缘计算引擎。
PK是Pruduct Key的缩写,是企业在机智云平台开发者中心创建的某款产品的唯一编号,同一款产品的Product Key都是相同的。
协议脚本可将产品自定义协议与机智云协议进行相互转换,帮助用户产品轻松接入机智云。
通信配置可设置串口通信的通信参数(波特率等)。
微应用可设置数据通信方法(数据包格式、加密方式等),对数据的处理(取最大值、最小值等),以及设备行为参数(采样频率、心跳时间等)。
LUA是嵌入式脚本语言,实现可配置性和可扩展性。
申请条件:企业开发者
第一步:登录机智云新版【开发者中心】,在组织层面开通【ECE 雾计算】服务后,全部产品均可使用该服务。
https://developer.gizwits.com/#/login
第二步:点击【账号】,选择【企业信息】页面,选择左侧组织,点击【服务中心】;
第三步:选择【ECE雾计算】,点击【立即开通】按钮,等待机智云审核;
第四步:待审核通过后,点击【返回旧版】,需返回旧版开发者中心使用此功能。(由于新版功能还在开发完善中,部分功能仍会在旧版使用中)。
第五步:选择产品,在服务列表即可看到ECE 雾计算;点击【ECE 雾计算】即可开始体验。
机智云ECE雾计算服务于企业开发者用户,暂不对个人开发者用户开放。
设置通信接口的设置参数,比如通信串口号、波特率、数据包格式、校验方式等,通过这些设置,可以让模组与设备正常的收发数据。
场景1:波特率转换
我们通过LUA脚本,将原来的设备通讯串口号从com3转换成com4,将波特率从9600转换成38400。
我们使用ECE雾计算服务,在【通信配置】里,将修改好的脚本进行录入(如下图,设备通讯串口号从com3转换成com4,波特率从9600转换成38400),然后点击【推送】,设置好推送地址。
此时,我们可以看到程序启动时(如下图),打开的串口号是COM3,波特率是9600。运行期间会收到云端的推送消息。收到消息后,模组会重启串口,并按照设定的参数,打开COM4,波特率使用38400。
这样,我们的通用模组,只在云端进行简单配置,就可以和各种设备进行数据通讯,双方都不需要再做二次开发。
流程说明:
1.通信配置LUA脚本给用户提供范例脚本头部,用户可对脚本进行新增、修改、清空操作,目前脚本只保留最新一版;
2.通信配置可以动态更改通信参数;
3.上传:脚本编写好,暂不进行推送,可将脚本上传云端保存;若用户不对脚本推送或上传,辑的脚本将不被保存;
4.通信配置只能对模组进行推送,可指定MAC地址或同PK所有MAC地址推送。点击推送后脚本将上传到云端保存;
微应用升级指的是对设备获取的数据或者设备自身行为的设置。可以设置对数据的后期处理,比如对温度值的最大值、最小值、平均值的处理,也可以设置设备的行为处理,比如设置设备对温度的采集频率等。
场景1:业务层协议转换
把设备采集的原始二进制数据转换成json字符串,然后再上报云端。
我们使用ECE雾计算服务,在【微应用】里,录入协议转换脚本(如下图),然后点击【推送】,设置好推送地址。
可以看到程序一开始输出的是原始二进制数据(如下图),收到云端下发的排序指令后,模组输出的就是格式化的json串。
这样,设备的私有协议都可以不用更改,我们在云端配置解析方法后,就可以做自动的适配和解析。
场景2:新增一个设备行为
当温度超过70度后,点亮红灯报警。
我们使用ECE雾计算服务,在【微应用】里,录入关联动作脚本(如下图),然后点击【推送】,设置好推送地址。
从日志中(如下图),可以看到模组已经收到脚本。
此时,我们使用热风枪加热传感器(如下图),可以看到超过70度后,设备亮起了红灯。
这样,设备更多的功能,可以在后期方便的增加或者更改,而不用升级整个固件。
场景3:高级数据运算
让设备进行比较高效复杂的数据运算,并把运算结果转换为json后上传云端。假设设备默认5秒一次温度采样频率,为了得到更多的采样点,我们设定设备新的采样频率为100毫秒采集一次温度值,5秒后,用采集的数据计算出平均值、最大值、最小值和方差,然后上报云端。
同样是5秒上报一次,但是后者更具数据价值。
我们使用ECE雾计算服务,在【微应用】里,录入设备行为设定以及数据分析(如下图),然后点击【推送】,设置好推送地址。
可以看到设备一开始5秒一次采集温度(如下图),并上传,收到云端的配置脚本后,设备改为100毫秒采集一次温度,然后计算出结果,上报云端。
这样,就可以做到云和雾的计算平衡,雾端可以做更多的实时数据处理,实现最大的数据价值。
流程说明:
1.微应用LUA脚本给用户提供范例脚本头部,用户可对脚本进行新增、修改、清空操作,目前脚本只保留最新一版;
2.微应用可用于业务层协议的自动适配和解析、添加或修改设备行为、让设备进行比较高效复杂的数据运算;
3.上传:脚本编写好,暂不进行推送,可将脚本上传云端保存;若用户不对脚本推送或上传,编辑的脚本将不被保存;
4.微应用可对模组或者手机进行推送:
流程说明:
1.同【2.3.2微应用模组推送流程说明】1、2、3;
2.微应用可对模组或者手机进行推送:
该名称为用户自定义输入,为必填项,否则无法实现推送。用户可删除或修改文案,目前版本只支持保存最新操作。支持字符输入字母A-Z、a-z、下划线、数字0-9,首字母不能为数字,字符最大输入量为64字节。此功能有两个用处:
MAC地址输入至少一个,输入限制50个内;输入多个MAC采用“回车”换行形式,地址多于输入框显示范围,输入框出现拉条,用户可点击并上下拖动到查看每一行。推送后将保存用户的填写信息。
MAC地址输入功能包括复制、粘贴、删除。
MAC支持输入任何符号、数字0-9、大写A-Z、小写a-z,限制12个字符或以内,地址输入操作如图:
选择协议脚本后,会自动生成LUA脚本规范头部,用户不可对头部内容进行修改,用户在”–to do”下方完成内容编辑。
头部规范如下:
1 | ----------luaComInit---------- |
功能:设置串口通信的通信参数(波特率等)。
分为不同的微应用模块,每个微应用模块有不同的头部规范,应该在”–to do”下方位置添加相应的模块实现。目前支持以下的微应用模块:
头部规范如下
1 | ----------luaInit---------- |
功能:初始化设置lua环境,比如应用内存大小。
头部规范如下:1
2
3
4----------luaUtils----------
--to do
----------luaUtils end----------
功能:开发者自己实现的公共基础函数,可以被其它微应用模块所调用。
如果仅是一个微应用模块单独会使用的函数,不要放在该模块,放到相应微应用模块中。否则可能会导致其它微应用模块运行时占用内存过大而失败。
头部规范如下:1
2
3
4----------luaHandleDataFromApp----------
--to do
----------luaHandleDataFromApp end------
功能:处理APP端下发的业务数据。
头部规范如下:1
2
3
4----------luaHandleDataFromDev----------
--to do
----------luaHandleDataFromDev end------
功能:处理设备端发送的业务数据。
https://v.qq.com/x/page/n0362u2fgws.html
http://v.qq.com/x/page/r03612h7pr0.html
http://v.qq.com/x/page/p0361baxn9z.html
http://v.qq.com/x/page/a03619wrrqr.html
http://v.qq.com/x/page/d03617dbq8p.html
http://v.qq.com/x/page/y0361kmy887.html
目前支持Wi-Fi类、蓝牙类、GPRS类产品。
目前不支持查看历史推送记录,每次脚本上传或脚本推送都只保存当前最新脚本,日后会开放此功能。
目前并不支持更改,脚本头部规范内容具有脚本类型识别作用。
用户点击推送后,云端会对MAC地址进行校验,假若MAC地址输入错误,会有弹框提醒用户。用户只需返回推送设置界面,系统会用户红色字体标出错误MAC,用户可删除或重新填写。
目前版本暂不支持模组或手机是否成功接收,只给用户反馈是否推送成功。
此版本暂不支持脚本文件上传,日后会开放此功能。