哪个网站做h5比较好看,企业信息化系统包括哪些内容,一键logo生成器在线,云南网站建设及优化引言 随着网络和通信技术的发展#xff0c;嵌入式系统现已进入高速发展阶段。并在社会各个领域得到了广泛的应用。本文介绍了一种采用ARMuCLinux作为开发平台。实现基于TCP#xff0f;IP的远程系统监控#xff0e;从而取代传统单片机来实现数据采集、预处理和通信功能嵌入式系统现已进入高速发展阶段。并在社会各个领域得到了广泛的应用。本文介绍了一种采用ARMuCLinux作为开发平台。实现基于TCPIP的远程系统监控从而取代传统单片机来实现数据采集、预处理和通信功能并依靠互联网将数据向上位机传送同时支持远端客户对设备进行远程控制从而实现远程监控功能的具体方法。1 系统平台的构建本系统由嵌入式平台服务器、前端控制器、前端传感器、客户端和配置PC组成。开发时可通过配置PC来下载系统和应用软件。嵌入式系统平台能够收集现场数据。并传送到远端客户机之后由远端客户机对数据进行处理接着发送控制信号给系统服务器以便通过前端控制器对设备进行远程控制。其系统结构如图1所示。11 硬件开发平台 该系统的硬件开发平台可选择SmartARM2200。该嵌入式设备的核心是ARM7TDMI的LPC2210开发板自身具有AD转换器和多个GPIO(通用IO)口可对工业现场的各种设备、仪表进行数据采集和监控。使用时只要将相应的传感器信号接入控制器的端口即可。其开发板系统的硬件配置如图2所示。12 uCLinux操作系统操作系统是嵌入式设备软件的核心部分。本系统采用uCLinux系统平台来完成对硬件系统的管理和维护。uCLinux是广泛应用于微控制领域的一种嵌入式Linux操作系统。它通过对标准Linux内核的裁减可去除虚拟内存管理部分代码以对内存分配进行优化。从而达到提高系统运行效率的目的。uCLinux则可经过各方面的小型化改造形成一个高度优化、代码紧凑的嵌入式Linux它保留了Linux的大多数优点包括稳定、良好的移植性、优秀的网络功能、完备的文件系统支持、丰富的API等。13 uCLinux在ARM平台上的移植若将uCLinux移植到SmartARM2200上需要进行以下四个步骤(1)下载源码建立交叉编译环境uCLinux是自由软件(完全开放代码)。用户可以直接从httpwwwuclinuxorgpubuclinux处下载源代码并安装到Red Hat90系统下以便正常在Red Hat90建立起交叉编译环境。(2)配置和编译内核进入到安装好的uCLinux目录依次执行下面的命令make menuconfig进入配置菜单后选择VendorProduct(厂商产品)下的PHILIPSlpc2200用Kernel Version(内核版本)选择Linux-24xLibc Version(函数库版本)选择uClibc其余内核和应用程序选项可根据情况选择。make depmake cleanmake lib_onlymake user_onlymake romfsmake imagemake编译结束后会在uCLinux安装目录下生成romfsimg文件利用它可以制作RAM Disk然后在linux-24X目录下生成elf格式的Linux内核文件并以下列方式将其转换成bin格式#arm-elf-objcopy-O binary linux linuxbin从而生成下载用的uCLinux内核镜像文件linuxbin。(3)制作Ram Disk挂栽根文件系统首先创建一个512 kB的虚拟磁盘并将虚拟磁盘文件格式转化成ext2格式dd ifdevzero ofinitrdimg bs1024 count512mkfsext2-c initimg然后将initimg和romfsimg加载到主机文件系统上并在RAM中建立需要的目录bindevetcvar进而拷贝ROM中的文件到ram目录中。下来在RAM盘dev目录下创建设备节点#mknod ramdevttyS0 c 4 64#mknod ramdevconsole c 5 1最后卸载initimg和romfsimg并应确保initimg修改已保存至此RAM DISK便创建完成。(4)下载内核和文件系统正确设置主板启动选择跳线。主板加电后在超级终端上便可以看到BootLoader引导信息可选择默认的FTP连接并使用BootLoader默认的IP进行下载然后启动gftp输入主板默认的IP和端口号。这样linux主机就可以和主机连接最后选择需要下载的Linux内核文件和RAM盘及相关的配置文件即可。2 监控系统功能的实现监控系统主要由3个部分组成数据采集部分设备控制部分数据传输部分。数据采集部分可对传感器信号进行AD转换并对采集到的数据进行简单的处理同时提供调整运行参数的接口。数据传输部分可将采集的数据传送到远端的主机并接收远端主机的控制信息。远端主机则对传输过来的远程数据进行处理、存储和显示并可以修改数据采集部分的参数以控制数据采集同时依据采集到的数据对设备发出操作指令或对远端的设备进行控制从而实现远程监控功能。21 数据采集使用AD转换设备前首先要创建设备节点并加载ADC驱动然后通过open()和close()将其打开和关闭主要的数据采集程序如下……ioctl(fdADC_SET_CLKDIV(Fpclkfadc1)/fadc-1)设置AD转换速度ioctl(fdADC_SET_BITS10)设置AD转换精度while(1) {ad_data0read(fdad_datasizeof(ad_data))读取A/D转换的值……22 GPIO设备控制同AD转换设备类似使用GPIO也需先创建设备节点并加载驱动。对GPIO操作前应通过open()打开使用后应通过close()关闭。首先。选定开发板上没有使用过的GPIO端口设定其输入输入状态然后根据客户端返回的信息对端口进行操作输出01的电平以使其外部连接的继电器动作。从而控制设备的运转。程序主要通过函数ioctl来实现。ioctl是设备驱动程序中对设备的IO通道进行管理的函数通过它可对设备的一些特性进行控制其函数原形为int ioctl(int fdind cmd…)其中fd是用程序打开设备时使用open函数返回的文件标示符cmd是用户程序对设备的控制命令至于后面的省略号则是一些补充参数(一般最多一个有或没有是和cmd的意义相关的)。在这里可通过如下一组函数来实现ioctl(fd1GPIO_SET_PIN_INdevicel)设置管角为输出状态ioctl( fd2 GPIO_SET_PIN_OUT devicel_state)设置管角为输入状态ioctl(fd2,GPIO_READ_PIN,devicel_state)读取设备状态管角ioctl(fd1GPIO_CLR_PIN,device)清除设备管角控制信号23 网络通信程序网络通信程序可使用TCPIP协议下标准的socket套接字编写。套接字(socket)是网络通信的基本操作单元。它提供了不同主机间进程双向通信的端点。这些进程在通信前应各自建立一个socket并通过对socket的读写操作实现网络通信功能。常用的套接字有两种流式套接字(Stream Socket)和数据报套接字(Datagram Socket)。其中流式套接字是可靠的面向连接的通信数据流是无错误的传输而数据报套接字则使用UDP来传送数据包数据包的顺序是没有保障的。本系统采用流式套接字进行程序设计。 流式套接字的服务进程和客户进程建立连接及通信的程序流程如图3所示。现具体说明如下(1)服务进程首先调用socket()创建一个流式套接字并调用bind()将服务器地址捆扎在该套接字上接着调用listen()监听连接请求随后调用accept()做好与客户进程建立连接的准备。无连接请求时服务进程被阻塞(2)客户进程先调用socket()创建流式套接字然后调用connect()向服务进程发出连接请求(3)当连接请求到来后服务进程被唤醒并生成一个新的流式套接字。同时用新套接字同客户进程的套接字建立连接而服务进程最早生成的套接字则继续用于监听网络上的服务请求(4)服务进程和客户进程通过调用send()和recv()来交换数据服务器可向客户端传送所收集的数据。客户端则向服务器反馈控制信息和参数调整信息(5)服务进程或客户进程可通过调用close()来撤消套接字并中断连接。服务器端的程序通过交叉编译环境编译后。可通过NFS(网络文件系统)下载到开发板中然后手动加入到rc引导文件中。即可实现开机自动运行。3 结束语基于ARM和CLinux嵌入式系统代表了目前嵌入式系统的发展方向。嵌入式系统与网络技术和控制技术相结合是嵌入式系统发展的必然趋势。本文讨论了基于ARMuCLinux平台的网络控制系统设计与实现方法。并对该平台下应用TCPIP协议进行网络通信进行了探讨。该方法对于自动化楼宇、工业控制、智能家居等方面都有一定的借鉴意义。