基于XSCALE PXA270处理器平台和开源Linux系统搭建ARM-Linux物联网服务器。使用51单片机连接温湿度传感模块、LED灯等外围设备,使用基于XSCALE PXA270处理器的Up-Tech嵌入式实验箱为核心服务器运行平台。首先介绍了嵌入式设备的ARM-Linux系统搭建、守护程序和CGI程序之间的通信设计,然后详细介绍了Web服务器的搭建和网络程序设计所使用的iQuery类库和AJAX技术的设计实现。
物联网是互联网应用的扩展,是一种新兴的联网技术,其核心是物与物之间的信息通信交流,也是物与人之间的交互控制。物联网技术,主要是利用各种传感器设备,例如:无线技术、射频识别(RFID)技术,各类传感器等技术设备将物理世界中的各种信息,如温度、光强、位置等信息通过网络传输,达到物与物之间、物与人之间的信息交互目的。
要使人们能方便地访问物联网信息,监测和控制各类传感节点和电气设备,一个友好的用户界面是前提。基于B/S架构的解决方案以其客户端通用性成为构建系统的首选。本文将设计开发一个通用的基于ARM处理器平台和Linux嵌入式操作系统的物联网服务器,在硬件平台上,将使用基于XSCALEPXA270处理器的UPTECH嵌入式开发实验箱、51单片机及各种传感控制设备。在此嵌入式设备上使用ARM LinuX系统,在嵌入式Linux系统下搭建服务器,采用B/S架构,以BOA为WEB服务器,通过CGI通信方式实现远程的信息传递和智能交互。
1 系统体系结构
为了突出现代物联网服务器系统的低功耗、低成本、服务水平高、处理效率高的特点,服务器将运行在基于XSCALE PXA270处理器的UP—Tech嵌入式设备上,利用51单片机连接各种传感控制设备。
在 UP-Tech嵌入式设备上移植了2.6.28内核的ARM Linux操作系统。在Linux系统上面,编写一个守护程序来与51单片机通信,从而在Linux系统上与各种传感控制设备进行通信控制。在Linux 上面移植Boa WEB服务器,用来搭建用户可交互式的访问界面。使用户通过浏览器访问页面就可以实时进行查看或控制各种传感控制设备。
系统架构如图1所示。
图1 系统架构
2 物联网数据采集与处理子系统设计
2.1 基于51单片机的数据采集系统
在物联网终端设备方面,采用51单片机,通过其丰富的外扩接口和温度传感器、湿度传感器,以及LED灯等模块进行连接。在软件上采用“C语言+驱动库”的开发模式,通过这样的开发模式,不仅可以提高开发效率,还能很好地完成多个传感器的信息收集和处理。在连接ARM-Linux嵌入式平台方面,采用UART 虚拟串口与嵌入式平台进行连接通信。
本系统的基本实现功能如下:
(1)连接各个传感模块,通过输入输出接口获取传感器传递过来的信息并且记录;
(2)设置定时器,在规定的单元时间内,采集各个传感设备的信息和控制设备的状态。将他们的信息、状态合成数据包,通过虚拟串口发送;
(3)利通虚拟串口通信,时刻检测来自ARM-Linux平台发送过来的控制信号;
(4)分析串口传递过来的数据包,检测数据来源确定是否合法,然后根据特定的控制代码对单片机和各个控制模块进行控制。
2.2 基于ARM—Linux平台的数据处理系统
ARM-Linux 平台是指利用开源的Linux内核经过特定需求的裁剪后,经过交叉编译后得到一个能够运行在ARM处理器的Linux内核,同时还定制一个Linux根文件系统,整个系统容量控制在几百KB到几十MB。系统主要由三部分组成:BootLoader、ARM-Linux内核、Linux根文件系统。
在嵌入式设备上,主要的数据处理系统由守护程序实现。守护程序一方面负责接收处理单片机发送过来的信息;一方面接受WEB服务器传来的查询控制请求。
在物联网服务器端,来自客户端访问的请求,由服务器接收并检验后,将请求查询、控制指令传递给守护程序,守护程序接收到来自服务器的请求,通过验证后再向单片机发送请求查询、控制指令。
守护程序的通信过程分为两部分,第一部分为守护程序向服务端的CGI程序告知更新数据,第二部分为服务端CGI程序向守护程序发送指令控制,由守护程序监听到后执行控制程序。
技术专区
- 打造Zynq平台性价比标杆,米尔强势推出MYC-Y7Z010/007S核心板
- 一文了解stm32使用DMA模块的相关操作
- 异构多处理器产品系列在嵌入式评估板上实现
- ATxmage入门应用之时钟模块和GPIO模块的介绍
- ATmega128系统模块,设计一个数控雕刻机系统