Tom·机智云 发表于 2015-4-15 17:19:58

Gokit使用全剖析

   Hello!       大家好

   今天给大家分享一下gokit的小知识,此贴会每天一更新奥{:2_25:}


                                        目 录:victory:

1.   GoKit只为智能硬件而生            
1.1. GoKit是一件艺术品                  
1.2. GoKit有很明确的产品使命      
1.3. GoKit能给您带来什么            
1.3.1. 如果您是一个产品经理         
1.3.2. 如果您是一个APP开发者   
1.3.3. 如果您是一个嵌入式开发者   
1.3.4. 如果您就想讲一个故事         
1.4. GoKit是如何做到的                  
1.4.1. GoKit背后是一个完整的产品体系      
1.4.2. GoKit在系统中的位置         
1.5. GoKit如何获取                        
1.5.1. 如果您是创客                     
1.5.2. 如果您是团体                     

2. 初见GoKit                              

2.1. GoKit1代开箱                        
2.2. GoKit2代开箱                        
2.3. 说明书                                    
2.4. 下载APP                              
2.5. 将您的GoKit 1代连接到您的路由器   
2.5.1. AirLink配置入网                     
2.5.2. Web Config配置模式            
2.5.3. SoftAP配置入网                  
2.6. 将您的GoKit 2代连接到您的路由器   
2.6.1. AirLink配置入网                  
2.6.2. Web Config配置模式         
2.6.3. SoftAP配置入网                  
2.7. 让GoKit亮起来                        
2.8. 即使GoKit不在身边依然近在咫尺   
2.9. GoKit 1代跳线                        
2.9.1. 正常工作模式                        
2.9.2. 调试GoKit STM32模式         
2.9.3. 调试WiFi通讯模组模式         
2.9.4. USB串口升级GoKit STM32 MCU固件模式   
2.10. GoKit串口特性                     

3. GoKit细节                              
3.1. 硬件                                       
3.2. 软件                                       
3.2.1. 设备端软件开发                  
3.2.2. APP开发                              



4. GoKit模版开发示例(一个新品的产生)   
4.1. 我有一个想法                        
4.2. 可以这样定义我的产品         
4.2.1. 成为开发者      
4.2.2. 创建设备   
4.3. 可以这样快速检验我的产品   
4.4. 可以这样重用GoKit资源   
4.4.1. 设备开发   
4.4.2. WiFi模组开发   
4.4.3. APP开发   
4.4.4. 微信开发   
4.4.5. 云对接   
4.5. 可以快速包装进行产品化   
4.6. 运行记录   
5. More   



1. GoKit只为智能硬件而生1.1. GoKit是一件艺术品
1.2. GoKit有很明确的产品使命如果用一句话描述GoKit的产品使命,那就是“智能产品开发要像写《hello world》一样简单”。智能硬件,或者说大家所讲的物联网,纵向方向涉及到的行业知识很多,从下到上大概有传感器、MCU、通讯模组(BLE、ZigBee、WiFi等)、APP、M2M服务、数据存储、报表分析、数据挖掘、云对接等,往往一个初创团队,没有办法迅速在每个点都投入资源。此时,不妨借助一下机智云(GizWits),借助一下机智云提供的GoKit原型,这个原型已经打通了上述的每一个环节,并且开源GoKit相关技术和资料,同时也提供了根据这个原型快速开发新产品的方法。更重要的是,GizWits也是一个开源社区,创客、团体、厂商等圈内朋友可以一起改变智能硬件圈。1.3. GoKit能给您带来什么1.3.1. 如果您是一个产品经理
如果您是一个产品经理,您肯定希望快速的完成两件事情,一是做出产品的原型,实现产品初步功能;二是将产品量产,并找到销售渠道;第一件事情可以这样玩GoKit:1) 在我们的网页上,参照GoKit的模版,用图形化的方式定义您的产品功能;2) 下载系统为您的产品生成的DemoAPP,即可完成对您的产品原型;第二件事情可以这样玩GoKit:1) 使用系统按照您的产品定义生成的协议和源码,参考GoKit的工程,完成快速产品开发(1-2天);2) 使用GizWits提供的开源APP(含UI、UE设计),参考您的产品定义,快速完成APP开发(1-2天);3) 通过GizWits的合作伙伴,找到合适的生产商,进行产品测试和生产;4) 利用GizWits提供的N种宣传和渠道机会,将您的产品一夜成名;1.3.2. 如果您是一个APP开发者
如果您是一个APP开发者,您可能不太熟悉硬件的处理和云端处理;您可以使用GoKit提供丰富资源,进行APP的开发,比如:1) 您可以根据GoKit的电机控制功能,开发出电动窗帘的APP;2) 您也可以根据温湿度传感器,开发出家庭的温湿度检测的APP;3) 您也可以自定义LED的颜色和亮度,来开发出更多功能的APP;4) 当然,如果您愿意,也可以和GizWits的合作伙伴一起,针对您想实现的产品定制GoKit,合作完成一款优秀的产品。1.3.3. 如果您是一个嵌入式开发者
如果您是一个嵌入式开发者,您可能不太了解APP开发以及云端处理,您可以这样玩GoKit:1) 在我们的网页上,参照GoKit的模版,用图形化的方式定义您的产品功能;2) 参考系统生成的协议和源码,以及GoKit工程,二次开发GoKit并烧写MCU;3) 下载系统为您的产品生成的DemoAPP,即可完成对您的产品发现、控制、远程控制;4) 如果您愿意,也可以研究您的产品是如何被APP发现的、如何连接云端的,因为这些基本上都开源;1.3.4. 如果您就想讲一个故事
如果您有一个非常好的想法,能讲一个很好的故事,这个故事可以为您找到投资,可以这样玩GoKit:1) 您可以参照产品经理的做法快速做出产品原型;2) 然后利用GizWits提供的N种活动机会,以及N种投资、孵化渠道,用GoKit原型生动的讲述您的故事;3) 故事被认可后,您可以利用GizWits提供的N个生产合作伙伴实现您的故事;1.4. GoKit是如何做到的1.4.1. GoKit背后是一个完整的产品体系
这个体系包含设备、APP、M2M服务、业务服务、以及云对接等各种环节,详细说来,还有很多很多,如果您有兴趣,可以参考我们的论坛:http://club.gizwits.com/。1.4.2. GoKit在系统中的位置GoKit在系统逻辑上,位于右下角的MCU的位置,即:GoKit代表智能硬件。
1.5. GoKit如何获取1.5.1. 如果您是创客GoKit是面向智能硬件开发者限量免费开放,注册我们的论坛或关注我们的官方微信均可发起申请即可。网站连接地址为:http://site.gizwits.com/developer/activity/gokit/request。1.5.2. 如果您是团体GizWits针对团体有很多支持计划,您可以和GizWtis联系,快速得到GoKit以及技术支持;

2. 初见GoKit2.1. GoKit1代开箱
您需要了解的还有这些:1) WiFi通讯模组可以负责和云端以及手机APP的数据通讯,不限定模组厂商,目前可以和市面上很多模组兼容,比如庆科、汉枫、新岸线、君正、思存……。2) 温湿度传感器、电机、LED灯、红外传感器,这些都是GoKit的板载外设。3) 也可以通过扩展接口进行功能的扩展。4) 使用ULink或者Jlink可以对GoKit进行二次开发。5) 按钮的定义如下表:
按键触发功能
Reset短按将GoKit板载的MCU复位
Key1长按(4秒)将WiFi模组复位,复位后,模组处于SoftAP模式
Key2在长按Key1后短按Key2将WiFi模组处于快连配置状态
Key3短按触发LED和电机故障
Key3长按(4秒)触发报警1
Key4短按触发温湿度传感器故障和红外传感器故障
Key4长按(4秒)触发报警2

1.2. GoKit2代开箱
您需要了解的还有这些:1、WiFi通讯模组可以负责和云端以及手机APP的数据通讯,不限定模组厂商,目前可以和市面上很多模组兼容,比如庆科、汉枫、新岸线、君正、思存……。2、温湿度传感器、电机、LED灯、红外传感器,这些都是GoKit的板载外设。3、也可以通过扩展接口进行功能的扩展。4、使用ULink或者Jlink可以对GoKit进行二次开发。5、与GoKit不同的是2代采用了双层板结构,接口兼容Arduino,熟悉Arduino的朋友可以替换ST为Arduino;另外引出了USB接口,更替了更小封装的调试接口。6、按钮的定义如下表:
按键触发功能
Reset短按将GoKit板载的MCU复位
USER Key短按未定义
Key1长按将复位WiFi模组,并进入Soft AP模式
Key2长按将进入AirLink模式


1.3. 说明书1) 说明书上含有两个二维码,印刷在说明书上的二维码是GoKit对应的APP的下载链接,如下图:                                 
2) 贴在说明书上的二维码可以将您的GoKit和微信账号绑定:

1.4. 下载APP扫描说明书上的二维码就可以下载APP,参见2.2,我们提供了Android和iOS两个版本,您也可以在http://www.gizwits.com/注册我们的开发者账号,定义产品后,在产品的开发资源中下载APP。1.5. 将您的GoKit 1代连接到您的路由器OK,现在您已经拿到了GoKit,已经下载了APP,那么接下来的一步,就是将您的GoKit连接到您的路由器上去,如何做到呢?GoKit提供三种配置入网方式:AirLink 、WebConfig、 SoftAP。1.5.1. AirLink配置入网1) GoKit供电,打开电源开关(如图一),手机连接您的路由器,可以上外网;
                          图一                     图二2) 打开APP,启动IOE Demo,如果您的APP未使用过,您的APP应该不会显示任何设备(如图二);3) 点击此界面的右上菜单,点击添加设备(如图三),输入您的路由器密码(如图四);                             图三                      图四4) 按下面的方法打开GoKit的AirLink配置模式(如图五):i. 长按Key1键4秒,LED灯快速闪一次蓝色,此时,模组上的指示灯会熄灭瞬间再点亮;ii. 等模组上的指示灯再次点亮后,短按Key2键,LED亮绿色,同时模组灯闪烁;                            图五                                          图六5) 在APP上点击配置按钮,等待30秒到一分钟,APP就可以提示配置成功(如图六),在此期间,您可以看到GoKit的绿灯熄灭,模组两个灯瞬间熄灭,一直到模组的指示灯交叉闪烁,这表示模组自动重启成功。1.5.2. Web Config配置模式此方法适用于微信服务号类的应用,可以不适用任何APP,用一个普通浏览器就可以登陆到模组并进行配置,部分GoKit需要升级模组程序才能支持这个功能,具体方法如下。1) 长按Key1键4秒,LED灯快速闪一次蓝色,此时,模组上的指示灯会熄灭瞬间再点亮;2) 手机在系统设置里,连接形如“XPG-GAgent”或者“XPG-GAgent-XXXX”的WiFi热点(XXXX是WiFi模组的MAC后四位,新版模组程序支持),密码:123456789(如图七和图八);      图七                                    图八3) 连接热点成功后,打开浏览器,输入10.10.100.254,登陆到WiFi模组的配置页面(如图九),密码发送成功后,提示配置成功(如图十);4) 成功后,也会看到模组的指示灯状态为交替闪;                  图九                                        图十1.5.3. SoftAP配置入网1) 按Web Config的配置方式,做到第2步,也就是让手机连接到GoKit的WiFi热点;2) 打开APP,按照APP的提示选择或者输入您的路由器和密码,确认即可(如图十一);3) 成功后,也会看到模组的指示灯状态为交替闪;
               图十一1.6. 将您的GoKit 2代连接到您的路由器OK,现在您已经拿到了GoKit,已经下载了APP,那么接下来的一步,就是将您的GoKit连接到您的路由器上去,如何做到呢?GoKit提供三种配置入网方式:AirLink 、WebConfig、 SoftAP。1.6.1. AirLink配置入网6) GoKit供电,打开电源开关(如图一),手机连接您的路由器,可以上外网;
                          图一                     图二7) 打开APP,启动IOE Demo,如果您的APP未使用过,您的APP应该不会显示任何设备(如图二);8) 点击此界面的右上菜单,点击添加设备(如图三),输入您的路由器密码(如图四);                             图三                      图四9) 按下面的方法打开GoKit的AirLink配置模式(如图五):1、长按Key1键4秒,WiFi模块红灯灭后松开,待模块红灯常亮后进入下一步;2、长按Key2键4秒,待WiFi模块上绿灯闪烁后,WiFi模块进入AirLink配置状态;                            图五                                          图六10) 在APP上点击配置按钮,等待30秒到一分钟,APP就可以提示配置成功(如图六),在此期间,您可以看到GoKit的绿灯熄灭,模组两个灯瞬间熄灭,一直到模组的指示灯交叉闪烁,这表示模组自动重启成功。1.6.2. Web Config配置模式同2.5.21.6.3. SoftAP配置入网同2.5.31.7. 让GoKit亮起来1) 设备配置成功后,默认在发现新设备列表,并且未绑定(如图十二);2) 点击设备,自动绑定成功,此时设备进入可操作设备列表(如图十三);                                 图十二                                       图十三3) 点击设备,进入设备的操作页面(如图十四和图十五),在此页面,您可以对GoKit进行各种控制,也可以收到GoKit跟您返回的各种状态。                           图十四                                    图十五
4) 需要注意的几点是:i. 如果您在设定LED组合颜色中,选择了自定义,您可以分别设定R、G、B的颜色;ii. 如果您在设定LED组合颜色中,选择了具体的颜色,您就不可以再对R、G、B进行设置;iii. 红外探测和报警以及故障,都是在GoKit上进行触发,在APP上显示,您可以短按或者长按Key3或者Key4键,来模拟一些故障和报警;iv. 测试红外时,您可以将红外探测阻挡(离传感器3厘米左右),然后APP就会收到被阻挡的信号,红外探测的状态随即会被更改;1.8. 即使GoKit不在身边依然近在咫尺GoKit天生支持远程连接,您可以将您的手机切换成2G、3G、4G,然后打开软件,您的GoKit依然存在,点击设备后就如同本地操作一样,唯一不同的就是目前的连接方式是远程连接。1.9. GoKit 1代跳线GoKit上有三组串口,从上到下依次是:1) CP2102:GoKit上的USB转串口,用于连接PC;2) STM32:连接GoKit板载MCU的串口;3) WIFI:连接WiFi模组里的串口;      下面图中最左的跳线用于STM32的串口升级,请不要轻易改动。1.9.1. 正常工作模式 1.9.2. 调试GoKit STM32模式 1.9.3. 调试WiFi通讯模组模式 1.9.4. USB串口升级GoKit STM32 MCU固件模式 1.10. GoKit串口特性1) 波特率:96002) 校验位:83) 数据位:NONE4) 停止位:1

3. GoKit细节
3.1. 硬件有关GoKit的硬件详细参数、BOM、原理图、扩展图,请参见我们的文档中心或者开发者论坛。3.2. 软件3.2.1. 设备端软件开发如果您开发类似与GoKit的硬件设备端产品,请参考我们的另一份文档:《微信宠物屋设备端开发指南》。3.2.2. APP开发通常来讲,APP会直接生成,不需要再进行开发,如果您需要重新设计您APP的用户体验,可以使用GizWits提供的SDK快速开发,此部分的开发资料请参见《GizWits SDK使用指南》


4. GoKit模版开发示例(一个新品的产生)4.1. 我有一个想法我想开发一款智能洗衣机,使用手机APP可以对洗衣机进行操作,同时也能收到洗衣机的各种状态。4.2. 可以这样定义我的产品4.2.1. 成为开发者通过site.gizwits.com 注册一个开发者账号。4.2.2. 创建设备1) 按照提示创建设备,可以根据实际情况选择对应的选项;
2) 使用方案模板创建生成设备原型,你可以从模板列表中选择与新设备类似的方案模板,点击查看方案模板详细数据点列表,点击“应用此模板”即可将模板数据点应用到新的设备,可以继续对数据点进行编辑、添加或删除(这里的数据点-Data Point,指的就是设备功能)。
3) 如果没有合适的模板,您也可以手动编辑设备数据点,你可以根据新设备功能逐个进行数据点的编辑。 4) 根据上述添加的设备数据点,自动生成了协议文档开发指南,硬件开发人员只需按照文档指示即可轻松完成硬件功能的开发。
4.3. 可以这样快速检验我的产品产品定义完以后,系统自动生成了Demo APP和虚拟设备,其中虚拟设备已经按照产品定义功能完全实现,各项通讯协议也完全实现,您完全可以使用Demo APP立即检验产品功能是否合乎要求。1) 下载Demo APP;如果您需要二次开发,可以下载SDK;
2) 启动虚拟设备,使用Demo APP进行产品功能验证(与GoKit使用流程完全相同);
4.4. 可以这样重用GoKit资源我们为您提供的开发资源,几乎覆盖了智能硬件的整个生命链,主要有下面这些。4.4.1. 设备开发我们提供一套《GoKit 微信宠物屋》工程,包含产品的功能规格、协议、流程图、源码。https://github.com/gizwits/gokit-mcu
4.4.2. WiFi模组开发对于模组的合作方,我们可以提供全套的通讯协议,以及X86版本的源码,方便合作方移植。此外,我们还提供全套的检测工具,快速定位问题所在。如果您需要开发WiFi模组,请和我们取得联系。这些协议有:1) 《机智云平台标准接入协议之通用数据点协议》2) 《机智云平台标准接入协议之设备与云端通讯》3) 《机智云平台标准接入协议之MCU与WiFi模组通讯》4) 《机智云平台标准接入协议之App与设备通讯》4.4.3. APP开发我们提供完全免费十大开源软件,这些APP包含空调、洗衣机、热水器、电插座等常见的家电和家居产品,这些APP都是经过优秀的UI、UE设计而来,您可以直接产品化。此外,如果您需要自己开发APP,我们提供iOS、Android、JS等多种SDK,您只需要关心UI、UE的设计与实现即可。示例:空调iOS开源APP项目https://github.com/gizwits/airconditioner-ios
4.4.4. 微信开发我们提供丰富的教程,让您的产品快速的对接到微信平台,可以参考我们的文档中心。
4.4.5. 云对接机智云已经对接了很多云平台,所以您的产品可以也通过机智云,连接到各大平台,新增或者改变与其他平台的对接,不需要您升级产品,只需要在机智云的云对接层做适配即可。4.5. 可以快速包装进行产品化当你完成了一款设备的开发和设计并且开始准备要量产上市,你可以向机智云发起发布申请,审核通过后,机智云会根据你的意见进行产品协同推广。我们也提供方案市场,您的方案也可以被购买、被应用。4.6. 运行记录当然,设备的数据统计与分析是必不可少的,您可以通过运行记录页面,可查看基础的设备数据统计,包括当前在线的设备数、累计上线设备数以及故障设备数。所有有连接记录的设备都可以查看实时或历史的运行记录数据。
点击每台设备“查看运行状态”,可查看所有的设备数据点运行状态。

5.More
还有很多精彩,等待我们去发现和创造……





Tom·机智云 发表于 2015-4-17 17:31:30

地方 发表于 2015-4-17 17:29
剖析的很详细,以后gokit使用有碰到问题,基本上都可参考这篇文章解决。鼓掌鼓掌~~ ...

:victory::victory::victory:    有不明白的,直接在论坛人多的版块发帖就可以了奥

Tom·机智云 发表于 2015-4-16 17:22:55

paulsmile 发表于 2015-4-16 16:50
太酷了,想拥有gokit,可以远程控制灯的颜色等。真心不错!

以后和女朋友在家喝红酒就不愁没情调啦!~ :lol

Tom·机智云 发表于 2015-6-17 22:01:34

fango 发表于 2015-6-16 23:36
确实不错,就看实际操作碰到什么问题了

谢谢大力支持啊 ,快让身边的小伙伴Tom哥来玩啊

paulsmile 发表于 2015-4-16 16:50:49

鱼跃 发表于 2015-4-17 16:53:53

:) 顶            :)

Tom·机智云 发表于 2015-4-17 17:14:39

鱼跃 发表于 2015-4-17 16:53


:handshake掌声响起来,!~~

地方 发表于 2015-4-17 17:29:44

剖析的很详细,以后gokit使用有碰到问题,基本上都可参考这篇文章解决。鼓掌鼓掌~~

siahekai 发表于 2015-4-21 11:16:56

:lol:lol:lol32个赞!

Tom·机智云 发表于 2015-4-23 22:42:04

siahekai 发表于 2015-4-21 11:16
32个赞!

:lol

Tom·机智云 发表于 2015-5-4 21:31:37

我再自顶一下,嘻嘻:lol:lol

TerryAlien 发表于 2015-5-6 16:37:03

开发WIFI模组的资料,需要什么条件??才能获得

OceanOu 发表于 2015-5-6 17:41:00

TerryAlien 发表于 2015-5-6 16:37
开发WIFI模组的资料,需要什么条件??才能获得

找商务签协议

小船轻轻 发表于 2015-5-15 08:09:02

赞赞赞,哗哗哗

小船轻轻 发表于 2015-5-15 09:24:18

连不上,不知道是哪一步出问题了

suoma 发表于 2015-5-17 13:03:02

《微信宠物屋设备端开发指南》《GizWits SDK使用指南》哪里有?没找见

Tom·机智云 发表于 2015-5-18 11:50:45

小船轻轻 发表于 2015-5-15 09:24
连不上,不知道是哪一步出问题了

请问是什么提示?

Herry 发表于 2015-5-25 10:33:34

很详细的全面剖析!

axushilong 发表于 2015-6-7 08:11:46

非常好,新手必看

xoyo 发表于 2015-6-9 15:23:23

收藏收藏,好东西

Tom·机智云 发表于 2015-6-9 21:17:37

xoyo 发表于 2015-6-9 15:23
收藏收藏,好东西

谢谢捧场!
页: [1] 2 3
查看完整版本: Gokit使用全剖析