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

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

3天内不再提示

STM32开发板+机智云AIoT+家庭监测控制系统

机智云 2022-06-24 16:53 次阅读

摘要:基于esp8266机智云Aiot开发平台的家庭监测和控制系统是基于大数据和物联网技术的家庭设备控制系统。利用机智云物联网平台和ESP8266WiFi模块、STM32核心板、电机驱动、继电器、温湿度传感器模块等,实现与手机终端的数据交互和数据监测。


通过移动手机终端APP的开关按键,可以控制系统电机的正转与反转;通过APP的开关按键,模拟窗户的开合,并控制舵机的正转和反转,模拟门的开关;通过APP的开关按键控制系统LED的亮灭,模拟家中对灯的控制;


通过APP的开关控制按键模拟家庭风扇的控制。系统采集MQ135烟雾传感器的数值,经单片机进行ADC转换后,通过OLED显示ADC采集转换后的数值。单片机将通过DHT11采集的数值显示在OLED上,还可通过APP和OLED显示模块查看单片机系统外设的运行状态。


引言

火灾,是人类重大的灾难之一。每一次的火情都牵动无数人的心,而火情最容易带来人员的伤亡和财产的损失。据统计,全世界每天发生大大小小的火灾约一万起,而我国在消防体系十分健全的情况下,每年火灾发生的数量达到十五万起,家庭起火导致的火灾约五万起,占三分之一。每年因火灾而失去生命的人约800人,每年因火灾造成的经济损失超10亿元。家庭防火刻不容缓,特别是因缺乏安全意识玩火、家庭线路老化、天然气泄漏等需要引起注意。如今,很多重要的公共场合已在关键地方安装了烟雾报警器,能在第一时间发现可能存在的火情威胁。但家庭是我们极度容易忽视的地方[1]。


随着物联网技术的发展,智能家居作为物联网最典型的应用之一,越来越多的设备接入物联网中,给人们的生活带来了很多便利[2]。本系统利用物联网技术完成了简易的智能家庭监测和控制系统。利用开源的机智云物联网平台实现远程数据交互,通过智能云平台对家庭传感器实现远程控制,对家庭中潜在的火源威胁进行监控。采用烟雾传感器、温湿度传感器、人体光学传感器等,对嵌入式系统在中间层进行深度开发,实现基本的功能原理,完成原理图、PCB的设计,以及嵌入式系统软件实现课题的目标功能[3-7]。


1总体设计方案

本系统基于ARMM3系列控制器,考虑外设中需要较大的驱动能力和较大的内存存储空间才能实现系统运算,故结合本设计的需求,使用WiFi模块作为单片机与上位机系统间的通信模块。单片机采集外部的温湿度信息、空气中烟雾的浓度信息等,通过WiFi模块连接云平台,借助云平台与手机终端APP将信息传递给用户。用户通过手机终端APP按键,向云平台传输字符信号,云平台通过WiFi模块向单片机系统传递控制指令,单片机接收到指令后,执行相应的操作。系统框架如图1所示[2-4]。


pYYBAGK1dj2AeJn9AACPiRefv-c998.png


图1系统框架


2硬件设计

本系统的硬件模块主要包括:嵌入式微控制器STM32F103C8模块、GPS/北斗模块、OV7670摄像头模块和GPRS模块。其中,STM32F103C8为主控制器,负责信息的处理与控制;GPS/北斗模块和OV7670摄像头模块负责采集环境图片信息和当前的位置信息;GPRS模块负责嵌入组建网络并与Internet服务器通信[3]。

2.1系统电源设计

本系统采用12V的DC作为供电电源,用线性稳压芯片和DC调压芯片作为嵌入式系统为各外设供电。由于本系统中有较多的应用外设,因此需要多个稳压芯片稳定系统的电压,以确保外设和CPU不受电压影响,正常工作。有些负载比较大的外设,如电机和舵机等,在使用时需要较大电流,如果共用同一个电源系统,在外设驱动时,电压和电流波动较大,会影响其他外设的正常使用,而嵌入式系统也可能会因为电压和电流的不稳定造成复位现象,极大影响系统的稳定运行。因此在选择系统电源时,选择多电源分开供电的方案,如图2所示。


pYYBAGK1dkSATdptAADAwZWnF9U418.png

图2系统电源分配方案


2.2嵌入式系统硬件

嵌入式开发系统采用STM32F103RCT6核心板模块。模块资源包括STM32RCT6集成的32位SOC、SWD程序调试接口、复位按键电路、通用I/O口、时钟振荡电路、FLASH存储电路、OLED接口、按键电路以及LED电路。


2.3ESP8266硬件设计

ESP8266作为一款性能强大的无线射频模块,内部定义了丰富的管脚。ESP8266通过串口与单片机相连,根据数据手册可知,单片机的USART1在PA9和PA10引脚上,其中,ESP8266的RX与单片机的TX相连,ESP8266的TX与单片机的RX相连。ESP826作为本系统的主要通信载体,连接了MCU和云服务平台,通过串口1的串口协议与MCU实现数据交互,通过与局域网的连接,把串口协议传输的信息上传到云服务平台。同样,用户操作上位机平台,经云平台和ESP8266将控制信号通过串口协议传输给MCU,MCU在接收到串口数据后,执行相应的指令。

2.4L298N电机驱动电路


L298N模块是一款集成的驱动电路,其具有驱动能力强、发热量低、抗干扰能力强等特性。L298N可输出电流为2A,最大可输出4A电流,最高可驱动50V工作电压,可用于中小型直流电机的控制。L298N使用单片机的TTL逻辑电平控制电机的正反转,软件上只需改变输入端逻辑电平的脉冲宽度即可控制电机的转速。通过控制输入端逻辑电平的输入端正转或反转,就能相应控制电机的正反转。L298N的正常工作电压为5V。L298N内部集成了L298N驱动和8个续流二极管,构成H桥驱动电路。


2.5SG90舵机模块

SG90使用5V直流电压,控制信号接单片机的PA11。PA11为定时器的通道4,通过PWM信号控制舵机的正反转,通过PWM输出的脉冲宽度来控制舵机的转速和角度。


2.6MQ135烟雾传感器

MQ135烟雾传感器为5V供电,通过PA1的ADC引脚采集MQ135信号。MQ135烟雾传感器可以输出数字信号和模拟信号,本系统采集模拟信号。

2.7OLED显示电路

本系统使用OLED显示电路显示本系统的外设状态,如烟雾传感器ADC采集的值,温湿度的值,以及电机、舵机、LED、风扇的状态。OLED显示电路采用3.3V电压供电,使用I2C协议通信。


3系统软件设计

本系统的软件设计模块主要包含ESP8266固件烧录、云平台接入、云平台创建节点、STM32固件开发四部分。借助ESP8266与SOC的云平台开发需要完成以下4步:

(1)ESP8266模块烧录GAgent开发固件;

(2)机智云开发中心创建产品以及定义数据点;

(3)下载机智云开发平台生成的通信协议并对协议进行移植;

(4)使用机智云APP对设备进行远程测试。

初始化各模块的函数后,在软件的主函数中写入系统的总体服务函数,系统在OLED显示屏上显示温湿度、烟雾、门、窗以及人体红外等传感器状态。当按键按下时,OLED显示为安防状态,然后系统扫描MQ135烟雾传感器及温湿度传感器,当传感器的数值大于阈值时,系统报警。当上位机执行控制指令时,触发串口中断,接收来自上位机的字符指令,把相应的标志置位后,执行控制指令。控制主流程如图3所示。


3.1STM32固件开发编程

本系统基于STM32固件库开发,在软件开发之前,需要对硬件系统的固件库进行初始化(GPIO初始化、串口初始化、I2C协议初始化、定时器初始化[5-6]),方便以后使用。


3.2WiFi传输函数

ESP8266模块作为本系统的传输媒介,使用串口通信,初始化串口代码后,需要撰写WiFi模块的接收代码和发送代码。上位机APP按钮按下后,通过WiFi模块给单片机传输一个字符指令,单片机程序中设定接收相应的字符后,将系统中标志位的布尔值赋值,系统在运行中不断扫描标志位布尔值的状态,执行相应的指令。


3.3OLED显示函数

初始化完成后,通过OLED显示函数向OLED显示屏不断传送信息,通过sprintf()函数把字符和模块采集的数据格式化并送入oled_buffer字符数组,通过判断状态标志位的布尔值,不断更新字符数组内存放的值,然后通过OLED_ShowStr()函数向OLED传送信息。OLED_ShowStr()包含4个入口参数,分别为OLED的x坐标,y坐标,字符串和字符大小。



poYBAGK1dkyAUpQtAAGaXN2JIlA290.png

图3控制主流程


3.4PWM输出函数

本系统中的门和窗使用舵机和电机控制,舵机和电机均依靠单片机的脉冲宽度调制来控制转速和转动角度,电机和舵机分别使用系统的定时器3和定时器1。以电机控制为例,初始化结束后,系统WINDOW_TIM3_PWM_INIT(799,0)定时器设定一个时钟周期为800ms,在上位机执行开窗或者关窗指令时,设定25%的脉冲宽度,延时1s后停止。电机的控制引脚分别悬挂在定时器3的通道3和通道4上,通过控制不同通道上的脉冲宽度可以控制电机的正转和反转,以实现开窗和关窗的目的。


3.5ESP8266固件烧录

ESP8266接入机智云平台需要将机智云开发的固件烧录至WiFi模块的SOC中,在机智云官网上有已经集成的固件包,以及烧录的SDK软件。固件烧录时,需要将ESP8266的串口和USB-TTL的串口下载工具对应连接,在下载固件时,需注意把ESP8266的GPIO0连接到地线上,使模块进入写入模式。烧录完成后将GPIO0连接到VCC中,设置为工作模式[8]。


3.6接入机智云平台

本系统需要使用云服务平台对系统进行实时监控,如果自主搭建云服务器的难度和成本太大,可以考虑接入机智云AIoT开发平台。接入机智云流程如图4所示。


poYBAGK1dlKAM4yUAABSpMhi3sA954.png

图4接入机智云流程

注册开发者账号后,用户账号可以通过用户的相关产品相互关联。创建产品,根据用户产品的类型创建对应的产品分类以及产品名称。机智云平台每个账号可以接入10个开发产品。创建产品之后,在产品中创建数据点。数据点即为系统的功能及参数。在云平台创建数据节点,本系统中,移动终端和SOC模块以控制和显示为主,数据类型分为可写和只读两种。可写类型:用户控制家庭的设备数据类型,如,LED、门、窗、空调等;只读类型:温湿度模块、烟雾传感器、人体红外传感器通过SOC上传的数据。创建节点后生成可移植的平台,将其移植到SOC后,设备能与云端实时通信,进行数据交互[9]。


4实验验证

搭建系统后,对系统的稳定性进行测试,对系统的功能进行必要性测试。系统上电自动复位时,各模块正常运行,LED、电机、舵机、风扇均处于停止状态,OLED显示屏循环显示模块状态,红外检测状态为无人状态,温湿度检测正常显示,烟雾传感器数据正常显示。


5结语

本设计以STM32F103RCT6为核心,通过串口协议与本系统的主要通信模块ESP8266相连,单片机可通过串口协议完成对模块数据和ESP8266的WiFi模块通信,ESP8266在烧录机智云提供的固件后可连接到局域网,与机智云云平台的服务进行实时数据交互[10]。

云平台可以在线调试系统的外设虚拟状态,在云平台的在线虚拟设备状态下,系统外设控制状态为布尔值,可以通过布尔值控制设备的状态标志位。系统在服务器的虚拟状态位如图5所示。

系统通过ESP8266与云平台上传系统状态标志以及温湿度和烟雾传感器采集的数据。系统向上位机上传数据示意图如图6所示。

pYYBAGK1dliAA4kpAADwHArWJf0520.png


图5云平台控制界面


poYBAGK1dl6AP_1ZAAIkQ1aQ8qs375.png


图6系统向上位机上传数据


当温湿度和烟雾的值大于STM32F103RCT6单片机设定的阈值时,单片机发出警报,并通过串口将预警信号发送给上位机APP。人体光学传感器HCSR-501采集人员闯入信息。可以在外出时通过按键将单片机设定为安防模式,单片机通过不断扫描人体光学传感器HCSR-501的电平判断是否有人闯入。

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

    关注

    59

    文章

    549

    浏览量

    58630
  • 机智云
    +关注

    关注

    2

    文章

    579

    浏览量

    26367
  • AIoT
    +关注

    关注

    8

    文章

    1384

    浏览量

    30564
收藏 人收藏

    评论

    相关推荐

    正点原子的stm32开发板能用stlink吗

    在嵌入式开发领域,STM32系列微控制器因其高性能、低成本和广泛的应用场景而广受欢迎。正点原子(ZYBO)作为国内知名的嵌入式开发板供应商,提供了多种基于
    的头像 发表于 11-13 09:21 277次阅读

    STM32项目实战:基于STM32U5的智能灯光控制系统(LVGL),附项目教程/源码

    U5)今天小编来分享一个《智能灯光控制系统》的项目案例,硬件平台是STM32U5开发板+资源扩展板+显示触摸屏+仿真器,项目的演示界面如下图所示。智能灯光控制系统项目,需
    的头像 发表于 11-07 18:50 459次阅读
    <b class='flag-5'>STM32</b>项目实战:基于<b class='flag-5'>STM32</b>U5的智能灯光<b class='flag-5'>控制系统</b>(LVGL),附项目教程/源码

    STM32项目实战:基于STM32F4的智能灯光控制系统(LVGL),附项目教程/源码

    平台是STM32F4开发板+资源扩展板+显示触摸屏+仿真器,项目的演示界面如下图所示。智能灯光控制系统项目,需要一个LED灯光执行器件,模拟灯光效果;一个光照传感
    的头像 发表于 10-17 16:16 586次阅读
    <b class='flag-5'>STM32</b>项目实战:基于<b class='flag-5'>STM32</b>F4的智能灯光<b class='flag-5'>控制系统</b>(LVGL),附项目教程/源码

    基于机智移植STM32L496G代码移植

    前言最近我拿到了STM32L496AGMCU,发现其扩展版可以连接ESP-01S。我想尝试将开发板连接到我们的机智上,并根据机智
    的头像 发表于 09-20 08:05 304次阅读
    基于<b class='flag-5'>机智</b><b class='flag-5'>云</b>移植<b class='flag-5'>STM32</b>L496G代码移植

    基于机智的智能私家车库控制系统设计与实现

    烟雾传感器用于火灾检测,HC-SR04超声波传感器用于水位监测,esp8266作为WiFi通信模块,通过机智物联网平台开发的手机APP,实现对车库内温湿度、水位
    的头像 发表于 09-11 08:04 401次阅读
    基于<b class='flag-5'>机智</b><b class='flag-5'>云</b>的智能私家车库<b class='flag-5'>控制系统</b>设计与实现

    机智开源自动化控制篇-接近报警系统

    本次采用STM32F103C8T6单片机、ESP-01S模块、红外避障模块、蜂鸣器模块,接入机智平台,完成接近报警系统,为智能化场景增添强大功能。使用到的模块
    的头像 发表于 08-31 08:02 256次阅读
    <b class='flag-5'>机智</b><b class='flag-5'>云</b>开源自动化<b class='flag-5'>控制</b>篇-接近报警<b class='flag-5'>系统</b>

    机智ESP8266开发板RGB彩灯控件

    随着智能家居技术的迅猛发展,RGB彩灯控件正逐渐成为现代家庭不可或缺的一部分。在这一潮流中,机智(Gizwits)的ESP8266开发板RGB彩灯控件以其先进的物联网技术和多样化的灯
    的头像 发表于 08-09 08:10 339次阅读
    <b class='flag-5'>机智</b><b class='flag-5'>云</b>ESP8266<b class='flag-5'>开发板</b>RGB彩灯控件

    STM32项目分享:智能家居(机智系统

    STM32项目分享:智能家居(机智系统
    的头像 发表于 07-28 08:10 1516次阅读
    <b class='flag-5'>STM32</b>项目分享:智能家居(<b class='flag-5'>机智</b><b class='flag-5'>云</b>)<b class='flag-5'>系统</b>

    STM32F103 + ESP8266与机智开发常见问题集锦:入门者必读!

    关于ESP8266模块的选择针对初学者,强烈建议选择带有串口的ESP8266开发板!这可以避免像我曾经遇到的烧录固件失败等问题。推荐直接购买已预装机智固件的模块,或者带有串口下载功能的模块,例如
    的头像 发表于 07-18 08:11 397次阅读
    <b class='flag-5'>STM32</b>F103 + ESP8266与<b class='flag-5'>机智</b><b class='flag-5'>云</b><b class='flag-5'>开发</b>常见问题集锦:入门者必读!

    基于机智物联网智能家居系统

    目录1、功能实现2、软、硬件系统设计3、结论1功能实现采用机智APP实现全球控制,利用无线网络技术连接家居设备到终端,实现智能操作。智能家居控制系
    的头像 发表于 03-30 08:09 820次阅读
    基于<b class='flag-5'>机智</b><b class='flag-5'>云</b>物联网智能家居<b class='flag-5'>系统</b>

    基于 STM32机智智能门锁的实现

    关键词:智能门锁、STM32机智、APP目录1、功能实现2、软、硬件系统设计3、系统调试4、结论1功能实现本
    的头像 发表于 03-23 08:09 1525次阅读
    基于 <b class='flag-5'>STM32</b> 和<b class='flag-5'>机智</b><b class='flag-5'>云</b>智能门锁的实现

    基于机智物联网的PCR温度控制

    本文设计了基于物联网的PCR温度控制系统,能够实现快速、准确的温度控制。通过将检测设备端接入机智平台,使检测人员能够远程监控PCR仪的运行,实现检测现场的无人值守,减轻检测人员的负担
    的头像 发表于 03-07 08:09 703次阅读
    基于<b class='flag-5'>机智</b><b class='flag-5'>云</b>物联网的PCR温度<b class='flag-5'>控制</b>

    机智平台的高效温湿度智能测控研发

    关键词:机智平台;温湿度测控;WiFi网络;高效精准;目录1、功能实现2、系统结构搭建3、物联网平台运用4、系统算法设计5、APP演示6、
    的头像 发表于 02-19 14:02 377次阅读
    <b class='flag-5'>机智</b><b class='flag-5'>云</b>平台的高效温湿度智能<b class='flag-5'>测控</b>研发

    STM32+Linux开发板应用手册

    STM32 WIFI Linux 安卓智能控制开发板应用手册
    发表于 12-21 11:04 3次下载

    基于启明6M5开发板的无线环境监测小车系统设计

    本项目旨在基于启明6M5开发板设计一个无线环境监测小车系统,用于监测实验室环境,用户能够通过蓝牙对小车进行控制,并通过onenet
    的头像 发表于 12-11 12:22 893次阅读
    基于启明6M5<b class='flag-5'>开发板</b>的无线环境<b class='flag-5'>监测</b>小车<b class='flag-5'>系统</b>设计