首页游戏资讯基于gokit3微信宠物屋与机智云的物联网智能家居

基于gokit3微信宠物屋与机智云的物联网智能家居

misa2 04-13 5次浏览 0条评论

基于Gokit3微信宠物屋与机智云的物联网智能家居

万物互联是近几年的热点问题,在智能云家居时髦时代,需要考虑到若何通过增加一些传感器让老式家居,例如电电扇、电灯等,可以毗连到互联网变得愈加智能和人道化的问题。本教程设想了一种基于云端的智能云家居,该系统通过Gokit3.0与机智云物联网平台的办事器互联,利用智能家居系统长途掌握处理老式家居联网问题。

本教程介绍的智能家居系统次要摘用了Gokit3微信宠物屋(WiFi+STM32F103)做为主控芯片,由数据摘集系统、数据处置系统、数据云传输系统以及智能家居智能调剂系统构成;即可实现互联网长途掌握电器设备,通过手机App实时操控,预约按时,长途掌握开关,操做简单等特征,数据平安快速等优势能够更大限度地降低家居智能化成本。

现现在,生齿老龄化越来越严峻,人们越来越逃求居家生活的温馨性,智能家居系统可以为有老年人家庭供给愈加智能化的办事,因而智能家居系统有着较为宽广的利用前景。

一、教学内容

1:APP调剂气氛灯光(可设置装备摆设按时)

2:APP展现室内温湿度

3:APP掌握电扇(可设置装备摆设按时,也能够根据温湿度阈值来主动调剂)

4:APP掌握电热炉工做(可设置装备摆设按时,也能够根据温湿度阈值来主动调剂)

5:APP展现人体红外感应情状(可根据人体存在的情状往处置其他内容,好比当感应到人体,主动开灯,主动调温等)

二、教学硬件预备

1.Gokit3微信宠物屋(WiFi+STM32F103底板)基于Gokit3微信宠物屋与机智云的物联网智能家居

基于gokit3微信宠物屋与机智云的物联网智能家居

2.LED灯,取代加热安装展现加热情状

展开全文

基于gokit3微信宠物屋与机智云的物联网智能家居

三、云端摆设

1.进进机智云开发者中心(),注册登岸平台。在开发者中心首页,左上角智能产物后点击创建。

基于gokit3微信宠物屋与机智云的物联网智能家居

2.根据需求抉择抉择产物类型

基于gokit3微信宠物屋与机智云的物联网智能家居

基于gokit3微信宠物屋与机智云的物联网智能家居

3.数据点(数据点即设备产物的功用的笼统,用于描述产物功用及其参数。创建数据点后,设备与云端通信的数据格局即可确定,设备、机智云能够彼此识别设备与机智云互联互通的数据)可在产物信息页面停止添加数据点操做

基于gokit3微信宠物屋与机智云的物联网智能家居

好比添加温度数据点,标识必需是英文,标识是需要写历程序的,展现名称为APP默认展现的名称。读写类型,app不需要掌握的为只读,app需要开关和改动的为可写。

基于gokit3微信宠物屋与机智云的物联网智能家居

创建如下数据点

基于gokit3微信宠物屋与机智云的物联网智能家居

详尽数据点如下表:

基于gokit3微信宠物屋与机智云的物联网智能家居

到此数据点的创建就完成了。

4.单片机代码生成,在产物页面点击MCU开发,根据如下图步调生成STM32的法式代码。

基于gokit3微信宠物屋与机智云的物联网智能家居

基于gokit3微信宠物屋与机智云的物联网智能家居

5.在线APP创建于生成,在开发者中心首页挪动页面右侧点击创建,创建挪动利用

基于gokit3微信宠物屋与机智云的物联网智能家居

此处我们创建一个安卓利用为例,需要苹果利用的能够再后面打钩。用户联系关系能够抉择不联系关系。

基于gokit3微信宠物屋与机智云的物联网智能家居

基于gokit3微信宠物屋与机智云的物联网智能家居

联系关系产物

基于gokit3微信宠物屋与机智云的物联网智能家居

其余的LOG之内的可根据本身需求上传更改。

基于gokit3微信宠物屋与机智云的物联网智能家居

APP掌握页面修改,回到我们的产物里面,抉择掌握页面,抉择通用模板。

基于gokit3微信宠物屋与机智云的物联网智能家居

调整APP掌握页面图标

基于gokit3微信宠物屋与机智云的物联网智能家居

启用配网操做

基于gokit3微信宠物屋与机智云的物联网智能家居

设置装备摆设智能场景,后期可用之产物的智能化。好比当检测到人体而且情况温度低于10℃,主动启动加热等智能场景的利用。

基于gokit3微信宠物屋与机智云的物联网智能家居

生成安卓证书

基于gokit3微信宠物屋与机智云的物联网智能家居

基于gokit3微信宠物屋与机智云的物联网智能家居

构建利用

基于gokit3微信宠物屋与机智云的物联网智能家居

期待构建完成

基于gokit3微信宠物屋与机智云的物联网智能家居

构建胜利后扫描二维码下载

基于gokit3微信宠物屋与机智云的物联网智能家居

基于gokit3微信宠物屋与机智云的物联网智能家居

到此云端摆设完成

四、单片机法式修改

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

基于gokit3微信宠物屋与机智云的物联网智能家居

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

基于gokit3微信宠物屋与机智云的物联网智能家居

3.翻开生成代码目次下的STM32F103C8x.ioc,设置装备摆设加热掌握输出引脚

基于gokit3微信宠物屋与机智云的物联网智能家居

4. 设置装备摆设完成以后点击generate code生成代码

基于gokit3微信宠物屋与机智云的物联网智能家居

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

基于gokit3微信宠物屋与机智云的物联网智能家居

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

基于gokit3微信宠物屋与机智云的物联网智能家居

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"

基于gokit3微信宠物屋与机智云的物联网智能家居

基于gokit3微信宠物屋与机智云的物联网智能家居

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

void userInit(void)

memset((uint8_t*)¤tDataPoint, 0, sizeof(dataPoint_t));

/** Warning !!! DataPoint Variables Init , Must Within The Data Range **/

delay_init(72); // 延时 初始化

rgbLedInit(); // RGB LED 初始化

dht11Init(); // 温湿度初始化

irInit(); // 红外初始化

motorInit(); // 电机初始化

motorStatus(0); // 电机转速初始化

currentDataPoint.valueHeat = 0;

currentDataPoint.valueInfrared = 0;

currentDataPoint.valueMotor_Speed = 0;

currentDataPoint.valueTemperature = 0;

currentDataPoint.valueHumidity = 0;

currentDataPoint.valueLED_R = 0;

currentDataPoint.valueLED_G = 0;

currentDataPoint.valueLED_B = 0;

基于gokit3微信宠物屋与机智云的物联网智能家居

9.操纵按时器做一个按时上报数据点。

基于gokit3微信宠物屋与机智云的物联网智能家居

基于gokit3微信宠物屋与机智云的物联网智能家居

基于gokit3微信宠物屋与机智云的物联网智能家居

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

基于gokit3微信宠物屋与机智云的物联网智能家居

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

基于gokit3微信宠物屋与机智云的物联网智能家居

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

int8_t gizwitsEventProcess(eventInfo_t *info, uint8_t *gizdata, uint32_t len)

uint8_t i = 0;

dataPoint_t *dataPointPtr = (dataPoint_t *)gizdata;

moduleStatusInfo_t *wifiData = (moduleStatusInfo_t *)gizdata;

protocolTime_t *ptime = (protocolTime_t *)gizdata;

#if MODULE_TYPE

gprsInfo_t *gprsInfoData = (gprsInfo_t *)gizdata;

#else

moduleInfo_t *ptModuleInfo = (moduleInfo_t *)gizdata;

#endif

if((NULL == info) || (NULL == gizdata))

return -1;

for(i=0; iinfo-num; i++)

switch(info-event[i])

case EVENT_Heat:

currentDataPoint.valueHeat = dataPointPtr-valueHeat;

GIZWITS_LOG("Evt: EVENT_Heat %d \n", currentDataPoint.valueHeat);

if(0x01 == currentDataPoint.valueHeat)

HAL_GPIO_WritePin(heat_GPIO_Port, heat_Pin, GPIO_PIN_RESET);//加热开

else

HAL_GPIO_WritePin(heat_GPIO_Port, heat_Pin, GPIO_PIN_SET); //加热关

break;

case EVENT_Motor_Speed:

currentDataPoint.valueMotor_Speed = dataPointPtr-valueMotor_Speed;

GIZWITS_LOG("Evt: EVENT_Motor_Speed %d\n", currentDataPoint.valueMotor_Speed);

switch(currentDataPoint.valueMotor_Speed)

case Motor_Speed_VALUE0:

motorStatus(0);//封闭

break;

case Motor_Speed_VALUE1:

motorStatus(1);//低速

break;

case Motor_Speed_VALUE2:

motorStatus(3);//中速

break;

case Motor_Speed_VALUE3:

motorStatus(5);//高速

break;

default:

break;

break;

case EVENT_LED_R:

currentDataPoint.valueLED_R = dataPointPtr-valueLED_R;

GIZWITS_LOG("Evt:EVENT_LED_R %d\n",currentDataPoint.valueLED_R);

ledRgbControl(currentDataPoint.valueLED_R,currentDataPoint.valueLED_G,currentDataPoint.valueLED_B);

break;

case EVENT_LED_G:

currentDataPoint.valueLED_G = dataPointPtr-valueLED_G;

GIZWITS_LOG("Evt:EVENT_LED_G %d\n",currentDataPoint.valueLED_G);

ledRgbControl(currentDataPoint.valueLED_R,currentDataPoint.valueLED_G,currentDataPoint.valueLED_B);

break;

case EVENT_LED_B:

currentDataPoint.valueLED_B = dataPointPtr-valueLED_B;

GIZWITS_LOG("Evt:EVENT_LED_B %d\n",currentDataPoint.valueLED_B);

ledRgbControl(currentDataPoint.valueLED_R,currentDataPoint.valueLED_G,currentDataPoint.valueLED_B);

break;

case WIFI_SOFTAP:

break;

case WIFI_AIRLINK:

break;

case WIFI_STATION:

break;

case WIFI_CON_ROUTER:

ledRgbControl(0,0,0);//毗连路由器事后封闭路由器

break;

case WIFI_DISCON_ROUTER:

break;

case WIFI_CON_M2M:

break;

case WIFI_DISCON_M2M:

break;

case WIFI_RSSI:

GIZWITS_LOG("RSSI %d\n", wifiData-rssi);

break;

case TRANSPARENT_DATA:

GIZWITS_LOG("TRANSPARENT_DATA \n");

//user handle , Fetch data from [data] , size is [len]

break;

case WIFI_NTP:

GIZWITS_LOG("WIFI_NTP : [%d-%d-%d %02d:%02d:%02d][%d] \n",ptime-year,ptime-month,ptime-day,ptime-hour,ptime-minute,ptime-second,ptime-ntp);

break;

case MODULE_INFO:

GIZWITS_LOG("MODULE INFO ...\n");

#if MODULE_TYPE

GIZWITS_LOG("GPRS MODULE ...\n");

//Format By gprsInfo_t

#else

GIZWITS_LOG("WIF MODULE ...\n");

//Format By moduleInfo_t

GIZWITS_LOG("moduleType : [%d] \n",ptModuleInfo-moduleType);

#endif

break;

default:

break;

return 0;

基于gokit3微信宠物屋与机智云的物联网智能家居

基于gokit3微信宠物屋与机智云的物联网智能家居

编译代码

基于gokit3微信宠物屋与机智云的物联网智能家居

烧录代码带开发板

基于gokit3微信宠物屋与机智云的物联网智能家居

基于gokit3微信宠物屋与机智云的物联网智能家居

五、硬件调试

基于gokit3微信宠物屋与机智云的物联网智能家居

点击上图查看视频

点击免费下载材料(含源代码,固件以及法式)

链接:

提取码:93yl

手机定时开关机软件免费下载
风能和太阳能综合操纵尝试设备,风能和太阳能综合操纵尝试平台 电子班牌啥?关于校园有什么感化?
相关内容
发表评论

游客 回复需填写必要信息