基于WiFi无线网络的嵌入式打印终端的设计

发布者:huanran最新更新时间:2011-02-18 来源: 电子产品世界关键字:WiFi  Linux  mini2440 手机看文章 扫描二维码
随时随地手机看文章
  目前,国内外大多数打印终端是以固定设备的方式为用户提供数据录入和打印服务,设备投资较大,并存在安装、使用不方便等缺陷。嵌入式无线打印终端可以很好地克服以上的缺点,它融入了无线网络的新技术,可以通过扫描仪、键盘和打印机来输入输出数据,同时通过WiFi无线网络,与远程服务器的数据库进行数据交互,能满足超市的收银系统、图书馆的借还书系统、火车站的售票系统等系统的基本功能的需求;同时随着打印终端运用的越来越广泛,它也会为流动性比较强的应用场合提供方便,例如节假日期间,在旅游区、火车站、电影院等增加临时售票点、在营业厅和各种消费场所的移动打印查询终端以及在仓库配送管理中的应用等等。

  嵌入式打印终端的系统架构

  无线移动打印系统的架构图如图1所示,本系统采用C/S结构,PC机作为远程服务器,嵌入式打印终端作为客户端。嵌入式打印终端以S3C2440A处理器为核心,选用Linux操作系统,外接触摸屏,同时有良好的人机界面,它负责接收输入设备(扫描仪和键盘)的数据,并通过无线局域网与远程服务器完成数据的查询与交互,并将结果从打印机输出;远程服务器用于存放大型数据库,并通过无线网络接收无线移动打印终端发来的数据,完成数据的查询、更新、发送工作。

  系统硬件

  嵌入式打印终端硬件结构图如图2所示。该平台选用S3C2240A为处理器,它功能引脚丰富,包含了3个串口引脚,同时集成了丰富的外设控制寄存器,包括LCD控制器、USB设备寄存器等等,以方便外设的扩展。嵌入式打印终端的外设按照作用分类,主要分为两大模块:功能模块和系统调试与升级模块,功能模块主要是实现嵌入式打印终端的查询和打印功能,系统调试和升级模块主要方便系统的调试和以后系统的升级。

  功能模块主要包含扫描仪、打印机、扩展键盘、WiFi无线设备、7英寸的触摸屏显示器和128M Nandflash。S3C2440A有三个串口,通常情况下,串口0用作整个系统的控制终端,我们选用串口1连接带RS-232串口的扫描仪,选用串口2连接带RS-232串口的微型打印机;扩展键盘,由GPIO引脚扩展而成,包含基本的数字键和确认键,主要是在扫描仪失效或者条形码不能扫描的时候使用;WiFi无线网卡一般为USB口,目前最流行、性价比最高的是TP-Link USB WiFi无线网卡,我们可以将WiFi无线网卡插在电路板的USB Host接口上;7英寸的触摸屏显示器主要用于显示,也可以通过触摸屏进行一部分选择和确认操作;128M Nandflash用于存储Linux操作系统和文件系统。

  系统调试与升级模块主要由一个串行接口、一个RJ45的网络接口、一个USB接口组成,串口作为整个系统的控制终端,显示调试信息;RJ45网络接口可以运用NFS服务,进行在线系统调试;USB接口可以下载更新的程序,也可以对Nandflash的程序进行拷贝与备份。

  系统软件

  Linux驱动程序

  嵌入式打印终端外接了输入输出设备,所以要编写输入设备和输出设备的驱动。编写设备驱动就是为具体硬件的file-operations结构编写各个函数(包括open、read、write、ioctl等),Linux内核中驱动程序种类齐全,我们可以在同类型驱动的基础上进行修改以符合具体的单板。

  嵌入式打印终端与服务器之间的网络通信,主要是无线网卡与服务器端的无线路由之间的通信。Linux内核驱动丰富,包含了多种型号的USB无线网卡驱动,用户可以选择合适无线网卡型号。本嵌入式打印终端系统中采用Linux-2.6.32.2内核。为了加载无线网卡驱动,我们在内核所在的目录运行make menuconfig,进入内核的配置主菜单。进行如下选择:networking support→wireless→Generic IEEE 802.11 Networking Stack(mac80211),这样就选择了无线网卡的协议类型,然后退回到内核配置主菜单,选择device drivers,通过device drivers-->netword device support-->wireless LAN,选择Wireless LAN(IEEE 802.11)子项,并进入就可以看到已经配置了以芯片厂商为分类方式的常见的各种USB无线网卡类型,我们可以选择我们需要的USB无线网卡类型。我们重新编译内核,然后下载到程序存储芯片中重启,就可以在启动信息中看到无线网卡已被识别。通过正确配置无线网卡,就可以实现无线网卡与无线路由的无线连接了,连接信息如图3所示。如果无线路由连接网络,嵌入式打印终端通过无线网卡连接上网,那么它发挥作用的空间也就更大。

  服务器网络通信的实现

  服务器网络通信主要是实现对打印终端发出的信号进行侦听,如果打印终端有连接信号发出,则与之连接,然后按照终端的要求实现数据接收、查询以及发送,具体步骤如下。

  (1)建立socket。分三步进行:首先,要定义服务器的端口和最大连接数;其次,填充服务器的IP地址和端口号;最后,建立一个TCPsocket,如下所示:

  server=socket(AF_INET,SOCK_

  STREAM,0);//定义为局域网,

  套接字为流格式

  if(server==INVALID_SOCKET)

  //需要错误检查

  {

  printf(create server error!\n’);

  exit(1);

  }

  (2)绑定IP,即绑定服务器的IP地址和端口号,以便接收打印终端的连接要求。

  (3)监听打印终端的请求。如果打印终端无连接,则进入等待状态,即无限循环状态,如果有连接,则建立连接并执行accept。

(4)收发数据。收发数据也分为三个步骤,首先,接收打印终端发来的数据;然后,服务器根据接收的数据的关键字,在数据库中进行查询;最后将数据库中查询的结果发送到打印终端。

  打印终端网络通信

  打印终端应用程序的主要功能是:将条形码扫描仪等输入设备读取的数据,经过开发板的串口接收,然

  后由无线网络传送到服务器,服务器接收并查询数据库,并将查询的结果返回到打印终端,由打印机打印出相应的结果。其中打印终端的网络部分的程序设计的具体步骤如下所示:

  (1)建立socket,并进行错误检查,失败则返回;

  (2)设定端口、连接方式、连接地址,并试图连接服务器;

  (3)等待输入设备输入数据,如果没有数据输入,则一直等待;

  (4)如果有数据输入且录入完毕,则发送给服务器;

  (5)等待服务器返回数据;

  (6)将返回的数据进行打印;

  (7)关闭socket和相应的设备文件。

 

  应用程序的开发

  服务器端采用Windows Server 2003操作系统,并安装SQL server 2005数据库软件。使用Visual C++ 6.0开发服务器端应用软件[3]。服务器端接收到终端发送的查询指令后,解析后分析所要查询的内容,并通过SQL查询,根据需要查询的关键字搜索到相对的内容,编码后发送给相应终端。

  嵌入式无线移动打印终端采用QT4.6[4-5]开发人机界面,显示查询结果。QT是一个跨平台的C++图形界面库,它有优良的跨平台特性,运用于多种操作系统,它有良好的封装机制使得它模块化程度非常高、可重用性非常好。同时,QT还有一个轻量级的跨平台集成开发环境Qt Creator,可以让首次接触QT开发框架的开发人员能迅速上手和操作,嵌入式无线打印终端人机界面在qvfb下的效果图如图4所示。

  结语

  与PC机无线打印终端相比,基于WiFi无线网络的嵌入式移动打印终端具有明显的优点,它价格便宜、功耗低、传输速度快、体积小、移动方便;选用Linux作为嵌入式操作系统,其设备驱动或新文件系统模块化,用户可根据需要动态加载,这样有利于支持新设备、新功能,方便系统的升级。

 
关键字:WiFi  Linux  mini2440 引用地址:基于WiFi无线网络的嵌入式打印终端的设计

上一篇:世界移动通信大会 手机钱包受关注
下一篇:玩转ZigBee的捷径:选“模块”还是“芯片”?

推荐阅读最新更新时间:2024-05-07 16:15

达芬奇数字媒体片上系统的架构和Linux启动过程
达芬奇( DaVinci)数字媒体技术平台TMS320DM6446/3采用了ARM+DSP双核的架构,本文从芯片的硬件结构入手介绍达芬奇DMSoC硬件部分及Linux OS的启动过程。 达芬奇DMSoC硬件概述 如图1所示,达芬奇数字媒体片上系统(DMSoC)提供:两个内核(ARM+DSP);视频处理子系统(VPSS);多种 Boot模式(NOR Flash/NAND Flash/UART0 Boot Mode);两个电源域;多个时钟树;多个引脚独立或复用的外设。 图1 DM6446功能结构框图 ● ARM-DSP集成 对于双核的达芬奇架构,大家最关心的就是两个核之间的资源分配、通信方式及如何高效地实现资源共享各尽其
[应用]
OK6410A 开发板 (八) 49 linux-5.11 OK6410A linux用户空间虚拟内存的管理 VMA
之前介绍过了 linux 虚拟内存管理方式 有5种,其中一种(名为VMA)用于 用户空间虚拟内存的管理,本篇就介绍 VMA VMA 是什么 task_struct 中的 mm_struct 中的 mmap(VMA) // mmap 的结构体类型 为 vm_area_struct 可以看出来 , VMA是一种数据结构,结构体类型为vm_area_struct,那么对应的就有算法 VMA 相关的数据结构 与 算法的集合 就是我们这篇要讨论的内容 用户空间 可访问的区域 是 0G-3G 当然不是 0-3G内的所有地址都可访问 , 可访问的地址空间 被称为 进程地址空间 只有做了内存申请的区域才可以被访问 做一次内存申请 ,
[单片机]
采用ARM芯片和LINUX嵌入式系统实现自主避障机器鱼的设计
随着科技的发展与进步,出现了具有特殊功能的智能机器,如索尼公司生产的能够以自我“意识”来“感觉”“学习”和“饲养”的宠物机器狗,以弗吉尼亚理工大学研制的CHARLI-L1机器人为基础进行升级改造的SAFFIR的消防机器人等。机器鱼作为一项比较新的产品,涉及到机器鱼的智能开发并不深,因此机器鱼的智能化程度并不高,但随着机器鱼研究的加深,相信机器鱼的智能度会大大提高,功能也会更趋完善。目前的机器鱼类型主要有遥控机器鱼和语音控制机器鱼,例如曾在德国汉诺威电子展上展现的通过机器鱼体内收缩来提供动力的遥控式机器鱼和在西南民族大学诞生的国内首个的声控机器鱼等。 据调查显示同内涉及到具有自主避障与自主视觉功能的智能机器鱼的研究与开发并不多。
[单片机]
采用ARM芯片和<font color='red'>LINUX</font>嵌入式系统实现自主避障机器鱼的设计
U-Boot-1.1.6移植到MINI2440开发板(1) —— 移植前分析
将U-Boot-1.1.6移植到MINI2440开发板上,从NAND Flash启动(不使用NOR Flash)。 需要准备的: Linux环境:Ubuntu 16.04 交叉编译工具链:arm-linux-gcc-3.4.5 U-Boot-1.1.6源码:u-boot-1.1.6.tar.bz2 S3C2440手册:S3C2440A 32-BIT CMOS MICROCONTROLLER USERS MANUAL ARM920T技术手册:ARM920T Technical Reference Manual 其它相关datasheet 参考资料:《嵌入式Linux应用开发完全手册》以及网上博客(#^.^#)。 说明:下述涉
[单片机]
基于FA526处理器SoC平台的Linux操作系统实现
引言 智原科技的FIE8100 SoC平台是一种低功耗、便携式视频相关应用开发SoC平台,也可用于基于FA526 CPU的SoC设计验证。 基于FA526的Linux软件开发套件,开发人员可将Linux一2.4.19软件环境在FIE8100平台上安装实现,并完成对平台上所有IP的驱动程序安装和对FA526的内部调试。 FA526介绍 FA526是一颗有着广泛用途的32位RISC处理器。它包括一个同步CPU内核(core)、独立的指令/数据缓存(cache)、独立的指令/数据暂存器(scratchpads)、一个写缓存(write buffer)、一个内存管理单元(memory management unit)和JT
[单片机]
基于FA526处理器SoC平台的<font color='red'>Linux</font>操作系统实现
arm-linux-gcc的安装
在X86电脑上开发的程序要在ARM系统上运行就必须使用交叉工具链arm-linux-gcc,linux系统上是没有这个工具链的,为此必须自己下载安装,安装步骤为: 1、网上下载个压缩包arm-linux-gcc,这个压缩包网上有很多,版本也有很多,我下载的是arm-linux-gcc-4.4.3-20100728.tar.gz 2、 解压arm-linux-gcc-4.4.3-20100728.tar.gz   #tar -zxvf arm-linux-gcc-4.4.3-20100728.tar.gz -C / 注意:tar命令默认解压缩文件到压缩文件所在的目录下,后面加-C和目录名表示将压缩文件压缩到指定的目录下
[单片机]
mini2440启动过程
ARM启动代码从系统上电开始接管CPU,依次需要负责初始化 CPU在各种模式下的堆栈空间、设定CPU的内存映射、对系统的各种控制寄存器做初始化、对CPU的外部存储器进行初始化、设定各外围设备的基地址、创建正确的中断向量表、为C代码执行创建ZI(零创建)区,然后进入到C代码。 在C代码中继续对时钟、RS232端口进行初始化,然后打开系统中断允许位。最后进入到应用代码中执行,执行期间响应各种不同的中断信号并调用预先设置好的中断服务程序处理这些中断。 初始化过程中模式变化过程为:管理模式-----各种特权模式(堆栈初始化阶段)----用户模式。若在系统初始化之前就触发了有效的中断,会导致系统的死机。 mini2440启动过程
[单片机]
小广播
最新网络通信文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved