国内外物联网平台初探-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4114|回复: 0

国内外物联网平台初探

[复制链接]
发表于 2016-11-28 15:22 | 显示全部楼层 |阅读模式
本篇介绍的是机智云IoT物联网云服务平台及智能硬件自助开发平台。


平台定位

机智云平台是致力于物联网、智能硬件云服务的开放平台。平台提供了从定义产品、设备端开发调试、应用开发、产测、运营管理等覆盖智能硬件接入到运营管理全生命周期服务的能力。


机智云平台为开发者提供了自助式智能硬件开发工具与开放的云端服务。通过傻瓜化的工具、不断增强的SDK与API服务能力最大限度降低了物联网硬件开发的技术门槛,降低研发成本,提升开发者的产品投产速度,帮助开发者进行硬件智能化升级,更好的连接、服务最终消费者。


产品功能
工具服务
架构
  • 机智云

机智云云端提供了产品的定义、产品数据点定义、虚拟设备调试、M2M服务、API服务等功能。为设备、应用接入提供云服务。

  • GAgent

设备端的模组系统GAgent,通过使用GAgent,开发者可根据机智云提供的协议与GAgent对接,使设备可快速接入。目前已兼容国内主流的Wi-Fi模块、移动网络模块。

  • IOT SDK

机智云提供了基于IOS,Android系统的IOT SDK,开发者通过SDK,可快速实现APP开发,无缝接入机智云,并根据SDK获取机智云平台逐步推出的新服务。

研发流程
技术方案
概念解释

  • GAgent:全称Gizwits Agent,运行于Wi-Fi模块中,设备通过GAgent接入机智云服务器。 目前已兼容国内主流的Wi-Fi模块, 开发者也可以通过获取GAgent二次开发包实现自定义的模块接入机智云。
  • 小循环:智能设备与手机、智能设备与智能设备之间,通过连接同一个路由器实现局域网内部的通信(查看状态或控制),我们称之为小循环。
  • 大循环:智能设备通过路由器或直接接入互联网以实现用户的远程监测与控制,我们称为大循环。
  • ProductKey:产品标识码,开发者通过机智云后台创建新产品后,自动生成的一个32位字符串。在机智云的数据库中是一个唯一的号码,开发者完成开发写入设备主控MCU后,机智云通过此标识码对设备进行识别并自动完成注册。
  • DID:设备号,当一个设备初次接入机智云时,机智云自动根据ProductKey以及设备Wi-Fi模块MAC地址为此设备注册一个did,此did全网唯一,用于与用户的绑定及后续操作。
  • PassCode:设备通行证,用于校验用户的绑定/控制权限。当用户发起设备绑定时,只要是合法操作即可拿到此通行证,通过此通行证绑定设备并对设备进行有效期内的查看、控制等操作。GAgent首次运行时生成随机数作为设备通行证,生成后保存在非易失性存储器上。设备上线时需要上报给服务器。
  • AppID:应用标识码,当开发者需要为一款智能产品开发应用(包括iOS、Android、Web应用等)时,后台会自动生成一个AppID,并与此设备进行关联。应用开发时需要填入此AppID。
  • Onboarding:也叫配置入网,用户将一款基于Wi-Fi的物联网设备配置连接上路由器的过程称为Onboarding。新设备第一次使用时需要知道路由器的账号和密码,以通过路由器连接互联网。由于大多数的物联网设备没有自带的屏幕和键盘,所以需要通过智能手机向设备发送路由器的SSID和密码,这个过程机智云称为Onboarding。机智云提供的Wi-Fi设备接入SDK中已经内置了此配置的功能。
  • AirLink:机智云对各种SmartConfig、SmartLink这种UDP广播报方式对设备配置入网的技术统称,兼容了多个Wi-Fi模块厂商的配置协议,总结了一套良好用户体验的标准Onboarding操作流程,机智云的Wi-Fi 设备接入SDK已经内置AirLink技术。
  • SoftAP:由于目前各个Wi-Fi模块厂商的Smart Config协议均未完全成熟,也不支持5G路由器信号。机智云在提供了AirLink配置模式的同时也支持SoftAP模式配置设备接入路由器。当设备进入SoftAP配置模式时,设备本身将成为一个AP,智能手机可直接与设备进行连接,然后在手机上的界面上输入路由器的SSID和密码,设备接收到信息的时候会自动尝试连接路由器,连接成功则自动切换到正常使用的模式。


关键概念 - 数据点

  • 机智云云端和APP对设备上报的数据进行分析、处理,或设备对机智云云端和APP下发数据进行分析、处理,前提是双方明确数据的含义。机智云后台提供了数据点的定义界面,通过数据点定义,设备与云端、APP端数据通信的含义将得到明确。
  • 数据点定义的好处:

1.明确设备与云端、APP端数据通信的含义。
2.云端根据数据点定义,解析设备数据,用户可使用“设备运行状态”,“统计分析”等功能。
3.机智云具有大数据统计接口,通过接口,可快速分析设备数据。
4.方便APP开发者开发,APP SDK可解析下发/上报等设备数据。
5.方便MCU开发,机智云根据数据点定义,生成MCU与GAgent通信详细串口通讯协议。

云端管理 - 产品定义


设备端开发 - 原理
设备端开发 - MCU编程步骤

  • 下载MCU与GAgent串口通讯协议
  • 创建项目,完成定义产品数据点,机智云根据数据点自动形成项目MCU与GAgent串口通讯协议
  • 根据MCU与GAgent串口通讯协议,参考GoKit开发套件MCU程序,完成MCU与GAgent通讯
  • 机智云提供设备端调试工具
  • 机智云对厂家检验设备提供设备厂测模式
  • 机智云对MCU固件可进行管理,OTA升级
  • 机智云对MCU与云端交互的数据进行统计分析



应用开发 - 原理


应用开发 - APP方案

原生SDK:

主要帮助开发者通过sdk接口调用的方式维护用户系统,用户与设备的绑定关系,设备的配置上线以及设备状态的获取和控制指令的发送。开发者应用SDK,无需对APP与设备、云端交互进行再次开发,根据产品原型定义,可快速开发产品APP。同时机智云推出十大开源项目,下载、学习开源项目APP源码,更可快速应用机智云SDK开发APP。


跨平台开发:

为了让更多的企业、创客团队以及个人开发者能享受到机智云带来的优质服务与便利,与各种优秀的平台进行合作。APICould 平台机智云移动端开发模块的上线,让广大开发者能用 JavaScript + HTML 写出完美的、跨平台的移动应用。


应用开发 - 微信方案

应用机智云提供WebSocket通信方案。WebSocket通信基本内容:用户登陆,接收设备上线下线消息,发送和接收设备业务逻辑数据,心跳。


厂商需要在独立部署的WEB系统中调用“用户管理API”获取身份资格,然后需要绑定设备才能控制设备。厂商需要在独立部署的WEB系统中的Javascript中调用“Web Socket API”进行设备的控制与设备数据的实时展示,让微信(网页)应用能够实时获取设备状态数据,对最终消费者提供更好的体验。


应用开发 - 设备厂家业务云开发

应用Noti接口接收设备事件,包括故障与报警事件、数据点编辑事件、设备上下线事件、设备状态事件。使用Noti接口,可实时接收产品最新数据。


应用开发 - Android APP开源框架


应用开发 - Android设备接入SDK


应用开发 - 设备接入流程


应用开发 - 微信

机智云

如图①在微信接入业务场景中,通过开发者中心(site.gizwits.com)的图形化界面定义设备功能,机智云自动生成设备MCU与通信模组之间的串口通信协议,开发者根据协议文档即可实现设备的联网能力。


如图②部分,设备接入机智云后,机智云提供了面向微信应用的API,提供传输设备数据到应用、应用向设备发起的控制信息的功能。


厂商服务器

厂商服务器是厂商为了满足自己的微信应用,独立部署的WEB系统。该系统通过机智云平台提供的API进行与设备的数据、控制的实时通讯,解决智能硬件接入的需求;通过访问微信公众号平台的API实现以微信为渠道服务厂商最终消费者的需求。


首先,开发者可以为自己的应用设计个性化的HTML交互界面与功能。(如图③④部分)


微信服务器

微信服务器主要为设备与厂商服务器之间的通信提供了一系列的接口,主要包括微信用户账号与设备的绑定/解绑定、接受/发送设备消息等,具体接口及使用方法可查看微信官方文档,微信最近推出了微信硬件平台,在做微信接入前需要仔细了解微信公众号与微信硬件平台,提供的功能要在不断完善。


微信客户端

微信客户端提供了最终与用户交互的操作界面,可以理解为就是一个运行在手机的浏览器,只不过是运行在微信公众号这套体系下。开发者可通过自己申请的公众号管理后台配置自定义的菜单。


应用开发 - 数据接入SDK功能
好了,介绍到此结束。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:47 , Processed in 0.068499 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表