一、概览

利全球领先的用第三方云平台-机智云,打造了基于Nuleo-STM32F413的物联网应用系统,实现的功能有: a) 远程手机APP控制RGB LED的颜色(红、绿、蓝); b) 自带3种混合色,黄色、紫色、粉色,一键切换所需颜色; c) 远程手机APP控制Nuleo-STM32F413板载2颗LED; d) 远程手机APP显示温湿度; e) 红外传感器障碍物检测; f) 远程手机APP显示STM32F413内部温度;

二、硬件介绍 NUCLEO-F413ZH是ST公司推出的一款针对STM32F4入门级系列设计的Cortex-M4开发板,支持mbed ,兼容Arduino,同时还提供ST Zio接口 和 ST morpho扩展排针,可连接微控制器的所有周边外设。开发板基于STM32F413ZHT6设计,开发板还集成了ST-LINK/V2-1仿真下载器(但仅对外提供SWD接口),免除您另外采购仿真器或下载器的麻烦。并且具备Arduino接口,可接入 Arduino 巨大生态系统的各种 Shield 扩展板,让您能够轻松快速增加特殊功能。
机智云是智能硬件时代专为硬件提供后台支持的云服务平台,服务的内容主要包括了统计分析、数据安全、远程管理、软件升级等。GoKit是机智云推出的一套智能硬件开发板,Gokit扩展板采用Arduino UNO接口,板载ESP8266-12F WiFi模块、温湿度传感器DHT11、2个按键、障碍物红外检测模块、微型直流电机、RGB 5050全彩LED。 三、软件系统
开发工具:STM32CubeMX和IAR for ARM,IAR不做介绍,这里介绍下ST推广的全新开发工具STM32CubeMX。

机智云智能设备接入原理:



四、云端配置

我们在机智云开发者中心http://dev.gizwits.com/zh-cn/developer/创建一个名为F413ZH_Gokit的产品并添加数据点,数据点是设备产品的功能的抽象,用于描述产品功能及其参数。创建数据点后,设备与云端通讯的数据格式即可确定,设备、机智云可以相互识别设备与机智云互联互通的数据。因为我们手机APP的功能需求是: 单独控制RGB LED的颜色(红、绿、蓝); 自带3种混合色,黄色、紫色、粉色,保证能一键切换所需颜色; 远程手机APP控制Nuleo-STM32F413板载2颗LED; 远程手机APP显示温湿度传感器DHT11采集的温湿度; 红外传感器障碍物检测; 远程手机APP显示STM32F413内部温度(通过芯片内置Sensor获取); 把以上进行抽象,依次为数值量下发控制、枚举量下发控制、开关量下发控制、数值量上报、布尔值上报、数值量上报。 所以建立如下数据点(这里可以利用官方提供的模板或者从excel导入):


应用此模板后,把我们不需要的直流电机删除,另外新增3个数据点:2颗板载LED和芯片内部温度,创建后的数据点如下(文末提供数据点excel下载):


在云端创建产品,建立好数据点后,即可自动生成多种方案的工程,还可以下载自动生成的手机APP进行测试,在没有硬件设备时还可以进行在线虚拟调试以进行前期功能评估,机智云为广大开发者提供一系列简便的开发工具:


如利用虚拟设备,在没有搭建硬件设备平台时可模拟设备与云端的交互:


接下来,我们使用MCU代码自动生成工具,生成一个STM32工程,在服务栏目->MCU开发,我们选择独立MCU+WiFi方案:




API介绍文档包含了设备接入框架简介和用户API; 注意Gizwits文件夹下包含4个文件,这些是机智云协议层的,已包含云端创建的数据点信息并留出用户接口:
















下载代码,上电,打开串口调试助手可以查看日志:

下载附件
[color=rgb(153, 153, 153) !important]2017-1-21 12:06 上传
总结:本文介绍了使用机智云自助开发平台快速创建智能产品的过程,并给出了移植机智云微信宠物屋SDK到Nucleo-STM32F413的过程。利用机智云强大的代码生成工具,我们只需简单的把用户代码填充到机智云为我们搭建的框架即可!