文档中心
机智云 文档中心
English
热搜词
APP
SDK
Android
ios
WIFI
如何使用机智云ECE雾计算
文档编辑

ECE概述

1. ECE雾计算是什么

雾计算可以理解为设备端的计算,能协助云计算解决部分其无法解决的数据计算需求,比如要求一秒钟采集50次传感器的设备,不可能实时把数据传到云端再进行处理,更适合在设备进行必要的数据计算,向云端传输处理结果,或者模组直接将数据的分析结果转换成对设备的动作等,提高实时性。

机智云ECE雾计算主要对接智能设备用的通信模组和手机,采取编译性语言(C语言)和解析性语言(Lua)相结合的方式,使用解析性脚本,将适配策略在云端进行配置,配置后通过推送的方式发送到模组或手机,设备收到新的配置策略后,立即执行;配置策略分别负责适配传输层协议适配、业务层协议适配、数据的计算方法等。

2. 技术价值

机智云ECE雾计算能降低开发成本,缩短开发周期。

  • 云端配置脚本,动态改变模组行为;
  • 增加不同设备的数据通信自适配的能力;
  • 增加不同设备的协议自动转换能力;
  • 增加设备端的数据计算算法实施与更换以及立即执行的能力。

Alt text

3.必读术语

3.1 ECE

ECE是Edge Computing Engine的缩写,意为边缘计算引擎。

3.2 PK

PK是Pruduct Key的缩写,是企业在机智云平台开发者中心创建的某款产品的唯一编号,同一款产品的Product Key都是相同的。

3.3 协议脚本

协议脚本可将产品自定义协议与机智云协议进行相互转换,帮助用户产品轻松接入机智云。

3.4 通信配置

通信配置可设置串口通信的通信参数(波特率等)。

3.5 微应用

微应用可设置数据通信方法(数据包格式、加密方式等),对数据的处理(取最大值、最小值等),以及设备行为参数(采样频率、心跳时间等)。

3.6 LUA脚本

LUA是嵌入式脚本语言,实现可配置性和可扩展性。

4.ECE 雾计算申请流程

申请条件:企业开发者

第一步:登录机智云新版【开发者中心】,在组织层面开通【ECE 雾计算】服务后,全部产品均可使用该服务。

https://developer.gizwits.com/#/login

第二步:点击【账号】,选择【企业信息】页面,选择左侧组织,点击【服务中心】;

11

第三步:选择【ECE雾计算】,点击【立即开通】按钮,等待机智云审核;

12

第四步:待审核通过后,点击【返回旧版】,需返回旧版开发者中心使用此功能。(由于新版功能还在开发完善中,部分功能仍会在旧版使用中)。

13

第五步:选择产品,在服务列表即可看到ECE 雾计算;点击【ECE 雾计算】即可开始体验。

14

使用场景与业务流程

1.服务对象

机智云ECE雾计算服务于企业开发者用户,暂不对个人开发者用户开放。

2.通信配置协议转换

设置通信接口的设置参数,比如通信串口号、波特率、数据包格式、校验方式等,通过这些设置,可以让模组与设备正常的收发数据。

2.1场景描述

场景1:波特率转换
我们通过LUA脚本,将原来的设备通讯串口号从com3转换成com4,将波特率从9600转换成38400。

我们使用ECE雾计算服务,在【通信配置】里,将修改好的脚本进行录入(如下图,设备通讯串口号从com3转换成com4,波特率从9600转换成38400),然后点击【推送】,设置好推送地址。

Alt text

此时,我们可以看到程序启动时(如下图),打开的串口号是COM3,波特率是9600。运行期间会收到云端的推送消息。收到消息后,模组会重启串口,并按照设定的参数,打开COM4,波特率使用38400。

Alt text

这样,我们的通用模组,只在云端进行简单配置,就可以和各种设备进行数据通讯,双方都不需要再做二次开发。

2.2使用流程

Alt text

流程说明:

1.通信配置LUA脚本给用户提供范例脚本头部,用户可对脚本进行新增、修改、清空操作,目前脚本只保留最新一版;

2.通信配置可以动态更改通信参数;

3.上传:脚本编写好,暂不进行推送,可将脚本上传云端保存;若用户不对脚本推送或上传,辑的脚本将不被保存;

4.通信配置只能对模组进行推送,可指定MAC地址或同PK所有MAC地址推送。点击推送后脚本将上传到云端保存;

Alt text

3.微应用升级

微应用升级指的是对设备获取的数据或者设备自身行为的设置。可以设置对数据的后期处理,比如对温度值的最大值、最小值、平均值的处理,也可以设置设备的行为处理,比如设置设备对温度的采集频率等。

3.1场景描述

场景1:业务层协议转换
把设备采集的原始二进制数据转换成json字符串,然后再上报云端。
我们使用ECE雾计算服务,在【微应用】里,录入协议转换脚本(如下图),然后点击【推送】,设置好推送地址。

Alt text

可以看到程序一开始输出的是原始二进制数据(如下图),收到云端下发的排序指令后,模组输出的就是格式化的json串。

Alt text

这样,设备的私有协议都可以不用更改,我们在云端配置解析方法后,就可以做自动的适配和解析。

场景2:新增一个设备行为
当温度超过70度后,点亮红灯报警。
我们使用ECE雾计算服务,在【微应用】里,录入关联动作脚本(如下图),然后点击【推送】,设置好推送地址。

Alt text

从日志中(如下图),可以看到模组已经收到脚本。

Alt text

此时,我们使用热风枪加热传感器(如下图),可以看到超过70度后,设备亮起了红灯。

Alt text

这样,设备更多的功能,可以在后期方便的增加或者更改,而不用升级整个固件。

场景3:高级数据运算
让设备进行比较高效复杂的数据运算,并把运算结果转换为json后上传云端。假设设备默认5秒一次温度采样频率,为了得到更多的采样点,我们设定设备新的采样频率为100毫秒采集一次温度值,5秒后,用采集的数据计算出平均值、最大值、最小值和方差,然后上报云端。

同样是5秒上报一次,但是后者更具数据价值。
我们使用ECE雾计算服务,在【微应用】里,录入设备行为设定以及数据分析(如下图),然后点击【推送】,设置好推送地址。

Alt text

可以看到设备一开始5秒一次采集温度(如下图),并上传,收到云端的配置脚本后,设备改为100毫秒采集一次温度,然后计算出结果,上报云端。

Alt text

这样,就可以做到云和雾的计算平衡,雾端可以做更多的实时数据处理,实现最大的数据价值。

3.2微应用模组推送流程

Alt text

流程说明:

1.微应用LUA脚本给用户提供范例脚本头部,用户可对脚本进行新增、修改、清空操作,目前脚本只保留最新一版;

2.微应用可用于业务层协议的自动适配和解析、添加或修改设备行为、让设备进行比较高效复杂的数据运算;

3.上传:脚本编写好,暂不进行推送,可将脚本上传云端保存;若用户不对脚本推送或上传,编辑的脚本将不被保存;

4.微应用可对模组或者手机进行推送:

  • 若对模组推送可指定MAC地址或同PK所有MAC地址推送;
  • 点击推送后脚本将上传到云端保存;

Alt text

3.3微应用手机推送流程

Alt text

流程说明:

1.同【2.3.2微应用模组推送流程说明】1、2、3;

2.微应用可对模组或者手机进行推送:

  • 有设备上,也可以只应用到这个Product_Key下被当前手机用户绑定过的设备上;
  • 选择对手机推送,用户则不需选择推送范围,也不需要填写MAC地址;
  • 点击推送后脚本将上传到云端保存;

Alt text

业务规范

1脚本名称

该名称为用户自定义输入,为必填项,否则无法实现推送。用户可删除或修改文案,目前版本只支持保存最新操作。支持字符输入字母A-Z、a-z、下划线、数字0-9,首字母不能为数字,字符最大输入量为64字节。此功能有两个用处:

  • 用户对本次脚本录入作备注,再次进入ECE服务时,能通过自定义文案知道当前操作内容;
  • 脚本推送时,作为推送的文件名;

2 MAC地址

MAC地址输入至少一个,输入限制50个内;输入多个MAC采用“回车”换行形式,地址多于输入框显示范围,输入框出现拉条,用户可点击并上下拖动到查看每一行。推送后将保存用户的填写信息。

MAC地址输入功能包括复制、粘贴、删除。
MAC支持输入任何符号、数字0-9、大写A-Z、小写a-z,限制12个字符或以内,地址输入操作如图:

Alt text

LUA脚本规格说明

选择协议脚本后,会自动生成LUA脚本规范头部,用户不可对头部内容进行修改,用户在”–to do”下方完成内容编辑。

1 通信配置脚本头部

头部规范如下:

1
2
3
4
----------luaComInit----------
--to do

----------luaComInit end----------

功能:设置串口通信的通信参数(波特率等)。

2微应用脚本头部

分为不同的微应用模块,每个微应用模块有不同的头部规范,应该在”–to do”下方位置添加相应的模块实现。目前支持以下的微应用模块:

2.1 Lua环境设置

头部规范如下

1
2
3
4
----------luaInit----------
--to do

----------luaInit end----------

功能:初始化设置lua环境,比如应用内存大小。

2.2公共基础函数

头部规范如下:

1
2
3
4
----------luaUtils----------
--to do

----------luaUtils end----------

功能:开发者自己实现的公共基础函数,可以被其它微应用模块所调用。
如果仅是一个微应用模块单独会使用的函数,不要放在该模块,放到相应微应用模块中。否则可能会导致其它微应用模块运行时占用内存过大而失败。

2.3 APP下发数据处理

头部规范如下:

1
2
3
4
----------luaHandleDataFromApp----------
--to do

----------luaHandleDataFromApp end------

功能:处理APP端下发的业务数据。

2.4 设备端数据处理

头部规范如下:

1
2
3
4
----------luaHandleDataFromDev----------
--to do

----------luaHandleDataFromDev end------

功能:处理设备端发送的业务数据。

ECE雾计算视频教学

1 企业账号注册

https://v.qq.com/x/page/n0362u2fgws.html

2 固件烧录

http://v.qq.com/x/page/r03612h7pr0.html

3 pk烧录

http://v.qq.com/x/page/p0361baxn9z.html

4 MCU协议介绍

http://v.qq.com/x/page/a03619wrrqr.html

5 lua脚本讲解

http://v.qq.com/x/page/d03617dbq8p.html

6 gokit跑lua演示

http://v.qq.com/x/page/y0361kmy887.html

常见问题

1 ECE服务支持哪些通信方式的产品?

目前支持Wi-Fi类、蓝牙类、GPRS类产品。

2 能看到历史推送记录吗?

目前不支持查看历史推送记录,每次脚本上传或脚本推送都只保存当前最新脚本,日后会开放此功能。

3 LUA脚本头部规范内容可自定义吗?

目前并不支持更改,脚本头部规范内容具有脚本类型识别作用。

4 MAC地址输入错误了怎么办?

用户点击推送后,云端会对MAC地址进行校验,假若MAC地址输入错误,会有弹框提醒用户。用户只需返回推送设置界面,系统会用户红色字体标出错误MAC,用户可删除或重新填写。

5 模组或手机接收成功会收到反馈吗?

目前版本暂不支持模组或手机是否成功接收,只给用户反馈是否推送成功。

6 支持脚本文件上传吗?

此版本暂不支持脚本文件上传,日后会开放此功能。