编辑: 被控制998 2015-01-22
第12讲 温度检测语音图示系统1.

需求分析;

2.系统设计;

3.系统功能分析与设计;

1.1 系统需求分析 本系统模拟将一个单片机的工业型高温炉温度检测仪所测量到的温度数据,通过串口传送到计算机,存入数据库,通过语音系统读出当前的温度,并显示出实时的温度曲线

图表.

1 系统分析与设计 1.2 系统设计 1) 温度数据库 从串口读取的温度数据值,将被保存在数据库中;

数据库表中至少有检测时间、检测温度等字段.2) 程序读取来自串口的数据 从温控仪器所传输的温度数据,通过串口由程序直接读取;

程序读取后将其保存在温度数据库表中.

1 系统分析与设计 1.2 系统设计 3) 程序实现语音自动服务 程序在接受到串口数据的同时,通过语音自动服务系统,把温度数据值播放出来.4) 温度数据实时显示 程序在接受串口数据的同时,把温度数据值绘制城曲线图,以直观地表现温度地变化情况.

1 系统分析与设计 1.2 系统设计 "温度检测语音图示系统"的系统结构图示如下:

1 系统分析与设计 2.1 串口接受数据 串口接受数据是本系统的核心部分,通过串口连接,读取温控仪传来的温度数据以备查询和处理.首先要检测系统的通信端口并申请一个作为接受数据的端口,同时要对相关的传输参数进行设置.

2 功能分析与设计 2.2 数据库操作 通过串口接受数据并存储在数据库表中,以备后续的查询和处理.下面分别是利用Microsoft Office Access和SQL Server数据库进行数据处理的相关代码:

2 功能分析与设计 2.2 数据库操作 1)Microsoft Office Access数据库Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Con=DriverManager.getConnection("jdbc:odbc:数据源","User","Pwd");

Stmt=Con.createStatement();

2 功能分析与设计 2.2 数据库操作 2)SQL Server数据库Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

conn=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://ip:port;

DatabaseName","User","Pwd");

Statement stmt=conn.createStatement();

rs=stmt.executeQuery(sql);

2 功能分析与设计 2.3 语音服务系统 ?语音服务系统是在串口接受到数据后,利用系统的语音功能将接受到的数据自动读出.在本系统中,将使用Java的语音功能来实现发音系统.利用JDK自带的rt.jar包文件中的AudioStream.class、AudioPlayer.class类来实现.

2 功能分析与设计 2.4 图形显示 ?程序在接受串口数据的同时,把温度数据值绘制成曲线图,可以直观地表现温度的变化情况.在本系统中通过paint()方法绘制曲线.

2 功能分析与设计 2.4 图形显示 g.setColor(Color.yellow);

//黄色为横格线 g.drawLine(20,260-n*20,580,260-n*20);

//绘制横格线 g.setColor(Color.blue);

//蓝色为坐标系 g.drawLine(20,20,20,280);

//纵坐标 g.drawLine(20,280,580,280);

//横坐标 g.drawString(String.valueOf((n+1)*10),5,265-n*20);

2 功能分析与设计 2.4 图形显示 drawStringpublic abstract void drawString(String str, int x, int y)使用此图形上下文的当前字体和颜色绘制由指定 string 给定的文本.最左侧字符的基线位于此图形上下文坐标系的 (x, y) 位置处. 参数:str - 要绘制的 string;

x - x 坐标;

y - y 坐标.

2 功能分析与设计 2.4 图形显示

2 功能分析与设计 图2 绘制坐标系和横格线 动态数据曲线图形显示设计

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题