收藏官网首页
查看: 6226|回复: 0

[经验分享] 基于机智云Gokit3.0的智能加湿器APP控制系统

跳转到指定楼层
楼主
 楼主| 发表于 2023-3-29 18:36:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
免费使用STM32、APP自动代码生成工具
本帖最后由 冯俊波 于 2023-3-29 19:03 编辑

基于机智云gokit3.0的智能加湿器APP控制系统

机智云物联网自主研发的开发板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. <font face="宋体" size="3">#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"</font>
复制代码



8. 在 MCU_STM32F103C8x_source\Gizwits\gizwits_product.c 文件的 userInit( ) 函数中添加各sensor的初始化和数据点初始化。
void userInit(void)
  1. <font face="宋体" size="3">{
  2.     memset((uint8_t*)¤tDataPoint, 0, sizeof(dataPoint_t));
  3.    //传感器初始化
  4.                 delay_init(72); // 延时 初始化
  5.                 rgbLedInit(); // RGB LED 初始化
  6.                 dht11Init(); // 温湿度初始化
  7.                 irInit(); // 红外初始化
  8.                 motorInit(); // 电机初始化
  9.                 motorStatus(0); // 电机转速初始化
  10.         
  11.     /** Warning !!! DataPoint Variables Init , Must Within The Data Range **/
  12.                 //此处加入flash掉电记忆的程序可让设备具有掉电记忆功能
  13.                 currentDataPoint.valueHumidifier = 0;
  14.                 currentDataPoint.valueAroma_Diffuser = 0;
  15.                 currentDataPoint.valueNight_Light = 0;
  16.                 currentDataPoint.valueLED_Color = 0;
  17.                 currentDataPoint.valueLED_R = 0;
  18.                 currentDataPoint.valueLED_G = 0;
  19.                 currentDataPoint.valueLED_B = 0;
  20.                 currentDataPoint.valueMotor_Speed = 0;
  21.                 currentDataPoint.valueInfrared = 0;
  22.                 currentDataPoint.valueTemperature = 0;
  23.                 currentDataPoint.valueHumidity = 0;

  24. }</font>
复制代码

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( ) 函数中添加可写型传感器数据点相关的代码。
添加加湿器,香薰机,小夜灯的开关。



全彩灯,电机开关

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


编译代码


烧录代码带开发板




五、硬件调试


点击上图查看视频


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

发烧友
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表