基于物联网技术的智能家居系统(毕业设计论文)(8)

2019-03-28 16:57

梁力源:基于物联网技术的智能家居系统

nbyte = write(fd,buffer,Length);

接受数据:

char buffer[1024]; int Len=1024;

int readbyte= read(fd,buff,Len);

4.1.2 通过串口发送短信

前面已经简单介绍过TC35模块,TC35模块有40个引脚,通过一个ZIF(ZeroInsertionForce,零阻力插座)连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。在开发中我们用的是GSM集成模块,模块把我们需要使用的引脚都接了出来,开发时只有提供电源和接上MAX232电路即可。由于开发板上输出的电平是TTL电平,TC35模块输入输出的是RS232电平,因而开发时需要自己外接MAX232电路进行电平转换。让TC35工作的过程主要是通过开发板的串口给TC35发送AT指令以及处理开发板返回的AT指令。

通过GSM短信模块发送短信主要有两种格式:英文短信和中文PDU短信。下面是发送英文短信的收发过程。 发:AT 收:OK

发:AT+CMGF=1 //选择发送短信的格式 收:OK

发:AT+CMGS=15215029882 //要发送的手机号 收:>

发:data→ //test 为发送内容,→为发送符(ctrl+z,十六进制0x1A) 收:+CMGS: 54 OK

知道了GSM英文短信的发送过程,只要把握好顺序用nbyte = write(fd,buffer,Length);即可实现发送英文短信的功能。本设计中,用发送短信主要是为了实现家电远程监视的功能,当用户发送检测家电的请求时,系统通过发送英文短信向用户反馈家电的工作状态,从而达到检测家电的功能。要控制家电,首先系统要识别是什么用户向系统发送了消息,而且系统还要识别受到消息的内容,从而对家电进行控制。系统首先保存用户的电话号码,当用户收到消息时,首先判断是否是智能家居系统对家电发送了消息,如果是系统的主人发送的控制命令,系统接着对短信进行解析,最后控制器对家电进行控制。若智能家居系统收到其他用户的短信请求,将不会对短信进行解析,也不会对短信进行监控。GSM短信模块远程监控家电过程如图

28

//与AT35握手

2013届计算机科学与技术专业毕业设计(论文)

4.3所示:

开始N判断是否收到短信NY是否是系统主人发送的消息Y解析短信向用户发送家电此时的工作状态

图4.3 GSM短信模块的程序流程图

把台灯打开把台灯关闭把风扇打开把风扇关闭控制器的串口和连接GSM模块的max232串口相连接,当GSM模块收到信息后马上向开发板返回AT指令信息,因而系统一直在检测是否收到短信,

4.2 温度采集模块的实现

DS18B20温度传感器提供9位到12位(二进制)温度读数,指示器件的温度信息经过单线接口送入DS18B20或从DS18B2O送出,从主机CPU到DS18B20仅需一条线(共地),DS18B20可选择两种供电方式,一是数据总线供电方式,可节省一根导线,但测量温度时间较长;二是外部供电方式,DS18B2O工作电源由VDD引脚接入,I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,这样虽多用一根导线,但测量速度较快,同时总线可以挂接多个DS18B20传感器,组成多点测温系统,为了实现及时多点采集温度,本设计选用了外部供电的方式。

DS18B20的测量范围从-55摄氏度到+125摄氏度,增量值为0.5摄氏度,可在1s(典型值)内把温度变换成数字,每一个DS18B20在出厂时已给定了唯一的序号,多个DS18B20可以存放在同一条单线总线上,实现多路温度采集。DS18B20的序号值存放

29

梁力源:基于物联网技术的智能家居系统

在DSl8B20内部的ROM(只读存贮器)中,多路测量时需用DS18B20的ROM搜索命令对所有单线总线上的传感器进行搜索,然后初始化各DS18B20并发送跳过ROM命令和RAM温度转换命令,单线上各DS18B20完成温度转换后,即可定位某一个DS18B20,并用匹配ROM命令和RAM温度读取命令读取其数字温度值。ROM和RAM存储器操作命令分别如表4.1和表4.2所示:

表4.1 ROM存储器操作命令

ROM 指令 Read ROM Match Skip ROM Search ROM Alarm ROM RAM 指令 代码 33H 55H CCH F0H ECH 指令功能 读取DS18B20的64位器件序列号 总线控制在单线上定位一只特定的DS18B20 总线控制器不需发送器件序列号就可对存储器操作 识别单线总线上各单线器件的序列号 对温度超过报警上、下限的器件做出警告搜索响应 表4.2 RAM存储器操作命令

代码 4EH BEH 48H 指令功能 写入数据到储存器字节2,3和字节4 读暂存存储器 将暂存器中TH,TL和配置寄存器内容复杂到E2PROM 启动DS18B20温度转换 将E2PROM中TH,TL和配置寄存器内容回写到暂存器 读电源 Write Scratchpad Read Scratchpad Copy Scratchpad Convert Temperature 44H Recall EPROM Read Power supply B8H B4H 数字温度传感器DS18B20将模拟温度信号直接转换为数字信号,然后通过串行通信的方式输出。因此,温度采集的关键是DS18B20的通信协议,为了确保数据转换与传输的完整性,DS18B20器件必须采用严格的通信协议与处理器S3C2440进行数据通信DS18B20数据通信协议包括传感器的初始化,数据执行ROM操作命令和存储器操作命令等。初始化协议定义复位和存在脉冲时序,数据执行协议定义处理器读0读1时序和写0写1时序,所有的命令和数据以字节发送,并且低位在前,高位在后,DS18B20数据通信时序图如图4.4所示:

30

2013届计算机科学与技术专业毕业设计(论文)

图4.4 DS18B20数据通信时序图

处理器将单线总线DQ从逻辑高电平拉为逻辑低电平时,启动一个写时序,所有的写时序必须在60μs~12μs内完成,并且两个连续的写时序之间至少需要1μs的恢复时间,在写“0”整个时序期间,总线一直保持为逻辑低电平,而在写“1”时序期间,处理器先将单线总线拉为逻辑低电平,在时序开始后15μs内将总线释放,写“0”与写“1”时序如图4.5所示:

图 4.5 写“0”与写“1”时序图

DS18B20温度采集程序设计流程图如图4.6所示:

设置匹配ROM命令调用写函数循环调用写字节函数发送一个DS18B20的64位序列号开始初始化程序设置搜索ROM命令调用写命令程序DS18B20搜索完毕设置读寄存器命令调用写命令函数读字节函数数据读写完毕设置跳过ROM命令调用写命令函数设置温度转换命令调用写命令函数数字温度数据转换成字符串程序延迟500ms结束

图4.6 DS18B20温度采集程序设计流程图

31

梁力源:基于物联网技术的智能家居系统

数据采集过程中驱动层所编写的主要函数如下: 1:static int ds18b20_init(void);//数据初始化

2:static unsigned char write_byte(void);//向DS18B20读数据 3:static unsigned char read_byte(void);//往DS18B20写数据

4:static ssize_t ds18b20_read(struct file *file,char __user *buf,size_t count,loff_t *f_pos);//读出温度值,然后利用copy_to_user函数返回给用户层。

为便于调试,该驱动模块没有内核驱动方式配置,而是以模块方式配置,所以每次使用的时候必须通过运行insmod dr18b20.ko命令加载模块。

温度传感器在嵌入式系统中对应的设备文件为/dev/ds18b20,首先系统调用函数int fd_ds18b20=open(―/dev/ds18b20‖,O_RDWR)打开嵌入式设备中的传感器设备,打开设备失败返回-1,以后的系统函数就可以使用fd_ds18b20来对设备进行操作。关闭数字温度传感器的函数为close(fd_ds18b20)。

系统通过调用read(fd_ds18b20,&result,sizeof(result))读出温度值,保存在result中,最后显示出来。

4.3 烟雾传感器模块的实现

MQ-2气体传感器可检测多种可燃性气体,当传感器所处环境中存在可燃性气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出电压信号。根据传感器输出的电压大小判断环境中可燃性气体浓度的大小。

MQ-2气体传感器输出的是电压信号,处理器要把相应的电压值转换成对应的数值,S3C2440自带了A/D转换的功能,A/D转换芯片在嵌入式系统中对应的设备文件“/dev/adc”,首先系统调用函数int fd_adctest=open(―/dev/adc‖,O_RDWR)打开嵌入式设备中的A/D转换设备,打开设备失败返回-1,以后的系统函数就可以使用fd_adctest来对设备进行操作。关闭烟雾传感器的函数为close(fd_adctest)。下图是烟雾传感器的连接图。

图4.7 烟雾传感器接线图

32


基于物联网技术的智能家居系统(毕业设计论文)(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2011心理学考研三人行预测模拟题系列-----普通心理学部分

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: