微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PIC32的居室智能化平台的设计与实现

基于PIC32的居室智能化平台的设计与实现

时间:10-15 来源:互联网 点击:

P/IP协议栈和应用层Http协议基础上进行应用程序的设计与开发的。整个系统架构框图如图4所示,其中用户应用层的设计是本次设计的核心工作。

3.2 嵌入式服务器的设计

该平台下嵌入式服务器,主要是基于PC端浏览器和移动端APP进行设计的。因此,仅采用HTTP协议即可满足设计要求,HTTP协议是建立在TCP/IP 协议之上的应用层协议,客户端进行数据发送时会对报文进行格式化,因此只需在服务器端对报文格式进行解析,提取相应的控制信息和数据即可;返回数据时也需要将返回的内容格式化成HTTP协议报文格式,以便被客户机解析。TCP/IP连接建立过程和数据收发流程如图5所示。

首先服务器端需要进行系统初始化工作,包括打开套接字,绑定端口,建立侦听等,最后将状态转移到“接受连接请求”;TCP是面向连结的传输机制,客户端与其套接字建立连接前需要进行3次“握手”确认,才能通过建立连接的套接字进行数据的收发,数据格式均采用HTTP协议,在HTTP报文解析部分,通过编写的应用程序,将HTTP请求的参数和数据解析出来,根据实际应用将服务器端状态机进行转移,状态机主要包括通过外设获取信息,向I/O口发送控制信息,进入文件系统读取SD卡中的相应文件并将数据返回,或者将提交的数据信息写入文件或更新系统状态等。套接字连接一旦建立将会一直保持,除非客户端或服务器端主动请求断开,例如客户端直接关闭应用程序或服务器端长时间无数据请求自动断开。

3.3 数据管理软件的实现

数据管理软件部分是基于文件系统API进行设计的。文件系统提供的基础API主要包括open(),close();read(),write(),seek()等接口函数;而所需主要数据操作函数如表1所列。

数据存储文件选择普通的文本文件基本可满足要求,但考虑到数据的增删查改实际操作的需要,选择标签语言文件XML格式更便于应用程序的编写,另外当客户端进行数据加载时,通过MSXm12组件也能方便地直接加载数据。

考虑到人机交互的用户体验以及PIC32 MCU的数据处理能力,文中将众多运算处理放在了前端文件中,前端文件一旦首次加载成功,便可在客户机完成主要的人机交互操作,最终将处理后的数据通过部分提交的方式发送至服务器端,使用Ajax部分提交技术无需重载界面,提高微控制器的处理能力。另外,由于大部分人机交互的工作可放在前端通过 JavaScript脚本语言处理。因此,需提交的数据量也会大幅减小,PIC32的处理任务也会相应减少,资源利用率也有所提高,能使系统达到一个比较好的运行状态。

在表1所列出的关键函数中,file_read_line()按行读取文件内容,多用于检索数据。sys_config()实现的功能是更改指定标签后的设定值,主要用于进行系统参数配置。rc ad_config()用于读取配置信息,即读取指定标签后的设定值,多用于系统参数的实时显示和监控。modify_flag()用于修改固定格式数据条目中的指定数据,例如读取数据条目时,若该条目已被读取过,则修改条目中相应标记为已读取或修改为已被读取的次数。 rcad_next_schedule()按顺序或条件读取固定格式数据,其更多地用于管理具有时间标记的数据。

在智能居室系统多以时间为控制主线,很多数据都具有时间标记,通常需要根据时间节点进行数据操作,由于日期和时间数据的特殊性,在进行具有时间标记的数据条目的读写前,进行日期时间的计算是必须的,这在较多数据操作中均有体现。add_item()增加固定格式数据条目。del_line()按行删除数据,被调用时会先按照标记如索引ID号查找该条目,然后删除。clear_data()用于清除数据文件内容,因为用的是XML文件,所以实际进行数据清除操作时应保留文件头。run_log()用于记录系统运行日志,设备运行状态的变换都会被记录下来,这对于系统运行的监控和维护是非常必要的。通过以上基本的数据操作函数,可以完成对数据的增、删、查、改等操作,能够满足系统的设计要求。

4 系统测试

4.1 测试平台

测试平台采用Chipkit-WF32核心板与外围设备扩展板组成。Chipkit-WF32核心板集PIC32MX695F512L单片机、MRF24WG0MA WiFi模块和Micro SD卡接口于一体,配合设计的用于连接各类传感器、控制器和显示设备的外设扩展板构成居室智能化系统硬件平台。测试平台硬件实物如图6所示。

4.2 测试结果

通过系统配置的网络参数对系统平台进行登陆访问,系统参数配置以及通过传感器(温度)实时采集的信息实时更新到客户机前端,通过配置界面或者控制界面也可对系统的配置进行更改和外设模块的控制。另外实时数据也可以被记录到系统后台数据文件中,可单独或

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top