0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于智能家居项目 完结散花

机智云 2025-07-31 18:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、项目目标

通过机智云平台,快速实现以下功能:

MCU + ESP8266 实现单点控制

实现多点控制(如多个按键控制一个设备)

实现MCU 数据上报至云端

实现获取网络时间(NTP)



9d9c92ba-6df5-11f0-9080-92fbcf53809c.jpg




二、机智云平台简介

机智云(Gizwits)是一款面向物联网开发者的云平台,提供:

免费的云端服务与接入架构

自动生成设备端代码

支持多种硬件平台(如 STM32、ESP8266、ESP32 等)

提供开发调试 App

组成结构:

机智云 = 云端服务器 + APP框架 + 自动生成底层代码


核心优势:

省去协议编写

提高开发效率

简化配置流程




三、两种典型开发方案

开发方案描述特点
MCU + ESP8266 串口通信模组负责联网,MCU负责功能逻辑本文采用
SoC 模组直接开发(如 ESP32)直接在模组上跑应用简化硬件


四、开发流程总览

注册机智云账号,创建产品

创建自定义数据点(即控制/状态变量)

下载机智云代码(自动生成)

配置 MCU 串口与定时器

移植 Gizwits 库到工程中

配置固件、烧写 ESP8266

调用初始化函数,测试控制与上报功能



五、代码移植与配置详解

1. 配置 USART2 接收中断


voidUSART2_IRQHandler(void)
{
staticu8 data;
if(USART_GetITStatus(USART2,USART_IT_RXNE))
{
USART_ClearITPendingBit(USART2,USART_IT_RXNE);
data = USART_ReceiveData(USART2);
gizPutData(&data,1); // 写入环形缓冲区
}
}


2. 实现uartWrite()串口发送函数


int32_tuartWrite(uint8_t*buf,uint32_tlen)
{
for(uint32_ti =0; i < len; i++)
{
USART_SendData(USART2, buf[i]);
while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);
if(i >=2&& buf[i] ==0xFF)
{
USART_SendData(USART2,0x55);
while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);
}
}
returnlen;
}



3. 1ms 定时器实现

定时器中断服务函数中添加:


voidTIM1_UP_IRQHandler(void)
{
if(TIM_GetITStatus(TIM1, TIM_IT_Update))
{
TIM_ClearITPendingBit(TIM1, TIM_IT_Update);
gizTimerMs(); // 为 Gizwits 协议提供时基
}
}


4. 初始化代码封装


voidGizwits_Init(void)
{
TIM1_Update(); // 初始化1ms定时器
Usart2_Init(); // 初始化串口
memset(¤tDataPoint,0,sizeof(dataPoint_t));
gizwitsInit(); // 初始化协议栈
}


5. 主循环中调用:


while(1)
{
gizwitsHandle(¤tDataPoint);// 数据处理与上报
userHandle(); // 采集逻辑
}



六、ESP8266 烧录机智云固件

两种烧录方式:

固件类型描述推荐场景
合并固件 combine.bin适合快速下载,只设置一个地址推荐新手
分离固件需配置 4 个地址:boot、init、blank、app更灵活


烧录步骤:

板子拨到LOAD 模式

使用乐鑫串口烧录工具,配置固件路径

设置波特率(115200 或 9600)

点击START开始烧写

烧写完成后,切回RUN 模式


七、机智云 APP 调试与配网

下载 Gizwits 调试 APP(推荐 v2.4.5)

使用 SoftAP 或 AirLink 配网

绑定设备(扫码或输入 DID)

实时观察数据点上传、下发控制



八、数据点逻辑开发


1. 数据上报逻辑


voiduserHandle(void)
{
// 模拟采集温度数据
currentDataPoint.valueTemperature = get_temperature();
}

2. 云端控制执行逻辑


int8_tgizwitsEventProcess(...)
{
switch(event[i])
{
caseEVENT_LED:
currentDataPoint.valueLED ? LED_ON() : LED_OFF();
break;
...
}
}



九、获取网络时间(NTP)

机智云默认支持网络时间同步,用户可在gizwitsEventProcess中监听:


caseEVENT_NTP:
// 时间戳处理 ntp_time
break;


十、总结

本教程从实际出发,完整展示了使用机智云平台 + ESP8266 + MCU实现智能家居联网通信的全过程。通过代码自动生成 + 固件烧录 + STM32 工程移植,开发者无需关心底层协议即可快速构建联网设备。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18628

    浏览量

    387579
  • 智能家居
    +关注

    关注

    1942

    文章

    9944

    浏览量

    195579
  • 机智云
    +关注

    关注

    3

    文章

    630

    浏览量

    27643
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    求基于FPGA 的智能家居项目

    求基于FPGA的智能家居项目
    发表于 05-02 12:17

    智能家居

    们设计了 卧室灯和客厅灯 每盏灯均可单独控制 我们单独编写的安卓APP控制~使智能家居灯更加灵活的运用在我们的生活中时间安排:进我们最大的业余时间学习芯片 然后完成我们的作品~希望我们的项目能允许采纳~
    发表于 11-05 18:59

    【FireBLE申请】蓝牙控制智能家居

    申请理由:需要蓝牙控制各个智能家居的开关以及接收摄像头的视频,且项目复杂,急需蓝牙,蓝牙功耗低,传播范围广,是必备芯片项目描述:在项目中,我需要用蓝牙作为一种中介,把各个
    发表于 07-06 21:23

    【Aworks申请】智能家居

    申请理由:用来制作智能家居主机主控端,控制主机上运行的网关程序是智能家居系统的控制中心。它监控家居传感器网络(ZigBee网络)、管理IP摄像头、并为客户端提供数据管理服务项目描述:网
    发表于 07-10 14:53

    【OK210试用体验】基于飞凌OK210的智能家居的应用【项目完结

    数据通过串口发送的OK210上,同时新增加了APP控制和视频的采集。项目源于一篇论文:基于S5PV210的智能家居系统设计,文中使用QT设计了人机交互界面,但由于没有显示屏,故除了QT部分外,完成并改进
    发表于 09-27 00:14

    【蓝牙4.1申请】智能家居项目开发

    项目描述:研究智能家居方向,基于蓝牙与无线通讯开发一套智能家居平台,熟悉嵌入式编程,并且想趁还是在校学生多学习点发发经验,并向从事智能家居方向研究,自动控制方向等等。
    发表于 10-09 14:16

    【CANNON申请】智能家居

    申请理由:小钢炮CANNON开发板,有很多智能家居能用到了模块。我想申请一下,让我们的作品更完美。项目描述:为方便人们更好的管理家里的各种电器,以及更加安全、健康和环保的生活,我们想制作了以小钢炮CANNON开发板为控制核心的智能家居
    发表于 01-26 14:03

    智能家居入口科普 让你更好了解智能家居

    自从智能家居这个行业诞生以来,这个入口的问题就一直没有间断,入口就是管理智能家居的总和系统,作为智能家居,如果是对每个产品分别执行指令,那肯定就失去了智能家居的意义,这时,一个很好地中
    发表于 03-03 11:33

    【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS 智能家居套件试用 】智能家居项目

    项目名称:智能家居项目试用计划:申请理由本人在智能家居研发有两年的学习和开发经验,亲自开发过多款用于控制、检测智能家居的产品,包括空调、窗帘
    发表于 10-29 14:16

    【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS 智能家居套件试用 】漫居智能家居项目

    项目名称:漫居智能家居项目试用计划:一、背景1.我们之前的项目基于esp32、esp8286系列,希望移植智能家居
    发表于 10-29 14:25

    【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS 智能家居套件试用 】智能家居

    项目名称:智能家居试用计划:申请理由本人在智能家居领域有现成产品,已投入市场。https://blog.csdn.net/u011827554/article/details/108091930计划
    发表于 10-29 14:35

    【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS 智能家居套件试用 】智能家居

    项目名称:智能家居试用计划:1.智能家居产品预言,看是否能应用于公司已有的智能灯和扫地机器人项目
    发表于 10-29 14:43

    【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS 智能家居套件试用 】智能家居项目

    项目名称:智能家居项目试用计划:本人基于兴趣爱好,具有飞凌、瑞芯微、全志开发板学习和开发经验,成功移植、调试安装。具有全志、瑞芯微智能芯片开发能力。想借助发烧友论坛和参与鸿蒙硬件的学习
    发表于 10-29 14:46

    项目实战教程来了-4412开发板-zigbee智能家居

    实战教程基于迅为4412开发板实现一个在局域网下利用zigbee来通信的智能家居系统。内容时长为2小时。项目实战教程-zigbee智能家居-演示(01:30分钟)项目实战教程-zigb
    发表于 08-11 10:35

    智能家居开源项目

    电子发烧友网站提供《智能家居开源项目.zip》资料免费下载
    发表于 08-03 09:27 3次下载
    <b class='flag-5'>智能家居</b>开源<b class='flag-5'>项目</b>