击上图查看视频


点击下方链接即可免费下载程序以及源代码:
链接:https://pan.baidu.com/s/1wB0KHuO2N1DY1TNiui3sqQ?pwd=t7zp
提取码:t7zp

机智云物联网自主研发的开发板Gokit在智能家居系统管理方面起到了关键优势,集成多种通信,智能恒湿,风速调节,耗材管理,温湿度显示,手机APP或微信小程序控制,语音控制,缺水管理等等功能于一体的智能管理系统。开发设计了一种低成本、省电、具有智能物联网自动控制功能的加湿器,更加方便、省心,适合生活使用。

一、材料准备

1.机智云gokit3

打开网易新闻 查看精彩图片

2.加湿器

打开网易新闻 查看精彩图片

3.香薰机

打开网易新闻 查看精彩图片

二、云平台配置

1.产品创建

登陆机智云开发者中心(https://developer.gizwits.com/menu/dashboard),点击左上角创建。

打开网易新闻 查看精彩图片

此处根据自己的需求选择好对应方案(分类选择不影响产品创建结果)

打开网易新闻 查看精彩图片

配置相关的产品参数,产品名称就是项目名称,app的显示名称,类型由于本教程选用gokit3的wifi方案,选择wifi即可,数据传输方式选择定长,一次性传输所有数据点。

打开网易新闻 查看精彩图片

2.数据点创建

创建产品以后进入产品,在产品信息里面创建数据点

打开网易新闻 查看精彩图片

编辑数据点

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

同样的方式创建如下数据点

打开网易新闻 查看精彩图片

数据点参考下表

打开网易新闻 查看精彩图片

3.生成MCU程序代码包方便后续使用

此处采用STM32F103C8T6版本的gokit,因此按照下图所示生成我们所需要的代码包

打开网易新闻 查看精彩图片

等待代码生成结束

打开网易新闻 查看精彩图片

将生成的代码进行下载

打开网易新闻 查看精彩图片

4.APP的创建及关联

如果自己没有创建移动APP,或者想新建一个APP,可以在右上角创建进行创

打开网易新闻 查看精彩图片

依次点击创建,创建移动应用。

打开网易新闻 查看精彩图片

创建好之后点击即可进入APP里面进行配置

打开网易新闻 查看精彩图片

安装如图所示关联产品

打开网易新闻 查看精彩图片

5.APP页面编辑及应用构建

选择应用模板

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

配置APP的设备按钮图标,显示循序及显示类型

打开网易新闻 查看精彩图片

此参数对应界面

打开网易新闻 查看精彩图片

配置配网方式

打开网易新闻 查看精彩图片

配置智能场景,自定义设置功能点是否支持智能场景触发条件、执行结果,勾选支持以后用户即可在App智能场景进行对应功能的联动设置。

打开网易新闻 查看精彩图片

当产品数据点更新或者页面改变的时候,应在APP开发里面对已关联的设备进行更新

打开网易新闻 查看精彩图片

应用构建

打开网易新闻 查看精彩图片

等待构建结束过后扫描二维码下载APP,并安装到手机上。到此云平台配置结束。

三、硬件接线

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

四、程序编写及烧录

1.CubeMX配置引脚初始化,软件安装之类的可参考网上教程,下载机智云 GoKit_MCU_STM32_V03010101测试固件及开发资源,在教程附件可以获取。

打开网易新闻 查看精彩图片

2.将STM32F103C8x.ioc复制到我们云端之前下载好的自动生成代码里面。

打开网易新闻 查看精彩图片

3.打开生成代码目录下的STM32F103C8x.ioc ,并添加香薰机和加湿器引脚初始化,

打开网易新闻 查看精彩图片

4. 配置完成以后点击generate code生成代码

打开网易新闻 查看精彩图片

5.将驱动库代码文件拷贝到自动生成代码工程中的 MCU_STM32F103C8x_source\Hal 文件夹中。

打开网易新闻 查看精彩图片

6.用keil打开项目,在工程项目中添加驱动代码的“.c”文件。

打开网易新闻 查看精彩图片

7. 在代码中添加相应的函数调用,在MCU_STM32F103C8x_source\Src\main.c 和 MCU_STM32F103C8x_source\Gizwits\gizwits_product.c 文件中添加以下驱动库的头文件

复制代码

  1. #include "delay.h"
  2. #include "hal_motor.h"
  3. #include "hal_rgb_led.h"
  4. #include "hal_temp_hum.h"
  5. #include "hal_infrared.h"

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

8. 在 MCU_STM32F103C8x_source\Gizwits\gizwits_product.c 文件的 userInit( ) 函数中添加各sensor的初始化和数据点初始化。

void userInit(void)

复制代码


  1. memset((uint8_t*)¤tDataPoint, 0, sizeof(dataPoint_t));
  2. //传感器初始化
  3. delay_init(72); // 延时 初始化
  4. rgbLedInit(); // RGB LED 初始化
  5. dht11Init(); // 温湿度初始化
  6. irInit(); // 红外初始化
  7. motorInit(); // 电机初始化
  8. motorStatus(0); // 电机转速初始化

  9. /** Warning !!! DataPoint Variables Init , Must Within The Data Range **/
  10. //此处加入flash掉电记忆的程序可让设备具有掉电记忆功能
  11. currentDataPoint.valueHumidifier = 0;
  12. currentDataPoint.valueAroma_Diffuser = 0;
  13. currentDataPoint.valueNight_Light = 0;
  14. currentDataPoint.valueLED_Color = 0;
  15. currentDataPoint.valueLED_R = 0;
  16. currentDataPoint.valueLED_G = 0;
  17. currentDataPoint.valueLED_B = 0;
  18. currentDataPoint.valueMotor_Speed = 0;
  19. currentDataPoint.valueInfrared = 0;
  20. currentDataPoint.valueTemperature = 0;
  21. currentDataPoint.valueHumidity = 0;

打开网易新闻 查看精彩图片

9.利用定时器做一个定时上报数据点。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

10.在 MCU_STM32F103C8x_source\Gizwits\gizwits_product.c 文件的 userHandle( ) 函数中添加只读型传感器数据点相关的代码。

打开网易新闻 查看精彩图片

11. 在 MCU_STM32F103C8x_source\User\main.c 文件的 key2ShortPress( ) 函数与 key2LongPress( ) 函数中添加长/短按key2时的LED点亮代码

打开网易新闻 查看精彩图片

12.在MCU_STM32F103C8x_source\Gizwits\gizwits_product.c 文件的 gizwitsEventProcess( ) 函数中添加可写型传感器数据点相关的代码。

添加加湿器,香薰机,小夜灯的开关。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

全彩灯,电机开关

打开网易新闻 查看精彩图片

设备连接路由器后,关闭配网指示灯

打开网易新闻 查看精彩图片

编译代码

打开网易新闻 查看精彩图片

烧录代码带开发板

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

五、硬件调试

打开网易新闻 查看精彩图片