为智能硬件提供一站式解决方案——机智云GoKit评测
2014年12月24日 作者: ladouyu 3 17,414+ 4

EMW3162GoKit开发板STM32F103智能硬件机智云2.0

从物联网概念诞生起,人们就不断在期盼着全民物联网时代的降临。有人说,2014年是智能硬件的元年,这种结合了硬件、软件、云服务为一 体的硬件平台真正触及到了物联网发展的本质。谈到智能硬件的未来,或许一千个人眼里就有一千个哈姆雷特,但是有一点是毋庸置疑的,今后智能硬件将越来越依 赖云服务。

国内就有这么一家专为智能硬件提供后台支持的云服务平台——机智云,这个由杰升科技开发的云服务平台,主要为智能硬件开发商提供包括统计分析、数据安全、远程管理、软件升级等支持服务。截止到2014年的第二季度,机智云上接入的智能家居和可穿戴设备等智能硬件数量已经超过了200万台,是国内最大的智能硬件集群。

机智云

可以这么说吧,这是一家最懂智能硬件的软件公司,不久前随着机智云2.0的升级,云平台支持更是从原来面向厂家的B2B定制化服务扩展到 B2D(Developers,开发者)的开放式开发模式,而且相应的推出了一套智能硬件开发板——机智云GoKit,配合机智云的云平台支持,可以帮助 智能硬件开发者进行快速的产品研发,说了那么多,让我们先一起来见识下GoKit这个新颖的玩意。

GoKit开发板

爱板网拿到的机智云GoKit开发套件包含了一块GoKit开发板以及一份上手使用说明文档,GoKit板卡安置在一个简易的塑料盒内,仅在miniUSB供电接口/串口处开了一个孔,整体看上去十分精致小巧,相信对它一见钟情的工程师不在少数。

GoKit开发套件

作为一款开源的智能硬件板卡,GoKit的资料在机智云官方论坛都有提供,不过在这里我们还是免不了要详细了解下板卡的硬件组成,看看GoKit开发板到底具有什么样的功能?能实现什么样的应用?

GoKit开发板

GoKit板卡的主要功能:

  • 庆科WiFi模块EMW3162:实现与主微控制器STM32F103C8T6STM32F103C8T6数据手册通信
  • RGB LED:实现LED颜色亮度的调节
  • 电机:可调转速、正反转
  • 温湿度传感器DHT11:获取温度、湿度信息
  • 红外探测传感器:探测10cm范围内有无阻挡

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模块基本参数:

  • 持IEEE 802.11 b/g/n,发射功率:18dBm@11b,15dBm@11g,14.5dBm@11n
  • 收灵敏度:-96dBm
  • 工作电压:3.3V,平均功耗约24mA ,待机功耗约8uA
  • 包含了120MHz主频的STM32F2微控制器,内嵌1M字节Flash,128k字节SRAM
  • 板载PCB天线,也可以通过IPEX连接外接天线
  • 通过CE,FCC等国际认证,SWD调试接口

EWM3162 WiFi模块包含了一个主频高达120MHz的Cortex-M3微控制器STM32F205RGSTM32F205RG数据手册, 配合mxchipWNet 嵌入式Wi-Fi固件,工程师可以方便、快速地为嵌入式设备增加Wi-Fi网络通讯功能,而且从GoKit上我们也能看到,EMW3162模块并不是直接 焊接在主板上的,它采用了2.0mm间距的30pin直插式排针座接口与GoKit主板连接,可以方便的替换市面上一些主流的WiFi模块方案,如高通的 4004、汉枫、Ti、Marvell等(最新消息,日前GoKit还完成了接通Intel Edison和君正M150),这样的设计无疑为工程师自由定义产品的无线通信方案提供了便利的条件。

除了无线功能,GoKit板载的电机、RGB LED、红外光电探测器、温湿度传感器功能可以模拟目前市面上大部分的智能硬件产品,如

  • RGB LED可以衍生为市面上的智能LED
  • 电机控制可以实现自动卷帘门等方案
  • 温湿度传感器对应环境监测类产品
  • 红外探测可以实现自动化设备的检测或者配合摄像头实现监控等安防类产品

总的来说,GoKit开发板上的应用功能还是非常贴近主流的智能硬件产品,对于刚接触智能硬件的工程师来说具有一定的引导作用。

当然,除了板载的特定应用功能,GoKit同样提供了一些方便用户自定义的扩展外设接口,如黄色的排针座P4_8pin、P5_8pin,4个用户可以自定义功能的机械按键,虽然可扩展功能不多,但还是为外设功能扩展提供了一些可行性条件,聊胜于无嘛。

综合GoKit开发板的硬件组成以及相关功能,相对于我们平常所见的开发板,GoKit可算得上是一款真正贴近产品的开发平台,整个板卡的硬件原理框图如下。

GoKit开发板硬件原理框图

如何开发

不同于一般的微控制器板卡,GoKit智能硬件板的开发主要分为两部分,一部分是对自身板卡STM32F103C8T6微控制器的编程开发,实现 MCU对应用功能的控制(如电机、传感器等);另一部分是对移动端APP的开发,开发相应的APP通过云平台实现GoKit开发板的M2M接入服务,通过 APP来控制板卡上的功能。对于智能产品开发的完整性,两者缺一不可。

  • MCU编程

相信对于第一部分的MCU开发我们接触的比较多,平时爱板网评测的MCU板卡基本都是对于微控制器的编程开发,具体可以通过IDE开发工具KEil、IAR等实现,况且GoKit特意选用了应用非常广的意法半导体STM32F103STM32F103数据手册微控制器,无论是资料完整度还是实际范例都非常多,便于工程师上手。

机智云同样也提供了GoKit板载程序的源代码,可以在GitHub上下载,下图则是通过Keil打开的GoKit板载MCU程序的源代码。

GoKit内置MCU程序源代码

如果我们想在GoKit板卡上外扩更多功能,除了硬件电路的修改,同样也要在这部分MCU的编程中添加相关功能的代码,重新编译、下载,这里就不再累述。

  • APP开发

本文主要讨论的还是第二部分APP的开发,这也是使用机智云平台对GoKit开发板进行开发的一个重要优势。

GoKit开发板没有提供现成的APP下载,需要我们花费一点时间通过机智云平台来生成APP(不知道是不是为了让我们有那么一点点小小的成就感)。

如何操作?

首先我们需要在机智云官网注册一个开发者账号,然后通过新建设备接入来添加基于GoKit的开发产品,如下图所示

添加机智云接入设备

目前接入设备的通信方式只能选择WiFi,产品类型倒是可以有很多选择,包括了最新的智能家居产品、玩具等,这里随便选择一项即可。添加完成后会进入新设备接入的向导设置。

新设备设置向导

设置向导中的第一步就是编辑数据点,通过数据点协议的编辑,你可以制定设备每一个功能是否对外发送状态数据以及是否接受外部的控制,这里可以通过应用已有的模板或者通过手动编辑来建立数据点。

这里的数据点指的是什么?

在编辑数据点前,你需要先了解你的设备详细参数,根据设备具体的功能进行数据点的拆分。比如,你的设备有一个可变速电机马达,你希望可以远程控制电机的开关和转速。那你需要添加至少2个数据点:电机开关、电机转速。

为了方便,我们直接选择应用模板中的数据点设置,机智云会根据你接入设备添加的数据点生成一份<机智云接入串口通信文档>,如下图红色标示的位置所示

生成<机智云接入串口通信文档>

根据这份文档你可以完成MCU通信功能的编写。完成这几个步骤就可以进入设备的调试阶段,机智云会根据你先前的设置生成相应的包括苹果ios以及谷歌Andriod系统平台的相关:

  • DemoAPP
  • 集成开发文档
  • SDK

你可以直接下载DemoAPP进行设备调试,也可以将生成的SDK软件包加入到你苹果ios或者谷歌安卓的开发项目中进行修改、增减功能等操作(具 体可以参考集成开发文档),这就像是提供的MCU开发编程的例程一样,SDK软件包的提供可以大大缩短移动端APP的开发周期。

通过机智云平台的简易开发流程如下:

通过机智云对GoKit开发流程

调试GoKit板卡功能

机智云平台提供了两种调试方法,一种是没有GoKit开发板依托于机智云平台的虚拟调试方法,另一种则是依托于GoKit开发板的实物调试方式。这里就直接选用第二种实物调试方式,以安卓平台为例,下载安装机智云生成的DemoAPP。

  • 给GoKit开发板上电(需要通过KEY2机械按键使GoKit进入网络配置模式,RGB LED显示为绿色)
  • 打开APP配置网络

配置网络

具体网络配置过程就不累述了,可以根据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开发套件可以在机智云官网免费申请,感兴趣的朋友一定不能错过。

参考资料

为智能硬件提供一站式解决方案——机智云GoKit评测的更多相关文章

  1. 国内物联网平台(5):机智云IoT物联网云服务平台及智能硬件自助开发平台

    国内物联网平台(5)——机智云IoT物联网云服务平台及智能硬件自助开发平台 马智 平台定位 机智云平台是致力于物联网.智能硬件云服务的开放平台.平台提供了从定义产品.设备端开发调试.应用开发.产测.运 ...

  2. 国内物联网平台初探(五) ——机智云IoT物联网云服务平台及智能硬件自助开发平台

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

  3. Spring Cloud Alibaba微服务一站式解决方案-开篇v2.2.1.RELEASE

    学习路线 **本人博客网站 **IT小神 www.itxiaoshen.com 生态概述 架构演进 什么是微服务 https://martinfowler.com/microservices/ Mic ...

  4. 主流微服务一站式解决方案Spring Cloud Alibaba入门看这篇就足够了

    学习路线 **本人博客网站 **IT小神 www.itxiaoshen.com 生态概述 架构演进 什么是微服务 https://martinfowler.com/microservices/ Mic ...

  5. 微服务架构下分布式事务解决方案——阿里云GTS

    https://blog.csdn.net/jiangyu_gts/article/details/79470240 1 微服务的发展 微服务倡导将复杂的单体应用拆分为若干个功能简单.松耦合的服务,这 ...

  6. 又拍云SSL证书全新上线,提供一站式HTTPS安全解决方案

    互联网快速发展,云服务早已融入每一个人的日常生活,而互联网安全与互联网的发展息息相关,这其中涉及到信息的保密性.完整性.可用性.真实性和可控性.又拍云上线了与多家国际顶级 CA 机构合作的数款OV & ...

  7. Android开发SDK接入机智云,智能家居实现APP远程控制多设备

    代码地址如下:http://www.demodashi.com/demo/12847.html 一.前言. 此框架只用了一周星期做了出来,因为对机智云的框架比较熟悉了 !期间SDK初始化出了问题,去咨 ...

  8. 风险识别系统-大数据智能风控管理平台-企业风控解决方案– 阿里云 https://www.aliyun.com/product/saf

    风险识别系统-大数据智能风控管理平台-企业风控解决方案– 阿里云 https://www.aliyun.com/product/saf

  9. app配置智能硬件的解决方案

    随着越来越多的智能硬件产品上市,越来越多的硬件都戴上了智能的帽子,什么智能插座,智能音箱,智能称等等.凡是所谓的智能,都是通过wifi或者蓝牙来连接互联网,其中蓝牙也只能算是手机的附属品吧.主要还是硬 ...

随机推荐

  1. Spring MVC 的json问题(406 Not Acceptable)

    原因 : 就是程序转换JSON失败. 在pom.xml 加上 <dependency> <groupId>com.fasterxml.jackson.core</grou ...

  2. res/drawable目录

    在Android Eclipse项目中res/目录下包含有drawable-ldpi/,drawable-mdpi/,drawable-hdpi/,drawable-xhdpi/目录,这几个目录的后缀 ...

  3. Serialize a Binary Tree or a General Tree

    For a binary tree, preorder traversal may be enough. For example, _    /   \           /     /  \ 50 ...

  4. MFC自绘(17篇)

    http://www.cnblogs.com/lidabo/category/477377.html

  5. 我觉得主要靠积累,难度不是问题,主要靠时间积累,以及兴趣带来的学习能力(我觉得至少5年全职Qt开发经验,才能算精通)

    顺便想请教一下,你用QT有几年了? 3年不到 那感觉怎么样?是比较难,还是不难但需要时间才能掌握全部? 很多东西真的要拿来做项目了,才会懂.要靠积累.一开始看看理论貌似都很简单. 但是QT和C++本身 ...

  6. [置顶] ※数据结构※→☆线性表结构(queue)☆============队列 顺序存储结构(queue sequence)(八)

    队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表.进行插入操作的端称为队尾,进行删除操作的 ...

  7. 嵌入式Linux常见问题

    Linux问题集 1 linux设置环境变量及保存地点 1. 显示环境变量HOME $ echo $HOME /home/terry 2. 设置一个新的环境变量WELCOME $ exportWELC ...

  8. Goffi and Squary Partition

    题意: 给你N和K,问能否将N拆分成K个互不相同的正整数,并且其中K-1个数的和为完全平方数. PS:这道题目原来是要求输出一种可行方案的,所以下面题解是按照输出方案的思想搞的. 分析: 我们尝试枚举 ...

  9. C 文件直接包含

    C 文件直接包含 有一部分代码很大,在很多函数中重复,可以直接写在另外的一个文件中,引用时直接包含.co.cpp两个函数都 包含c1.cxx. 点击(此处)折叠或打开 ////// co.cpp #i ...

  10. [置顶] 关于redhat系统yum源的配置1

    安装过Linux软件的用户就知道,有时我们安装一个软件,需要依赖其他软件,所以必需找全所有的软件,这是一个极其麻烦的事情,有没什么方式可以让它自己去找依赖呢? 答案当然是肯定,这就需要我们配置一个神器 ...