☝点击上图查看视频
★点击下方链接即可免费下载程序以及源代码:
链接:https://pan.baidu.com/s/1wB0KHuO2N1DY1TNiui3sqQ?pwd=t7zp
提取码:t7zp
机智云物联网自主研发的开发板Gokit在智能家居系统管理方面起到了关键优势,集成多种通信,智能恒湿,风速调节,耗材管理,温湿度显示,手机APP或微信小程序控制,语音控制,缺水管理等等功能于一体的智能管理系统。开发设计了一种低成本、省电、具有智能物联网自动控制功能的加湿器,更加方便、省心,适合生活使用。
一、材料准备
1.机智云gokit3
![](http://dingyue.ws.126.net/2023/0330/ab85016bj00rsbcky0022c0005j0049m.jpg)
2.加湿器
![](http://dingyue.ws.126.net/2023/0330/ac902d8aj00rsbckw001qc0005i007jm.jpg)
3.香薰机
![](http://dingyue.ws.126.net/2023/0330/99fcc3f4p00rsbckv000jc000260065m.png)
二、云平台配置
1.产品创建
登陆机智云开发者中心(https://developer.gizwits.com/menu/dashboard),点击左上角创建。
![](http://dingyue.ws.126.net/2023/0330/11b9e844j00rsbckz000ic000cc006sm.jpg)
此处根据自己的需求选择好对应方案(分类选择不影响产品创建结果)
![](http://dingyue.ws.126.net/2023/0330/34c4937ej00rsbckz0012c000fe007pm.jpg)
配置相关的产品参数,产品名称就是项目名称,app的显示名称,类型由于本教程选用gokit3的wifi方案,选择wifi即可,数据传输方式选择定长,一次性传输所有数据点。
![](http://dingyue.ws.126.net/2023/0330/d59014eej00rsbcl90012c000fe00eom.jpg)
2.数据点创建
创建产品以后进入产品,在产品信息里面创建数据点
![](http://dingyue.ws.126.net/2023/0330/1ccd73a5j00rsbckx000xc000fe006im.jpg)
编辑数据点
![](http://dingyue.ws.126.net/2023/0330/77572f9aj00rsbcl00014c000fe009dm.jpg)
![](http://dingyue.ws.126.net/2023/0330/5c14aa85p00rsbcku000ac000fe0039m.png)
同样的方式创建如下数据点
![](http://dingyue.ws.126.net/2023/0330/c4dfaf8aj00rsbcl2001bc000fe0080m.jpg)
数据点参考下表
![](http://dingyue.ws.126.net/2023/0330/9e08a3dbj00rsbcl2003fc000gn0076m.jpg)
3.生成MCU程序代码包方便后续使用
此处采用STM32F103C8T6版本的gokit,因此按照下图所示生成我们所需要的代码包
![](http://dingyue.ws.126.net/2023/0330/2e948aa6j00rsbckz0016c000fe007im.jpg)
等待代码生成结束
![](http://dingyue.ws.126.net/2023/0330/b2acbf54j00rsbcl3000ac000d6009bm.jpg)
将生成的代码进行下载
![](http://dingyue.ws.126.net/2023/0330/330a15c0j00rsbckz000hc000fc00csm.jpg)
4.APP的创建及关联
如果自己没有创建移动APP,或者想新建一个APP,可以在右上角创建进行创
![](http://dingyue.ws.126.net/2023/0330/ac35f161j00rsbckw0010c000fe0072m.jpg)
依次点击创建,创建移动应用。
![](http://dingyue.ws.126.net/2023/0330/db851c7dj00rsbcl2000zc000fe00d5m.jpg)
创建好之后点击即可进入APP里面进行配置
![](http://dingyue.ws.126.net/2023/0330/482d2b8cj00rsbckx000fc000fe006nm.jpg)
安装如图所示关联产品
![](http://dingyue.ws.126.net/2023/0330/cde5d67cj00rsbcky0015c000fe007dm.jpg)
5.APP页面编辑及应用构建
选择应用模板
![](http://dingyue.ws.126.net/2023/0330/0c7c915fj00rsbckz000nc000fe007gm.jpg)
![](http://dingyue.ws.126.net/2023/0330/a077b432j00rsbcl20013c000fe007dm.jpg)
配置APP的设备按钮图标,显示循序及显示类型
![](http://dingyue.ws.126.net/2023/0330/380e3767j00rsbcl40015c000fe007lm.jpg)
此参数对应界面
![](http://dingyue.ws.126.net/2023/0330/8c014ab5j00rsbcl4005vc0007200eqm.jpg)
配置配网方式
![](http://dingyue.ws.126.net/2023/0330/a00c4280j00rsbckw0011c000fe007mm.jpg)
配置智能场景,自定义设置功能点是否支持智能场景触发条件、执行结果,勾选支持以后用户即可在App智能场景进行对应功能的联动设置。
![](http://dingyue.ws.126.net/2023/0330/05598adej00rsbckw0018c000fe0077m.jpg)
当产品数据点更新或者页面改变的时候,应在APP开发里面对已关联的设备进行更新
![](http://dingyue.ws.126.net/2023/0330/f2741b66j00rsbckz0013c000fe007om.jpg)
应用构建
![](http://dingyue.ws.126.net/2023/0330/9ad181f2p00rsbcl0000gc000fe0045m.png)
等待构建结束过后扫描二维码下载APP,并安装到手机上。到此云平台配置结束。
三、硬件接线
![](http://dingyue.ws.126.net/2023/0330/3f91d91ej00rsbckw0003c000ec004fm.jpg)
![](http://dingyue.ws.126.net/2023/0330/e888bf2dj00rsbcla00aqc000fe00bnm.jpg)
![](http://dingyue.ws.126.net/2023/0330/2900d903j00rsbcl6006ic000fe0070m.jpg)
四、程序编写及烧录
1.CubeMX配置引脚初始化,软件安装之类的可参考网上教程,下载机智云 GoKit_MCU_STM32_V03010101测试固件及开发资源,在教程附件可以获取。
![](http://dingyue.ws.126.net/2023/0330/d48b16f5j00rsbcl20020c000fe009wm.jpg)
2.将STM32F103C8x.ioc复制到我们云端之前下载好的自动生成代码里面。
![](http://dingyue.ws.126.net/2023/0330/f7229089j00rsbcl50035c000fe007zm.jpg)
3.打开生成代码目录下的STM32F103C8x.ioc ,并添加香薰机和加湿器引脚初始化,
![](http://dingyue.ws.126.net/2023/0330/136ffed1j00rsbcky002ec000fe007ym.jpg)
4. 配置完成以后点击generate code生成代码
![](http://dingyue.ws.126.net/2023/0330/7625ac76j00rsbcl2002gc000fe0089m.jpg)
5.将驱动库代码文件拷贝到自动生成代码工程中的 MCU_STM32F103C8x_source\Hal 文件夹中。
![](http://dingyue.ws.126.net/2023/0330/c9693e3bj00rsbcl60038c000fe0082m.jpg)
6.用keil打开项目,在工程项目中添加驱动代码的“.c”文件。
![](http://dingyue.ws.126.net/2023/0330/f2542a1bj00rsbcl0002tc0006h00eqm.jpg)
7. 在代码中添加相应的函数调用,在MCU_STM32F103C8x_source\Src\main.c 和 MCU_STM32F103C8x_source\Gizwits\gizwits_product.c 文件中添加以下驱动库的头文件
复制代码
- #include "delay.h"
- #include "hal_motor.h"
- #include "hal_rgb_led.h"
- #include "hal_temp_hum.h"
- #include "hal_infrared.h"
![](http://dingyue.ws.126.net/2023/0330/eff64623j00rsbcl2002zc000fe008am.jpg)
![](http://dingyue.ws.126.net/2023/0330/709a4bb5j00rsbcl4002dc000fe008hm.jpg)
8. 在 MCU_STM32F103C8x_source\Gizwits\gizwits_product.c 文件的 userInit( ) 函数中添加各sensor的初始化和数据点初始化。
void userInit(void)
复制代码
- memset((uint8_t*)¤tDataPoint, 0, sizeof(dataPoint_t));
- //传感器初始化
- delay_init(72); // 延时 初始化
- rgbLedInit(); // RGB LED 初始化
- dht11Init(); // 温湿度初始化
- irInit(); // 红外初始化
- motorInit(); // 电机初始化
- motorStatus(0); // 电机转速初始化
- /** Warning !!! DataPoint Variables Init , Must Within The Data Range **/
- //此处加入flash掉电记忆的程序可让设备具有掉电记忆功能
- currentDataPoint.valueHumidifier = 0;
- currentDataPoint.valueAroma_Diffuser = 0;
- currentDataPoint.valueNight_Light = 0;
- currentDataPoint.valueLED_Color = 0;
- currentDataPoint.valueLED_R = 0;
- currentDataPoint.valueLED_G = 0;
- currentDataPoint.valueLED_B = 0;
- currentDataPoint.valueMotor_Speed = 0;
- currentDataPoint.valueInfrared = 0;
- currentDataPoint.valueTemperature = 0;
- currentDataPoint.valueHumidity = 0;
![](http://dingyue.ws.126.net/2023/0330/0a7b8ca9j00rsbcky003uc000fe008om.jpg)
9.利用定时器做一个定时上报数据点。
![](http://dingyue.ws.126.net/2023/0330/f7f47317j00rsbcl1002ec000fe0087m.jpg)
![](http://dingyue.ws.126.net/2023/0330/8f10a9c8j00rsbcl1002kc000fe008hm.jpg)
![](http://dingyue.ws.126.net/2023/0330/9266e366j00rsbcl20024c000fe008km.jpg)
10.在 MCU_STM32F103C8x_source\Gizwits\gizwits_product.c 文件的 userHandle( ) 函数中添加只读型传感器数据点相关的代码。
![](http://dingyue.ws.126.net/2023/0330/5f735b37j00rsbcl3002oc000fe008rm.jpg)
11. 在 MCU_STM32F103C8x_source\User\main.c 文件的 key2ShortPress( ) 函数与 key2LongPress( ) 函数中添加长/短按key2时的LED点亮代码
![](http://dingyue.ws.126.net/2023/0330/2305c9c3j00rsbcl50029c000fe008sm.jpg)
12.在MCU_STM32F103C8x_source\Gizwits\gizwits_product.c 文件的 gizwitsEventProcess( ) 函数中添加可写型传感器数据点相关的代码。
添加加湿器,香薰机,小夜灯的开关。
![](http://dingyue.ws.126.net/2023/0330/32bd0b20j00rsbcl50030c000fe007um.jpg)
![](http://dingyue.ws.126.net/2023/0330/5b67daddj00rsbcl4002oc000fe008fm.jpg)
全彩灯,电机开关
![](http://dingyue.ws.126.net/2023/0330/a915b428j00rsbcl60035c000fe008rm.jpg)
设备连接路由器后,关闭配网指示灯
![](http://dingyue.ws.126.net/2023/0330/4af868dej00rsbcl5002bc000fe0086m.jpg)
编译代码
![](http://dingyue.ws.126.net/2023/0330/eaf96dbbj00rsbcl3003kc000fe008jm.jpg)
烧录代码带开发板
![](http://dingyue.ws.126.net/2023/0330/dd397eedj00rsbcl80068c000fe00bsm.jpg)
![](http://dingyue.ws.126.net/2023/0330/9b053139j00rsbcla0067c000fe00bsm.jpg)
五、硬件调试
![](http://dingyue.ws.126.net/2023/0330/a093010fj00rsbcla008lc000gn007um.jpg)
热门跟贴