EMW3162GoKit开发板STM32F103智能硬件机智云2.0php
从物联网概念诞生起,人们就不断在期盼着全民物联网时代的降临。有人说,2014年是智能硬件的元年,这种结合了硬件、软件、云服务为一 体的硬件平台真正触及到了物联网发展的本质。谈到智能硬件的将来,或许一千我的眼里就有一千个哈姆雷特,可是有一点是毋庸置疑的,从此智能硬件将愈来愈依 赖云服务。ios
国内就有这么一家专为智能硬件提供后台支持的云服务平台——机智云,这个由杰升科技开发的云服务平台,主要为智能硬件开发商提供包括统计分析、数据安全、远程管理、软件升级等支持服务。截止到2014年的第二季度,机智云上接入的智能家居和可穿戴设备等智能硬件数量已经超过了200万台,是国内最大的智能硬件集群。git
机智云github
能够这么说吧,这是一家最懂智能硬件的软件公司,不久前随着机智云2.0的升级,云平台支持更是从原来面向厂家的B2B定制化服务扩展到 B2D(Developers,开发者)的开放式开发模式,并且相应的推出了一套智能硬件开发板——机智云GoKit,配合机智云的云平台支持,能够帮助 智能硬件开发者进行快速的产品研发,说了那么多,让咱们先一块儿来见识下GoKit这个新颖的玩意。ajax
GoKit开发板数据库
爱板网拿到的机智云GoKit开发套件包含了一块GoKit开发板以及一份上手使用说明文档,GoKit板卡安置在一个简易的塑料盒内,仅在miniUSB供电接口/串口处开了一个孔,总体看上去十分精致小巧,相信对它一见倾心的工程师不在少数。编程
GoKit开发套件安全
做为一款开源的智能硬件板卡,GoKit的资料在机智云官方论坛都有提供,不过在这里咱们仍是免不了要详细了解下板卡的硬件组成,看看GoKit开发板到底具备什么样的功能?能实现什么样的应用?微信
GoKit开发板网络
GoKit板卡的主要功能:
GoKit板卡的板载资源很是丰富,核心控制器为板卡背面的意法半导体的STM32F103C8T6微控制器,基于Cortex-M3内核,属于市面上应用的很是广的一款芯片,不管是相关的应用或者资料都比较齐全,对于工程师来讲,极易上手。
在GoKit上,STM32F103C8T6控制了包括WiFi模块、电机、RGB LED、红外光电探测器、温湿度传感器等应用功能,经过板载的20pin JTAG接口或者miniUSB-to-UART口能够实现对STM32F103C8T6 MCU编程、调试。值的注意的是,若是要经过miniUSB接口实现串口功能,须要安装板载CP2012芯片的串口驱动。
EMW3162 WiFi模块
做为一款智能硬件平台,无外乎须要具有基本的联网功能,经过上面的介绍,咱们已经知晓GoKit板载的联网WiFi模块是庆科的EMW3162,以下图
EMW3162 WiFi模块
EMW3162 WiFi模块基本参数:
EWM3162 WiFi模块包含了一个主频高达120MHz的Cortex-M3微控制器STM32F205RG(STM32F205RG数据手册), 配合mxchipWNet 嵌入式Wi-Fi固件,工程师能够方便、快速地为嵌入式设备增长Wi-Fi网络通信功能,并且从GoKit上咱们也能看到,EMW3162模块并非直接 焊接在主板上的,它采用了2.0mm间距的30pin直插式排针座接口与GoKit主板链接,能够方便的替换市面上一些主流的WiFi模块方案,如高通的 400四、汉枫、Ti、Marvell等(最新消息,日前GoKit还完成了接通Intel Edison和君正M150),这样的设计无疑为工程师自由定义产品的无线通讯方案提供了便利的条件。
除了无线功能,GoKit板载的电机、RGB LED、红外光电探测器、温湿度传感器功能能够模拟目前市面上大部分的智能硬件产品,如
总的来讲,GoKit开发板上的应用功能仍是很是贴近主流的智能硬件产品,对于刚接触智能硬件的工程师来讲具备必定的引导做用。
固然,除了板载的特定应用功能,GoKit一样提供了一些方便用户自定义的扩展外设接口,如黄色的排针座P4_8pin、P5_8pin,4个用户能够自定义功能的机械按键,虽然可扩展功能很少,但仍是为外设功能扩展提供了一些可行性条件,聊胜于无嘛。
综合GoKit开发板的硬件组成以及相关功能,相对于咱们日常所见的开发板,GoKit可算得上是一款真正贴近产品的开发平台,整个板卡的硬件原理框图以下。
GoKit开发板硬件原理框图
如何开发
不一样于通常的微控制器板卡,GoKit智能硬件板的开发主要分为两部分,一部分是对自身板卡STM32F103C8T6微控制器的编程开发,实现 MCU对应用功能的控制(如电机、传感器等);另外一部分是对移动端APP的开发,开发相应的APP经过云平台实现GoKit开发板的M2M接入服务,经过 APP来控制板卡上的功能。对于智能产品开发的完整性,二者缺一不可。
相信对于第一部分的MCU开发咱们接触的比较多,平时爱板网评测的MCU板卡基本都是对于微控制器的编程开发,具体能够经过IDE开发工具KEil、IAR等实现,何况GoKit特地选用了应用很是广的意法半导体STM32F103(STM32F103数据手册)微控制器,不管是资料完整度仍是实际范例都很是多,便于工程师上手。
机智云一样也提供了GoKit板载程序的源代码,能够在GitHub上下载,下图则是经过Keil打开的GoKit板载MCU程序的源代码。
GoKit内置MCU程序源代码
若是咱们想在GoKit板卡上外扩更多功能,除了硬件电路的修改,一样也要在这部分MCU的编程中添加相关功能的代码,从新编译、下载,这里就再也不累述。
本文主要讨论的仍是第二部分APP的开发,这也是使用机智云平台对GoKit开发板进行开发的一个重要优点。
GoKit开发板没有提供现成的APP下载,须要咱们花费一点时间经过机智云平台来生成APP(不知道是否是为了让咱们有那么一点点小小的成就感)。
如何操做?
首先咱们须要在机智云官网注册一个开发者帐号,而后经过新建设备接入来添加基于GoKit的开发产品,以下图所示
添加机智云接入设备
目前接入设备的通讯方式只能选择WiFi,产品类型却是能够有不少选择,包括了最新的智能家居产品、玩具等,这里随便选择一项便可。添加完成后会进入新设备接入的向导设置。
新设备设置向导
设置向导中的第一步就是编辑数据点,经过数据点协议的编辑,你能够制定设备每个功能是否对外发送状态数据以及是否接受外部的控制,这里能够经过应用已有的模板或者经过手动编辑来创建数据点。
这里的数据点指的是什么?
在编辑数据点前,你须要先了解你的设备详细参数,根据设备具体的功能进行数据点的拆分。好比,你的设备有一个可变速电机马达,你但愿能够远程控制电机的开关和转速。那你须要添加至少2个数据点:电机开关、电机转速。
为了方便,咱们直接选择应用模板中的数据点设置,机智云会根据你接入设备添加的数据点生成一份<机智云接入串口通讯文档>,以下图红色标示的位置所示
生成<机智云接入串口通讯文档>
根据这份文档你能够完成MCU通讯功能的编写。完成这几个步骤就能够进入设备的调试阶段,机智云会根据你先前的设置生成相应的包括苹果ios以及谷歌Andriod系统平台的相关:
你能够直接下载DemoAPP进行设备调试,也能够将生成的SDK软件包加入到你苹果ios或者谷歌安卓的开发项目中进行修改、增减功能等操做(具 体能够参考集成开发文档),这就像是提供的MCU开发编程的例程同样,SDK软件包的提供能够大大缩短移动端APP的开发周期。
经过机智云平台的简易开发流程以下:
经过机智云对GoKit开发流程
调试GoKit板卡功能
机智云平台提供了两种调试方法,一种是没有GoKit开发板依托于机智云平台的虚拟调试方法,另外一种则是依托于GoKit开发板的实物调试方式。这里就直接选用第二种实物调试方式,以安卓平台为例,下载安装机智云生成的DemoAPP。
配置网络
具体网络配置过程就不累述了,能够根据GoKit开发板提供的使用说明文档操做。
因为是DemoAPP缘故,就不讨论所谓的用户体验了,APP UI的界面是至关的简单,仅有一些基本功能实现的选项。网络配置成功后,能够在APP主界面看到一个相关的微信宠物蛋局域网在线的选项,点击进入就是GoKit开发板的功能设置界面了,以下图
经过APP实现对GoKit开发板的控制
此时你能够经过GoKit APP界面的选项来控制板卡上的应用功能,以下图分别为RGB LED的红色LED显示以及红外探测功能的实现。
RGB LED的红色LED显示以及红外探测功能的实现
在APP上一样能看到温度、湿度等的显示,还能够经过电机的设定实现正转、反转、转速控制,这里就再也不一一演示了。机智云生成的APP基本上就是一个功能演示性的Demo,真正的产品整合仍是须要用户结合开发文档本身开发。下图则为经过APP控制GoKit开发板的工程流程图。
GoKit开发板工做流程图
GoKit开发板背后的意义
看完机智云GoKit开发套件的硬件组成、软件开发以及使用感觉,有什么想说的呢?
机智云平台
正如文章一开头所讲的,一个智能产品的研发离不开硬件、软件以及云服务平台,这三者的结合给人们带来了更多更有创意的产品,但同时也给研发带来了 “前所未有”的门槛,而杰升科技从这三方面着手,从之前单单提供云服务平台,到现在推出了开源硬件板GoKit、相应的开源软件代码,加之机智云平台,真 正为用户提供了一站式解决方案,在下降智能硬件门槛的同时大大下降了产品的研发周期。
不只如此,依托于云服务庞大的数据库支持,机智云还能经过收集成千上万用户使用习惯的信息,帮助开发者改进产品,迎合用户实际需求,设计出真正兼具创新与实用的智能产品。
小结
介绍了杰升科技推出的GoKit开发板以及基于机智云平台的智能硬件产品的开发流程,GoKit开发板搭载了市面上主流意法半导体通用微控制器 STM32F103C8T6(Cortex-M3)、常见的WiFi通讯模块(EMW3162)、传感器、RGB LED、电机等组件,能够实现大部分智能硬件产品的功能模拟(如智能灯泡、环境监测等),结合机智云平台提供的云服务以及开源代码,不只大大下降了智能硬 件产品的研发门槛、缩短研发周期,更是为开发者提供了一站式的智能硬件产品解决方案。目前,GoKit开发套件能够在机智云官网免费申请,感兴趣的朋友必定不能错过。
参考资料