APP下载

基于嵌入式Linux的远程销售管理系统

2017-07-20王伟唐军

物联网技术 2017年7期
关键词:嵌入式

王伟++唐军

摘 要:针对传统营销存在的问题并结合网络营销优势,提出了一种基于嵌入式Linux的远程销售管理系统。该系统将Samsung S5PV210微控制器作为销售管理终端,控制器通过I?2S和I2C总线与音频编解码芯片WM8960进行数据交互,CMOS摄像头负责采集图像信息,系统收集的数据借助以太网或WiFi模块传送到云服务器,利用云平台数据中转,可实现音频和图像数据远程发送和接收。该系统的使用转变了营销模式,整体设计结构简单、运行稳定,用户可以实时远程视频对话销售。

关键词:嵌入式;CMOS摄像头;云服务器;远程销售

中图分类号:TP274 文献标识码:A 文章编号:2095-1302(2017)07-00-02

0 引 言

近年来,随着互联网技术的快速发展,网络营销以一种全新的方式深入大众生活的方方面面,对传统营销形成了巨大冲击。然而,由于网络营销缺少对真实物品的直接感知,加之网络广告夸大宣传,导致网络营销并不能完全取代传统营销。因此,加快转变网络营销模式,促进消费,对于国民经济增长具有重要意义。

基于嵌入式Linux的远程销售管理系统克服了原有营销模式的弊端。相对于网络销售而言,该系统不仅支持线上浏览物品信息、网上交易以及网上评价,而且通过云平台,商家可以借助系统设计的语音、摄像头模块实现与客户终端设备的信息交互,通过面对面交流,用户可以直接感知商品,促进公平交易,保障消费者利益,具有广阔的商业前景。

1 系统总体设计

基于嵌入式Linux的远程销售管理系统主要分为移动终端、云平台和嵌入式平台三部分,系统整体结构如图1所示。

云平台是系统数据中转的桥梁,负责接收来自移动终端和嵌入式平台的音频图像数据并转发到终端设备。嵌入式平台是系统的硬件核心,由WiFi模块、语音模块、摄像头模块等组成,通过相关配置,WiFi模块可以直接连接到路由器,语音模块和摄像头模块是系统数据采集单元,嵌入式平台将采集的数据通过WiFi模块发送至云服务器。移动终端设备主要针对手机等手持设备,通过云平台提供应用程序编程接口,可以方便地开发Android平台应用程序。

2 系统硬件设计

2.1 控制器模块

远程销售管理系统嵌入式平台选用高性能Samsung S5PV210微处理器作为核心控制器,此模块具有丰富的接口资源,拥有150个通用I/O接口、6路ADC、3路I2C等。此外,芯片内部集成高性能图像处理引擎,可支持硬件解码多种格式1080P高清视频。不仅如此,S5PV210还支持多类型音频接口,通过I2S外接WM8960音频编解码芯片,实现音视频同步输出[1]。

基于S5PV210处理器在图像、音频等方面的性能优势,将其作为销售管理系统终端控制器。

2.2 LCD显示模块

LCD显示模块也是本系统研究的重点。LCD显示模块主要用于可视对讲、来电提醒,此外,LCD还用于信息输入等功能,用户借助LCD可以上传数据,查看当前销售状态、客户访问量、客户评价等信息,是用户与客户交换信息的媒介。

LCD主要分为TN型、STN型、TFT型,该系统运行嵌入式Linux,要求支持触屏控制,所以选用LCD-S70液晶显示模块。该模块亮度高、视角广,支持音视频混播,同步控制VS、HS引脚高低电平,可以切换LCD数据使能模式和同步模式[2],图像和控制信号经S5PV210控制器写入LCD寄存器,从而控制图像数据显示。

2.3 CMOS摄像头模块

图像采集模块选用一种基于图像传感器的CMOS摄像头,图像通过镜头折射到传感芯片表面转化为模拟电信号,经过模数转换器转换为数字信号,后经DSP芯片处理后,输出数字图像[3]。

OV7670是一种价格低、采集图像速度快、支持FIFO缓存器的CMOS摄像头。该模块具有8位数据并行输出接口,所有的寄存器只能通过SCCB接口设置,支持不掉电和掉电两种节电模式。当MCU读取速度无法匹配摄像头采集图像速度时,可以将数据暂存于缓存中。模块与控制器连接如图2所示。

2.4 音频编解码模块

系统在视频对话中为减少音频数据占用的系统存储空间,采用WM8960音频编解码芯片将音频数据进行编解。

该芯片内部集成有专用的麦克风接口和耳机驱动器,同时具有信噪比为98 dB的数模转换器和信噪比为95 dB的模数转换器。WM8960与控制器S5PV210通过I2S和I2C总线进行数据交互[4],如图3所示。原始的音频信号经芯片模数转换器转换为数字信号,经I2S总线传输到控制器,通过控制器中转把音频数据存储到内存单元。当需要播放音频时,控制器从内存取出数据,经I2S总线将数据传输给WM8960芯片,通过数模转换器将数字化音频信号还原为模拟信号。其中,I2C总线主要负责传输控制信号。

3 系统软件设计

3.1 嵌入式Linux系统开发

嵌入式Linux开发主要包括三部分,即嵌入式Linux系统移植、驱动程序开发、应用程序开发。

3.1.1 嵌入式Linux系统移植

该嵌入式开发基于Fedora 9.0平台,在Linux系統移植之前,首先使用arm-linux-gcc-4.5.1工具建立交叉编译环境,解压安装后运行arm-linux-gcc -v命令检查是否安装成功。其次,编写内核引导加载程序Bootloader,通过引导加载程序初始化设备,建立内存空间关系映射[5]。上述工作完成后,进行下一步配置和编译内核,本实验采用Linux-3.0.8版本内核,执行make命令进行编译,生成zImage内核文件。最后,用mkyaffs2image-mlc2工具制作适用于MLC NAND Flash文件的系统映象[6],制作完成后,移植嵌入式Linux系统。其整体流程如图 4所示。

3.1.2 嵌入式Linux驱动程序开发

该系统驱动开发包括LCD驱动、网络驱动、音频驱动和摄像头驱动等。Linux系统为外显设备提供了标准帧缓存接口,帧缓存最重要的数据结构体为fb_info,灵活修改VAR和FIX两个参数是开发的关键;网络驱动开发分为四层,主要编写函数完善设备驱动功能层及填充net_device结构体[7];音频驱动采用OSS驱动,首先需要注册混音器和数字信号处理器,混音器接口实现文件系统的打开和I/O控制,数字信号处理器接口主要完成文件读写操作;CMOS摄像头属于字符类设备,驱动开发需要三步,即初始化设备、配置相关寄存器和控制数据传送,同时必须考虑并发控制。

3.1.3 嵌入式Linux应用程序开发

嵌入式Linux应用程序开发针对用户实现与云平台的数据交互,本系统基于Qt开发应用程序界面,使用designer工具设计系统图形界面。首先以ui文件名作为参数输入命令启动designer创建基于QWidget的窗体,修改窗口大小以适应LCD液晶显示,然后在窗体放置基本控件,改变控件属性,并为控件添加事件响应[8]。界面设计完成后开始编写代码,主要编写程序入口函数、窗口头文件、窗口源文件以及项目文件等。程序编译时生成PC端应用程序,再使用交叉编译工具生成嵌入式Linux应用程序,最后借助Photoshop等图像软件生成48×48像素PNG文件为程序添加图标。

3.2 Android应用程序开发

Android平台App开发主要针对客户端,通过App访问云数据库,同时实现与云平台音视频数据交互。应用程序开发前,需要搭建开发环境,下载安装JDK和SDK,配置环境变量。配置完成后,打开Eclipse安装ADT。Android应用程序开发首先应建立xml布局文件,放置基本控件,然后开发Java应用程序文件,借助云平台提供的API接口可以很容易地实现手机与云平台数据交互。

4 结 语

基于嵌入式Linux的远程销售管理系统在設计上将嵌入式技术、云技术以及安卓开发技术应用在销售管理行业,改变了传统销售模式,弥补了网络营销的不足。该系统最大的创新点就是建立了用户和消费者之间沟通的桥梁。消费者借助手机App不仅可以浏览用户销售信息,还能通过链接建立视频对话通道,真正实现远程面对面交易,让消费者直接感知商品,从根本上解决了传统网络营销夸大宣传,欺骗消费等问题,具有很高的实用价值。

参考文献

[1]刘丽.嵌入式WM8960音频驱动及多线程播放器的设计[D].哈尔滨:哈尔滨工业大学,2015.

[2]张伽伟,周安栋,罗勇.ARM11嵌入式系统Linux下LCD的驱动设计[J].液晶与显示,2011,26(5):660-664.

[3]李宇成,黄堂猛.基于S5PV210的1080P网络摄像头设计[J].计算机工程与设计,2014,35(11):3813-3819.

[4]肖青青,王甦,段劲生.音频控制技术在现代农业中的功能研究进展[J].天津农业科学,2017,23(1):40-43.

[5]严菊明.基于ARM嵌入式系统的通用Bootloader的设计与实现[D].南京:东南大学,2005.

[6]张海峰.嵌入式Linux内核及其驱动开发[J].红外,2003(10):26-31.

[7]何剑锋,邬文彪,李宏穆,等.嵌入式Linux系统的Qt/Embedded图形界面开发[J]. 电子工程师,2007(7):46-48.

[8]朱园.嵌入式Linux设备驱动的研究与开发[D].北京:北京邮电大学,2008.

[9]吕文辉.基于S5PV210的物联网视频压缩传输系统的设计与实现[D].成都:电子科技大学,2016.

猜你喜欢

嵌入式
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
TS系列红外传感器在嵌入式控制系统中的应用
基于嵌入式Linux内核的自恢复设计
嵌入式系统通信技术的应用
嵌入式PLC的设计与研究
搭建基于Qt的嵌入式开发平台
基于嵌入式系统Windows CE的应用程序开发
嵌入式单片机在电机控制系统中的应用探讨
嵌入式软PLC在电镀生产流程控制系统中的应用
Altera加入嵌入式视觉联盟