物联网
随着新一代信息技术和制造业的融合发展加速,从消费者熟悉的智能家电家居、到工厂的生产设备,越来越多的行业开始积极拥抱物联网。物联网云平台成为其中不可或缺的关键枢纽和数据承载,其对设备的实时远程控制、数据采集存储、大数据运算、智能决策等能力,可以帮助企业实现设备全生命周期数字化管理,提高生产率和效率,支撑决策优化。
云通过优秀的大数据处理能力、性价比极高的算力,开启了消费互联网时代,同时带动了其他行业“云化”的变革,随着物联网在各行业的广泛应用,我们已看到物联网技术在智能家居、能源、零售、物流、交通出行、工业设备制造、安全、租赁等领域的应用给社会生产、生活已带来了积极改变。因此越来越多的企业在尝试进行物联网产品的研发以及商业模式的创新。
机智云全球一体化解决方案 为满足机智云客户销售到海外的的硬件和硬件产品的消费者,能够更好地体验机智云平台带来的便利性,机智云在国外设有独立部署平台,从网络距离上缩短销售到海外的设备连接到国内长距离的网络延时问题,提供更好的交互体验。 目前机智云海外部署节点分布在美国东部、欧洲中部(法兰克福),都使用AWS 云计算服务。如下图所示: 美东节点覆盖范围为北美、南美地区,欧洲节点覆盖范围为欧洲地区。关于各节点的服务器的响应速度如下:
①广州、深圳、广西、湖南、福建等城市/地区的网络响应速度均小于20ms(即0.02秒);国内其他城市/地区的网络响应时间总体小于40ms(即0.04秒);新加坡、马来西亚、印度尼西亚等城市/地区均小于20ms(即0.02秒);亚洲其他城市/地区小于70ms(即0.07秒)。
② 中东地区响应速度均小于70ms(即0.07秒);大洋洲的平均在98ms左右;非洲的平均为150ms左右(即0.15秒)。
③ 欧洲等地区的网络响应时间总体小于40ms(即0.04秒)。
④ 北美洲等地区的网络响应时间总体小于40ms(即0.04秒);南美洲的城市/地区响应速度平均146ms(即0.146秒)。
需注意:由于网络的不稳定性,即存在一定小范围的响应速度误差。
1
方案前期准备工作 1)确认模组使用固件版本
目前支持全球一体化方案模组固件如下:
WiFi模组上烧录的固件为上图中发布时间之后的固件版本均可使用全球一体化方案,不过建议使用最新版本的固件来开发全球一体化的设备。如果开发者无法确认模组的固件是否支持全球一体化方案,可咨询机智云FAE确认。 2)确认APP使用的SDK版本
APP支持全球一体化建议使用以下及其之后发布的SDK版本。
3)一体化方案产品数据同步部署
确定产品使用全球一体化方案后,开发者需要联系机智云技术支持,提供产品如下的对应信息。
获取《产品名称》和《Product key》如下图:
获取《安卓与iOS APPID》如下图:
2
设备端开发 设备要支持全球一体化,除了需要使用支持的固件外,还需要在《3.1获取设备信息》协议中,回复一个Product Secret,具体协议如下图所示:
上图所需产品密钥获取如下:
3
APP开发 全球一体化方案的APP开发分两种方案。方案一是只开发一套APP适应全球设备;方案二是根据机智云的服务器划分,分别开发相对应的APP,也就是总共三套APP。下面先介绍一下全球一体化使用到的启动接口。 1)Andriod端 启动方法:
public void startWithAppID(Context context, String appID, String appSecret, ListspecialProductKeys, ConcurrentHashMap cloudServiceInfo, boolean autoSetDeviceDomain)
参数解析:
需注意:
cloudServiceInfo和autoSetDeviceDomain是没有任何关联的,当autoSetDeviceDomain设置为true的时候,启动SDK以后,APP需要能连上外网,让SDK去云端获取当前APP的APPID与ProudctKey列表的关联关系,只有与APPID关联的ProductKey,APP才有权限去修改其设备的域名。所以,当APP需要实现全球一体化的功能时,ProudctKey参数必填,SDK才可拿到参数值,去云端核对APPID和ProductKey的关联关系。 APP去修改设备域名的时机是:当设备与APP连到同一个局域网内时,APP发现局域网的设备与APP连的服务器不同,就会通过TCP给设备发送域名信息,切换设备连接的服务器。 2) iOS端 启动接口:
+(void)startWithAppID:(NSString*)appID appSecret:(NSString*)appSecret specialProductKeys:(NSArray*)specialProductKeys cloudServiceInfo:(NSDictionary *)cloudSeviceInfo autoSetDeviceDomain:(BOOL)autoSetDeviceDomain;
参数解析:
3)一套APP适配全球设备 该方案是让SDK自动根据时区切换连接的服务器域名,此时的启动接口调用方式如下。 安卓端:
GizWifiSDK.sharedInstance().startWithAppID(this, AppID, AppSecret, ProductKeyList(), null, true);iOS端:
[GizWifiSDK startWithAppID:APPID appSecret:APPSECRET specialProductKeys: ProductKeyList cloudServiceInfo:nil autoSetDeviceDomain:YES];该方案的优点只需要一套APP就可适应所有地区的设备。 4)三套APP适配全球设备 该方案是根据机智云的服务器划分对应的APP。机智云主要划分出三大服务器:中国服务器,美东服务器、欧洲服务器;APP也按这三大服务器划分为三套:中国APP,美东APP,欧洲APP,这三大APP基本内容相同,只在启动接口这里有差别。下面以iOS为例: 中国APP的启动接口:
[GizWifiSDK startWithAppID:APP_ID appSecret:APP_SECRET specialProductKeys:[GosCommon sharedInstance].productKey cloudServiceInfo:@{@"openAPIInfo" : @"api.gizwits.com" , @"siteInfo": @"site.gizwits.com", @"pushInfo": @"push.gizwitsapi.com"} autoSetDeviceDomain:YES];美东APP的启动接口:
[GizWifiSDK startWithAppID:APP_ID appSecret:APP_SECRET specialProductKeys:[GosCommon sharedInstance].productKey cloudServiceInfo:@{@"openAPIInfo" : @"usapi.gizwits.com" , @"siteInfo": @"ussite.gizwits.com", @"pushInfo": @"us.push.gizwitsapi.com"} autoSetDeviceDomain:YES];欧洲APP的启动接口:
[GizWifiSDK startWithAppID:APP_ID appSecret:APP_SECRET specialProductKeys:[GosCommon sharedInstance].productKey cloudServiceInfo:@{@"openAPIInfo" : @"euapi.gizwits.com" , @"siteInfo": @"eusite.gizwits.com", @"pushInfo": @" eupush.gizwits.com "} autoSetDeviceDomain:YES];使用该方式的优点: 用户根据所在位置下载相对应的APP,之后设备就是固定连接相对应的服务器了,运行相对稳定,APP和设备都不会出现在各个服务器之间切换的问题。
全部0条评论
快来发表一下你的评论吧 !