基于MATLAB的温度报警,基于Matlab的小型温度检测系统设计

原标题:基于Matlab的小型温度检测系统设计

1 前言

温度是表征环境的一个重要的参数。在工程领域,尤其像工程热力学等,温度检测非常普遍,对温度精确测量以便实时控制也显得尤为重要。

在控制系统中,上位机与下位机之间实现通信的方法和应用平台很多。目前,以VB和VC开发的通信软件较多,然而,这类软件虽然功能完善,但是到计算机后要进行各种处理(例如滤波,系统辨识,曲线拟合等)就显得不方便,编程比较复杂。Matlab具有强大的数据处理能力及功能丰富的工具箱,被广泛的应用于信号处理、自动控制等领域[1]。它编程语言简单易学,利用简单的命令就可以代替复杂的代码,极大地提高了开发效率。

本实验基于Matlab环境下设计了一个小型温度检测系统,下位机使用AT89S和完成温度数据采集,上位机在Matlab环境下,调用设备控制箱serial类操作RS-232串口,用串行通信方式交换数据,进而借助Matlab对数据进行分析和处理,得到了温度随时间变化的函数解析式,同时介绍了基于Matlab环境下PC机与串行通信的实时数据处理的实现方法。

2 系统总体设计

7d0650d06f3116e01e09c58f2e3a26e1.png

图1 系统结构图

温度检测系统的整体结构如图1所示。PC机串口与单片机USART口通过MAX232电平转换芯片相连,构成一个主从式通信系统。系统工作时,单片机对串口和DS18B20初始化,在读取温度的同时等待中断。PC机通过调用Matlab设备控制工具箱中的serial类及相关函数来创建对象,并以读写文件的方式实现对PC机串行口的访问,PC机通过Matlab向串行口发送特殊指令从而触发单片机,单片机调用中断服务例程,读取即使温度并将采集的数据通过串行口回送给PC机。此时,Matlab通过查询的方式,实时接收单片机发送的数据,并完成对数据的分析处理及图形显示。

3 下位机部分

下位机部分由AT89S51单片机和DS18B20温度构成,主要负责温度数据的采集工作,并

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
教程使用MATLAB搭建一个家庭监控系统视频温湿度报警-国外开放IP Camera在线访问地址.txt 系统背景:监控家里是否有陌生人闯入,家里的设备是否工作正常(北方的会员可能知道,如果家里的暖气是自供的话,冬天千万不能关暖气,否则水管容易爆裂)。所以打算自己DIY一个家庭监控系统,全部使用MATLAB自带的函数功能。使用MATLAB GUIDE设计一个操作界面,使用MATLAB图像采集/处理/机器人视觉工具箱来检测物体。 需要的硬件: 1:家里有网络(一般使用无线摄像头、无线摄像头一般有网线接口); 2:一台运行windows的电脑(能连上家里的网络即可,我用的是05年买的一个台式机,现在看来已经很落后了); 3:一个无线IP Camera(会员@梦之缘工作坊给我推荐EasyN IPCam的F系列和H3系列,因为他们提供SDK。 我现在使用的是从淘宝上购买的凯聪1018,但是他们不提供SDK,摄像头的很多功能都不方便调用。所以打算放弃凯聪,选购EasyN的IP摄像头。如果大家有好的推荐,也欢迎跟帖。硬件必须要选对); 4:一个USB温度计、湿度计(我也是在taobao上购买的,还在邮寄中,一般可以把环境温度录入Excel文件)。 希望实现的功能: (1)        无线摄像头能够检测到移动物体,系统能自动给我发邮件,并且附上当前的照片。 (2)        USB温度检测室内温度,当温度低于15°时候,能够发邮件给我,提醒我是否忘记开暖气。当温度高于40°时候,也能够提醒我,很可能着火了。 (3)        USB湿度计检测室内湿度,如果发现湿度很大,是否表示水龙头没有关好,或者提醒我打开空调的除湿功能。 你是否有这个疑问? 一般IP Camera厂商都提供完善的物体检测、发邮件报警等功能,那有必要还要自己开发么? 我的经验是这样的,自己开发是可以实现一些自定义的功能,比如说加上一些特定的图像算法、扩展应用(邮件报警只是一个使用,是否可以实现与其他硬件的协作)等。 我计划把我的实现过程记录下来,而不是只是呈现一个最终的系统界面给大家。我每天添加一些类容,公布一些进展,并且上传不同阶段的程序。这样做的好处是可以把整个系统分散开来,不同会员可以根据自己的需要摘取系统里的一些功能。跟我以前给的教程类似,我一般只是给一个大体的可以工作的框架,希望感兴趣的会员能完善整个系统的功能。 所有开发都基于MATLAB R2012a, 需要用到的MATLAB工具箱(不断添加中): MATLAB MATLAB图像处理工具箱 MATLAB图像采集工具箱 ======================== 2012年7月22日 ======================== 实现功能: 1:搭建一个基础的GUI框架; 2:实现MATLAB读取IP摄像头: 修改了urlwrite函数,改成urlwrite_basicauth。原因是一般IP camera需要用户名和密码,而现有的imread不能提供用户名和密码。修改了MATLAB图像工具箱里自带的imread函数,改成imread_auth,使之调用urlwrite_basicauth。使用MATLAB的timer功能,不间断读取图像,用户可以在GUI上修改帧率。 常见问题: 用户名和密码怎么修改? 答:在urlwrite_basicauth.m,搜索urlConnection.setRequestProperty;复制代码其中的aWxvdmVtYXRsYWI6MTIzNDU2是加密后的用户名和密码。 压缩包里,有一个get_code.php文件,其中“ilovematlab:123456”对应的是用户名ilovematlab和密码123456. 根据你自己的需要,修改成自己的用户名和密码。然后运行此php文件,返回值就是加密的用户名和密码。 程序打包下载: Home Security System 12-07-22.zip 使用MATLAB搭建一个家庭监控系统(视频 温湿度 报警MATLAB 视频监控系统.png 使用MATLAB搭建一个家庭监控系统(视频 温湿度 报警MATLAB读取IP Camera.png ======================== 2012年8月05日 ======================== 更新: 用户可以自定义采集图像的URL地址,用户可以根据自己自定义的IP地
菜鸟提问基于MATLAB的防盗报警系统的有关问题-voice.m 话不多说,之前有人做出视频防盗系统,详见此贴。 原来的一个版本:视频监控,有东西经过监控区域就报警: 贴子如下: https://www.ilovematlab.cn/thread-133835-1-1.html 后来又有人加上了声音报警系统。声音过大就会报警。 详见此贴 声音监控,有东西发出声音就进行报警 https://www.ilovematlab.cn/thread-133881-1-1.html 。。 然后就是我们有个大作业,我想到的是将两者结合在一起,在视频监控的同时,如果声音过大就进行报警,然后拍照(要是能把照片发到邮箱就好了)。 以下是我的修改,但是一直报错。希望有人能帮忙修改下实现上面的功能。 代码贴出: function intruderdetecting2 % 运动参数阈值 motionThreshold = 200;         %  0 ~ 255 secondsToRecord = 10; % 声音参数阈值 soundThreshold = 0.1;         % 0.0 ~ 1.0 %声音麦克风 ai = analoginput; addchannel; set; set; set; samplesToRecord = ceil; set; set; set; set; %启动摄像头 a = imaqhwinfo; [camera_name, camera_id, format] = getCameraInfo; vid = videoinput; set; set; triggerconfig; start; trigger; try     wait; catch     stop; end %启动函数,时间函数 set; set; set; %创建figure fig = figure('DoubleBuffer','on', ...     'Name', 'Intruder Detection', ...     'NumberTitle', 'off', ...     'WindowStyle', 'docked', ...     'Toolbar', 'none', ...     'MenuBar', 'none', ...     'Color',[.1 .1 .1], ...     'CloseRequestFcn', @figureCloseFcn, ...     'DeleteFcn', @figureDeleteFcn); %对界面初始化 timePrevious = []; start; imagePrevious = []; start; %视频的启动函数     function videoStartFcn             imagePrevious = getsnapshot;     end %声音启动函数     function soundStartFcn             timePrevious = now;     end %视频时间函数         function videoTimerFcn         try             imageCurrent = getsnapshot;             timeCurrent = now;         catch             % getsnapshot can fail if object is deleted while we are waiting.             return;         end samplesRequested = ceil * *... ai.SampleRate); warning; try sound = peekdata; catch sound = zeros); end warning; sound = sound - mean); % Center about the mean. soundMax = max)); % Calculate max deviation from mean. timePrevious = timeCurrent; % Make our figure current. figOld = get; %if fig ~= figOld %set; %end %plot;         imageDifference = abs;         imageMax = max);         imagePrevious = imageCurrent;         figOld = get;         if fig ~= figOld             set;         end         image;         label = datestr;         xlabel;         set;         if imageMax > motionThreshold             motion = true;         else             motion = false;         end         if ~islogging             % 如果有东西闯入,进行响应             if motion                 % 将figure变红                 set;                 % 将闯入者的视频发送到你的邮箱                 str=['SB.jpg'];                 imwrite; %保存拍下来的图像                 customIntruderAction();             else                 set;             end;         end     if ~islogging    % if noise       customIntruderAction();%有人闯入时发进行报警         if fig ~= figOld             set;         end    % end     end    %function customIntruderAction()      % [y,fs]=wavread;      % sound; end     function figureCloseFcn         %关闭视频和声音         try             stop;             stop;         catch         end         closereq;     end     function figureDeleteFcn         delete;         delete;     end end 纯M文件编程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值