当前位置:首页 > 单片机 > 单片机
[导读]系统以PIC32单片机作为核心控制器,植入TCP/IP通信协议和文件系统,通过WiFi模块和无线网络可实时访问存储在SD卡设备文件中的系统参数和传感数据,并能进行参数的配置和数据的管理,进而实现智能家居系统的远程监控、管理和控制。系统可通过个人电脑或手机进行访问,具有较好的人机交互功能,方便易用,功能可扩展性强,且设计运行成本低。

摘要 系统以PIC32单片机作为核心控制器,植入TCP/IP通信协议和文件系统,通过WiFi模块和无线网络可实时访问存储在SD卡设备文件中的系统参数和传感数据,并能进行参数的配置和数据的管理,进而实现智能家居系统的远程监控、管理和控制。系统可通过个人电脑或手机进行访问,具有较好的人机交互功能,方便易用,功能可扩展性强,且设计运行成本低。

关键词 PIC32;智能家居;WiFi;信息管理;数据库

随着人们对智能居室系统要求的不断提高,智能化系统正向着传感节点多、数据量大、控制更加复杂的方向发展。针对具有复杂节点网络的系统来说,系统参数的配置和数据的管理显得尤为重要。通常情况下,系统会配合专用服务器及数据库实现远程控制和数据的管理。但对于小型的家居系统而言,整个系统的运行需使用专用的服务器来支撑,这通常是没必要的,由此不仅增加了系统的设计成本,还会使系统的运行成本大幅增加,造成资源的浪费。本文旨在通过架构基于PIC32微控制单元(Micro Control Unit,MCU)的嵌入式服务器来实现更加简洁实用的居室智能化系统。系统控制核心兼做数据服务处理器,大幅降低了系统的设计和运行成本,适合于中小型智能系统中的参数和数据的管理。另外,系统还可配合云端服务器进行使用,完成数据的同步等任务,更具有实际的设计价值。

1 系统组成与原理

系统核心微处理器采用Microchip公司的PIC32MX695F512L32位单片机,其内部资源丰富,具有图形接口、USB控制器、CAN模块、以太网接口、ADC模块等,最高工作主频可达80 MHz,适用于智能化系统中,不仅方便各种传感数据的采集,人机交互功能的实现,也具有一定的数据处理能力。WiFi模块选用的是该公司的 MRF24WGOMA,该模块可通过SPI接口与PIC32 MCU进行通信,通过该模块使系统接入无线网络,以达到通过网络对系统进行访问的目的。可视化动态Web交互界面主要采用 HTML,JavaScript,AjaX,jQHery和CSS网络前端设计语言来实现,并将相应Web服务端文件存储在SD卡中,核心处理器解析到网络页面或文件请求后,在SD卡中进行相应文件的查找,若文件存在,则对SD卡相应文件进行读取,并将文件数据返回,以呈现在客户端。若需要对系统进行配置或控制,则处理器通过解析相应的请求和参数,将相应的信息写入文件,或直接转化为对设备的控制信号。系统中数据的来源主要通过传感器模块进行采集,而控制器指的是居室系统中的各种受控设备的控制驱动电路。传感器和控制器根据不同的系统会做出不同的调整,本文仅选择单个节点用作测试。系统组成如图1所示。

2 硬件平台设计

2.1 WiFi模块

MRF24WGOMA是符合IEEE 802.11的低功耗2.4 GHz表面贴装模块,含有所有相关的RF元件——晶振、带集成MAC的旁路和无源偏置电路、基带、RF和功率放大器,以及支持AES和TKIP(WEP、 WPA和WPA2安全性)的内置硬件。支持802.11 b/g无线通信,最高传输速率可达54 Mbit·s-1。

模块采用从动SPI接口与微控制器连接,配合中断,休眠,复位控制接口,完成各项功能控制和数据传输,SPI接口的同步时钟频率最高可达25MHz,传输速率可达25 Mbit·s -1。典型的连接方式如图2所示。PIC32微控制器做主设备,MRF24WG0MA模块作为SPI从设备。因此SPI的同步频率有PIC32MCU控制产生。

为中断信号引脚,在WiFi模块接收到数据后,负责向主控制器发出中断处理信号以接收数据。HIBERNATE为冬眠控制引脚,主控制器可通过该引脚控制其工作模式,使其达到最佳节能效果。

MRF24WG0MA模块需要与Mierochip的TCP/IP软件协议栈配合使用。该软件协议栈集成有驱动程序,其实现的API在模块中用于命令和控制,以及管理和数据包通信。

2.2 SD卡模块

SD数据存贮卡可分为SD和SPI两种工作模式,SD模式是标准的默认模式,该模式下利用SD总线进行数据传输,位宽一般为4 bit,读写最高时钟可达50 MHz,读取速度能到达20 MByte·s-1以上,可充分发挥SD卡的性能。而SPI模式则是SD卡可选的第二种模式,该模式下利用SPI总线进行数据传输,位宽为1 bit,时钟最高只能到25 MHz,读取速度通常低于3 MByte·s-1,但该模式对硬件要求较低,可将设计花费减到最小。鉴于本次设计对SD卡的读写速率要求不高,并需要能较好地与WiFi模块通信带宽和数据的处理速度进行配合,采用SPI模式基本可满足设计要求,系统采用Miero SD Card作为数据存储器,器件引脚定义及典型SPI模式应用电路如图3所示。

3 系统软件设计

3.1 系统软件架构

系统软件部分,是在Microehip公司提供的TCP/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 测试结果

通过系统配置的网络参数对系统平台进行登陆访问,系统参数配置以及通过传感器(温度)实时采集的信息实时更新到客户机前端,通过配置界面或者控制界面也可对系统的配置进行更改和外设模块的控制。另外实时数据也可以被记录到系统后台数据文件中,可单独或批量调出,方便查看。系统的所有配置,数据详情以及控制日志等数据均进行相应存储,并可进行基本的管理。图7为通过PC端IE浏览器访问系统的部分结果。

5 结束语

采用PIC32 MCU移植TCP/IP协议和FAT32文件系统,通过WiFi网络实现的居室智能化信息平台可方便实现居室智能化系统本地数据的管理及控制,也可通过网络将数据与云端同步,并实现远程控制。大幅降低了智能控制类家居系统的设计成本和运行成本,也在一定程度上提高了系统的易用性和易维护性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

北京2024年5月13日 /美通社/ -- 5月11日,软通动力在鲲鹏昇腾开发者大会2024期间举办"软硬全栈,加速智能化赋能"分论坛。业界专家学者和优秀企业代表齐聚一堂,共同交流分享鲲鹏昇腾生态的创...

关键字: 智能化 全栈 PEN 计算机

深圳2024年4月17日 /美通社/ -- 今日,华为举办全球分析师大会,在"加速迈向网络智能化"主题论坛中,华为数据通信产品线副总裁赵志鹏发表了主题演讲,阐述了华为全面引入AI技术,从组件级、任务级...

关键字: NET 华为 智能化 网络

专注智能制造领域,为市场提供定制化智能设备解决方案 立足本土,服务全球,助力客户及行业智能化转型升级 上海2024年4月16日 /美通社/ -- 当前,制造业正加速向数字化、智能化发展,市场对先进智能制造...

关键字: 智能装备 智能制造 智能化 数字化

华润啤酒(控股)有限公司(简称“华润啤酒”)于香港联合交易所有限公司上市(股份代号:00291),为恒生指数成份股之一,专注于生产、销售及分销酒类产品。2023年,华润啤酒设立华润雪花与华润酒业两大事业部,分别负责啤酒及...

关键字: 自动化 智能化 机器人

随着信息技术的飞速发展,云计算作为一种新兴的计算模式,正在逐步改变着传统的数据处理和应用方式。云计算通过整合大量分布式计算资源,为用户提供高效、灵活、安全的数据存储和计算服务。在当前数字化、网络化、智能化的时代背景下,云...

关键字: 云计算 数据处理 智能化

在现代电子设备中,开关电源已成为不可或缺的一部分。无论是我们的手机、电脑,还是家中的电冰箱、洗衣机,甚至是工厂中的大型机械设备,背后都有开关电源默默地为它们提供稳定、高效的电能。那么,开关电源到底是干什么用的呢?本文将详...

关键字: 电子设备 开关电源 智能化

随着信息技术的飞速发展和广泛应用,物联网作为连接物理世界与数字世界的桥梁,正逐渐成为推动工业领域创新发展的重要力量。工业物联网(IIoT)作为物联网在工业领域的应用,通过实现设备、系统和服务的互联互通,为工业生产带来前所...

关键字: 物联网 工业领域 智能化

业内消息,近日新加坡 RF GaN(射频氮化镓)芯片供应商 Gallium Semiconductor(加联赛半导体)突然终止业务并解雇所有员工,包括位于荷兰奈梅亨的研发中心。

关键字: 芯片 射频 氮化镓 Gallium RF GaN

随着工业技术的不断发展,工业自动化已成为现代工业生产中的重要组成部分。工业自动化系统通过集成各种先进的技术和设备,实现了生产过程的自动化、智能化和高效化。本文将深入探讨工业自动化系统的结构,以便读者更好地了解其构成和工作...

关键字: 工业自动化 传感器 智能化

随着工业自动化技术的不断发展,工业自动化控制系统在工业生产中发挥着越来越重要的作用。工业自动化控制系统通过自动化技术实现生产过程的智能化、高效化和精细化,提高了生产效率、降低了生产成本、提升了产品质量。本文将详细探讨工业...

关键字: 工业自动化 控制系统 智能化
关闭
关闭