基于ARM的环境参数检测系统设计(Labview+STM32+ZigBee)

news/2024/5/8 10:14:33/文章来源:https://blog.csdn.net/newlw/article/details/128129789

目 录

1 绪论 1
1.1 研究背景和意义 1
1.2 研究现状 2
1.3 研究内容 3
2 系统概述和相关原理 4
2.1 系统的功能分析与设计 4
2.2 LabVIEW介绍 5
2.3 ZigBee技术 5
2.3.1 ZigBee技术概述 5
2.3.2 ZigBee网络协议 6
2.3.3 ZigBee网络拓扑结构 7
2.4 GSM技术 8
2.5 本章小结 8
3 系统硬件设计 9
3.1 系统总体硬件设计 9
3.2 数据采集发送部分硬件设计 9
3.2.1 ZigBee模块选型与设计 9
3.2.2 传感器选型 11
3.3 数据接收控制部分硬件设计 12
3.3.1 嵌入式微处理器选型 12
3.3.2 控制器电源电路设计 13
3.3.3 晶振和复位电路设计 13
3.3.4 下载电路设计 14
3.3.5 串口通讯电路设计 14
3.3.6 SD卡电路设计 15
3.3.7 LCD显示电路设计 16
3.3.8 GSM电路设计 17
3.3.9 本章小结 18
4 系统软件设计 19
4.1 数据采集传输模块软件设计 19
4.1.1 系统通信协议设计 19
4.1.2 ZigBee节点程序设计 20
4.2 数据处理显示模块软件设计 23
4.2.1 总体任务程序设计 24
4.2.2 GSM程序设计 26
4.3 LabVIEW上位机软件设计 27
4.4 本章总结 30
5 系统测试分析 31
5.1 ZigBee数据包抓包实验分析 31
5.2 串口接收数据包实验分析 31
5.3 控制器数据接收实验分析 32
5.4 上位机数据接收实验分析 33
5.5 本章总结 33
总 结 34
参考文献 35
致 谢 38
附 录 39
3系统硬件设计
对于一个系统而言,硬件的设计是不可或缺的。本章开始对系统的总体硬件设计进行了介绍,接着将系统硬件分为数据采集发送部分、数据接收控制部分,分别阐述了各部分的传感器及芯片选型和电路设计方法。
3.1 系统总体硬件设计
系统硬件根据模块化设计思想主要分为两部分:数据采集发送部分、数据接收控制部分。系统硬件总体框图如图4所示。
在这里插入图片描述
图4 系统硬件总体框图
3.2 数据采集发送部分硬件设计
数据采集发送部分由传感器的选型、ZigBee模块设计组成。传感器模块主要包括温湿度传感器和有毒气体检测传感器。其中ZigBee模块负责了传感器数据的采集及处理和数据的无线组网传输。该部分采集模块分布在各个监测区域,通过组成无线传感器网络将数据传输给协调器节点。
3.2.1 ZigBee模块选型与设计
随着ZigBee技术的诞生,各个大型公司都制作工作计划试图将该技术融入到自家产品和芯片中,来抢占市场。其中美国的德州仪器公司,率先推出了第一款基于2.4GHz IEEE802.15.4 ZigBee的片上系统CC2530芯片。CC2530集成了世界先进的RF收发器和加强工业标准的8051内核。TI公司为客户免费提供了完全兼容IEEE802.15.4协议规范和ZigBee协议规范的开源协议栈,以及丰富的开发调试工具[9]。故本课题将CC2530单片机作为ZigBee技术开发平台。
CC2530集成了控制功能和射频收发功能,拥有着超低功耗、较强的抗干扰抗噪声能力、信号传输稳定等射频性能,以及性能高、功耗低且具有代码提前处理功能的8051微控制器内核。同时CC2530拥有着大量功能强大的外部设备,如5个强大的DMA通道、IR发生电路、3个通用定时器(1个16位,2个8位)、具有捕获功能的睡眠定时器、电能监测器和温度测量传感器、可输入8路且可进行配置的12位ADC、看门狗定时器、2个USART、21个通用I/O口、AES安全协处理器等。在CPU处于空置情况下,只耗24mA的微小电流,非常适用于低功耗的产品。其具有如下主要特点:
(1)通信距离远。空旷情况下距离达到300m,障碍物下达到100m;
(2)具有待机低功耗和休眠模式;
(3)硬件支持CSMA/CA;
(4)较宽的工作电压范围。DC 2V-3.6V;
(5)可以达到4.5dBm输出功率;
(6)只需极少外接元件;
(7)支持硬件调试。

事件处理函数代码:
void even_process(void)
{
switch(Interface){case Welcome:  //欢迎界面Lcd_show_bmp( 00"/fm.bmp")breakcase Set_temp:  //设置界面Lcd_show_bmp( 00"/sz.bmp")while(Interface == Set_temp) //等待设置完成{
Set_eventProcess()//设置事件处理函数}breakcase Monitor:    //监测界面Lcd_show_bmp( 00"/jc.bmp")Lcd_GramScan(1)while(1){	data_chuli()//数据处理if(Interface == Set_temp)break}Break;default:break}
}触摸屏函数代码:
void touch_process(void)
{if(touch_flag == 1)															   {	switch(Interface){case Welcome:  //欢迎界面处触摸屏幕进入设置界面if(Get_touch_point(&display,Read_2046_2(),&touch_para ) !=DISABLE){if((display.y>=213&&display.y<=237)&&(display.x>=262 &&display.x<=298))Interface = Set_temp;}breakcase Set_temp:   //设置界面按键处理Set_getEvent()//设置界面 获取触摸坐标及处理breakcase Monitor:   //监测界面按键处理if(Get_touch_point(&display,Read_2046_2()&touch_para ) !=DISABLE){if((display.y>=210&&display.y<=230)&&(display.x>=1 &&display.x<=13))Interface = Set_temp;}breakdefault:break}					
}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_228433.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计springboot企业售后服务管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

聚焦出海 长城汽车50多国家和地区经销商集团齐聚泰国车博会

11月30日&#xff0c;长城汽车携新能源豪华阵容登陆第39届泰国国际汽车博览会&#xff08;简称“泰国车博会”&#xff09;。以“GWM Light the Future”&#xff08;长城汽车点亮未来&#xff09;为参展主题&#xff0c;长城汽车旗下中大型商务豪华SUV坦克500 HEV量产版、欧拉…

pytest + yaml 框架 - 3.全局仅登录一次,在用例中自动在请求头部添加Authentication token认证

前言 我们在使用自动化测试框架的时候&#xff0c;经常会遇到一个需求&#xff0c;希望在全局用例中&#xff0c;仅登录一次&#xff0c;后续所有的用例自动带上请求头部token 或者cookies。 环境准备 Python 3.8版本 Pytest 7.2.0 最新版 pip 安装插件 pip install pytes…

iOS开发之打包上传到App Store——(一)各种证书的理解

OK&#xff0c;有日子没写iOS开发的相关文章啦&#xff0c;主要是最近的精力都没在这上面&#xff0c;不过既然产品已经快要出来了&#xff0c;就有必要了解一下各种证书啥的&#xff08;众所周知iOS的一堆证书可是很让人头大呀&#xff09;&#xff0c;最近确实被这个搞得头大…

Microsoft SQL Server 图书管理数据库的建立

文章目录题目描述创建数据库使用数据库创建三个表外码的表示形式结果展示题目描述 – 新建 “图书管理数据库" – 其中包含三个关系 – 图书&#xff08;编号&#xff0c;图书名&#xff0c;作者&#xff0c;出版社&#xff0c;类型&#xff0c;单价&#xff09; – 借阅…

Golang学习——基于vscode安装go环境

环境介绍 Linux x86_64 vscode 1.63.2 部署流程 下载并部署go安装包 根据实际环境&#xff0c;直接在go官网下载相应的编译好的二进制安装包即可&#xff1a; wget https://golang.google.cn/dl/go1.19.3.linux-amd64.tar.gz下载完成后解压安装包&#xff0c;然后将压缩包…

空域图像增强-图像灰度变换

1.图像灰度变换。自选一张图片&#xff0c;完成以下图像处理&#xff1a;①显示图像的灰度直方图&#xff1b;②直方图均衡化&#xff0c;对比变化前后的图像和灰度直方图&#xff1b;③对图像进行线性灰度变换&#xff0c;对某部分灰度值进行扩展&#xff0c;压缩其它灰度值区…

【发表案例】智能物联网类SCIEI,仅25天录用,计算机领域必投SCI快刊,12月截稿

【期刊简介】3.5-4.0&#xff0c;JCR2区&#xff0c;中科院3区 【检索情况】SCI&EI双检&#xff0c;正刊 【征稿领域】基于人工智能的工业物联网智能传感器 【参考周期】3个月左右 【截稿日期】2022年12月30日 【期刊简介】2.0-3.0&#xff0c;JCR3区&#xff0c;中科院…

unable to find valid certification path to requested target

调用https接口时出现该异常&#xff0c; Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 原因是可以看上图…

介绍一款特别好用的java反编译工具jd-gui

目录 写在前面 开始 写在前面 之前用过另一款java反编译工具jad 但是这个工具有个问题就是对于一些java8的新特性&#xff0c;比如lambda表达式是解析不出来的&#xff0c;更不用说java9和java17了。关于这款工具的使用方法就不再这里赘述了&#xff0c;如果你感兴趣可以在网…

8个关于 Promise.then 和 Promise.catch 的面试题,一定要掌握

前面&#xff0c;我们要讨论了 Promise 在异步编程中的执行&#xff0c;错过的朋友可以直接点击《10 个 JavaScript Promise 的面试题》这篇文章进行查看。 在今天的文章中&#xff0c;我们将讨论这些核心 API 用于 Promise 对象的用法。 这里我提供了10个代码片段&#xff0…

代码文档

为您的团队和您未来的自己代码文档。 Intuition 代码告诉你_怎么_做&#xff0c;注释告诉你_为什么_。——杰夫阿特伍德 可以通过代码文档来进一步组织代码&#xff0c;让其他人&#xff08;以及未来的自己&#xff09;更容易轻松地导航和扩展它。在完成编写代码库的那一刻就最…

【云享·人物】华为云AI高级专家白小龙:AI如何释放应用生产力,向AI工程化前行?

摘要&#xff1a;AI技术发展&#xff0c;正由应用落地阶段向效率化生产阶段演进&#xff0c;AI工程化能力将会不断深入业务&#xff0c;释放企业生产力。本文分享自华为云社区《【云享人物】华为云AI高级专家白小龙&#xff1a;AI如何释放应用生产力&#xff0c;向AI工程化前行…

通过SCADA实现KPI分析和预测性维护远比想象中简单

一、前言 随着工业发展的不断进步&#xff0c;越来越多的企业开始注重KPI分析和预测性维护。通过数据分析实现智能制造已经成为不可缺少的环节。制定并分析关键绩效指标&#xff08;KPI&#xff09;是实现数据分析战略的重要一步&#xff0c;因为只有跟踪这些关键绩效指标才能…

【自然语言处理(NLP)】基于Bi-DAF的机器阅读理解

【自然语言处理&#xff08;NLP&#xff09;】基于Bi-DAF的机器阅读理解 作者简介&#xff1a;在校大学生一枚&#xff0c;华为云享专家&#xff0c;阿里云专家博主&#xff0c;腾云先锋&#xff08;TDP&#xff09;成员&#xff0c;云曦智划项目总负责人&#xff0c;全国高等学…

Flume环境搭建

1、新建一个专门放文件的目录&#xff1a;mkdir /export/server 2、将Flume的安装包上传到/export/server目录并解压&#xff0c;重命名&#xff1a; tar -zxvf apache-flume-1.8.0-bin.tar.gz -C /export/server mv apache-flume-1.8.0-bin flume 3、修改flume-env.sh文件…

威尔士和英格兰同属英国,但为啥还要在世界杯上进行PK?

聊到威尔士VS英格兰队的比赛&#xff0c;那就不得不普及一个足球常识啊。当我们打开英国的地图&#xff0c;你会发现有四个地区英格兰&#xff0c;苏格兰&#xff0c;威尔士和北爱尔兰都是属于英国的。我们还会常常看到英格兰&#xff0c;苏格兰&#xff0c;威尔士和北爱尔兰四…

FPGA控制W5500完成UDP环回测试

FPGA控制W5500完成UDP环回测试&#xff11; 前言&#xff12; 前期准备&#xff13; &#xff37;5500寄存器描述4 &#xff37;5500 环回测试4.1 W5500初始化4.1.1 通用寄存器初始化4.1.2 socket寄存器初始化4.2 W5500数据接收4.3 W5500数据发送4.4 数据环回5 总结&#x…

Android: SimpleAdapter+GridView 简单图片展示

1&#xff1a;原理解析&#xff1a; 一个xml放总布局&#xff0c;一个xml放适配器要加载的模板&#xff08;我喜欢这样理解&#xff09;&#xff1b; java中写适配事件&#xff1b; 2&#xff1a;目录&#xff1a; 3&#xff1a;主布局&#xff1a;最重要的是要放一个GridView …

ByteX-shrink_r源码解析

背景 为什么要对R文件内联处理&#xff1f; 这里首先说一下Android R文件的产生&#xff0c;对于Android开发者我们都知道&#xff0c;当我们要使用要使用一些布局文件&#xff0c;drawable等其他资源时&#xff0c;可以直接用 R.id. R.drawble.等直接使用&#xff0c;而这个…