精华内容
下载资源
问答
  • 系列文章目录 第一章ESP8266的java软件仿真测试 第二章ESP8266硬件与软件测试 第三章ESP8266客户端与Java后台服务器联调 ...第八章ESP8266、STM32、Android和JavaWeb服务器组成中级物联网自动监控系统 第九

    系列文章目录

    第一章ESP8266的java软件仿真测试
    第二章ESP8266硬件与软件测试
    第三章ESP8266客户端与Java后台服务器联调
    第四章ESP8266客户端与JavaWeb服务器联调
    第五章ESP8266客户端与JavaWeb服务器网页联调
    第六章ESP8266客户端与JavaWeb服务器网页实现数据的自动上传和下传联调
    第七章ESP8266与JavaWeb服务器组成初级物联网自动监控系统
    第八章ESP8266、STM32、Android和JavaWeb服务器组成中级物联网自动监控系统
    第九章基于STM32C8T6、ESP8266-01S、JavaWeb、JSP、Html、JavaScript、Android、服务器和客户端设计、上位机和下位机设计等技术融合的物联网智能监控系统设计与实现



    前言

    daodanjishui物联网核心原创技术之物联网监控系统的设计与实现,原创开源是我的风格,闭门造车是我的动力。


    一、基于STM32C8T6、ESP8266-01S、JavaWeb、JSP、Html、JavaScript、Android、服务器和客户端设计、上位机和下位机设计等技术融合的物联网智能监控系统设计与实现是什么?

        在上一章(第八章):ESP8266、STM32、Android和JavaWeb服务器组成中级物联网自动监控系统,该项目收到的反响不错,销量也不错,收益也不错,代码得到了广泛应用,也是自己感到欣慰的地方。该版本系统有一个缺陷就是不能控制点灯,只能进行客户端和服务器的监视作用,还有客户端和服务器报警功能,并没有实现真正意义上的“监控”。功能如下视频所示:

    ESP8266、stm32、DHT11、Android、Javaweb和Html温湿度监控系统的设计

        在这一章中(第九章),daodanjishui在上一章项目的基础上推出新的一款由Eclipse编写的开源App实现控制功能和监视功能,App没有报警功能,服务器有报警功能。如果有App报警需求请回到上一章。个人不想炒旧饭,展现的功能都是不断升级,监控系统的完善是靠功能逻辑的全方位设计和全栈编码技术的输出,加上编程界的“拿来主义”辅助,终于让这个系统升级到另一个境界。在原来的功能基础上,这次设计升级了功能,加入一个精美UI的物联网监控App 来实现监控功能,这个精美的App,代码精简,逻辑严谨,扩展能力强,读者如果阅读成功,就完全可以在我的基础上进行二次开发,代码虽然是“拿来主义”下的作品,但是加入了我自己的注释和原创代码部分,众所周知阅读别人的代码比自己写代码还困难,而我是读完别人的代码(客户端)再发力原创出新的(服务器+客户端)系统出来,难度都不是一个档次了。
         在这一期项目的特色是:(1)保留原功能(2)在上一期的项目的基础上升级了服务器源码,让服务器支持手机app的查询请求和控制功能,完成物联网系统的全部功能。(3)手机app编程使用eclipse开发环境使用传统的java语言开发的app,代码精简,功能强大,界面清爽,最适合新手学习和提高。(4)下载链接赠送详细的入门教程4个,解析了代码的设计机制和编程思路。视频功能演示如下:

    基于JavaWeb、Android的物联网智能监控系统

    项目全部运行的截图如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

        从上图可以看出汇集了:客户端STM32和ESP8266单片机和DHT11传感器、手机客户端、浏览器客户端和JavaWeb服务器组成了升级版全功能物联网自动监控系统。该系统运行流畅,具有稳定性和扩展性。延续了前几章内容,但是又在前几章内容和功能的基础上逐步深入构成了升级版的物联网监控系统。

    系统框架图如下,逻辑构建是软件系统编程的核心,只用胸有成竹才能创作成功。
    在这里插入图片描述
        整个系统很庞大,涉及的技术太多了,后期可以在考虑CSDN开播或者开群讲述源码。后期考虑加入ESP32-CAM图传上去,也就是结合我ESP32-CAM物联网照相机的技术,代码已经初步写好了,不过这样系统就复杂很多了,现在在没有变复杂之前先分享这个电路方案再说吧。一个人构建整个智能物联网监控系统的逻辑是不简单的,必须拥有所需要的全栈技术。

    二、系统软硬件设计

    1.升级设计说明

        整个系统相对于第八章的系统,变化和升级的地方就是增加一个手机客户端App的开发,同时也修改的原来服务器的代码,因为服务器要同时响应两种类型手机客户端、浏览器客户端和单片机客户端。
        App源码是参照某宝的某丁科技购买Zigbee开发板赠送的客户端修改而成的。不过是daodanjishui的朋友购买的300多大洋Zigbee开发套件卖家赠送的源码,朋友叫daodanjishui教他如何二次开发这个App,可惜了我一看卖家只给了App的源码,服务根本不给任何源码,所以这个学习资料基本打水漂了,被坑了一地!下面请看某宝某丁的App截图:
    在这里插入图片描述
        App这个App原来是用Android studio来写的,我硬着头皮改为Eclipse的版本,再重头写一个Eclipse版本的JavaWeb服务器去匹配这个App。当时用Eclipse同时编写服务器和App程序在这个炎热的夏天整整写了三天代码,笔记本发热死机了4次,凭借的是我十年的嵌入式开发经验和五年Java开发技术加四年的Android开发经验积累的自信让我能坚信自己能胜任写出这套代码。当我点击App的开灯按钮成功点亮开发板上蓝色的灯的时候,我就知道自己闭门造车实现了物联网控制的核心技术,其实网上那些所谓的开源物联网系统很多都是代码缺失或者是代码过于复杂看不懂,一些读者下载了一大堆学习资料才发现开发更艰难,资料越多不见得是好事,沉下心编程才是王道。
    为了让读者快速掌握这个系统,我裁剪了工程的代码,先分享部分功能的代码出来,让读者读懂和跑起来这个系统,后期如果想深入了解再去下载完整代码。
    App客户端修改的代码适配手机(示例):

    package com.example.mycontrol;
    
    import android.content.Context;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import java.io.BufferedReader;
    import java.io.ByteArrayOutputStream;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLEncoder;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * Created by daodanjihsui on 2022/8/25.
     */
    
    public class HttpUtil {
        private static final int TIMEOUT = 10000;// 10秒
    	private Handler handler = new Handler() {
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                String httpResult = ((String) msg.obj);
                iHttpUtil.onSuccess( msg.what, httpResult );
            }
        };
        protected IHttpUtil iHttpUtil;
    
        public interface IHttpUtil{
            void onSuccess( int type, String httpResult );
        }
    
        public void setHttpUtilInterface( IHttpUtil a ){ iHttpUtil = a; }
    
        //拼接Http请求URL
        private String getUrl( String ctrl ){
    //String urlString="http://api.cd6969.com/api/gw/domb/?did="+SharedPreferencesUtil.getUserUid()+"&key="+SharedPreferencesUtil.getUserKey();
    //这个是查询指令
    String  urlString="http://"+SharedPreferencesUtil.getUserUid()+":"+SharedPreferencesUtil.getUserKey()+"/daodanjishuiMonitor/Action?user=app"
    +"&nocache="+new Date().getTime()
    +"&ctrl=check";
            
            if ( ctrl != null && !ctrl.equals("") ){
                //urlString += "&ctrl=" + ctrl + "&t=2";
        urlString="http://"+SharedPreferencesUtil.getUserUid()+":"+SharedPreferencesUtil.getUserKey()+"/daodanjishuiMonitor/Action?user=app"
        +"&nocache="+new Date().getTime()
        +"&ctrl="+ctrl;
        System.out.println("手机发送的控制指令是:&ctrl="+ctrl);
            }
            return urlString;
        }
    
        public void getHttpData(final int type, final String ctrl ) {
            final Runnable runnable = new Runnable() {
                public void run() {
                    startThread( type, ctrl );
                    if ( type == Common.HTTP_GET_ENDDEVICE_DATA ){//满足这个条件就是手机不断连接服务器的逻辑,跳出此条件不再循环
                    	//当手机有其他操作的时候,getHttpData(type,ctrl)的type会发生改变,死循环将退出。
                        Log.i("ycc", "ycc:Thread===run99999==" + type + "###" + ctrl);
                        System.out.println("登陆信息" + type + "###" + ctrl);
                      handler.postDelayed(this, 4500);//4.5秒又重新执行一次这个线程了,对servlet小程序只能不断尝试去连接获取服务器回复,服务器不能主动回复。
                      //handler.postDelayed(this, 10000);//10秒又重新执行一次这个线程了,对servlet小程序只能不断尝试去连接获取服务器回复,服务器不能主动回复。
                    }
                }
            };
            handler.postDelayed(runnable, 0);
        }
    
        private void startThread( final int type, final String ctrl ){
            new Thread(new Runnable() {
                @Override
                public void run() {
                
                    String urlString = getUrl( ctrl );
                    String result = requestData( urlString );//第一种用get方法链接服务器的方法
    	
                    Log.i("ycc", "ycc:Thread收到服务器的响应是:" + result);
                    Message msg = Message.obtain();
                    msg.what = type;
                    msg.obj = result;
                    handler.sendMessageDelayed(msg, 0);
                }
            }).start();
        }
    
        //耗时操作,必须放在线程中执行
        private String requestData( String urlString ){
            String result = "";
            try {
                URL url = new URL(urlString);
                HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setRequestMethod("GET");// 设置请求的方式
                urlConnection.setReadTimeout(10000);// 设置超时的时间
                urlConnection.setConnectTimeout(10000);// 设置链接超时的时间
    
                if (urlConnection.getResponseCode() == 200) {
                    InputStream is = urlConnection.getInputStream();
                    ByteArrayOutputStream os = new ByteArrayOutputStream();
                    // 定义读取的长度
                    int len = 0;
                    // 定义缓冲区
                    byte buffer[] = new byte[1024];
                    // 按照缓冲区的大小,循环读取
                    while ((len = is.read(buffer)) != -1) {
                        // 根据读取的长度写入到os对象中
                        os.write(buffer, 0, len);
                    }
                    // 释放资源
                    is.close();
                    os.close();
                    // 返回字符串
                    result = new String(os.toByteArray());
                    System.out.println("获取服务器登录响应结束");
                }else System.out.println("获取服务器登录响应失败");
    
            } catch (Exception e) {
                e.printStackTrace();
            }
            return result;
        }
        
        
    	/**
    	 * 通过get方式提交参数给服务器
    	 */
    	public static String sendGetRequest(String urlPath,
    			Map<String, String> params, String encoding) throws Exception {
    
    		// 使用StringBuilder对象
    		StringBuilder sb = new StringBuilder(urlPath);
    		sb.append('?');
    
    		// 迭代Map
    		for (Map.Entry<String, String> entry : params.entrySet()) {
    			sb.append(entry.getKey()).append('=')
    					.append(URLEncoder.encode(entry.getValue(), encoding))
    					.append('&');
    		}
    		sb.deleteCharAt(sb.length() - 1);
    		// 打开链接
    		URL url = new URL(sb.toString());
    
    		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    		conn.setRequestMethod("GET");
    		conn.setRequestProperty("Content-Type", "text/xml");
    		conn.setRequestProperty("Charset", encoding);
    		conn.setConnectTimeout(TIMEOUT);
    		// 如果请求响应码是200,则表示成功
    		if (conn.getResponseCode() == 200) {
    			// 获得服务器响应的数据
    			BufferedReader in = new BufferedReader(new InputStreamReader(
    					conn.getInputStream(), encoding));
    			// 数据
    			String retData = null;
    			String responseData = "";
    			while ((retData = in.readLine()) != null) {
    				responseData += retData;
    			}
    			in.close();
    			 System.out.println("获取服务器登录响应结束");
    			return responseData;
    		}
    		System.out.println("获取服务器登录响应失败");
    		return "sendGetRequest error!";
    
    	}
        
        
        
    }
    
    

    在上面的代码可以看到收到的get请求的参数中存在“app”字符串的时候就进入手机客户端处理的逻辑。服务器会给手机客户端返回数据显示在手机app的界面上。
    所以下面的是服务器设计的部分能运行的代码:
    Action.java

    package com.daodanjishui.iot;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class Action
     */
    @WebServlet("/Action")
    public class Action extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public Action() {
            super();
            // TODO Auto-generated constructor stub
        }
    
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		         // TODO Auto-generated method stub
    		            String msg="";//回复客户端的信息
    		            String SW_status="0";//灯的状态
    	                // 解决返回中文乱码问题
    					response.setCharacterEncoding("utf-8");
    					String user = request.getParameter("user");
    					// 解决接收中文乱码问题
    					user = new String(user.getBytes("iso-8859-1"), "gb2312");
    					System.out.println("接收到的 用户名是:" + user);
    					
    					
    					String ctrl = request.getParameter("ctrl");
    					// 解决接收中文乱码问题
    					ctrl = new String(ctrl.getBytes("iso-8859-1"), "gb2312");
    					System.out.println("接收到的ctrl是:" + ctrl);	
    					
    					if(ctrl.equalsIgnoreCase("L1ON")){//如果接收到的是开灯指令
    						System.out.println("你发送了开灯指令");
    						SW_status="1";
    						msg="1408800"+SW_status+"02976000029760001297600012976000"+"gateway_online";
    					}else if(ctrl.equalsIgnoreCase("L1OFF")){//如果介绍到的是关灯指令
    						SW_status="0";
    						msg="1409900"+SW_status+"02976000029760001297600012976000"+"gateway_online";
    						System.out.println("你发送了关灯指令");
    					}else if(ctrl.equalsIgnoreCase("check")){
    						System.out.println("现在是心跳自动查询数据");
    					    msg="1216600012976000029760000297600002976000"+"gateway_online";
    					}else{
    						System.out.println("你发送的控制指令格式不对");
    						msg="0297600002976000029760000297600002976000"+"gateway_offline";
    					
    					}
    					response.getWriter().println(msg);//返回给客户端
    					
    	}
    
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    	}
    
    }
    
    

    STM32单片机和ESP826通过post请求上传环境参数的数据的代码:

    if( Read_DHT11(&DHT11_Data)==SUCCESS)
    	{
    		printf("\r\n读取DHT11成功!\r\n\r\n湿度为%d.%d %RH ,温度为 %d.%d℃ \r\n",\
    		DHT11_Data.humi_int,DHT11_Data.humi_deci,DHT11_Data.temp_int,DHT11_Data.temp_deci);
    		//printf("\r\n 湿度:%d,温度:%d \r\n" ,DHT11_Data.humi_int,DHT11_Data.temp_int);
    	  //sprintf((char*)p,"\r\n读取DHT11成功!\r\n\r\n湿度为%d.%d %RH ,温度为 %d.%d℃ \r\n",\
    		DHT11_Data.humi_int,DHT11_Data.humi_deci,DHT11_Data.temp_int,DHT11_Data.temp_deci);
    		//sprintf((char*)p,"hello,Temperature=%d.%d'C ,Humidity=%d.%d RH\r\n",DHT11_Data.temp_int,DHT11_Data.temp_deci,DHT11_Data.humi_int,DHT11_Data.humi_deci);//返回温湿度给服务器
    		//sprintf((char*)p,"GET http://192.168.253.1:8080/test_TCP/ChatServlet?action=getMessages&signname=%d.%d %RH HTTP/1.1\r\nHost:192.168.253.1:8080\r\nConnection: keep-alive\r\n\r\n",DHT11_Data.humi_int,DHT11_Data.humi_deci);//测试数据
    		
    		//sprintf((char*)p,"GET http://192.168.253.1:8080/test_TCP/ChatServlet?action=getMessages&signname=%d HTTP/1.1\r\nHost:192.168.253.1:8080\r\nConnection: keep-alive\r\n\r\n",DHT11_Data.humi_int);//测试数据	
    		sprintf((char*)p,"POST http://192.168.1.9:8080/test_TCP/ChatServlet?action=sendMessage&user=Robot1&speak=Humidity:%d.%dRH---Temperature:%d.%d'C----LED:%d HTTP/1.1\r\nHost:192.168.1.9:8080\r\nConnection: keep-alive\r\n\r\n",DHT11_Data.humi_int,DHT11_Data.humi_deci,DHT11_Data.temp_int,DHT11_Data.temp_deci,LED_DATA_IN);//测试数据
    	
    	  //sprintf((char*)p,"GET http://192.168.253.1:8080/test_TCP/ChatServlet?signname=%d HTTP/1.1\r\nHost:192.168.253.1:8080\r\nConnection: keep-alive\r\n\r\n",DHT11_Data.humi_int);//测试数据	
    		//sprintf((char*)p,"POST http://192.168.253.1:8080/test_TCP/ChatServlet?action=sendMessage&user=Robot1&speak=Humidity:%d.%dRH---Temperature:%d.%d'C HTTP/1.1\r\nHost:192.168.253.1:8080\r\nConnection: keep-alive\r\n\r\n",DHT11_Data.humi_int,DHT11_Data.humi_deci,DHT11_Data.temp_int,DHT11_Data.temp_deci);//测试数据
    	
    	}
    	else
    	{
    		printf("Read DHT11 ERROR!\r\n");
    		sprintf((char*)p,"hello,T=0 ,H=0\r\n");//返回温湿度给服务器
    	}
    		
    
    

    2.系统设计分析

    (1)技术说明:整个系统的设计设计到多种核心技术包括了:ESP8266AT指令使用、STM32库函数与ESP8266透传配网技术、JavaWeb原生态开发技术、服务器开发技术、浏览器客户端开发技术、安卓客户端开发技术、js脚本开发技术、UI开发技术、单片机与浏览器表单提交和接收技术等等。

    (2)补充说明:传感器我只用到了DHT11采集温湿度,开关只控制一盏灯。传输和控制协议参考了某丁科技的逻辑,有些读者问为什么不用Zigbee来写?其实我就是嫌弃这个Zigbee CC2530单片机运行慢、不开源、价格贵。后期出一期Zigbee物联网开发的专题也是没有问题的。

    (3) 逻辑说明:其实整个系统就是客户端与服务器的交互,首先单片机作为一个客户端与服务器链接,保持一个心跳的联系,服务器不断查询单片机的状态,当然也可以返回控制指令给单片机;然后是
    “1.升级设计说明”所描述的服务器与手机客户端的通信,服务器接收手机客户端的两种类型的请求,第一种请求手机是查询环境参数的请求,第二种请求是手机发送控制开关灯的控制请求;最后就是所有的模块功能全部整合在一起。

    3.系统逻辑设计

    查询逻辑的设计
    (1)单片机客户端发送采集的环境数据给服务器。
    (2)服务器存入单片机上传的环境数据。
    (3)手机客户端发送查询请求给服务器。
    (4)服务器返回单片机上传的数据给手机App
    (5)手机App将接收的环境数据显示在UI界面上
    如图下图所示:
    在这里插入图片描述

    控制逻辑的设计
    (1)手机客户端发送控制的数据给服务器。
    (2)服务器存入客户端上传的控制指令准备发送给单片机客户端。
    (3)服务器等待单片机客户端主动发送环境参数请求顺便把手机控制指令返回给单片机客户端。
    (4)单片机客户端接收到控制指令之后改变自己的IO口状态控制点灯或者关灯,再返回自己的IO口状态给服务器。
    (5)服务器接收单片机上传的数据再将这些数据转发给手机客户端
    (6)手机客户端收到这些数据之后更新UI,将开关灯的状态画出来。
    如图下图所示:
    在这里插入图片描述

    注意:手机接收数据和更新UI逻辑设计还是很精妙的,感兴趣的读者可以下载源码看看。系统经过长时间测试和验证,人品担保能正常运行。

    4.仿真与调试

    这部分的仿真和调试有两个版本:
    第一个版本是测试基本通信的,免费开源
    第二个版本是全部功能,收费开源,也就是视频演示的效果。
    两个版本随君选择。

    第一个版本调试与仿真
    (1)先运行Eclipse编写的javaee服务器。
    在这里插入图片描述
    (2)在上图的输入框输入测试手机app上传指令的格式,查看返回的消息。红色字体就是服务器返回的信息,打印信息就是客户端发送的消息。如下图所示(app和L1ON是控制LED1开灯的指令仿真测试):
    在这里插入图片描述
    那么关灯的如下所示(红色字体是服务器返回给客户端的,客户端会根据这些数据解析在UI界面画出所有的信息):
    在这里插入图片描述
    如果你乱输入数据,会发现设备就挂了。如下图所示:
    在这里插入图片描述

    (2)打开app,输入服务器的IP地址和端口号(注意手机和服务器必须在一个局域网)
    在这里插入图片描述

    (3)点击开灯按钮看看,app和服务器都用什么反应,呵呵这个阉割版的功能很好玩的,因为不需要硬件,单单软件操作 服务器和客户端都有反应,数据都是写死的。让新手很快上手,老手很快知道如何进行二次开发了。
    下面是手机app发送心跳数据自动查询服务器的截图
    在这里插入图片描述
    手机app的截图如下,看到环境参数和在线数据都产生了变化:
    在这里插入图片描述
    下面是触发点灯按钮之后服务器的打印(看到服务器打印L1OFF):
    在这里插入图片描述
    下面是开灯之后的app响应截图(发现开灯了并且环境参数和在线擦参数都发送了变化,非常有意思的):
    在这里插入图片描述

    第二个版本的仿真与调试详情看看视频了。功能更强悍。写了好几天的,读源码都花了几周了。
    服务器调试截图:

    在这里插入图片描述
    单片机源码截图:
    在这里插入图片描述
    串口调试助手打印单片机调试信息:
    在这里插入图片描述
    通信协议:
    在这里插入图片描述

    根据两种仿真调试的结果知道满足博文提出的需求。


    总结

        展望:后期将会推出物联网图像监控系统和图像处理,MQTT图传和MQTT远程控制,daodanjishui品牌值得信赖,精彩值得期待!

    第一个版本全部源码附上代码传送链接:https://download.csdn.net/download/niruxi0401/21495690?spm=1001.2014.3001.5503
    直接跳转到下载处

    第二个版本全部源码附上代码传送链接:https://www.cirmall.com/circuit/26550/
    直接跳转到下载处

    展开全文
  • 设计完成一个可以监测温湿度、有害气体以及非法入侵的智能家居监控系统,包括主控模块、传感器模块、显示模块、报警驱动模块等。

      word完整版可点击如下下载>>>>>>>>    

    基于单片机的智能家居环境监控系统的设计_基于单片机的智能家居环境监控系统设计与实现-硬件开发文档类资源-CSDN下载内容包括详细设计文档word版,附带开题报告和相关PPT等文档,供大家参考学习。也可在本博客主页找到基于单片机的智能家居环境监控系统设计与实现更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/u013253075/45705959

    目  录

    摘要-- I

    ABSTRACT- II

    1  引言-- 1

    1.1  研究背景及意义-- 1

    1.2  研究任务-- 1

    1.3  论文章节安排-- 2

    2  设计方案论证-- 3

    2.1  整体系统方案-- 3

    2.2  单片机的选择-- 3

    2.3  传感器的选择-- 4

    2.3.1  温湿度传感器的选择-- 4

    2.3.2  烟雾传感器的选择-- 5

    2.3.3  人体红外传感器的选择-- 6

    2.4  屏幕显示部分的选择-- 7

    3  智能家居环境监测系统的硬件设计-- 8

    3.1  主控电路模块-- 8

    3.1.1  STC89C52单片机-- 8

    3.1.2  最小系统电路-- 8

    3.2  传感器电路模块-- 9

    3.2.1  DHT11温湿度检测电路-- 9

    3.2.2  MQ-2烟雾检测电路-- 10

    3.2.3  HC-SR501人体红外检测电路-- 11

    3.3  显示电路模块-- 13

    3.4  报警驱动电路模块-- 13

    3.4.1  蜂鸣器报警电路-- 13

    3.4.2  LED指示报警电路-- 14

    3.4.3  继电器驱动电路-- 14

    3.5  按键电路模块-- 15

    3.6  整体硬件电路设计-- 15

    4  智能家居环境监测系统的软件设计-- 17

    4.1  主程序设计-- 17

    4.2  模块化程序设计-- 18

    4.2.1  数据采集模块程序设计-- 18

    4.2.2  显示模块程序设计-- 18

    4.2.3  按键及报警模块程序设计-- 19

    5  系统调试-- 21

    5.1  仿真调试-- 21

    5.2  实物调试-- 22

    6  总结与展望-- 24

    6.1  总结-- 24

    6.2  展望-- 24

    参考文献-- 25

    致谢-- 27

    附录-- 28

    摘  

    当今家居生活中面临各种环境与健康安全问题,如空气湿度过低,容易让人患上呼吸系统的疾病;CO、甲醛等有害气体危害人体健康;天燃气泄漏引起的爆炸事故频发等。人们对高品质生活环境的追求越来越强烈,所以居住环境的各种参数得到了大家的广泛重视。随着智能化与信息化的快速发展,我们可以利用现代科技对家居环境进行监测及调整,使我们的居住体验更加美好。

    本设计完成一个可以监测温湿度、有害气体以及非法入侵的智能家居监控系统,包括主控模块、传感器模块、显示模块、报警驱动模块等。

    系统的控制核心是STC89C52单片机,通过DHT11传感器来监测室内温湿度,烟雾传感器MQ-2监测有害气体烟雾浓度,HC-SR501传感器用来监测人体信号,按键电路可以设置监测数据上下限阈值及人体红外监测布防状态,当超过阈值时,蜂鸣器和LED灯声光报警,同时通过继电器驱动相应电器,实时对家居环境进行调控。此外,通过LCD1602液晶屏显示实时温湿度、烟雾浓度等信息供人们实时了解家庭环境状况,从而保证家庭生活环境的安全与舒适。

    关键词单片机  传感器  智能家居  环境监测

    ABSTRACT

    Today's home life is faced with a variety of environmental and health safety problems, such as low air humidity, easy to make people suffer from respiratory diseases;CO, formaldehyde and other harmful gases harm human health;Gas leakage caused by frequent explosion accidents.People's pursuit of high quality living environment is more and more intense, so the various parameters of living environment have been widely valued by everyone.With the rapid development of intelligence and information technology, we can use modern technology to monitor and adjust the home environment, so as to make our living experience more beautiful.

    This design completes a smart home monitoring system that can monitor temperature and humidity, harmful gases and illegal invasion, including the main control module, sensor module, display module, alarm drive module and so on.

    The control core of the system is STC89C52 microcontroller, through the DHT11 sensor to monitor indoor temperature and humidity, smoke sensor MQ-2 to monitor the concentration of harmful gas smoke, HC-SR501 sensor to monitor human signals, the key circuit can set the threshold of monitoring data and human infrared monitoring distribution state, when the threshold is exceeded,Buzzer and LED light sound and light alarm, while through the relay drive circuit corresponding electrical appliances, real-time control of the home environment.In addition, through the LCD1602 LCD display real-time temperature and humidity, smoke concentration and other information for people to understand the home environment in real time, so as to ensure the safety and comfort of the family living environment.

    Key words: MCU  sensor  smart home  environmental monitoring

    1  引言

    1.1  研究背景及意义

    在人们的日常生活中,一些潜在的环境因素会影响人们的身体健康,比如说空气湿度低的时候,气候太干,容易让人患上呼吸系统的疾病。当环境温度过高时,可能会使人中暑,出现头昏、恶心和呕吐等身体不适症状。但我们一般觉察不到这种潜在的环境变化,这时智能家居的作用就会体现出来,通过传感器技术可以检测到湿度的变化,智慧系统就会自动打开加湿器、空调等家电,来调节空气中的温湿度。

    天燃气泄漏引起爆炸的事故频发,据统计,导致天燃气爆炸事故多是因为煤气灶使用不当,或操作不当,而引起煤气泄漏,造成事故。微小的可燃有毒气体外泄,人们不易察觉,从而导致事故的发生,危害人身安全。......

    因此,由于当今家居生活中面临的各种环境与健康安全问题,人们对健康及相关因素关注意识不断增强。随着智能化与信息化的快速发展,我们可以利用现代科技对家居环境进行监测及调整,使我们的居住体验更加美好。

    1.2  研究任务

    本次设计以单片机为控制核心,通过传感器技术来采集环境参数,液晶显示器显示数据,按键调整数据阈值,超出阈值报警。主要实现以下功能:

    (1)选用合适的传感器实现家居环境的温湿度、......

    (2)通过按键设置监测数据上下限阈值及人体红外监测布防状态.......

    (3)通过LCD1602液晶屏显示温湿度、烟雾浓度、......

    (4)实现对环境参数的实时调......

    1.3  文章安排

    将从以下几个部分撰写:

    (1)引言:介绍研究的背景及意义,具体的研究任务。

    (2)设计方案论证:通过对比,选择适合本次设计的硬件。

    (3)系统的硬件设计:介绍硬件的工作原理,在本次设计中实现的功能。

    (4)系统的软件设计:介绍软件设计思路和工作流程。

    (5)调试:对硬件和软件代码进行调试。

    (6)总结与展望:总结收获和遇到的问题,并对系统功能优化进行展望。

    2  设计方案论证

    2.1  整体系统方案

    根据本系统的设计思路、设计原则及相关功能要求,同时考虑尽量降低系统的硬件成本,提高系统的适用性及降低整个系统的复杂性,最终确定系统整体设计如图2-1所示。

    图2-1  整体设计框图

    2.2  单片机的选择

    方案一:

    STM32系列芯片,如下图2-2所示,......

    图2-2  STM32系列芯片

    方案二:

    STC89C52芯片,如下图2-3所示,STC89C52是基......

    图2-3  STC89C52芯片

    从以上方案结合本次设计所需要用到的功能来看,选择STC89C52比较合适,性价比高,虽然STM32系列单片机功能强大,......

    2.3  传感器的选择

    2.3.1  温湿度传感器的选择

    方案一:

    DHT11温湿度传感器,性价比高,是目前市面上比较常用的传感器。如下图2-4所示,......

     

    图2-4  DHT11温湿度传感器

    方案二:

    AM2320温湿度传感器,如下图2-5所示,......

    图2-5  AM2320温湿度传感器

    通过对比以上两个方案,可以看出AM2320的温度......

    2.3.2  烟雾传感器的选择

    方案一:

    MQ-2型烟雾传感器属于二氧化锡(SnO₂)半导体气敏材料,如下图2-6所示......

    图2-6  MQ-2烟雾传感器

    方案二:

    MQ-7型烟雾传感器所使用的气敏材料和MQ-2相同,都是二氧化锡,器件原型如下图2-7所示......

    图2-7  MQ-7烟雾传感器

    综合考虑,MQ-7在检测CO气体方面比较突出,但不适合本次设计的要......

    2.3.3  人体红外传感器的选择

    HC-SR501人体红外传感器,可以检测到人体热量散发释放出的红外线辐射,如下图2-8所示,.....

    图2-8  HC-SR501人体红外传感器

    2.4  屏幕显示部分的选择

    方案一:

    LCD1602液晶显示器,如图2-9所示,有11个引脚可以与单片机相连,......

    图2-9  LCD1602液晶显示器

    方案二:

    LCD12864液晶显示屏,如图2-10所示,带中文字库的128X64,......

    图2-10  LCD12864液晶显示屏

    综合考虑,根据单片机引脚数量和需要显示的数据,......

    3  智能家居环境监测系统的硬件设计

    3.1  主控电路模块

    3.1.1  STC89C52单片机

    单片机俗称微型计算机,......本次设计选用的单片机是由STC公司,生产的STC89C52。

    STC89C52具有CMOS8位微控制器,......

    3.1.2  最小系统电路

    单片机最小系统电路如图3-1所示。主要包括三个部分:......

    图3-1  单片机最小系统电路

    电源:.....

    晶体振荡器电路:......

    复位电路:......

    3.2  传感器电路模块

    3.2.1  DHT11温湿度检测电路

    DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器[6]。......

    DHT11传感器内部会自带校准系数,传感器内部在对外界环境进行信息处理......

    各引脚功能说明如表3-1所示。

    表3-1  DHT11传感器引脚功能

    Pin

    名称

    功能

    1

    VDD

    供电 3~5.5VDC

    2

    DATA

    串行数据,单总线

    3

    NC

    空脚

    4

    GND

    接地,电源负极

    DHT11传感器电路如图3-2所示。

     

    图3-2  DHT11传感器电路

    DHT11传感器性能参数如表3-2所示。

    表3-2  DHT11传感器性能参数

    测量范围

    测湿精度

    测温精度

    分辨率

    封装形式

    20~90RH  0~50℃

    土5%RH

    士2°C

    8bit

    4针单列直插

    DHT11传感器电气特性如表3-3所示。

    表3-3  DHT11传感器电气特性

    参数

    条件

    Min

    typ

    max

    单位

    供电

    DC

    3

    5

    5.5

    V

    测量

    0.5

    /

    2.5

    mV

    供电电流

    平均

    0.2

    /

    1

    mA

    待机

    100

    /

    150

    uA

    采样周期

    1

    /

    /

    使用注意事项,传感器使用要放在适合的环境条件中,通常境况下温度:10~40℃ 湿度:60%RH以下。不能暴露化学物质中,还有长时间的太阳照射,......

    3.2.2  MQ-2烟雾检测电路

    MQ-2烟雾传感器,由于其构成材料的特殊性,烟雾浓度会影响电阻值的变化,输出的信号也会发生变化,利用了这个特性来检测烟雾,它适用于检测液化石油气......

    使用MQ-2传感器,还可以使用数字引脚或模拟引脚来完成此操作。只需用5V为模块供电,模块上的电源LED会发光,并且......

    MQ-2传感器引脚说明如表3-4所示。

    表3-4  MQ-2传感器引脚

    Pin

    名称

    功能

    1

    VCC

    接电源,5V工作电压

    2

    GND

    接地,电源负极

    3

    DO

    数字开关输出接口(0和1)

    4

    AO

    模拟量输出接口

    因为本次设计用到的烟雾传感器MQ-2输出模拟信号,需要A/D转换电路进行模数转换,将模拟信号转换为数字信号,方便51单片机对信号数据进行处理。......MQ-2和ADC0832电路如图3-3所示。

     

    图3-3  MQ-2和ADC0832电路

    3.2.3  HC-SR501人体红外检测电路

    人体无时无刻不在散发着热量,这些热量都是以红外线辐射的形式释放的[7],......

    电气参数如表3-5所示。

    表3-5  HC-SR501电气特性

    参数

    工作条件

    工作电压范围

    直流电压4.5-20V

    静态电流

    <50uA

    电平输出

    高3.3 V /低0V

    触发方式

    L不可重复触发/H重复触发(默认重复触发)

    延时时间

    0.5-200S(可调)可制作范围零点几秒-几十分钟

    封锁时间

    2.5S(默认)可制作范围零点几秒-几十秒

    电路板外形尺寸

    32mm*24mm

    感应角度

    <100度锥角

    工作温度

    -15-+70度

    感应透镜尺寸

    直径:23mm(默认)

    HC-SR501电路如图3-4所示。

     

    图3-4  HC-SR501电路

    注意事项,首次使用HC-SR501时,需要先等30~70秒,让传感器先适应工作的环境状态。

    3.3  显示电路模块

    LCD1602字符型液晶显示器是一种点阵模块,用于显示字母,数字和字符等。.....

    LCD模块中的字符生成器ROM已经以点矩阵形式存储了160个不同的字符[9],......

    LCD1602液晶显示器电路如图3-5所示。

    图3-5  LCD1602电路

    3.4  报警驱动电路模块

    3.4.1  蜂鸣器报警电路

    蜂鸣器的组成部分有以下几个重要组成部分......蜂鸣器报警电路原理如图3-6所示。

    图3-6  蜂鸣器报警电路

    3.4.2  LED指示报警电路

    LED是发光固体半导体,相较于传统的发光原理,......LED指示报警电路如图3-7所示。

     

    图3-7  LED指示报警电路

    3.4.3  继电器驱动电路

    单片机检测到室内的温湿度、有害气体浓度变化超出设定范围后,......继电器电路如图3-8所示。

     

    图3-8  继电器电路

    3.5  按键电路模块

    按键是一个人机交互的接口设备,人通过操控按键来控制单片机的一些引脚接口,......按键电路如图3-9所示。

     

    图3-9  按键电路

    3.6  整体硬件电路设计

    硬件模块是至关重要的一部分,是本次设计能否成功的基础,......硬件电路设计总原理图如图3-10所示。

    图3-10  整体硬件电路

    4  智能家居环境监测系统的软件设计

    本设计采用C语言编写控制程序,设计过程为:确定系统功能,画程序流程图,分模块进行程序设计。主要包括主程序、数据采集及处理程序、LCD1602显示程序、按键设定程序及报警驱动程序。

    4.1  主程序设计

    整体流程图是描述整个系统运行过程的流程图,......画出系统软件流程图如图4-1所示。

    图4-1  系统软件整体流程图

    该系统整体流程如下:系统上电,执行初始化程序,进行限制设定,......

    4.2  模块化程序设计

    4.2.1  数据采集模块程序设计

    数据采集模块是本系统的核心模块之一,数据采集模块软件流程图如图4-2所示。

    图4-2  数据采集模块软件流程图

    该模块程序设计过程如下:系统启动后,传感器首先执行初始化程序,之......

    4.2.2  显示模块程序设计

    显示模块软件流程图如图4-3所示。

    图4-3  显示模块软件流程图

    该模块程序设计过程如下:单片机首先执行LCD1602的初始化程序,.....

    4.2.3  按键及报警模块程序设计

    本系统采用四个独立按键来完成对数据上下限值和布防状态设定,.....软件设计流程图如图4-4所示。

     

    图4-4  按键及报警模块软件流程图

    该模块程序设计过程如下:系统启动后首先在LCD1602上进入限制设定界面,......

    5  系统调试

    5.1  仿真调试

    调试主要是检查自己硬件电路设计的原理图是否合理,能不能实现功能达到预期的效果,......

    程序调试部分,也是要进行分模块调试,便于找到问题所在,由易到难,......

    根据仿真调试得到系统仿真图如图5-1所示。

    图5-1  系统仿真图

    5.2  实物调试

    科学研究室内适合生活的温度范围为19-24℃,湿度范围为40%RH—50%RH,测试结果如表5-1所示,实物如图5-2所示。

    图5-2  实物展示

    表5-1  实物功能调试

    功能调试

    调试结果

    超出温度上限24报警

    完成

    超出温度下限19℃报警

    完成

    超出湿度下限40%RH报警

    完成

    超出温度上限50%RH报警

    完成

    检测到有害气体报警

    完成

    检测到人体信号报警

    完成

    数据实时显示

    完成

    数据阈值调整显示

    完成

    按键切换界面,数据调整

    完成

    LED灯和蜂鸣器声光报警

    完成

    继电器驱动

    完成

    6  总结与展望

    6.1  总结

    本设计完成了一个以STC89C52为核心的室内环境监测系统,主要包括主控电路、显示电路、按键电路、数据采集电路、报警驱动电路的软硬件设计。该系统可以实时检测室内的温湿度、有害气体浓度数据并且显示在液晶屏幕上,通过开启布防可以检测人体红外信号,此外还可以对数据值上下限值进行设定,让其在温湿度不在设定的范围内时进行声光报警,同时驱动相应电器及时采取应对措施,保障优良的家居生活环境......

    通过这次室内环境监控系统设计与制作,.......

    6.2  展望

    虽然该系统具有诸多优点,但也有不足的地方,主要是以下两点:

    (1)只能通过查看屏幕的方式知道数据,不能远程传输数据。由于该系统在远程数据方面未作设计,因此只能够通过观看显示器的方式得知数据,......

    (2)不能利用手机网络进行远程信息查看,进行远程调节数据上下限值,.......

    为方便参考,一起打包的资料如下,可在下面链接下载哦

     基于单片机的智能家居环境监控系统的设计_基于单片机的智能家居环境监控系统设计与实现-硬件开发文档类资源-CSDN下载内容包括详细设计文档word版,附带开题报告和相关PPT等文档,供大家参考学习。也可在本博客主页找到基于单片机的智能家居环境监控系统设计与实现更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/u013253075/45705959

    展开全文
  • 学校代号:10532学号:S08073017密级:公开湖南大学硕士学位论文基于linux的远程智能监控系统设计与实现学位申请人姓名:李进导师姓名及职称:王太宏教授培养单位:物理与微电子科学学院专业名称:微电子学与固体...

    学校代号:10532

    学号:S08073017

    密级:公开

    湖南大学硕士学位论文

    基于linux的远程智能监控系统

    的设计与实现

    学位申请人姓名:李进

    导师姓名及职称:王太宏教授

    培养单位:物理与微电子科学学院

    专业名称:微电子学与固体电子学

    论文提交日期:2011年4月2日

    论文答辩日期:2011年5月27日

    答辩委员会主席:曾云教授

    DesignandImplementationofRemoteIntelligentMonitoringSystem

    basedonlinux

    by

    LiJin

    B.E.(HunanUniversity)2008

    Athesissubmittedinpartialsatisfactionofthe

    Requirementsforthedegreeof

    MasterofEngineering

    in

    MicroelectronicsandSolidStateElectronics

    inthe

    GraduateSchool

    of

    HunanUniversity

    Supervisor

    ProfessorWangTaihong

    April,2011

    随着电子科学技术的发展,智能化正逐步迈入社会生活的方方面面中。智能

    监控系统将先进的internet技术,嵌入式技术,无线通讯技术,物联网技术有机地

    结合起来,在底层将相关的各种传感器设备连接在一起,并通过网络化的管理,

    满足人们对监控系统的简单化,智能化的需求。另一方面智能监控系统可很方便

    地使用在智能家居,实验室以及工厂的环境监测,安全防卫方面,具有广阔的发

    展前景。

    本文结合当前监控系统的发展状况,嵌入式以及无线传感网络技术的发展趋

    势,给出了一种成本低,实用性,可靠性较高的实现方案,文中主要完成了以下

    几个方面的工作。

    (1)方案选择论证,即根据当前各种不同监控环境的复杂性,采用无线传感

    器节点加局域网通信的方式来采集数据的方案,用户在局域网内的任何一台主机

    上就可观测到实时的采集数据状况以及视频监控图像,并可设置报警数据的限定

    值。

    (2)系统总体平台的搭建,包括嵌入式linux系统内核,boa服务器的裁剪

    和移植,根文件系统的制作,相应无线芯片驱动模块的实现,嵌入式服务器上各

    个硬件模块的选择,底层各个采集节点上硬件的设计。

    (3)总体软件的开发,主要有存放于嵌入式服务器上的动态网页代码开发,

    对采集数据的分析处理程序,各个采集节点上的上传程序,以及多点数据传输协

    议的开发与实现

    最后,通过将该系统成功地运用在本实验室的监控领域内,可以实现对检测

    数据的智能化检测,并具有很好的安防效果,达到了预期的目标。智能监控;;嵌入式技术;;boa服务器;;局域网Withthedevelopmentofelectronicscienceandtechnology,intelligenceis

    graduallyenteringallaspectsofsociallife.Intelligentmonitoringsystemcombines

    advancedinternettechnology,embeddedtechnology,wirelesscommunication

    technology,withthenetworkingtechnology,whichisassociatedwiththevarious

    sensorsatthebottomofthedevice.Throughnetworkmanagement,monitoring

    展开全文
  • 设计以STC89C52单片机为控制核心,通过HC-SR04超声波测距传感器检测使用者脸部与读物之间的距离,通过光敏电阻对光线强弱进行检测,通过按键电路对用眼距离、定时时间、光照强弱进行设置,通过LCD1602显示距离、...

      word完整版可点击如下下载>>>>>>>>   

    智能视力保护监控系统设计-硬件开发文档类资源-CSDN下载内容包括详细设计文档word版,附带开题报告和相关PPT等文档,供大家参考学习。也可在本博客主页找到更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/u013253075/40315430

     

    摘要- I

    ABSTRACT II

    1  引言- 1

    1.1  研究背景- 1

    1.2  研究现状及趋势- 1

    1.3  研究任务- 2

    2  总体方案设计- 3

    2.1  硬件设计方案- 3

    2.1.1  电源模块- 3

    2.1.2  主控模块- 4

    2.1.3  光强检测模块- 4

    2.1.4  报警提示模块- 4

    2.1.5  距离检测模块- 4

    2.1.6  显示模块- 5

    2.1.7  元件清单- 5

    3  系统硬件电路设计- 6

    3.1  主控电路- 6

    3.1.1  STC89C52简介- 6

    3.1.2  最小系统电路- 6

    3.2  电源电路- 7

    3.3  声光报警电路- 7

    3.4  按键电路- 8

    3.5  光照强度检测电路- 8

    3.6  LCD1602显示电路- 9

    3.7  超声波测距电路- 9

    3.7.1  超声波的基本特性- 10

    3.7.2  超声波的工作原理- 12

    3.7.3  超声波模块电气参数- 12

    3.8  定时报警电路- 13

    3.9  系统整体电路设计- 14

    4  系统软件设计方案- 16

    4.1  主程序设计- 16

    4.2  子程序设计- 16

    4.2.1  光强检测子程序设计- 16

    4.2.2  超声波测量子程序设计- 17

    4.2.3  定时子程序设计- 18

    5  系统电路制作与调试- 20

    5.1  电路制作- 20

    5.2  电路调试- 20

    6  成品展示- 21

    7  总结与展望- 22

    7.1  总结- 22

    7.2  展望- 22

    参考文献- 23

    致谢- 25

    附录- 26

    摘  

    我国是世界近视发病率最高的国家。据市场调查,大学生近视人数占77.95%,高中生近视人数占72.8%,初中生近视人数占53.43%,小学生近视人数占26.96%。视力下降主要受以下几个因素的影响:使用者脸部与读物之间的距离过小、学习光照太强或太弱、长时间用眼等。对此我们进行了智能视力保护监控系统的设计。通过创造健康的读写环境,避免因长期读写而导致近视、驼背等疾病的发生和发展。

    本设计以STC89C52单片机为控制核心,通过HC-SR04超声波测距传感器检测使用者脸部与读物之间的距离,通过光敏电阻对光线强弱进行检测,通过按键电路对用眼距离、定时时间、光照强弱进行设置,通过LCD1602显示距离、光照强度、时间等参数信息,可实现距离检测、光强检测、定时和报警等功能。该系统具有简单实用的特征,对使用者视力有良好的保护效果。

    关键词:STC89C52  传感器  视力保护  超声波

    ABSTRACT

    China is the highest incidence rate of myopia in the world. According to market survey, 77.95% of college students are short-sighted,72.8% of high school students are short-sighted, 53.43% of junior high school students are short-sighted, and 26.96% of primary school students are short-sighted. The visual acuity is mainly affected by the following factors: the distance between the user's face and the reading material is too small, the learning light is too strong or too weak, and the eyes are used for a long time. In this regard, we designed an intelligent vision protection monitoring system. By creating a healthy reading and writing environment, we can avoid the occurrence and development of myopia, hunchback and other diseases caused by long-term reading and writing.

    This design takes STC89C52 single chip microcomputer as the control core, detects the distance between the user's face and the reading material through hc-sr04 ultrasonic distance sensor, detects the light intensity through photosensitive resistance, sets the eye distance, timing time and light intensity through key circuit, and displays the distance, light intensity, time and other parameter information through LCD1602, which can realize the distance detection, time measurement and other functions Light intensity detection, timing and alarm functions. The system has the characteristics of simple and practical, and has a good protection effect on the user's vision.

    Keywords: STC89C52  sensor  vision protection  ultrasonic

    1  引言

    1.1  研究背景

    由于网络的快速发展,学习压力的增大等多种因素,使得青少年长期不健康用眼,超负荷用眼,导致青少年近视率急剧上升。根据国家统计局最新的一项调查显示,......

    国家有关部门对许多职业均有明确的视力要求,而一旦近视,花再多的钱医治也不可能恢复原有的视力。专家认为造成近视的最大原因是阅读和写作姿势不当......

    1.2  研究现状及趋势

    国家防近视专家指导小组于1992年成立以来,防近视产品经历了从简单到复杂、从单一到多元、从低科技到高科技的发展过程,推向市场的产品多达几百种......

    国内新疆乌鲁木齐旭之龙科技有限公司生产的“学生1.5视力保护仪”也称为坐视宝,可以提醒用户保持良好的坐姿。还有深圳市华恒电子有限公司生产的MS-3023型坐姿仪......

    国外也致力于对保护视力的研究,但是他们更侧重于对近视原因的研究。吃新鲜蔬菜和鱼可以保护视力,降低近视的发病率。”美国德克萨斯大学西南......

    研究证明,现有产品只注重视力保护的单一方面,功能尚不全面,不能从多角度保护使用者的视力。因此,研制一种......

    1.3  研究任务

    本设计以STC89C52单片机为控制核心,在此基础上实现距离检测、光强监控、定时和报警等功能,通过LCD1602显示各种参数的信息,并能在线修改各参数的初始值......

    1.当使用者脸部与读物之间的距离小于设定值(可通过按键设定)时,电路将发出声光报警;

    2.当读写环境光线太强或太弱时(可通过按键设定),电路将发出声光报警;

    3.当使用时间达到45分钟时(可通过按键设定),电路自动发出声光报警,提醒使用者注意休息;

    4.电路工作可靠,做出实物能够实现相应的......

     

    2  总体方案设计

    本文设计的智能视力保护监控系统从多个方面保护视力,以解决现有视力保护器功能过于单一的问题,系统采用STC89C52单片机作为核心控制单元,通过光敏电阻采集光信号,利用AD模数转换器把采集到的光信号转换成数字信号传输给单片机,......系统的总体设计方框图如图2-1所示。

    图2-1  系统总体方框图

    2.1  硬件设计方案

    2.1.1  电源模块

    本系统采用USB 5V做电源,给MCU和其它模块提供+5V电压。通过试验证明系统运行时,单片机和传感器的工作电压稳定,能够满足系统的要求。系统采用USB电源输出接口为系统供电,......

    2.1.2  主控模块

    本设计采用单片机STC89C52(宏晶科技公司)作为整个系统的核心控制单元,充分分析系统,其关键在于实现系统的声光报警提醒,检测来自光敏电阻的光强度信号,......

    2.1.3  光强检测模块

    光强检测模块采用光敏电阻。光敏电阻的工作原理是当有光线照射时,电阻内原处于稳定状态的电子受到激发,成为自由电子[7]。所以光照越强,产生的电子也就越多,......

    2.1.4  报警提示模块

    报警提示模块采用蜂鸣器和发光二极管。蜂鸣器和发光二极管的优点有:体积小、......

    2.1.5  距离检测模块

    距离检测模块采用超声波测距传感器,测量使用者脸部与读物之间的距离来确定坐姿。超声波测距传感器的接收端将声音信号转换为电信号,单片机内部定时器定时,利用时间差来计算距离......

    2.1.6  显示模块

    显示模块采用LCD1602液晶显示器进行显示。LCD1602由于其显示清晰,显示内容丰富,显示信息量大,使用方便,显示快速而得到了广泛的应用。对此......

    2.1.7  元件清单

    经过反复论证,元件清单如表2-1所示。

    表2-1  元件清单

    模块

    使用器件

    电源模块

    USB 5V

    光强检测模块

    光敏电阻

    显示模块

    LCD1602液晶

    主控模块

    单片机STC89C52

    报警模块

    蜂鸣器和发光二极管

    距离检测模块

    超声波传感器

    3  系统硬件电路设计

    3.1  主控电路

    3.1.1  STC89C52简介

    STC89C52是STC公司生产的一种低功耗、高性能CMOS 8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,......

    单片机STC89C52具有8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,......

    3.1.2  最小系统电路

    单片机的最小系统,主要由电源电路、复位电路、振荡电路及拓展部分组成。最小系统电路图如图3-1所示。

     

    图3-1 主控模块最小系统电路

    3.2  电源电路

    供电模块采用USB 5V做电源给传感器、单片机供电。如图3-2所示。

     

    图3-2  电源电路

    3.3  声光报警电路

    报警电路包括蜂鸣器电路和发光二极管电路两部分。蜂鸣器电路由一个蜂鸣器和一个9012型的PNP三极管组成的。蜂鸣器采用三极管驱动,当光照过强或过暗、......声光报警电路图如图3-3所示。

       

    3-3  报警电路

    3.4  按键电路

    本系统使用三个独立的按键对按键电路参数进行设置,设置超声波测距模块测量使用者脸部与......其按键电路图如图3-4所示。

    图3-4  按键电路图

    S2键:设置键,能在测距和光强功能间转换;

    S3键:暂停/继续学习键(正常显示界面)/加键(设置界面);

    S4键:开始学习键(正常显示界面)/减键(设置界面)。

    3.5  光照强度检测电路

    该电路采用光敏电阻法检测光强。当光线变强或变暗时,光敏电阻的电阻值发生变化,电压也就会随着发生变化。经过AD转换器把采集到的光信号转换成数字信号传输给单片机,......光照强度检测电路如图3-5所示。

     

    图3-5  光照强度检测电路

    3.6  LCD1602显示电路

    显示模块采用LCD1602液晶显示,它可以显示两行,每行为16个字符。可以显示数字、字母等信息,显示内容丰富。LCD1602是一个16引脚的液晶显示屏,.......其实物图如图3-7所示。

    图3-6  LCD1602显示电路

    图3-7  LCD1602实物图

    3.7  超声波测距电路

    本设计测距模块采用HC-SR04超声波测距模块,该模块可提供 10cm-100cm......

    基本工作原理:

    1.采用 IO 口 TRIG 触发测距,给予至少 1......

    2.模块自动发送 8 个40kHz的方波,......

    3.有信号返回,通过 IO 口 ECHO 输出一个高电平,......

    图3-8  超声波模块实物图             图3-9  超声波测距电路图

    3.7.1  超声波的基本特性

    超声波是弹性介质中产生频率大于20kHz的一种机械振动,它可分为横向振动和纵向振动。超声波能通过固体、气体和液体传播,但速度却不一样。它具有折射和反射,......

    超声波的基本特性如下所述:

    1.波长

    波速等于频率乘以波长。在3×108毫秒的范围内,电磁波传播速度缓慢,而......

    2.反射

    为了探测物体的存在,超声波可以反射到物体上。因为金属、木材、......

    3.温度效应

    声波传播的速度“C”可用下列公式表示。C=331.5+0.607t(M/s),其中t=温度(℃),声传播速度随环境温度变化而变化。因此,必须经常检查物体周围的温度才能准确测量物体之间的距离,......

    4.衰减

    超声波在空气中的传播强度随着距离的增加成正比地减小,这是由于地球表面衍射所致的扩散损失和能量被介质吸收引起的吸收损失所致。从图3-10可以看出,超声频率越高,......

    图3-10  声音信号强度在不同距离下的衰减特性

    3.7.2  超声波的工作原理

    通常的超声波传感器大多为开放式的,其内部结构如图3-11所示,所述底座上可以灵活地固定复合式振动器。该复合式振动器是由谐振器以及一个金属片和一个压电......

    当电压作用于压电陶瓷上时,随着电压和频率的变化,压电陶瓷会发生机械变形。而电荷是由于压电陶瓷的振动而产生的。根据这个原理,当一个振......

    图3-11  超声波传感器内部结构图

    向某一方向发射超声波的超声波发射器,在发射时刻的同时开始计时,在空气中传播的超声波,在途中遇到障碍物就立即返回,超声波接收器接收到反射波后会立即停止计时。......如图3-12所示:

    图3-12  测距原理图

    3.7.3  超声波模块电气参数

    超声波模块电气参数如表3-1所示。

    表3-1  超声波模块电气参数

    电气参数

    HC-SR04超声波模块

    工作电压

    DC 5 V

    工作电流

    40kHz

    工作频率

    15mA

    最远射程

    4m

    最近射程

    2cm

    测量角度

    15度

    输入触发信号

    10uS 的 TTL 脉冲

    输出回响信号

    输出 TTL 电平信号,与射程成比例

    规格尺寸

    45*20*15mm

    3.8  时报警电路

    报警电路分为单片机定时电路和报警器发声电路。定时电路在设计中主要用来对学生已经学习时间进行计时,由STC89C52自带的定时器/计数器实现上述功能。......

    在单片机STC89C52中,有两个可编程的计数器/定时器来满足对外部脉冲进行计数,......工作模式具体如表3-2所示。

     

    表3-2  定时器模式寄存器M0/M1工作模式

    M1

    M0

    工作模式

    0

    0

    0

    0

    1

    1

    1

    0

    2

    1

    1

    3

    当定时器/计数器在定时模式下工作时,计数器的加1信号由振荡器的12分频信号产生(即每个机器周期),计数器将会加1,直到计数满为止。显而易见,系统的振荡频率与计时器的计时时间有关系。因为一个机器周期等于12个振荡周期,计数频率为1/12osc。......

    3.9  系统整体电路设计

    系统整体电路图包括:电源电路、按键电路、单片机主控电路、超声波测距电路、LCD1602显示电路、声光报警电路等。整机电路原理图如图3-13所示。......

    图3-13  整机电路原理图

    4  系统软件设计方案

    4.1  主程序设计

    本系统主程序包括光强检测子程序、定时子程序、报警子程序、超声波子程序。先确定主程序,再根据各个硬件电路的功能来设计子程序,并将其最终嵌入主程序中。由于子程序模块与硬件电路一一对应,因此其编程结构非常简单、明了,调试起来十分方便。本系统软件设计方框图如图4-1所示。

    图4-1  系统软件设计方框图

    4.2  子程序设计

    4.2.1  光强检测子程序设计

    如图4-2所示为系统的光强检测子程序流程图。首先对单片机进行初始化,然后进行光强检测,通过ADC0832模数转换器,将光敏电阻得到的模拟信号,......

    图4-2  光强检测子程序流程图

    4.2.2  超声波测量子程序设计

    如图4-3所示为系统坐姿检测超声波测量子程序流程图。当按下开始键时,对系统进行初始化处理。通过超声波HC-SR04输出的脉冲信号对距离进行判断,当使用者脸部与读物之间的距离小于设定值时,就会发出声光报警。

    图4-3  超声波测距子程序流程图

    4.2.3  定时子程序设计

    首先进行单片机初始化,开启定时器计时,定时主要依据单片机内部的编程来实现,......使用者休息。如果没有超出45分钟,系统会返回继续判断。定时子程序流程图如图4-4所示。

    图4-4  定时器子程序流程图

    5  系统电路制作与调试

    5.1  电路制作

    1.检查元器件的质量

    根据电路图购买符合要求的元器件,首先仔细检查所购元器件的质量的好坏及数量是否正确,然后按各元器件的检测方法进行逐个检测。而且要认真核对原理图是否一致,......

    2.放置和焊接各元件

    本设计采用万用板,确保器件没有损坏且无误后,根据示意图的位置放置元件。在放置过程中,应在万用板上先放置不易损坏和焊接要求较低的元件,......

    5.2  电路调试

    首先烧入显示程序,控制液晶显示,若显示正常,说明部分正确。然后加入超声波测距程序,以达到预期的效果。对程序进行调试时,如果部分指令使用不当,......

    首先,按下电源的开关,LCD1602液晶显示器显示当前的距离和光照强度,然后通过按键对系统进行设置,设置好使用者与读物之间的距离、最低和最高光照强度......

    6  成品展示

    实物图包含电源模块、主控模块、光强检测模块、报警提示模块、超声波测距模块和显示模块。以单片机STC89C52为核心,通过按键设置学习时间、用眼距离、......实物如图6-1所示。

    图6-1  实物图

    7  总结与展望

    7.1  总结

    本次毕业设计是基于STC89C52单片机的智能视力保护监控系统的设计,完成了系统硬件电路的设计、系统软件电路的设计,绘制了整体电路原理图,经过调试,基本达到了设计目标。......

    7.2  展望

    因为时间原因,该设计仍存在许多不足之处需要解决。比如:声光报警可改为语音提示;视力保护监控系统可以通过Wi-Fi与手机APP进行连接,便于家长的监督。随着科技的飞速发展,......

    为方便参考,一起打包的资料如下,可在下面链接下载哦

     

    下载地址如下:

    智能视力保护监控系统设计-硬件开发文档类资源-CSDN下载内容包括详细设计文档word版,附带开题报告和相关PPT等文档,供大家参考学习。也可在本博客主页找到更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/u013253075/40315430 该资料仅供参考,不得用于商业及学术研究。

    展开全文
  • 本文以提高安防系统的智能化水平为目标,设计和实现了一款Linux平台下的安全防范监控系统. 本安防监控系统在现阶段实现的功能主要包括人体识别,主人认证,紧急按钮以及系统主动报警.其中,人体识别用于检测室内是否有...
  • 摘要:本课题以一个实际项目为背景,通过对"老挝南立水电站计算机监控系统"项目的设计与开发,对一些关键问题给出解决方案.该电站属于老挝大型电站,对老挝电网的稳定有着直接的影响,因此,如何保证电站的安全,稳定运行...
  • 智能家居系统通过整合计算机技术,嵌入式技术,传感器技术,网络通信技术以及自动控制技术,集中或远程监控家庭事务,集安防控制,照明控制,多媒体娱乐,网络连接等功能于一体,满足信息时代人们高品质的生活追求.智能家居...
  • 小区智能系统设计设计原则及功能需求点击次数:311, 时间:2020-11-16某小区智能系统设计方案概述1 智能系统设计原则某某小区智能系统设计的原则是: 遵照国标 GB/T50314-2000《智能建筑设计标准》中的甲级...
  • 现阶段,智能家居系统的应用还仅仅只是存在于高端群体中,其主要原因还是由于智能家居系统的性价比,为实现智能家居市场的有效扩展,开发和研制出一种针对低端用户及大众化的小型智能家居系统就显得尤为必要。...
  • 计算机监控系统设计

    2021-07-18 01:27:51
    摘要:文章针对中小型自来水厂监控系统的现状和存在的问题,从中小型水厂计算机监控系统的实际控制要求出发,对监控系统的网络结构进行了构建。关键词:水厂;监控系统;软件依靠现代技术手段对生产过程进行控制和管理...
  • 智能家居系统模型设计2.0

    千次阅读 2021-06-11 15:17:30
    智能家居系统模型设计引言实现的功能硬件选型主控模块无线通信模块数据采集模块温湿度监测空气质量监测光照监测数据展示模块家具模拟模块云平台选择代码编写主函数结果展示实物图与手机界面展示云平台数据可视化界面...
  • word完整版可点击如下下载>>>>>>>> 基于单片机的智能鱼缸控制系统设计-嵌入式文档类资源-CSDN下载内容包括详细设计文档word版,附带PPT等文档,供大家参考学习。也可在本博客单片机设计专栏直接查看更多下载资源、...
  • 作为中国石油行业的龙头企业,中国石油在其十二五规划中,明确提出了把油气生产物联网作为油田生产中的数据采集管理系统,随着中石油十二五计划的全面启动,越来越多的油田都在对油井的监控系统进行全面的升级并网到...
  • 采用ANSIC语言编制控制程序,同时以最小二乘法对机组模拟量进行滤波,并基于帧驱动器以及OPC Server实现了PCC控制系统同外部智能设备及上位机的通信,组成了一个较先进的适用于中小型水电站的开放式监控系统。...
  • 摘要:随着电子技术的发展和无线局域网的演进,越来越多的嵌入式...本文正是在上述背景和需求下,设计并实现了一种将嵌入式控制技术、WiFi无线网络技术、Internet技术和Android技术相结合的智能家居远程监控系统。提出...
  • 摘要:传统的家庭监控系统存在无法远程控制,布线复杂,...在此基础上,本文设计了一种以嵌入式平台为基础的家庭智能控制中心,配合android应用程序作为远程移动控制端的智能家庭监控系统.智能家庭监控系统由三部分构成...
  • 基于单片机的智能插座控制系统设计-嵌入式文档类资源-CSDN下载内容包括详细设计文档word版,附带开题报告和相关PPT等文档,供大家参考学习。也可在本博客主页找到更多下载资源、学习资料请访问CSDN下载频道....
  • 【毕业设计推荐】基于SpringBoot的社区疫情防控系统设计与实现 【毕业设计推荐】基于SpringBoot的社区疫情防控系统设计与实现 设计背景 随着2019年末冠状病毒在中国武汉的首次爆发,疫情愈演愈烈,全国各地相继...
  • 基于物联网技术的智能家居控制系统设计方案随着人们生活水平的提高和科技的发展,家庭智能化已成为一种必然趋势而深入千家万户。家庭智能化即智能化家居(Smart Home),亦称数字家园(Digital Family)、家庭自动化(Home ...
  • 基于单片机的家庭智能监控系统 大家可用于 课程设计 或 毕业设计 技术解答 毕设帮助:<Q>746876041 2 主要器件 红外传感器-7m ESP32-CAM USB到TTL串行转换器5V 主控MCU(可选) 2.1 ESP32-CAM 模块 模块包含...
  • 摘要:电力系统日趋网络化,智能化使得庞大的电网系统面临巨大的网络安全压力,而网络安全威胁事件总是从电网终端节点开始蔓延,所以必须对终端服务器,工作站等具体设备做好监测管理.但从不同终端节点采集到的原始感知...
  • 背景前端监控一般包括三方面:异常监控、性能监控(First Meaningful Paint、First Contentful Paint等性能指标监控)及行为数据监控(PV、UV、页面停...
  • 实验室监控系统设计

    2021-08-11 06:41:55
    我们经常讲实验室设计,实验室规划等,这些大家都还容能理解,但是实验室监控系统,这种听起来很高科技,感觉很虚的东西又如何才能理解呢?今天我们就带大家进入实验室监控系统的知识领域,一起学习探索实验室监控...
  • 智能家居是以住宅为平台,兼备建筑、网络通讯、讯息家电、设备自动化,集系统、结构、服务、管理为一体的高效、舒适、安全、便利、环保的居住环境。 智能家居是在家庭产品自动化,智能化的基础上,通过网络按拟人化...
  • 温湿度智能监控系统

    2021-06-13 16:37:10
    一、需求分析在大型的生产车间、广场、仓库等环境监测传感器的应用日益增大,尤其是温度和湿度两个数据的监测最为典型,随之而来的就是对检测数据的显示及统一的监控系统的产生。然而,目前的温湿度监控管理方法还...
  • 普通的网络视频监控系统常常受限于两个条件:编码率和传输率。编码率决定了图像的质量,为了达到好的图像视频效果,就得采取较小的编码率,这样就会产生较大的数据量,在如今的网络中传输起来显得异常艰难。新一代视频...
  • 摘要:机场助航灯是保障...迄今为止,世界上绝大部分机场的助航灯光控制系统均采用可控硅移相调压式恒流调光器。本文所研究的调光器另辟蹊径,采用先进的智能功率模块(IPM)取代以往的可控硅作为功率变换器件,采用AC-D...
  • PPT内容这是H3C园区智能视频监控系统ppt,包括了视频监控的发展趋势,H3C对视频监控的理解,园区视频监控需求分析,园区监控解决方案等内容,欢迎点击下载。安防IT化 监控大联网一个典型的传统模数结合视频监控系统...
  • 摘要:本文尝试从概念和逻辑上推导了基于用户角色的数据库智能监控系统的可能应用场景。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 94,797
精华内容 37,918
关键字:

智能监控系统设计