APP下载

物联网中基于Wifi和Android平台的温度监测系统的开发

2015-05-30潘晔

中国市场 2015年11期

潘晔

[摘 要]在通信、互联网、传感器等技术的推动下,能够实现人与人、人与机器、人与物以及物与物之间直接沟通的全新网络架构——“物联网”正在普及。本文旨在构建一种“智慧物体”(Things of Intelligence,TOI)模型,它是物联网中的主体元素,这种TOI不仅具有智能的传感器及无线通信模块,而且结构简单、便捷连入互联网中。串口无线技术(Uart-Wifi)是实现此模型的关键技术,此技术的应用,在“物”与“互联网”之间搭建了经济、便捷的桥梁,实现了“物”与“互联网”间信息发送和共享,同时对“物”即时监测与控制。本文以Android系统下的智能终端监测物体或其周围环境的温度为例,研究以串口无线技术为通信手段的“智慧物体”模型,开发此模型下如何应用智能设备(手机等)对其软硬件进行监测与控制的技术和方法。

[关键词]串口无线;安卓应用;智慧物体;Socket

[DOI]10.13939/j.cnki.zgsc.2015.11.037

物联网作为新兴的物品信息网络,其应用领域很广,其中,对于物品温度及周围环境温度的监测与控制最为广泛,包括农业大棚测温、弹药库测温、高炉水循环测温、机房温度管理、物品冷藏仓库及其流通等方面。在这些测温的系统中要求集中管理、实时管理,实现管理的网络化和智能化,但存在测温物体本身的限制、地理环境的限制、网络环境限制及开发成本等的限制,使这种智能化的推广很难向中低端应用普及。

物联网中智能设备的应用存在两大核心要素,第一是构造“智慧物体”(TOI),即具有感知能力(感知温度、湿度、压力等)和自我识别能力(标识,定位)及信息传输能力的物体;第二是易于通信的手段。因此,在设计方案、实施开发的过程中,把握智慧、互联、移动及兼容的特点,设计一种易于维护、易于融合的方案和产品便是本文本的宗旨。

1 温度监测系统的结构框

2 系统开发的软件环境及硬件要求

2.1 系统中所涉及的硬件功能及参数

2.1.1 串口无线模块(Uart-Wifi)

Uart-Wifi 是基于Uart接口的符合Wifi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈,通过Uart-Wifi模块,传统的串口设备能轻松接入无线网络。接口类型:通用串口、Uart接口、SPI接口。通过Uart/SPI直接接入单片机的IO引脚上,实现数据通信。这种无线模块嵌入物体中或环境中,使物体和环境可以直接连入网络中,进行数据通信(见下表)。体积不会超过一个火柴盒大小,价格十几元左右。

2.1.2 单片机(MCU):STC89C52RC

STC89C52RC是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率为80MHz,片内含8K Bytes的可反复擦写的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性。具有通用异步串行口(UART),单片机能通过此接口与串口无线模块连接。

2.1.3 数字温度传感器DS18B20

DS18B20数字温度传感器接线方便,封装成后可应用于多种场合。封装后的DS18B20可用于,锅炉测温,机房测温,农业大棚测温,冷藏库测温等各种场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。DS18B20在与微处理器连接时仅需要一条DQ引脚即可实现微处理器与DS18B20的双向通信。测温范围 -55℃~+125℃。

2.1.4 智能设备

安卓系统下的各种平板及手机(本系统测试用SAMSUNG I9100)。

2.2 软件开发、测试集成环境

2.2.1 单片机、无线串口、温度传感器驱动开发集成环境Keil C51

Keil C51是51系列兼容单片机C语言软件开发系统。

2.2.2 Android平台下APP开发环境

APP(应用程序,Application的缩写),Android平臺下APP开发语言是JAVA,所以使用eclipse集成开发环境,是一个开放源代码的、基于Java的可扩展开发平台。

3 温度监测系统中各单元之间的通信方式

3.1 Andriod手机与单片机的通信方式

采用基于 AP(无线访问接入点)组建的基础无线网络,这种类型的网络的特点以AP为整个网络的中心,网络中所有的通信都通过 AP 来转发完成。将串口无线模块网络设为服务器模式,IP:192.168.2.1,端口:8000,设置串口无线模块网络SSID(无线网络名称)为“uartwif”,同时启用DHCP。手机WLAN设为串口无线网“uartwifi”,获取动态IP地址(如:192.168.2.2)。

3.2 单片机与数字温度传感器DS18B20的通信方式

图2 单片机与数字温度传感器DS18B20的通信方式

4 软件中监测、通信的算法实现

4.1 Andriod APP中通信算法

(1)通信类TcpSocket设计。网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户端和服务端的连接。本例中使用JAVA提供的Socket技术来设计一个用于通信的TcpSocket类,进行数据通信双方的连接、发送与接收。

图3 TcpSocket类的实现

(2)算法实现(见图3):

第一,通信类初始化TcpSocket(“192.168.2.1”,8000),并与单片机连接;

第二,使用sendMessage(byte[])方法发送查询数据0x02和0xFF;

第三,使用readMessage(byte[])方法接收单片机返回的温度数据。

4.2 单片机发送温度信息算法

(1)串口初始化:void Serial_Reg(u8 BaudRate)。

(2)接收串口信息(UART接收中断程序):void Serial_Interrupt()interrupt 4;if((Buf[0]==0x02)&&(Buf[1]==0xFF))//通过查询是否为0x02和0xFF来返回温湿度采集值。

(3)发送温度至串口缓冲区buf:void UART_SendData(u8 *data_buf)//串口发送数据。

4.3 单片机读取数字温度传感器算法

Void ReadData(void),功能描述: 温度读取子程序。

5 物联网中“智慧物体”模型的建立

在上述对物联网中物体环境温度监测的系统设计中会发现,此类应用中存在几个要素:第一,感知模块(传感器);第二,通信模块(Uart-Wifi);第三,数据处理模块(单片机MCU)。只要将三者有机集成在一起,嵌入到物体中,就成为网络中的“智慧物体”。TOI通过传感器实时采集自身及环境的各种属性,在MCU协调控制下进行数据的处理,并利用通信模块将信息发布到互联网中,实现信息的分析、共享、监控(见图4)。

图4 “智慧物体”模型

6 结 论

系统中的传感器选择了数字温度传感器,如果将其换为其他传感器,如湿度、压力、气体等传感器,则可以设计出更多的监测控制系统,同时集成流行的APP应用,通过Wifi方式快速、简单地接入Internet,并充分利用当今互联网的先进技术与手段,彻底地将被感知物体融入到人们的互联网生活中,与网中的人一样平等,这样互联网的主体对象不断增加、应用范围不断扩大,那时物联网即是互联网,互联网即是物联网。