Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread
国民技术_N32G45x
【N32G457】基于RT-Thread和N32G457的智能环境系统
发布于 2022-03-23 15:18:31 浏览:774
订阅该版
随着我国城市经济的快速发展,人民生活水平的不断地进步和提高,越来越多的家庭开始选择饲养宠物作为闲暇生活的亲密伴侣,并且正在成为现代人的一种生活时尚和生活情趣,为城市居民的生活增添了无限乐趣。但是随着近些年生活节奏的加快以及饲养宠物数量的增多,越来越多的城市宠物得不到很好的照顾,因此我们的项目应运而生。我们设计的智能宠物箱是基于我们自主开发的物联网环境监测系统,该系统通过3.5寸电阻屏实现与用户的交互,系统可以实时监测宠物箱内的空气温度、空气湿度、光照强度、有害气体浓度、烟雾气体浓度、土壤温度湿度等一系列环境参数,并绘成曲线在屏幕上显示出来,用户通过系统屏幕可以自主设定各种参数的阈值,当环境参数发生波动高于或低于设定值时,系统会发出声光报警,并通过APP通知用户,同时系统还配有排气通道、通风系统、散热系统、升温系统等一系列子系统实时保持宠物箱内环境参数正常,确保宠物安全。系统通过物联网实时把环境参数上传到云端,通过我们专属APP,用户可以随时随地查看宠物箱状况,并可以自主调整环境参数上下限,也可以通过APP打开或关闭宠物箱内某功能模块。同时系统添加了语音交互功能,能够识别用户指令并作出判断,可以进行简单交流,同时用户可以通过语音控制宠物箱各种用电器,十分方便快捷。 我们设计的智能宠物箱是基于我们自主开发的物联网环境监测系统,该系统通过3.5寸电阻屏实现与用户的交互,系统可以实时监测宠物箱内的空气温度、空气湿度、光照强度、有害气体浓度、烟雾气体浓度、土壤温度湿度等一系列环境参数,并绘成曲线在屏幕上显示出来,用户通过系统屏幕可以自主设定各种参数的阈值,当环境参数发生波动高于或低于设定值时,系统会发出声光报警,并通过APP通知用户,同时系统还配有排气通道、通风系统、散热系统、升温系统等一系列子系统实时保持宠物箱内环境参数正常,确保宠物安全。 2.2模块功能介绍 2.2.1语音识别模块 语音功能模块 使用LD3320语音识别模块加TTS MR628播报芯片实现人机语音交互功能,使得用户可以仅凭语音了解宠物箱状况以及控制用电器。下面简单介绍一下语音识别模块LD3320: LD3320芯片是一款“语音识别”专用芯片,由ICRoute公司设计生产。该芯片集成了语音识别处理器和一些外部电路,包括AD、DA转换器、麦克风接口、声音输出接口等。本芯片在设计上注重节能与高效,不需要外接任何的辅助芯片如Flash、RAM等,直接集成在现有的产品中即可以实现语音识别/声控/人机对话功能。并且,识别的关键词语列表是可以任意动态编辑的。 语音识别的操作顺序是: 语音识别用初始化(包括通用初始化)→写入识别列表→开始识别,并准备好中断响应函数,打开中断允许位。这里需要说明一下,如果不用中断方式,也可以通过查询方式工作在“开始识别”后,读取寄存器 B2H 的值,如果为 21H 就表示有识别结果产生。在此之后读取候选项等操作与中断方式相同。 以下是我们产品的语音模块功能框图,其中橙色框引号部分是用户口令,黄色框是语音播报模块的答复,其中框图中只选择了具有一般代表性的四对口令,还有一些具有对话性质的没有在框图中体现出来。 2.2.3 物联网模块 低功耗、高集成度的Wi-Fi芯片仅需7个外围元器件,超宽工作温度范围:-40°C至+125°CESP8285-ESP8266,内封8MbitFlash。 性能稳定:ESP8266EX的工作温度范围大,且能够保持稳定的性能,能适应各种操作环境。 高度集成:ESP8266EX集成了32位Tensilica处理器、标准数字外设接口、天线开关、射频balun、功率放大器、低噪放大器、过滤器和电源管理模块等,仅需很少的外围电路,可将所占PCB空间降低。 低功耗:ESP8266EX专为移动设备、可穿戴电子产品和物联网应用而设计,通过多项专有技术实现了超低功耗。ESP8266EX具有的省电模式适用于各种低功耗应用场景。32位Tensilica处理器,ESP8266EX内置超低功耗TensilicaL10632位RISC处理器,CPU时钟速度最高可达160MHz,支持实时操作系统(RTOS)和Wi-Fi协议栈,可将高达80%的处理能力留给应用编程和开发。 内置外界引脚:包括oled的iic四线外界引脚和DHT11的三线外接引脚 1.管脚定义 分类 项目 参数 Wi-Fi 标准认证 Wi-Fi联盟 无线标准 802.11b/g/m(HT20) 频率范围 24GH-2.5GHz(2400MHz-2483.5MHz) 发射功率 802.11b:+20dBm 802.11g:+17dBm 802.11n:+14dBm 接收灵敏度. 802.11b:-91dom(11Mbps) 802.11g:-75dom(54Mbps) 802.11n:-72dbm(MCS7) 天线选项 PCB板载天线,外置天线,IPEX接口天线,陶瓷贴片天线 硬件 CPU TenslicaL10632bi处理器 外设接口 GPIO/ADC/PWMLEDLight&Button 工作电压 25V-36V 工作电流 平均电流:80mA 工作温度 -40℃-125°C 封装大小 5mmx5mm 外部接口 - 软件 Wi-Fi模式 Statin/SoftAP/SoftAP+Station 安全机制 WPA/NPA2 加密类型 UARTDowrloed/OTA(通过网络) 升级固件 UARTDowrloed/OTA(通过网络) 网络协议 Pv4、TCP/UDP/HTTPMQTT 用户配置 AT+指令集,云端服务器,Android/OSAPP 外设接口2 GPIO/ADC/PWMLEDLight&Button 管脚布局 下面我们根据乐鑫提供的产品规格书对esp8266进行详细的说明: 我们产品的设计就是根据这些管脚的定义来实现的。 参数 名称 最小值 最大值 单位 频率 FXO 24 52 MHz 装载电容 CL - 32 pF 动态电容 CM 2 5 pF 串行电阻 RS 0 65 Ω 频率容限 OFXO -15 15 ppm 频率和温度(-25℃~75℃) OFXO,Temp -15 15 ppm 时钟 基于外部晶振,ESP8266EX的内部晶体振荡器可以生成射频时钟。该时钟可用于驱动TX和RX混频器。晶振频率在24MHz到52MHz之间。尽管晶体振荡器的内部校准功能使得一系列的晶体满足时钟生成条件,但是晶体的质量仍然是影响获得合适的相位噪声和Wi-Fi灵敏度的重要因素。请参照表2-1来测量频率偏移。 高频时钟参数 参数 名称 最小值 最大值 单位 时钟振幅 VXO 0.8 1.5 Vpp 外部时钟精准度 OFXO,EXT -15 15 ppm 相位噪声@1kHz偏移,40MHz时钟 - - -120 dBc/Hz 相位噪声@10kHz偏移,40MHz时钟 - - -130 dBc/Hz 相位噪声@100kHz偏移,40MHz时钟 - - -138 dBc/Hz 外部时钟的频率在24MHz到52MHz之间。为了使射频性能良好,时钟需满足要求如所示。 3.射频 ESP8266EX射频主要包含以下模块。 •2.4GHz接收器 •2.4GHz发射器 •高速时钟生成器和晶体振荡器 •Bias与稳压器 •电源管理模块 信道编号 频率(MHz) 信道编号 频率(MHz) 1 2412 8 2447 2 2417 9 2452 3 2422 10 2457 4 2427 11 2462 5 2432 12 2467 6 2437 13 2472 7 2442 14 2484 根据IEEE802.11b/g/n标准,射频收发器支持以下信道 4.wifi ESP8266EX支持TCP/IP协议,完全遵循802.11b/g/nWLANMAC协议,支持分布式控制功能(DCF)下的基本服务集(BSS)STA和SoftAP操作。支持通过最小化主机交互来优化有效工作时长,以实现功耗管理。 Wi-Fi射频和基带 ESP8266EXWi-Fi射频和基带支持以下特性: •802.11b和802.11g •802.11nMCS0-7(支持20MHz带宽) •802.11n0.4µs保护间隔 •数据率高达72.2Mbps •接收STBC2x1 •发射功率高达20.5dBm •可调节的发射功率 ESP8266EXWi-FiMAC自行支持的底层协议功能如下: •2×虚拟Wi-Fi接口 •支持基础结构型⽹络(InfrastructureBSS)Station模式/SoftAP模式/混杂模式 •RTS保护、CTS保护、立即块回复(ImmediateBlockAck) •重组(defragmentation) •CCMP(CBC-MAC,计数器模式)、TKIP(MIC,RC4)、WEP(RC4)和CRC •自动Beacon监测(硬件TSF) •双天线或单天线的蓝⽛共存方式,支持分时接收(Wi-Fi/蓝牙)的功能 5.低功耗管理 ESP8266EX专为移动设备、可穿戴电子产品和物联网应用设计,拥有先进的低功耗管理 技术,具体模式⻅下。 •Active模式:芯片射频处于工作状态,可以接受、发射和侦听信号。 •Modem-sleep模式:CPU可运行。Wi-Fi和射频处于关闭状态。 •Light-sleep模式:CPU及所有外设暂停运行。任何唤醒事件(MAC、主机、RTC定 时器或外部中断)都会唤醒芯片。 •Deep-sleep睡眠:仅RTC 功耗模式 描述 功耗 Active(射频工作) Wi-FiTXpacket Modem-sleep Wi-FiRXpacket 15mA Light-sleep② CPU处于工作状态 0.9mA Deep-sleep③ 仅RTC处于工作状态 20uA 关闭 - 0.5uA 管脚名称 管脚编号 IO 功能名称 SDIO_CLK 21 IO6 SPICLK SDIO_DATAO 22 IO7 SPIQ/MISO SDIO_DATA1 23 IO8 SPID/MOSI SDIO_DATA_2 18 IO9 SPIHD SDIO_DATA3 19 IO10 SPIWP U0TXD 26 IO1 SPICS1 GPIOO 15 IO0 SPICS2 SDIO_CMD 20 IO11 SPICSO 管脚名称 管脚编号 IO 功能名称 MTMS 9 IO14 HSPICLK MTDI 10 IO13 HSPIQ/MISO MTCK 12 IO12 HSPID/MOSI MTDO 13 IO15 HPSICS 2.2.4 DHT11温湿度传感器模块 本系统选用的传感器模块是DHT11温湿度传感器,它具有测温度和湿度的元器件,测量误差小,开发便捷,容易上手。DHT11传感器的精度较高,且其数据的输出接口和处理器的I/O口连接即可得到数据。此外,DHT11传感器每次都将通过奇偶校验的方式对传感器数据进行核验,以保障数据的真实性。DHT11模块的功耗较低,在其工作电压下仅有2.5m W的消耗。DHT11传感器的其他性能如表3.1所示。DHT11模块的连接电路如图所示。 性能 数值 性能 数值 工作电压 3~5V 温度分辨率 1(℃) 数据采样时间 1s 湿度分辨率 1(%RH) 温度测量范围 0~50(℃) 温度测量精度 ±2(℃) 湿度测量范围 20~90(%RH) 湿度测量精度 ±4(%RH) 2.2.5 MQ-2烟雾气体传感器模块 系统对有害气体的监测是为了避免宠物箱中火灾产生的烟雾和天然气泄漏等带来的安全隐患,降低宠物箱发生意外灾害的风险。系统选用 MQ-2传感器来监测烟雾气体的浓度,MQ-2传感器是一种电阻控制型的气敏器件,当被测气体的浓度发生变化时,其电阻值就会随之改变,从而可将模拟信号转变为电信号。MQ-2传感器可用于多种气体的检测,对烟雾的敏感度较高。这是因为它由Sn O2半导体材料制成,而Sn O2对气体极其敏感。MQ-2传感器与核心处理器的连接电路简单,且其价格低廉,检测精度高,故系统采用MQ-2传感器来监测有害气体。此外,该传感器使用寿命长且拥有良好的稳定性,气体浓度测试范围大等,具备数字和模拟输出两种输出式可供选择。具体的连接电路如图所示。 2.2.6电源电路模块 由于系统常年工作在宠物箱内部,因此系统需要设计电源模块来保证系统能够正常工作。此外,电源模块设计的合理与否是系统稳定正常工作的前提,稳定的电压对系统各个模块的正常工作十分有利,能够减少器件损坏,增加使用寿命。由于ESP8266通信模块的输入电压是3.3V,而过高或者过低的电压都会对其造成一定的影响,因此在电路中增加了一款CMOS稳压器,其内置过压保护电路,用以保证终端正常稳定工作。为了满足本系统中各种传感器、用电器的电流电压需要,我们设计了多路12v、5v、3.3v电压输出,同时电路中设计了三组2A自恢复保险丝确保电路电流安全。如图所示为电源模块电路。 2.3总体设计框图 2.4产品软件设计 2.4.1 N32G457主程序设计 N32G457主程序的设计思路是芯片上电后进入初始化阶段,首先是N32G457芯片自身初始化,接着是esp8266芯片初始化,再接着是esp8266连接服务器,如果连接成功则进入到传感器初始化阶段,不成功则持续重复连接状态30s接着上电重启。 初始化工作结束之后进入大循环中等待用户操作,下属分为两个小循环,分别对应开启环境监测的小循环和开启语音识别交互模式的小循环,手机APP可以直接参与每一个循环,可以做到全程工作用户只在手机端完成,这也就意味着不限于任何地方,只有用wifi网络的地方用户都可以操作。 2.4.2 LD3320语音识别程序设计 官方在生产芯片的时候已经把下面框图的内容封装好了,因此我们只需要直接调用函数即可实现我们所需要的功能,下图是语音识别系统实现的流程框图: 这是我们设计并应用的语音识别程序框图,语音播报模块支持串口通信协议,可以将文字直接转换成语音,因此把LD3320的串口与它相连,而单片机通过检测LD3320的IO口高低电平的变化实现与单片机通信。 2.4.3 配套手机APP设计 手机APP主体功能就是将由esp8266搭建的mqtt平台进行主题订阅,通过连接mqtt,订阅主题,实现数据的接收与发送,从而实现手机通过wifi远程操控宠物饲养箱。 图中开关按钮是控制七个用电器的,七个数据框对应七项环境参数,整体设计色调沿用系统操作界面的暖橙色调,体现活泼积极乐观的生活态度。 2.5操作界面 监测系统开始按键,按下后监测系统开始工作,传感器开始采集环境参数信息,并向云端上传; 监测系统暂停按键,按下后检测系统停止对宠物饲养箱的环境监测工作,传感器停止工作,不再上传数据; 进入开关界面,可以控制一些电器的开关,如加热灯、夜灯、加湿器等 进入阈值配置界面,这个页面可以调整系统对于七项环境参数的报警上下限; 进入监测界面1; 进入监测界面2. 下方的滚动状态条可以显示系统目前的所处模式以及运行状态,同时可以提醒用户某项环境参数的波动情况: 开关界面 可以控制以上其中用电器,最后一个按钮为进入语音模式的功能按键 阈值配置界面 由图可知我们能对上面的各种环境参数进行上下限度的配置,支持按键固定数值的一键配置,也支持滑动触控按键实现范围数值的任意配置 监测界面1 可以实时显示当前温度、湿度、有害气体浓度、烟雾气体浓度、光照强度等,其中前四项不仅有数值显示,还可以在界面左上方的网格图中实时绘制出数值曲线,分别用绿、蓝、红、紫不同颜色区分开来,光照强度除了数值直接显示以外,还可以通过数值右侧的滑动框显示,黄色占比越高则光照强度越强。 检测界面2
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
芋头仔i
这家伙很懒,什么也没写!
文章
1
回答
0
被采纳
0
关注TA
发私信
相关文章
1
RT-THREAD在STM32H747平台上移植lwip
2
正点原子miniSTM32开发板读写sdcard
3
反馈rtt串口驱动对低功耗串口lpuart1不兼容的问题
4
Keil MDK 移植 RT-Thread Nano
5
RT1061/1052 带 RTT + LWIP和LPSPI,有什么坑要注意吗?
6
RT thread HID 如何收发数据
7
求一份基于RTT系统封装好的STM32F1系列的FLASH操作程序
8
RT-Thread修改项目名称之后不能下载
9
rt-studio编译c++
10
有木有移植rt-thread(nano)到riscv 32位MCU上
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
a1012112796
10
个答案
1
次被采纳
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
YZRD
2
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部