如何使用机智云ECE雾计算
本帖最后由 Genius 于 2016-12-29 12:19 编辑ECE概述1. ECE雾计算是什么雾计算可以理解为设备端的计算,能协助云计算解决部分其无法解决的数据计算需求,比如要求一秒钟采集50次传感器的设备,不可能实时把数据传到云端再进行处理,更适合在设备进行必要的数据计算,向云端传输处理结果,或者模组直接将数据的分析结果转换成对设备的动作等,提高实时性。机智云ECE雾计算主要对接智能设备用的通信模组和手机,采取编译性语言(C语言)和解析性语言(Lua)相结合的方式,使用解析性脚本,将适配策略在云端进行配置,配置后通过推送的方式发送到模组或手机,设备收到新的配置策略后,立即执行;配置策略分别负责适配传输层协议适配、业务层协议适配、数据的计算方法等。2. 技术价值机智云ECE雾计算能降低开发成本,缩短开发周期。
[*]云端配置脚本,动态改变模组行为;
[*]增加不同设备的数据通信自适配的能力;
[*]增加不同设备的协议自动转换能力;
[*]增加设备端的数据计算算法实施与更换以及立即执行的能力。
http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/001.png3必读术语3.1 ECEECE是Edge Computing Engine的缩写,意为边缘计算引擎。3.2 PKPK是Pruduct Key的缩写,是企业在机智云平台开发者中心创建的某款产品的唯一编号,同一款产品的Product Key都是相同的。3.3 协议脚本协议脚本可将产品自定义协议与机智云协议进行相互转换,帮助用户产品轻松接入机智云。3.4 通信配置通信配置可设置串口通信的通信参数(波特率等)。3.5 微应用微应用可设置数据通信方法(数据包格式、加密方式等),对数据的处理(取最大值、最小值等),以及设备行为参数(采样频率、心跳时间等)。3.6 LUA脚本LUA是嵌入式脚本语言,实现可配置性和可扩展性。使用场景与业务流程1.服务对象机智云ECE雾计算服务于企业开发者用户,暂不对个人开发者用户开放。2.通信配置协议转换设置通信接口的设置参数,比如通信串口号、波特率、数据包格式、校验方式等,通过这些设置,可以让模组与设备正常的收发数据。2.1场景描述场景1:波特率转换
我们通过LUA脚本,将原来的设备通讯串口号从com3转换成com4,将波特率从9600转换成38400。我们使用ECE雾计算服务,在【通信配置】里,将修改好的脚本进行录入(如下图,设备通讯串口号从com3转换成com4,波特率从9600转换成38400),然后点击【推送】,设置好推送地址。http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/002.png此时,我们可以看到程序启动时(如下图),打开的串口号是COM3,波特率是9600。运行期间会收到云端的推送消息。收到消息后,模组会重启串口,并按照设定的参数,打开COM4,波特率使用38400。http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/003.png这样,我们的通用模组,只在云端进行简单配置,就可以和各种设备进行数据通讯,双方都不需要再做二次开发。2.2使用流程http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/004.png流程说明:1.通信配置LUA脚本给用户提供范例脚本头部,用户可对脚本进行新增、修改、清空操作,目前脚本只保留最新一版;2.通信配置可以动态更改通信参数;3.上传:脚本编写好,暂不进行推送,可将脚本上传云端保存;若用户不对脚本推送或上传,辑的脚本将不被保存;4.通信配置只能对模组进行推送,可指定MAC地址或同PK所有MAC地址推送。点击推送后脚本将上传到云端保存;http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/005.png3.微应用升级微应用升级指的是对设备获取的数据或者设备自身行为的设置。可以设置对数据的后期处理,比如对温度值的最大值、最小值、平均值的处理,也可以设置设备的行为处理,比如设置设备对温度的采集频率等。3.1场景描述场景1:业务层协议转换
把设备采集的原始二进制数据转换成json字符串,然后再上报云端。
我们使用ECE雾计算服务,在【微应用】里,录入协议转换脚本(如下图),然后点击【推送】,设置好推送地址。http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/006.png可以看到程序一开始输出的是原始二进制数据(如下图),收到云端下发的排序指令后,模组输出的就是格式化的json串。http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/007.png这样,设备的私有协议都可以不用更改,我们在云端配置解析方法后,就可以做自动的适配和解析。场景2:新增一个设备行为
当温度超过70度后,点亮红灯报警。
我们使用ECE雾计算服务,在【微应用】里,录入关联动作脚本(如下图),然后点击【推送】,设置好推送地址。http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/008.png从日志中(如下图),可以看到模组已经收到脚本。http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/009.png此时,我们使用热风**加热传感器(如下图),可以看到超过70度后,设备亮起了红灯。http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/010.png这样,设备更多的功能,可以在后期方便的增加或者更改,而不用升级整个固件。场景3:高级数据运算
让设备进行比较高效复杂的数据运算,并把运算结果转换为json后上传云端。假设设备默认5秒一次温度采样频率,为了得到更多的采样点,我们设定设备新的采样频率为100毫秒采集一次温度值,5秒后,用采集的数据计算出平均值、最大值、最小值和方差,然后上报云端。同样是5秒上报一次,但是后者更具数据价值。
我们使用ECE雾计算服务,在【微应用】里,录入设备行为设定以及数据分析(如下图),然后点击【推送】,设置好推送地址。http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/011.png可以看到设备一开始5秒一次采集温度(如下图),并上传,收到云端的配置脚本后,设备改为100毫秒采集一次温度,然后计算出结果,上报云端。http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/012.png这样,就可以做到云和雾的计算平衡,雾端可以做更多的实时数据处理,实现最大的数据价值。3.2微应用模组推送流程http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/013.png流程说明:1.微应用LUA脚本给用户提供范例脚本头部,用户可对脚本进行新增、修改、清空操作,目前脚本只保留最新一版;2.微应用可用于业务层协议的自动适配和解析、添加或修改设备行为、让设备进行比较高效复杂的数据运算;3.上传:脚本编写好,暂不进行推送,可将脚本上传云端保存;若用户不对脚本推送或上传,编辑的脚本将不被保存;4.微应用可对模组或者手机进行推送:
[*]若对模组推送可指定MAC地址或同PK所有MAC地址推送;
[*]点击推送后脚本将上传到云端保存;
http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/014.png3.3微应用手机推送流程http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/015.png流程说明:1.同【2.3.2微应用模组推送流程说明】1、2、3;2.微应用可对模组或者手机进行推送:
[*]有设备上,也可以只应用到这个Product_Key下被当前手机用户绑定过的设备上;
[*]选择对手机推送,用户则不需选择推送范围,也不需要填写MAC地址;
[*]点击推送后脚本将上传到云端保存;
http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/016.png业务规范1脚本名称该名称为用户自定义输入,为必填项,否则无法实现推送。用户可删除或修改文案,目前版本只支持保存最新操作。支持字符输入字母A-Z、a-z、下划线、数字0-9,首字母不能为数字,字符最大输入量为64字节。此功能有两个用处:
[*]用户对本次脚本录入作备注,再次进入ECE服务时,能通过自定义文案知道当前操作内容;
[*]脚本推送时,作为推送的文件名;
2 MAC地址MAC地址输入至少一个,输入限制50个内;输入多个MAC采用“回车”换行形式,地址多于输入框显示范围,输入框出现拉条,用户可点击并上下拖动到查看每一行。推送后将保存用户的填写信息。MAC地址输入功能包括复制、粘贴、删除。
MAC支持输入任何符号、数字0-9、大写A-Z、小写a-z,限制12个字符或以内,地址输入操作如图:http://docs.gizwits.com/assets/zh-cn/UserManual/ECE/017.pngLUA脚本规格说明选择协议脚本后,会自动生成LUA脚本规范头部,用户不可对头部内容进行修改,用户在”–to do”下方完成内容编辑。1 通信配置脚本头部头部规范如下:
----------luaComInit----------
--to do
----------luaComInit end----------
功能:设置串口通信的通信参数(波特率等)。2微应用脚本头部分为不同的微应用模块,每个微应用模块有不同的头部规范,应该在”–to do”下方位置添加相应的模块实现。目前支持以下的微应用模块:2.1 Lua环境设置头部规范如下
----------luaInit----------
--to do
----------luaInit end----------
功能:初始化设置lua环境,比如应用内存大小。2.2公共基础函数头部规范如下:
----------luaUtils----------
--to do
----------luaUtils end----------
功能:开发者自己实现的公共基础函数,可以被其它微应用模块所调用。
如果仅是一个微应用模块单独会使用的函数,不要放在该模块,放到相应微应用模块中。否则可能会导致其它微应用模块运行时占用内存过大而失败。2.3 APP下发数据处理头部规范如下:
----------luaHandleDataFromApp----------
--to do
----------luaHandleDataFromApp end------
功能:处理APP端下发的业务数据。2.4 设备端数据处理头部规范如下:
----------luaHandleDataFromDev----------
--to do
----------luaHandleDataFromDev end------
功能:处理设备端发送的业务数据。常见问题1 ECE服务支持哪些通信方式的产品?目前支持Wi-Fi类、蓝牙类、GPRS类产品。2 能看到历史推送记录吗?目前不支持查看历史推送记录,每次脚本上传或脚本推送都只保存当前最新脚本,日后会开放此功能。3 LUA脚本头部规范内容可自定义吗?目前并不支持更改,脚本头部规范内容具有脚本类型识别作用。4 MAC地址输入错误了怎么办?用户点击推送后,云端会对MAC地址进行校验,假若MAC地址输入错误,会有弹框提醒用户。用户只需返回推送设置界面,系统会用户红色字体标出错误MAC,用户可删除或重新填写。5 模组或手机接收成功会收到反馈吗?目前版本暂不支持模组或手机是否成功接收,只给用户反馈是否推送成功。6 支持脚本文件上传吗?此版本暂不支持脚本文件上传,日后会开放此功能。
抢沙发,感谢楼主分享:lol 能配套一个视频讲讲吗?有点云里雾里。哈哈。 能配套一个视频讲讲吗?有点云里雾里。哈哈。
页:
[1]