美文网首页
2-机智云应用开发介绍与操作

2-机智云应用开发介绍与操作

作者: 野比大雄001 | 来源:发表于2018-08-08 20:08 被阅读75次

    一、App开发准备工作及向导

    1、机智云APP开发资源简述

    机智云现提供三种APP(集成SDK、使用app开源框架、使用app自动生成)的开发方式。

    【a】机智云设备接入SDK

    iOS平台原生SDK下载地址:https://download.gizwits.com/zh-cn/p/95/97

    iOS平台原生SDK集成指南:http://docs.gizwits.com/zh-cn/AppDev/iOSSDKA2.html

    【b】机智云App开源框架

    iOS开源框架使用说明:http://docs.gizwits.com/zh-cn/AppDev/iosframe.html

    iOS开源框架的快速开发实例:http://docs.gizwits.com/zh-cn/quickstart/iOSAPPFrame.html

    【c】机智云App自动生成服务

    APP自动生成代码服务介绍以及使用教程:http://docs.gizwits.com/zh-cn/UserManual/devApp.html

    【d】App其它开发教程

    IOS消息推送指南:http://docs.gizwits.com/zh-cn/AppDev/iOS%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81.html

    IOS第三方登陆与换肤教程:http://docs.gizwits.com/zh-cn/AppDev/iOS%E7%AC%AC%E4%B8%89%E6%96%B9%E7%99%BB%E9%99%86%E4%B8%8E%E6%8D%A2%E8%82%A4.html

    2、准备创建工作

    【a】创建产品并定义数据点

    【b】为产品创建iOS和Android应用

    【c】App ID与App Secret含义与作用

    二、APP代码自动生成服务介绍

    1、概述

    为了降低开发智能硬件APP开发门槛,降低开发资源的投入,机智云在《APP开源框架》基础上进一步推出了实现项目完整控制功能的APP开源代码。当开发者在产品项目上创建对应的数据点后,云端会根据产品定义的数据点生成对应产品的APP参考代码。

    2、工具使用指南

    【a】创建应用

    应用配置 —> 添加新应用  —> 创建iOS和Android应用

    【b】生成代码

    复制Product Key —> 复制Product Secret —> 等待生成代码包  —> 下载源码  —> 解压源码并查看源码说明

    三、App 开源框架

    三|一、开源框架简介:

    1、App模板主要功能:

    SDK的加载、初始化、用户注册、用户登录、设备配置、设备发现、设备连接、设备列表。

    2、iOS开源框架工程源码链接:

    https://git.oschina.net/dantang/GizOpenSource_AppKit_iOS

    3、iOS开源套件工程源码链接:

    https://git.oschina.net/dantang/GoKit_Demo_iOS

    三|二、开源框架目录结构:

    1、Library(库模块):

    包括 GizWifiSDK 在内的的第三方库目录

    2、GOpenSourceModules(组成模块):

    CommonModule: 公共方法类、资源文件 及 自定义 Cell

    ConfigModule: 设备配置模块,包含 AirLink 及 SoftAP

    UserModule: 用户模块,包含 用户登录、用户注册、找回密码

    DeviceModule: 设备模块,包含 设备列表

    SettingsModule: 设置模块,包含 设置菜单 及其 包含的子菜单项(关于等)

    PushModule: 推送模块,包含 百度和极光的推送SDK 集成封装

    三|三、快速集成(使用指南):

    1、设定初始化参数

    app_id:机智云 app id

    app_secret:机智云 app secret

    product_key:机智云 product key

    wifi_type_select:默认配置模块wifi模组选择功能是否开启

    tencent_app_id:qq登录 app id

    wechat_app_id:微信登录 app id

    wechat_app_secret:微信登录 app secret

    push_type:推送类型 【0:关闭,1:极光,2:百度】

    jpush_app_key:极光推送 app key

    bpush_app_key:百度推送 app key

    openAPIDomain:openAPI 域名及端口,格式:“api.gizwits.com”。要指定端口,格式为:”xxx.xxxxxxx.com:81&8443”

    siteDomain:site 域名及端口,格式:“site.gizwits.com”。要指定端口,格式为:”xxx.xxxxxxx.com:81&8443”

    pushDomain:推送绑定服务器 域名及端口,格式:“push.gizwits.com”。要指定端口,格式为:”xxx.xxxxxxx.com:81&8443”

    buttonColor:按钮颜色

    buttonTextColor:按钮文字颜色

    navigationBarColor:导航栏颜色

    navigationBarTextColor:导航栏文字颜色

    configProgressViewColor:配置中界面 progress view 颜色

    statusBarStyle:状态文字栏颜色 【0:黑色,1:白色】

    addDeviceTitle:添加设备界面 导航栏标题文字

    qq:是否打开QQ登录【true:打开】

    wechat:是否打开微信登录【true:打开】

    anonymousLogin:是否打开匿名登录【true:打开】

    2、加载控制界面

    【a】遵守GizWifiDeviceDelegate委托的代理协议

    【b】self.device.delegate = self;//设置代理

    【c】- (void)device:(GizWifiDevice *)device didReceiveData:(NSError *)result data:(NSDictionary *)data withSN:(NSNumber *)sn;//应答指令接收数据

    【d】- (void)write:(NSDictionary *)data withSN:(int)sn;//下发指令发送数据

    【e】- (void)setSubscribe:(BOOL)subscribed;//取消当前设备订阅

    3、设置界面增加菜单项及点击处理

    三|四、集成极光推送:

    1、申请极光AppKey与Master Secret

    【a】打开网站链接,创建极光应用

    https://www.jiguang.cn/

    【b】打开网站链接,申请苹果推送证书, 并导出成P12文件

    https://developer.apple.com/

    【c】导入证书到极光

    2、在云端绑定第三方推送

    【a】申请开通D3 Engine

    【b】云端绑定极光推送

    【c】利用D3 Engine创建推送规则

    3、修改UIConfig.json代码

    填写jpush_app_key,以及将push_type设为1,表示选择极光推送,并且填写绑定了该极光应用的机智云应用于app_id、app_secret、product_key的值中。

    4、Xcode配置推送

    【a】Product —> Targets —> Capabilities —> Push Notifications

    【b】.entitlements文件 —> 设置值为development时推送只在开发环境生效,distribution时推送只在生产环境生效。

    5、启动虚拟设备

    6、部署APP运行

    7、测试推送功能

    8、极光自定义推送声音

    【a】设置推送声音

    【b】添加推送声音文件到项目

    三|五、集成百度推送:

    1、申请百度API KEY

    【a】打开网站链接,创建百度应用

    http://push.baidu.com/

    【b】打开网站链接,申请苹果推送证书, 并导出成P12文件

    https://developer.apple.com/

    【c】导入证书到百度推送

    2、在云端绑定第三方登陆

    【a】申请开通D3 Engine

    【b】云端绑定百度推送

    【c】利用D3 Engine创建推送规则

    3、修改UIConfig.json代码

    填写jpush_app_key,以及将push_type设为2,表示选择百度推送,并且填写绑定了该百度应用的机智云应用于app_id、app_secret、product_key的值中。

    4、修改百度推送的启动接口

    百度推送的启动接口有一个pushMode参数,分别有两个值BPushModeDevelopment(开发环境) 和 BPushModeProduction(部署环境)。

    5、启动虚拟设备

    6、部署APP运行

    7、测试推送功能

    8、百度自定义推送声音

    【a】设置推送声音

    【b】添加推送声音文件到项目

    三|六、消息推送常见问题:

    1、开发者一定要开通D3 Engine才能使用消息推送。

    2、使用极光推送按照以上步骤完成代码修改,但是却无法收到推送消息。

    3、极光推送如何设置角标的值。

    三|七、集成QQ第三方登录:

    1、获取App ID并绑定应用。

    打开腾讯开放平台网站链接,创建应用获取App ID

    http://open.qq.com/

    2、开源框架配置。

    【a】配置腾讯APP ID

    【b】配置URL Schemes

    三|八、集成微信第三方登录:

    1、获取APPID和APPSecret。

    打开微信开放平台网站链接,创建应用获取App ID

    https://open.weixin.qq.com/

    2、开源框架配置。

    【a】配置微信APP ID

    【b】配置URL Schemes

    三|九、App快速换肤:

    1、开源框架已集成了皮肤定制功能。通过修改UIConfig.json文件即可实现快速换肤。

    2、自定义皮肤代码修改区,各含义如下:

    buttonColor:按钮颜色

    buttonTextColor:按钮文字颜色

    navigationBarColor:导航栏颜色

    navigationBarTextColor:导航栏文字颜色

    configProgressViewColor:配置中界面 progress view 颜色

    statusBarStyle:状态栏颜色

    三|十、App快速开发部署步骤:

    1、打开网站链接,下载iOS APP开源框架

    https://git.oschina.net/dantang/GizOpenSource_AppKit_iOS

    2、导入工程到XCode

    3、开源框架包结构说明

    【a】Library(库模块):第三方框架和机智云SDK

    【b】GOpenSourceModules(组成模块):开源框架和资源

    【c】GOpenSourceAppkit(工程模块):主要工程

    【d】Products(ipa包模块):ipa

    4、修改UIConfig.json文件

    app_id:机智云 app id

    app_secret:机智云 app secret

    product_key:机智云 product key

    wifi_type_select:默认配置模块wifi模组选择功能是否开启

    tencent_app_id:qq登录 app id

    wechat_app_id:微信登录 app id

    wechat_app_secret:微信登录 app secret

    push_type:推送类型 【0:关闭,1:极光,2:百度】

    jpush_app_key:极光推送 app key

    bpush_app_key:百度推送 app key

    openAPIDomain:openAPI 域名及端口,格式:“api.gizwits.com”。要指定端口,格式为:”xxx.xxxxxxx.com:81&8443”

    siteDomain:site 域名及端口,格式:“site.gizwits.com”。要指定端口,格式为:”xxx.xxxxxxx.com:81&8443”

    pushDomain:推送绑定服务器 域名及端口,格式:“push.gizwits.com”。要指定端口,格式为:”xxx.xxxxxxx.com:81&8443”

    buttonColor:按钮颜色

    buttonTextColor:按钮文字颜色

    navigationBarColor:导航栏颜色

    navigationBarTextColor:导航栏文字颜色

    configProgressViewColor:配置中界面 progress view 颜色

    statusBarStyle:状态文字栏颜色 【0:黑色,1:白色】

    addDeviceTitle:添加设备界面 导航栏标题文字

    qq:是否打开QQ登录【true:打开】

    wechat:是否打开微信登录【true:打开】

    anonymousLogin:是否打开匿名登录【true:打开】

    5、控制界面入口

    【a】初始化自定义的控制界面

    【b】从deviceListController(设备列表界面)跳转到自定义控制界面

    6、APP部署运行

    正确填写Product Key、App ID与App Secret后,工程就可以部署运行了。

    7、注册新用户

    8、登陆用户

    9、启动虚拟设备并显示二维码

    10、扫描绑定设备

    11、点击“智能灯”,进入控制界面

    三|十一、App控制页面快速设计步骤:

    1、控制页面代码预览

    2、页面UI设计

    3、页面布局代码开发

    【a】导入图片文件

    【b】添加Button控件

    4、控制逻辑代码开发

    【a】定义数据点宏

    【b】实现控制逻辑,有三个步骤:

    《*1》指定设备的代理

    《*2》遵守设备协议

    《*3》下发控制指令

    【c】实际接收数据逻辑

    【d】解除订阅

    【e】部署测试

    《*1》下发命令

    《*2》设备主动上报数据

    四、App 开发 SDK 接入

    四|一、设备接入SDK概述:

    1、SDK目的与功能:

    配置入网、发现、连接、控制、心跳、状态上报、报警通知等。

    2、机智云物联方案概况:

    云(clound) —》 手机客户端(app) —》 设备(device)

    3、找到最合适的SDK, iOS平台、Android平台、APICound平台(用H5技术实现跨平台)

    4、相关名词定义:

    【a】GAgent

    【b】小循环

    【c】大循环

    【d】ProductKey(产品标识码)

    【e】DID(设备号)

    【f】PassCode(设备通行证)

    【g】AppID(应用标识码)

    【h】Onboarding(配置入网)

    【I】AirLink(UDP广播报方式对设备配置入网的技术统称,兼容了多个Wi-Fi模块厂商的配置协议)

    【j】SoftAP(设备接入路由器,当设备进入SoftAP配置模式时,设备本身将成为一个AP,智能手机可直接与设备进行连接)

    5、集成准备:

    【a】打开网址链接,注册机智云账号

    http://www.gizwits.com/

    【b】新设备接入

    【c】获得App ID应用标识码和ProductKey产品标识码

    【d】下载SDK

    【e】导入SDK(注意: 区分动态库和静态库的导入方式)

    【f】通过cocoapods库管理工具使用GizWifiSDK

    四|二、SDK流程简介:

    1、通用流程图:

    初始化SDK —》初始化SDK —》用户部分处理 —》配置设备入网 —》发现与链接设备 —》控制设备

    2、关键点说明:

     【a】SDK已经封装了所有的用户、配置、发现、连接、控制的过程,开发者使用这些API可以完成上述流程中的功能开发,不需要再自行实现通讯协议。

     【b】SDK采取回调的工作方式,所以必须设置必要的委托,比如通用委托和设备委托,具体请参见流程详解。SDK在主线程中给APP回调。

    四|三、SDK流程详解:

    1、初始化部分:

    【a】初始化部分流程图:引用头文件  —》 设置SDK通用委托  —》 启动

    【b】引用头文件

    【c】设置SDK通用委托

    【d】初始化SDK

    2、用户部分(注册、登录、重置密码、修改个人信息)

    【a】用户部分主要流程图:设置SDK通用委托  —》 用户注册  —》 用户登录

    【b】用户注册:注册手机用户、注册普通用户、注册邮箱用户

    【c】用户登录:实名登录、匿名登录、第三方账号登录

    【d】重置密码:手机号重置密码、邮箱重置密码

    【e】修改密码

    【f】匿名用户转换:匿名用户转普通用户、匿名用户转手机用户

    【g】修改用户信息:修改用户邮箱、修改用户手机号、 修改用户个人信息、同时修改邮箱和个人信息、同时修改手机号和个人信息

    3、配置设备入网部分

    【a】设备配置流程图:设置SDK通用委托  —》 AirLink  —》 SoftAP

    【b】AirLink配置

    【c】SoftAP配置

    4、设备发现和订阅部分

    【a】设备发现和订阅流程图:设置SDK通用委托 —》发现设备 —》设置设备委托 —》订阅设备

    【b】设备发现

    【c】设置设备的委托

    【d】设备订阅和绑定:设备订阅、非局域网设备绑定、设置设备绑定信息

    【e】设备解绑

    【f】获取硬件信息

    5、设备控制部分

    SDK通过字典键值对方式进行设备控制和状态接收。SDK接收到APP下发的指令字典后,对应解析为设备可识别的数据,发送给设备。反之,SDK收到设备回复或上报的数据后,对应解析为字典键值对上报给APP。

    【a】设备控制流程图:设置设备委托 —》App控制设备 —》设备状态主动变化

    【b】发送控制指令

    【c】接收设备状态

    【d】设备状态查询

    6、设备定时任务

    通过给设备设置定时任务,可以让设备在预定的日期和时间执行某些操作。这些操作可以在一个月内的某几天重复,也可以在一周内的某几天重复。定时任务可以先设定好,然后在任何时候开始执行或停止执行。定时任务创建时默认开启。

    【a】流程图:设置定时任务委托 —》创建定时任务 —》更新定时任务列表

    【b】创建定时任务:一次性,按周重复、按月重复

    【c】获取定时任务列表

    【d】修改定时任务

    【e】删除定时任务

    7、设备分享

    用户绑定设备后,可以通过设备分享的方式让其他人使用设备。设备分享提供了更好的设备权限管理,在多用户使用同一个设备时提供了更安全、更便捷的设备绑定方式。设备绑定权限分为四种:

    Owner:设备的主账号,可以分享设备;

    Guest:设备的分享账号,可以接受分享邀请,不能再分享设备给其他人;

    Special:最早绑定设备但还未分享设备的账号,分享设备后即成为设备的主账号;

    Normal:其他已绑定了设备的账号,不能分享设备,也不能成为设备的主账号;

    【a】流程图:设置设备分享委托 —》分享设备 —》查询分享邀请 —》可解绑其他用户

    【b】创建设备分享邀请: 账号分享,二维码分享

    【c】接受分享邀请:接受账号分享邀请

    五、更多App开发指南

    五|一、SDK数据透传方法解析:

    1、概述

    两种数据透传方式:利用“扩展类型”数据点进行透传和利用不定义数据点直接进行数据透传,即纯透传。

    2、扩展类型数据

    【a】定义数据点

    【b】设备上报数据协议说明

    【c】SDK回调接口说明

    【d】APP接收数据代码示例

    【e】设备上报数据案例

    【f】APP下发数据代码示例

    3、无数据点透传

    【a】设备上报数据协议说明

    【b】SDK回调接口说明

    【c】APP接收数据代码示例

    【d】APP下发数据代码示例

    五|二、开源框架视频教程:

    1、教程概述

    2、开源框架教程1-1  https://v.qq.com/x/page/p0344jspddv.html

    3、开源框架教程1-2  https://v.qq.com/x/page/b0350blmgcf.html

    六、微信开发

    六|一、了解微信应用开发:

    1、开发流程

    【a】概述

    【b】总体接入流程图

    【c】机智云

    【d】厂商服务器

    【e】微信服务器

    【f】微信客户端

    2、了解微信

    3、FAQ

    【a】机智云Web Socket API服务是什么?

    【b】WEB socket协议与HTTP有什么区别?

    【c】如果未成功绑定设备,是否可以调用web socket api提供的控制设备指令?

    【d】在使用设备控制api与服务端通讯,采用什么编码?

    【e】设备控制api协议中的参数详细描述有吗

    【f】Web socket api提供SSL的通讯支持吗?

    七、相关重要提示:

    1、支持的iOS8 App版本号, 修改界面的版本号需要到设置模块(SettingsModule)的关于界面(GosAboutViewController)的viewDidLoad 方法中修改属性appVersionLabel的赋值。

    2、重要提示

    【a】查阅《APP代码自动生成服务介绍》,可了解自动生成的APP代码模块具备哪些功能。

    【b】查阅《APP开源框架》,可了解iOS开源框架使用指南。

    【c】查阅《APP开发SDK》,可随心开发IoT APP(很多细节设计,均可在里面找到应用案例)。

    【d】更多应用开发。

    相关文章

      网友评论

          本文标题:2-机智云应用开发介绍与操作

          本文链接:https://www.haomeiwen.com/subject/wazxbftx.html