一种基于魔法师的仓库物流管理系统及管理方法与流程

文档序号:16901364发布日期:2019-02-19 18:01阅读:715来源:国知局
本发明属于仓库物流管理
技术领域
:,尤其涉及一种基于魔法师的仓库物流管理系统及管理方法。
背景技术
::目前,业内常用的现有技术是这样的:刘礼明提出基于rfid的仓库安防系统研究,将系统分成货品管理、电子地图、用户权限、报警系统、数据报表、日志管理六个模块进行软件设计。货品管理功能可以对电子标签进行数据写入,将rfid标签编号与标签理想、货品编号、货品名称、入库时间、货架区域位置相关联,可进行货物检索功能;电子地图功能,在物品入库后物品标签写入相关物品信息,通过仓库内的读写器获取标签信息等数据,通过rfid定位系统,可实时监控仓库内物品位置情况;报警系统在监测到物品非法移动的异常情况,警报系统立即进行弹窗报警,并对警情具体信息记录。传统的仓库存储管理属于粗方式的人工管理模式,需要投入大量的人力,物力对仓库的环境状况及货物进行管理,由此造成的仓储管理自动化程度不高、人工依赖性强,人力成本高,效率低下,企业运营成本高等诸多问题。随着计算机的迅猛发展,嵌入式系统的技术和应用发展十分迅速,涉及的应用领域非常广泛,工业控制、数据网络、医疗仪器、家用电器、航空航天等,无一不是嵌入式系统的成果。近几年在我国linux操作系统已广泛应用于各类计算应用,linux不仅仅表现在高端服务器的优越性能,而且其天生具有的突出特点就注定它必将在低端嵌入式系统中再次给人们以惊喜。因此基于嵌入式linux操作系统的应用软件,必定给本发明未来的工作和生活带来翻天覆地的变化;同时为解决传统仓库存储管理模式提供了机遇和条件。综上所述,现有技术存在的问题是:现有技术中,仓储管理自动化程度不高、人工依赖性强,人力成本高,效率低下,企业当前仓库管理存在几点不足:(1)工作繁重、差错率高。目前仓储货物管理主要依赖人工方式,货物信息管理工作强度大。即使运用信息系统管理也主要是对简单的数据进行采集,并不具备对数据进行处理能力。通过人工的方式来管理仓库物品,在统计、分析较多数据处理量时便无从下手。这种管理方式不仅造成工作繁琐,而且出错率非常高。(2)人员冗余,效率不高。随着仓库存储货物数量的持续增加,仓库执勤人员数也逐步增加,但是执勤人员主要工作时间内还是在固定区域驻守。执勤人员数的增加并未对仓库货物增加带来的安全隐患起到很好的防范效果。由于仓库货物数量的增加给仓库安保人员带来难以全面、实时掌握仓库货物信息等复杂问题,传统的执勤模式已经不能适应目前仓库安全管理需要。传统的仓库存储管理属于粗方式的人工管理模式,需要投入大量的人力,物力对仓库的环境状况及货物进行管理,运营成本高等诸多问题。解决上述技术问题的意义:本系统的意义有以下几个方面:(1)升级仓库管理的工作模式,提高仓库管理效率。应用本仓库物流管理系统性之后,仓库货品管理自动管理方式,将rfid射频识别技术与仓库环境监测模块(温湿度、烟感)、本地以及远程视频监测模块有效结合,使得仓库管理工作更加科学化,对仓库存储货物信息管理更加精准化,货物安全性进一步增强。同时,仓库工作人员效率有了较大提高,大大降低劳动强度,使得仓库管理企业经济效益不断提高。系统具有红外非法入侵检测以及报警功能,降低了货物丢失风险,对提高企业工作效率进行有力保障。gps功能可以实现货物在物流过程中实时跟踪。(2)改变企业管理方式,加快企业信息化进程。基于嵌入式linux应用程序的开发以及qt图形界面软件平台的使用能够帮助改善物流企业生产作业效率,为仓库物流管理型企业信息化发展提供参考,加快传统型企业向高科技信息化企业的转变,提高企业核心竞争力。技术实现要素:针对现有技术存在的问题,本发明提供了一种基于魔法师的仓库物流管理系统及管理方法。本发明是这样实现的,一种基于魔法师的仓库物流管理方法,所述基于魔法师的仓库物流管理方法包括:进行环境监测:通过创建新的线程依次打开温湿度、烟感、红外、蜂鸣传感器,进行初始化配置,驱动调用温湿度、烟感、红外、蜂鸣传感器后,创建定时器每秒检测温湿度、烟感、红外、蜂鸣传感器返回的数据,接收到返回的数据后,实时显示更新到lcd显示屏;进行视频监控:以qt界面为载体,通过usb摄像头采集环境信息数据视频数据,并通过usb协议传输到服务器,进行图像压缩和处理,最后通过internet向远程客户端传输视频图像进行远程网络监控;进行gps定位,管理:利用嵌入式设备串行端口,从gps接收器获取nme协议数据,通过协议解析获取定位时间,纬度,经度,高度,速度及日期时间数据信息;通过qt界面显示,并对监控货物对象进行定位,管理;进行gprs通讯:通过在gprs主界面私有类型的槽,声明数字键,以及拨打电话键的信号与槽函数;进行gprs通讯以及at指令传输;进行库存管理:由qt设计程序界面,编译与移植sqlite数据库,qt链接sqlite数据库以及qt程序中对sqlite数据库的操作,进行实时货物信息以及人员信息的添加、删除、查询、修改。进一步,环境监测方法具体包括:通过创建新的线程依次打开烟感、温湿度、lcd、人体红外传感器、蜂鸣传感器,对这些外设进行初始化配置,开始工作模式;通过环境监测主界面,创建定时器每秒检测环境监测烟感传感器、温湿度传感器、lcd、人体红外传感器、蜂鸣传感器返回的数据,实时显示更新到lcd显示屏;温湿度传感器每次检测环境温湿度,将当前仓库温湿度值上报开发板,环境监测主界面定时查询数据,接受到温湿度的数据后,直接将温湿度值在lcd显示;人体红外传感器检测到有人入侵,触发蜂鸣报警器警报;进行视频监控中,通过usb摄像头采集环境信息数据视频数据时,采集到的图像地址映射到mmap内存后获取图像数据,包括:1)打开初始化framebuffer,映射framebuffer设备地址到内存mmap;2)打开视频设备文件;3)获得设备信息;4)根据需要更改设备的相关设置;5)获得采集到的图像数据,通过直接打开设备来读取图像数据;或通过建立内存射,将采集到的图像地址映射到mmap内存的方式获取图像数据;6)关闭视频设备,一帧完整的图像信息搜集完成;gps定位,管理方法包括:a)先建立私有类型的槽,读取gps信息的槽方法readgpsdata(),与定时器timeout信号产生关联,用于实现gps信息的更新;在定义程序用到的私有变量,包括定义系统初始化,显示定位信息,获取gps时间日期;b)定义串口工作状态,设置串口参数;获取显示gps定位信息,当定时器刷新,读取gps数据;通过串口将获取的数据解析判断,若接收到的信息是以字符串$gprmc开头的数据时,通过split()方法将gps的定位信息分割进qlist<qbytearray>容器中,并在gpsdisplay进行显示;依次显示经纬度,日期,时间,以及速度;gprs通讯中,gprs主界面设计方法,包括:a、gprs主界面定义私有类型的槽,声明数字键以及拨打电话键的信号与槽函数;再定义程序用到的gprs短信和gprs拨打电话的私有变量;b、声明调用的串口,构造函数设计主界面,进行gprs通讯以及at指令传输;进行库存管理中,对sqlite数据库的操作方法,包括:创建添加、删除、查询、撤销、显示的按钮信号,对库存管理模块界面进行排版;创建串口接受线程,进行产品入口扫码,数据的录入;当产品扫码入库时,扫描产品信息,通过串口发送到开发板,开发板检测到入库数据,将产品的数据通过显示框进行显示,确定入库,将产品的信息写入到数据库;通过添加、删除、查询、撤销、显示的按钮进行产品的删除、查询、修改。本发明的另一目的在于提供一种计算机程序,所述计算机程序运行所述的基于魔法师的仓库物流管理方法。本发明的另一目的在于提供一种终端,所述终端至少搭载实现所述基于魔法师的仓库物流管理方法的控制器。本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于魔法师的仓库物流管理方法。本发明的另一目的在于提供一种基于魔法师的仓库物流管理系统,包括以下步骤:环境监测模块,用于监测环境的温度、湿度、红外感应、烟感等数据信息;视频监控模块,用于通过摄像头实时采集仓现场库信息;gps模块,用于通过gps定位系统实时追踪物流进程;gprs模块,用于进行简单的通讯功能;rfid模块,用于读取货物标签的id,进行货物的存放与管理;驱动模块,用于加载硬件驱动程序;arm开发板,用于控制各个模块正常工作;web服务器,用于存储采集的环境信息及监控视频数据;远程访问主机,用于通过电脑远程访问视频信息,掌握仓库最新情况;qt主界面模块,用于通过图形界面设计器qtdesigner设计qt主界面程序;lcd显示屏,用于加载qt下编写的图形界面,实时显示各传感器检测到的信息,并能通过点击相应的按钮实现开关等的状态控制;库存管理模块,用于通过采用qt与sqlite数据库,实现简单的库存与人员管理功能。进一步,所述环境监测模块包括温湿度传感器、热释红外传感器、烟感传感器;温湿度传感器,用于通过温湿度传感器实时采集室内温度、湿度值,并把获取到的信息反馈给中央控制器,由其进行综合分析处理。热释红外传感器,用于通过此模块可以检测非法入侵,通过与蜂鸣器模块配合,发出本地报警。热释红外传感器此模块使用外部中断,故通过4针排线连接到主板的p5端口。烟感传感器,用于检测是否有火灾发生,通过与蜂鸣器模块配合,发出本地报警;通过4针排线连接到主板的p2端口;进一步,所述蜂鸣器在中央控制器控制下,与红外对射传感器配合使用,在外来人员非法入侵时,蜂鸣器发出响声,实现本地报警;蜂鸣器模块使用到gpio输出,故通过排线连接到开发板主板p8端口。进一步,所述arm开发板采用魔法师s3c2410处理器;魔法师s3c2410处理器基于arm公司的arm920t处理器核,采用32位微控制器,提供以下丰富的内部设备:独立的16kb指令高速缓存寄存器和16kb数据高速缓存寄存器,mmu,lcd控制器,3路串行异步通信接口,4路直接存储器访问,通用i/o接口,实时时钟,触摸屏接口,集成电路互联总线接口。进一步,所述视频监控模块采用的为usbzc301摄像头,具有130万像素足以满足日常监控的需要。usb摄像头模块,此模块使用时将其接到开发板的usb接口中即可。进一步,所述gprs模块采用的gprs模块型号为sim300,sim300包括gsm/gprs双频模块,主要的功能有:语音传输、收发短消息和位数据业务提供无线接口。sim300由完整的射频电路和gsm的基带处理器构成,适合于一些gsm/gprs的无线应用产品的开发。在本设计中在控制器的控制下,在红外传感器接收到非法入侵信息时,能给预先设置好的手机号码发送信息,以便实现远程报警。up-gprs/gps模块,通过max232转换芯片,连接到开发板的rs232接口,并需外接电源模块。进一步,所述lcd显示屏采用3.8寸lcd液晶触摸屏;qt设计的用户应用程序通过lcd触摸屏显示,利用qtdesigner开发工具,及信号与槽函数实现对外围硬件模块的控制,和显示各种传感器的参数。lcd触摸屏模块,连接到开发板的lcd端口。本发明的优点及积极效果为:魔法师2410仓库物流管理系统是基于北京博创科技公司提供的魔法师开发板为设计平台,以arm9处理器芯片为核心,集环境信息监测(包括温度,湿度,红外感应,烟感等),本地视频监控,远程网络监控与传输,gprs通讯,gps定位以及库存管理等功能于一身的系统。该系统具有实时性、小型化等方面的优势,比较适合仓库存储环境的监控要求。本系统以qt设计管理界面,移植到2410开发板,实现触屏操作管理;视频监控以两种方法实现:一、以web形式实现远程网络监控,二、直接在2410开发板上实现视频监控;gprs通讯采用sim300-e模块与开发板连接,实现了简单的信息通讯;gps定位模块采用sim300-e模块与开发板连接,实现了简单的定位功能;库存管理采用qt与sqlite数据库,实现简单的库存与人员管理功能。本系统采用魔法师2410开发板及各种传感器模块,基本实现了对仓库环境的监测,对环境的信息实现实时监控及传输,并能启动蜂鸣器实现本地报警,并能发送警示信息到指定的手机,实现远程报警;极大的减少了资金,人力的投入,提高了仓库管理的效率。同时,还实现了简单的gps定位,可以及时了解物流的进程。基本可以满足当前仓库物流管理的需求。附图说明图1是本发明实施提供的基于魔法师的仓库物流管理系统流程图。图中:1、环境监测模块;2、视频监控模块;3、gps模块;4、gprs模块;5、rfid模块;6、驱动模块;7、arm开发板;8、web服务器;9、远程访问主机;10、qt主界面模块;11、lcd显示屏;12、库存管理模块。图2是本发明实施提供的环境监测功能流程图。图3是本发明实施提供的视频监控流程图。图4是本发明实施提供的网络视频监控流程图。图5是本发明实施提供的gps定位显示模块设计图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。下面结合附图对本发明的应用原理作进一步描述。本发明实施例提供的基于魔法师的仓库物流管理方法,包括:进行环境监测:通过创建新的线程依次打开温湿度、烟感、红外、蜂鸣传感器,进行初始化配置,驱动调用温湿度、烟感、红外、蜂鸣传感器后,创建定时器每秒检测温湿度、烟感、红外、蜂鸣传感器返回的数据,接收到返回的数据后,实时显示更新到lcd显示屏;进行视频监控:以qt界面为载体,通过usb摄像头采集环境信息数据视频数据,并通过usb协议传输到服务器,进行图像压缩和处理,最后通过internet向远程客户端传输视频图像进行远程网络监控;进行gps定位,管理:利用嵌入式设备串行端口,从gps接收器获取nme协议数据,通过协议解析获取定位时间,纬度,经度,高度,速度及日期时间数据信息;通过qt界面显示,并对监控货物对象进行定位,管理;进行gprs通讯:通过在gprs主界面私有类型的槽,声明数字键,以及拨打电话键的信号与槽函数;进行gprs通讯以及at指令传输;进行库存管理:由qt设计程序界面,编译与移植sqlite数据库,qt链接sqlite数据库以及qt程序中对sqlite数据库的操作,进行实时货物信息以及人员信息的添加、删除、查询、修改。环境监测方法具体包括:通过环境监测主界面,创建定时器每秒检测环境监测烟感传感器、温湿度传感器、lcd、人体红外传感器、蜂鸣传感器返回的数据,实时显示更新到lcd显示屏;通过创建新的线程依次打开烟感、温湿度、lcd、人体红外传感器、蜂鸣传感器,对这些外设进行初始化配置,开始工作模式;温湿度传感器每次检测环境温湿度,将当前仓库温湿度值上报开发板,环境监测主界面定时查询数据,接受到温湿度的数据后,直接将温湿度值在lcd显示;人体红外传感器检测到有人入侵,触发蜂鸣报警器警报;进行视频监控中,通过usb摄像头采集环境信息数据视频数据时,采集到的图像地址映射到mmap内存后获取图像数据,包括:1)打开初始化framebuffer,映射framebuffer设备地址到内存mmap;2)打开视频设备文件;3)获得设备信息;4)根据需要更改设备的相关设置;5)获得采集到的图像数据,通过直接打开设备来读取图像数据;或通过建立内存射,将采集到的图像地址映射到mmap内存的方式获取图像数据;6)关闭视频设备,一帧完整的图像信息搜集完成;gps定位,管理方法包括:a)先建立私有类型的槽,读取gps信息的槽方法readgpsdata(),与定时器timeout信号产生关联,用于实现gps信息的更新;在定义程序用到的私有变量,包括定义系统初始化,显示定位信息,获取gps时间日期;b)定义串口工作状态,设置串口参数;获取显示gps定位信息,当定时器刷新,读取gps数据;通过串口将获取的数据解析判断,若接受到的信息已$gprmc字符串开头的数据;通过split()方法将gps的定位信息分割进qlist<qbytearray>容器中,在gpsdisplay进行显示;依次显示经纬度,日期,时间,以及速度;gprs通讯中,gprs主界面设计方法,包括:a、gprs主界面定义私有类型的槽,声明数字键以及拨打电话键的信号与槽函数;再定义程序用到的gprs短信和gprs拨打电话的私有变量;b、声明调用的串口,构造函数设计主界面,进行gprs通讯以及at指令传输;进行库存管理中,对sqlite数据库的操作方法,包括:创建添加、删除、查询、撤销、显示的按钮信号,对库存管理模块界面进行排版;创建串口接受线程,进行产品入口扫码,数据的录入;当产品扫码入库时,扫描产品信息,通过串口发送到开发板,开发板检测到入库数据,将产品的数据通过显示框进行显示,确定入库,将产品的信息写入到数据库;通过添加、删除、查询、撤销、显示的按钮进行产品的删除、查询、修改。具体有:(1)环境监测功能通过创建新的线程依次打开温湿度、烟感、红外、蜂鸣传感器,对这些外设进行初始化配置,开始工作模式,实现各个外设驱动调用;环境监测主界面,创建定时器每秒检测环境监测各个外设驱动返回的数据,接收到外设驱动返回的数据后,实时显示更新到lcd显示屏。(2)视频监控模块以qt界面为载体,通过usb摄像头采集环境信息数据视频数据,并通过usb协议传输到服务器,进行图像压缩和处理,最后通过internet向远程客户端传输视频图像进行远程网络监控;(3)gps功能模块打开嵌入式设备串行端口,从gps接收器获取nme协议数据,然后通过协议解析获取定位时间,纬度,经度,高度,速度及日期时间等数据信息,最后通过qt界面显示出来,实现对监控货物对象进行定位,管理。(4)gprs通讯功能模块通过在gprs主界面定义私有类型的槽,用来声明数字键,以及拨打电话键的信号与槽函数;定义程序用到的私有变量,像定义gprs短信,gprs拨打电话等。声明调用的串口,构造函数设计主界面,主界面各个按钮的功能实现,gprs通讯功能的实现,以及at指令的实现等。(5)库存管理模块库存管理模块由qt设计程序界面,编译与移植sqlite数据库,qt链接sqlite数据库以及qt程序中对sqlite数据库的操作,实现实时货物信息以及人员信息的添加、删除、查询、修改等功能。如图1所示,本发明提供的基于魔法师的仓库物流管理系统包括:环境监测模块1、视频监控模块2、gps模块3、gprs模块4、rfid模块5、驱动模块6、arm开发板7、web服务器8、远程访问主机9、qt主界面模块10、lcd显示屏11、库存管理模块12。环境监测模块1,用于监测环境的温度、湿度、红外感应、烟感等数据信息;视频监控模块2,用于通过摄像头实时采集仓现场库信息;gps模块3,用于通过gps定位系统实时追踪物流进程;gprs模块4,用于进行简单的通讯功能;rfid模块5,用于读取货物标签的id,进行货物的存放与管理;驱动模块6,用于加载硬件驱动程序;arm开发板7,用于控制各个模块正常工作;web服务器8,用于存储采集的环境信息及监控视频数据;远程访问主机9,用于通过电脑远程访问视频信息,掌握仓库最新情况;qt主界面模块10,用于通过图形界面设计器qtdesigner设计qt主界面程序;lcd显示屏11,用于加载qt下编写的图形界面,实时显示各传感器检测到的信息,并能通过点击相应的按钮实现开关等的状态控制;库存管理模块12,用于通过采用qt与sqlite数据库,实现简单的库存与人员管理功能。本发明提供的环境监测模块1包括温湿度传感器、热释红外传感器;温湿度传感器,用于通过温湿度传感器实时采集室内温度、湿度值,并把获取到的信息反馈给中央控制器,由其进行综合分析处理。热释红外传感器,用于通过此模块可以检测非法入侵,通过与蜂鸣器模块配合,发出本地报警。热释红外传感器此模块使用外部中断,故通过4针排线连接到主板的p5端口。本发明提供的蜂鸣器在中央控制器控制下,与红外对射传感器配合使用,在外来人员非法入侵时,蜂鸣器发出响声,实现本地报警;蜂鸣器模块使用到gpio输出,故通过排线连接到开发板主板p8端口。本发明提供的arm开发板7采用魔法师s3c2410处理器;魔法师s3c2410处理器基于arm公司的arm920t处理器核,采用32位微控制器。该处理器包括:独立的16kb指令高速缓存寄存器和16kb数据高速缓存寄存器,mmu(存储其管理单元),控制器,3路串行异步通信接口,4路直接存储器访问,通用i/o接口,实时时钟,触摸屏接口,集成电路互联总线接口等。本发明提供的视频监控模块2采用的为usbzc301摄像头,具有130万像素足以满足日常监控的需要。usb摄像头模块,此模块使用时将其接到开发板的usb接口中即可。本发明提供的gprs模块4采用的gprs模块型号为sim300,sim300包括gsm/gprs双频模块,主要的功能有:语音传输、收发短消息和位数据业务提供无线接口。sim300由完整的射频电路和gsm的基带处理器构成,适合于一些gsm/gprs的无线应用产品的开发。在本设计中在控制器的控制下,在红外传感器接收到非法入侵信息时,能给预先设置好的手机号码发送信息,以便实现远程报警。up-gprs/gps模块,通过max232转换芯片,连接到开发板的rs232接口,并需外接电源模块。本发明提供的lcd显示屏11采用3.8寸lcd液晶触摸屏;qt设计的用户应用程序通过lcd触摸屏显示,利用qtdesigner开发工具,及信号与槽函数实现对外围硬件模块的控制,和显示各种传感器的参数。lcd触摸屏模块,连接到开发板的lcd端口。本发明提供的系统设计都以qt界面为载体,以实现用户对系统的直接操作。环境监测模块1是将环境信息数据通过传感器硬件模块采集而来,再将数据显示出来;视频监控模块2是通过usb摄像头采集视频数据的,并通过usb协议传输到基于arm的嵌入式流媒体服务器,在其上进行图像压缩和处理,最后通过internet向远程客户端传输视频图像实现远程网络监控;gprs/gps模块是通过sim300-e模块与开发板连接,实现简单的通讯与定位功能;库存与人员管理是通过qt+sqlite实现的,实现了货物与人员的管理。一、下面结合具体分析对本发明作进一步描述。1、linux下系统开发环境安装配置1.1linux系统安装配置:所需的软件包:vmware(8.0)+fedora14+minicom/xshell。使用三星公司以arm9为内核的2410处理器作为系统硬件核心,考虑到嵌入式linux功能强大、资源丰富、免费等重要优势,选择了以嵌入式linux作为系统的软件平台。采用vmware可以实现在windows下虚拟操作fedora14(linux)系统,设计开发应用程序,移植到开发板上运行。虚拟机以及fedora14的安装流程不再叙述。1.1.1linux下minicom的配置minicom是linux下的串口终端仿真工具,可以通过串口直接链接开发板,与超级终端功能相似,适于在通过超级终端对开发板的管理与开发。minicom的配置:①运行终端,然后键入"minicom",即可运行minicom。②同时按下ctrl+a,释放后再按z,进入help画面:③ctrl+a,释放后再按下o,可以进入配置菜单;④选择"serialportsetup"项显示下面的菜单:“ttys0”表示使用串口1,“ttys1”表示使用串口2;波特率选择115200.如设置某项,按前边的大写字母。保存设置,选择"savesetupasdfl."按esc键结束配置菜单。1.2宿主机与目标机网络配置1.2.1window的ipv4的配置在网络和共享中心将window的ipv4配置为:192.168.1.11(实验中所用到的网段为:192.168.1.*)。1.2.2fedora14的ip配置因为实验通过虚拟机挂载开发板,在fedora14中选择:系统(管理(网络:选项中设置以太网设备,应选择eth9。进入终端:执行终端命令:ifconfig(用来查看当前网络配置);ifconfigeth9192.168.1.11。配置好ip后,进入:系统—>管理(防火墙:将防火墙关闭。并且,在关闭防火墙前,要确认管理-(服务:nfs服务是否开启,以及将iptables服务关闭。nfs配置:通过vi编辑器,手动编译/etc/exports文件,其格式表示的意义如下所示:共享目录+可以实现网络互通连接的主机(读和写的权限,其他参数)。在终端中:执行命令:vi/etc/exports//进入编译模式;vi编译模式,表示将fedora14的/arm2410cl目录共享,而网络段为192.168.0.*网段的所有计算机,可以对/arm2410cl目录进行读取和写入。修改好后保存,可以用以下命令重新启动启nfs服务:servicenfsrestart。互相ping,如可以ping通,说明此时linux与window处于同一网段。如果ping不通,试着把虚拟机的网络配置nat改为桥接方式。1.2.3开发板arm2410cl的ip配置将开发板与电脑通过串口线连接,确保windows下端口选择com3,波特率设置为115200。在linux终端下启动minicom,配置minicom上面已经讲过,按照步骤直接配置,就可以连接到开发板。在开发板界面配置ip:ifconfigeth9192.168.1.10.再次在windows下ping连接linux(宿主机)与开发板(目标机)ip,保证网络畅通,至此网络配置完毕。1.3文件共享windows、linux虚拟机、arm开发板三者的ip地址在同一网段,并且不冲突,能够互相ping通。设置linux的nfs文件共享,上文已经配置完成,共享文件目录为:/arm2410cl。在开发板界面执行:mount–onolock,rsize=4096,wsize=4096192.168.1.12:/arm2410cl/mnt/nfs(将linux虚拟机/arm2410cl目录挂载到arm开发板的/mnt/nfs目录下)。就可以在开发板上运行设计好的程序;如果执行时提示没有可执行的权限,在共享前,要改变共享目录的权限:chmod+共享目录名+777(所有用户都有执行权限)。至此,开发环境基本搭建完成。二、下面结合系统模块功能的设计及实现对本发明作进一步描述。2.系统模块功能的设计及实现整个系统设计都以qt界面为载体,以实现用户对系统的直接操作。环境信息监测模块是将环境信息数据通过传感器硬件模块采集而来,再将数据显示出来;视频监控模块是通过usb摄像头采集视频数据的,并通过usb协议传输到基于arm的嵌入式流媒体服务器,在其上进行图像压缩和处理,最后通过internet向远程客户端传输视频图像实现远程网络监控;gprs/gps模块是通过sim300-e模块与开发板连接,实现简单的通讯与定位功能;库存与人员管理是通过qt+sqlite实现的,实现了货物与人员的管理。本章分五个部分:qt环境搭建环境信息监测模块设计及实现,视频监控模块设计及实现,gprs/gps通讯模块设计及实现,库存管理模块设计与实现。2.1qt环境搭建2.1.1qt简介qt是跨平台的应用程序和ui框架,采用c++语言,包含丰富的c++类,包括窗口界面设计的接口,io控制接口,绘图接口,多媒体接口,数据库接口等丰富的开发接口。本系统开发中主要用到的是窗口界面设计,数据库接口。qt不仅仅是图形界面开发类库,而且拥有一套相对完整的开发环境的开发工具。这些工具主要包括:图形界面设计器qtdesigner,工程管理工具qmake,以及qtcreator。本发明主要用到的是qtcreator。qtcreator是一个基于qt的进行用户界面设计的可视化集成环境,可以跨平台运行,支持linux,windows,macos等操作系统。集成了qtdesigner的所有特性,还包含了qt语言家,qt管理工具,图形化得gdb调试前端,qmake构建工具等。2.1.2qtcreator安装⑴拷贝并解压qt-sdk-linux-opensource-2010.05.1.bin到felora14下的/usr/local/下:⑵修改文件权限chmod777+可执行文件名⑶执行安装:#./qt-sdk-linux-x86-opensource-2010.05.1.bin⑷接下来是图形界面安装,默认即可。(但安装的文件位置是在:opt/qtsdk2010.05目录下)⑸修改环境变量:在/etc/bash.bashrc中添加环境变量:exportqtdir=/opt/qtsdk-2010.05/qtexprtpath=$qtdir/bin:$pathexportld_library_path=$qtdir/lib:$ld_library_path⑹安装完成后打开qtcreatortools==>选项(options),手动添加一个qtversion,在这里,qmake的路径是默认的。打开options选项:点击添加按钮,添加qt4.4(开发板qmake编译工具),如图4qmake路径目录文件在:/home/sprife/qt4/for_arm/qt-embedded-linux-opensource-src-4.4.0/bin/qmake2.1.3系统开发涉及的qt模块及qt程序设计流程(1)qt程序设计流程简介:①新建一个项目,点击菜单“file”下的“newproject”,选择应用程序+qtguiapplication。②新建完成后,可以看到新建工程里包含的文件:mainwindow.ui:图形界面设计窗口,用来设计界面,添加窗口组件,建立信号槽连接,编写事件处理函数的。main.cpp:用来主窗口类的实例化及显示。mainwindow.h:用来定义后面程序设计所用到的类库。mainwindow.cpp:设计程序的可执行文件。③编译完成后,使用qt4.4(开发板qmake编译工具)qmake构建工具,生产可以在开发板上运行的程序。依次执行:qmake-project(生成.pro工程);qmake(编译生成arm可执行文件);make。④将可执行文件目录挂载到开发板上执行。(2)qt库函数,对象模型简介:①对象模型介绍:信号和插槽介绍:qt程序设计过程中,利用信号(signal)和插槽(slot)机制进行对象间的通信。当对象状态发生改变的时候,发出signal通知所有的slot接收signal,尽管它并不知道哪些函数定义了slot,而slot也同样不知道要接收怎样的signal;signal和slot机制真正实现了封装的概念,slot除了接收signal之外和其它的成员函数没有什么不同,而且signal和slot之间也不是一一对应的。在qt程序设计中,凡是包含signal和slot的类中都要加上q_object的定义。②库函数qwidget类是所有gui接口对象的基类,它的继承了qobject类的。组件是用户界面的单元组成部分,它将来自鼠标、键盘和其它从窗口系统来的事件接受,并把这些事件绘制在盘屏幕上。qwidget类有很多成员函数,一般不直接使用,通过声明调用子类继承来实现其函数功能。如:qpushbut-ton、qlistbox等都是它的子类。qapplication和qwidget都是qobject类的子类。qapplication类负责图形界面应用程序的控制流和主要的设置,它由主事件循环体,负责处理和调度的所有来自窗口系统以及其他资源的事件构成;主要用来处理应用程序的开始、应用程序结束、应用程序会话管理以及系统和应用程序方面的设置。对于一个应用程序来说,建立此类的对象是必不可少的。qapplicationa(argc,argv):创建qapplication对象,这个对象用于管理应用程序级别的资源[3]。qprocess类用于启动外部程序并与之通信。启动一个新进程的方式:把待启动的程序名称和启动参数传递给start()函数即可。qextserialport类:第三方串口控制类,用于实现gps/gprs模块与qt程序连接。q_object宏声明该类使用国际化与qt信号和槽功能,是所有类的根。qsqlquery类提供了一种执行和操纵sql语句的方式。包括了所有的功能,像在一个qsqldatabase上执行sql查询创建、导航和索取数据等等。它可以执行dml(数据操作语言)语句,比如select,insert,update和delete,还可以执行ddl(数据定义语言)语句,比如:createtable。不仅如此,它还可以用于执行特定数据库而不是标准sql语句的指令(比如setdatestyle=iso用于postgresql).2.2环境信息监测模块设计及实现2.2.1环境信息监测模块设计的流程魔法师2410开发板包含多个模块,在这里主要用到温湿度,红外,烟感,蜂鸣器传感器,lcd。通过这些传感器收集的信息,可以实时监测仓库环境状态。并且当有火灾发生时可以根据蜂鸣器报警及时消除火灾,以及lcd显示文字等功能。界面跳转函数:开发板连接传感器模块时,温湿度模块连接开发板的p1端口,红外传感器连接p5端口,蜂鸣器模块连接p8端口,烟感模块连接p2端口。功能模块设计时,先添加kjjc这个类,其中kjjc.ui文件是用来设计环境监测模块的界面,添加窗口组件,建立信号槽连接,编写事件处理函数的;kjjc.cpp中是环境监测功能函数的实现;kjjc.h文件用来声明后面程序设计所需的函数库与类名;然后在kjjc.cpp中添加调用所用到的传感器驱动函数;当产生点击控制单元按钮开关的信号时,系统调用qprocess函数,启动对对应的传感器运行函数,即可实现环境信息的检测。环境监测功能流程图如图2:主界面代码:#definemodules_driver"/root/modules_driver.sh"//定义驱动目录调用各个模块的驱动函数:温湿度监测函数:voidkjjc::calc_sht11(float*p_humidity,float*p_temprature)//定义温湿度函数;具体代码不在详细介绍。红外监测主要函数代码:烟感监测主要代码:lcd代码:蜂鸣器代码:环境监测功能流程如下:(1)、环境监测主界面,创建定时器每秒检测环境监测各个外设驱动返回的数据,实时显示更新到lcd显示屏;(2)、环境监测各个外设驱动调用,主要通过创建新的线程依次打开烟感、温湿度、lcd、人体红外传感器、蜂鸣传感器,对这些外设进行初始化配置,开始工作模式。(3)、温湿度传感器每次检测环境温湿度,将当前仓库温湿度值上报开发板,环境监测主界面一直定时查询数据,接受到温湿度的数据后,直接将温湿度值在lcd显示;(4)、相同的原理,人体红外传感器检测到有人入侵,会触发蜂鸣报警器警报,烟感触发同样触发蜂鸣报警器警报。2.3视频监控模块设计及实现2.3.1视频监控模块设计的流程:本地视频监控的流程:通过zc301摄像头采集环境视频信息,具体的采集方法由v4lapi函数实现,arm开发板采集视频完毕后,开发板调用framebuffer驱动,将视频显示在lcd显示屏。流程图3。video4linux为市场现在常见的电视捕获卡和并口及usb口的摄像头提供统一的编程接口,是linux中关于视频设备的内核驱动。经常使用在如视频监控,网络视频监控(webcam),可视电话等需要采集图像的场合,是linux嵌入式开发流程中经常使用到的系统基础接口类型。各种各样视/音频设备经过开发出相应的驱动程序后,由v4l提供的系统api控制视频和音频设备。这样的话v4l可以分为两层,底层为视/音视频设备在内核中的驱动,上层为系统提供的api,对于本发明来说需要的就是使用这些系统的api。帧缓冲(framebuffer)是linux系统下内核为显示设备提供的一个编程接口,把显存抽象后的一种设备,他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。framebuffer对应的源文件在linux/drivers/video/目录下。总的抽象设备文件为fbcon.c,在这个目录下还有与各种显示设备驱动相关的源文件。framebuffer设备驱动基于如下文件:linux/include/linux/fb.h;linux/drivers/video/fbmem.c;在这两个文件中定义了framebuffer所使用的重要数据结构及支持framebuffer的设备驱动提供了通用的接口。开发板下摄像头驱动配置:⑴在终端下进入移植的kernel目录,执行命令:#makemenuconfig打开s3c2410linux内核编译窗口。⑵选择并及进入“multimediedevices--->”菜单选项,然后<m>选择videoforlinux选项。⑶返回主菜单(mainmenu),再选择并进入“usbsupport--->(usb配置选项)”菜单选项,然后<m>选择usbspca5xxsunplusvimicrosonixcameras,配置usb。⑷保存当前配置然后退出。⑸执行命令:#makedep,用来建立文件依联关系;然后再执行命令:#makemodules编译链接模块。编译链接完成后,/linux2.6.x/kernel/drivers/usb/spca5xx文件夹中生成spca5xx.o,spcadecoder.o,spca_core.o模块驱动。⑹移植的linux内核启动后,如果要使用摄像头,就得调用编译好的usb摄像头的驱动模块,在控制终端执行:#insmodspca5xx.o⑺在开发板/root/camera/目录下为v4l的执行文件,直接运行命令:./v4lcap就可以运行视频采集程序。v4l视频编程的流程和对文件操作并没有什么本质的不同,首先先初始化framebuffer帧缓冲设备,接着将framebuffer设备的地址映射到内存mmap中;再初始化v4l视频采集函数,同样将v4l采集到的视频图像地址映射到内存mmap中。通过framebuffer设备的地址映射和v4l采集到的视频图像地址映射到内存mmap中,就可以实现图像参数传递给framebuffer,实现采集到的图像显示在lcd上。实现信息传递主要函数:vd->fbp=(char*)mmap(0,screensize,prot_read|prot_write,map_shared,fbfd,0);//映射framebuffer设备到内存。vd->map=mmap(0,vd->mbuf.size,prot_read|prot_write,map_shared,vd->fd,0);//映射采集图片信息到内存。mmap函数解析:void*mmap(void*start,size_tlength,intprot,intflags,intfd,off_toffset);start:内存映射的位置,一般使用null表示随便地址;length:映射的文件大小;prot:映射的方式有两种,prot_read读动作和prot_write写动作;flags:方式3种map_share:修改内存,文件同步修改;map_fixe:禁止修改;map_private:若要修改另存为一个备份,不改源文件;fd:打开的文件的描述符;offset:偏移量,大小是控制长度,偏移量是控制位置。主要程序流程代码:采集到的图像地址映射到mmap内存的方式获取图像数据,方法包括:⑴打开初始化framebuffer,映射framebuffer设备地址到内存mmap;⑵打开视频设备文件(通常是/dev/video0);⑶获得设备信息(查询和确认设备性能);⑷根据需要更改设备的相关设置(设置捕获的图像的宽和高、设置色深)。⑸获得采集到的图像数据(在这里v4l提供了两种方式,第一种方式是:通过直接打开设备来读取图像数据;第二种方式是:通过建立内存射,将采集到的图像地址映射到mmap内存的方式获取图像数据。⑹关闭视频设备,一帧完整的图像信息搜集完成。2.3.2远程视频监控⑴远程视频监控是通过zc301摄像头采集视频数据,视频的采集由vide04linux(简称v4l)实现完,上一部分已经介绍过。⑵然后通过tcp/ip协议实现浏览器与服务器(开发板)之间的通信。linux中通过socket接口的网络编程的实现网络传输,socket相当于进行网络通信两端的插座,只要双方的socket接口有通信联接,才可以实现发送和接收数据了。在远程视频监控模块中,就是通过socket接口的这种传输方式来实现信息交互。⑶服务器(开发板)对浏览器发出请求响应则是通过web服务器完成的。而web服务器是专门用来处理浏览器发出的http请求,负责对浏览器的请求作出响应。这里用到的是boa服务器;⑷采用了通用网管接口技术(cgi)实现浏览器与嵌入式web服务器的动态数据(视频信息)交互。在系统设计中,通用网管接口技术应用程序编写采用的是c语言,可以实现嵌入式处理器对外部数据的实时采样、及与外部设备的通信与控制等。cgi处理步骤:①通过internet将用户请求发送给服务器(开发板);②服务器(开发板)接受请求并交给cgi程序处理;③cgi程序将处理结果返回给服务器;④服务器将结果返回给用户。⑸通过tcp/ip协议再将视频信息返回给浏览器。流程如图4:⑹boa移植:①将boa-0.94.13.tar.gz拷贝到linux虚拟机的“/home/uptech”中②解压boa安装包:tar-zxvfboa-0.94.13.tar.gzcdboa-0.94.13/src③修改“/home/uptech/boa-0.94.13/src/compat.h”文件vicompat.h修改后的120行:#definetimezone_offset(foo)foo->tm_gmtoff④修改“/home/uptech/boa-0.94.13/src/boa.c”文件viboa.c将225~227行注释掉⑤运行“/home/uptech/boa-0.94.13/src/configure”文件对源文件进行配置⑥修改“/home/uptech/boa-0.94.13/src/makefile”文件,修改后的第31行和32行:cc=arm-linux-gcccpp=arm-linux-gcc-e⑦编译makecleanmake此时会在“/home/uptech/boa-0.94.13/src/”目录下生成本发明需要的可执行文件boa。将编译好的boa可执行文件通过tftp上传到开发板上,并建立相应的目录,以及配置文件。⑺配置spcaview(网络摄像头的applet程序)①cd/home/uptech②解压spcaview-20061208.tar.gz安装包:tar-zvxfspcaview-20061208.tar.gzcdspcaview-20061208③修改makefile,指向新的压缩解压库,并且静态编译,“vimakefile”cc=arm-linux-gcccpp=arm-linux-g++spcaserv:$(objserver)$(cc)$(servflags)–ospcaserv$(objserver)$(servlibs)④编译spcaservmakespcaserv⑤通过tftp,将生成的目标文件“spcaserv”传到arm开发板,并建立相应目录及配置文件。⑥在arm开发板上执行:./boa此时web服务器已经在arm开发板上启动了;在arm开发板上运行:spcaserv./spcaserv-d/dev/video0-s320*240-fjpg;在客户端(可以是xp)安装java虚拟机,运行jre-6u10-windows-i586-p-s.exe即可;在客户端浏览器(即xp的浏览器)地址栏中输入arm开发板的ip地址即可:http://192.168.1.193/index.html;2.4gps模块设计及实现:系统使用的gprs/gps模块是sim900gprs/gps模块硬件,gps模块在使用时,确保试验平台扩展槽上方jp1102/jp1103跳线位于2,2之间,跳线位为export。gprs模块在使用时,请配置跳线至rj7档,即选择rs232串口模式。并分别在rj11和rj14配置跳线。2.4.1gps及nmea协议简介(1)gps概述gps(globalpositioningsystem-全球定位系统)是美国研制,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。gps的主要优点包括:①全球全天候工作②定位精度高③功能多,应用广。gps由三个独立的部分组成:空间部分:由21颗工作卫星和3颗备用卫星组成。地面支撑系统:包括1个主控站,3个注入站,以及5个监测站。用户设备部分:包括接收gps卫星发射信号的设备,用来获得必要的导航和定位信息;经数据处理,完成导航和定位工作。gps接收机硬件包括主机、天线以及电源[5]。(2)gps定位原理:gps定位的基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置[5]。(3)nmea协议nmea-0183协议是美国国家海洋电子协会为海用电子设备制定的标准格式。目前已成为gps导航设备统一的rtmc标准协议。nmea-0183协议,$gpgga(全球定位数据),$gpgsa(卫星prn数据),$gpgsv(卫星状态信息),$gprmc(运输定位数据),$gpvtg(地面速度信息),$gpgll(大地坐标信息),$gpzda(utc时间和日期)等。nmea-0183每条语句的格式都是相对独立的ascii格式,逗点隔开数据流,通常以每秒间隔选择输出.2.4.2gps功能模块分析首先嵌入式设备打开串行端口,从gps接收器获取nme协议数据,然后通过协议解析获取定位时间,纬度,经度,高度,速度及日期时间等数据信息,最后通过qt界面显示出来:程序主界面介绍:程序界面主要包括:串口工作状态,gps状态数据以及gps接受数据显示。串口工作状态:描述串口运行状态;串口按钮:为复选框,包含:ttys0至ttys2:linux系统串口名称;ttysac0至ttysac3:为开发板中linux串口名;波特率:50至115200;数据位:5至8位;校验位:奇偶校验位;停止位:1,1.5,2。gps状态数据:包括经纬度,速度,定位状态,日期时间。gps接受数据:用来显示接受到的gps信息。2.4.3程序设计及主要代码在qt中没有特定的串口控制类,这里利用第三方串口控制类qextserialport类,实现linux下的串口通信。这里版本是qextserialport-1.2win-alpha.zip。在window下载完成解压后,将文件夹下的qextserialbase.cpp,qextserialbase.h,posix_qextserialport.cpp,posix_qextserialport.h四个文件导入系统工程项目中。(1)gpswidget.h头文件功能设计private:在头文件中先建立私有类型的槽,定义一个读取gps信息的槽方法readgpsdata(),与定时器timeout信号产生关联,用于实现gps信息的更新;在定义程序用到的私有变量,像定义系统初始化,显示定位信息,获取gps时间日期等。实现函数:voidreadgpsdata();//读gps设备数据private://私有对象声明ui::gpswidget*ui;voidstartinit();voidsetcomboboxenabled(boolstatus);voidgpsdisplay();//显示定位信息qstring&utctime(qstring&u_time);//gps时间qstring&utcdate(qstring&u_date);qstring&alt_position(qstring&alt_str);qstring&lon_position(qstring&lon_str);//经度inttimerdly;posix_qextserialport*mygpscom;//定义读gps端口qbytearraygps_rmc;qlist<qbytearray>gps_list;//gps信息容器qtimer*readtimer;//定义一个定时器(2)gpswidget.cpp文件中定义串口工作状态,然后设置串口参数;定义获取,显示gps定位信息,当定时器刷新,读取gps数据,通过串口将获取的数据解析判断,若接受到的信息已$gprmc字符串开头的数据,通过split()方法将gps的定位信息分割进qlist<qbytearray>容器中,然后在gpsdisplay进行显示。最后依次显示经纬度,日期,时间,以及速度等。实现函数:gps功能模块分析方法具体有:(1)gpswidget.h头文件功能设计:先建立私有类型的槽,定义一个读取gps信息的槽方法readgpsdata(),与定时器timeout信号产生关联,用于实现gps信息的更新;在定义程序用到的私有变量,像定义系统初始化,显示定位信息,获取gps时间日期等。(2)gpswidget.cpp文件中定义串口工作状态,然后设置串口参数;定义获取,显示gps定位信息,当定时器刷新,读取gps数据,通过串口将获取的数据解析判断,若接受到的信息已$gprmc字符串开头的数据,通过split()方法将gps的定位信息分割进qlist<qbytearray>容器中,然后在gpsdisplay进行显示。最后依次显示经纬度,日期,时间,以及速度等。通过polling(查询方式)读取串口,读写数据是同步的,信号不能工作在这种式下,需要建立定时器来读取串口数据。2.5gprs通讯功能设计与实现:2.5.1通信模块的at命令集gprs模块和应用命令集系统是通过串口连接的,gprs模块具有一套标准的at,命令集由一般、呼叫控制、网络服务相关、电话本、短消息、gprs命令等组成。控制系统可以发给gprs模块at命令的字符串来控制其行为。详细信息请参考gprs/sim900的应用文档。3.5.2gprs主界面设计及主要代码(1)gprs.h头文件定义私有类型的槽,用来声明数字键,以及拨打电话键的信号与槽函数。再定义程序用到的私有变量,像定义gprs短信,gprs拨打电话等。(2)在gprs.cpp中声明调用的串口,构造函数设计主界面,主界面各个按钮的功能实现,gprs通讯功能的实现,以及at指令的实现等。实现程序功能主要代码:gprs主界面设计方法,包括:(1)gprs主界面定义私有类型的槽,用来声明数字键,以及拨打电话键的信号与槽函数。再定义程序用到的私有变量,像定义gprs短信,gprs拨打电话等。(2)声明调用的串口,构造函数设计主界面,主界面各个按钮的功能实现,gprs通讯功能的实现,以及at指令的实现等。2.6库存管理模块设计与实现:2.6.1库存管理主要流程库存管理模块由qt设计程序界面,链接sqlite数据库用来存放货物的信息以及人员信息。可以实时对货物,人员进行管理操作。这一模块主要的流程包括:⑴编译与移植sqlite数据库:sqlite起初是为嵌入式产品而研发的,是一个微小型数据库,相比其他数据库具有处理速度快,资源量占用小等特点;其能够在多个平台上运行,且sqlite数据库具有很强的独立性,简单的应用程序接口,良好的注释信息,并且有着90%以上的测试覆盖率,提供了零配置(zero-configuration)的运行模式,不具有外部的依赖性,经过近些年来的不断改进和完善,已经成为了功能相对齐全,最适合嵌入式系统开发的的数据库,并在嵌入式产品中得到广泛应用。⑵qt链接sqlite数据库以及qt程序中对sqlite数据库的操作:qtcreator安装包中包含链接sqlite数据库的驱动,所在的目录在qtcreator安装目录下的/qt/plugins/sqldrivers中,在工程文件中定义连接数据库的文件,进行连接数据库函数的声明即可连接sqlite数据库。而对数据库的操作主要通过qsqlquery类来进行,qsqlquery类提供了一种执行和操纵sql语句的方式。⑶货物的出入库操作:这一功能的实现是通过rfid(电子标签)实现的,主要流程:开发板与rfid读卡器连接在一起,当有货物入库的时候,读卡器会读取标签的数据,标签的数据信息会通过串口发送给开发板,开发板通过qt界面程序将读取的标签信息在显示屏上显示出来,这里用标签的id来代表货物种类,这时点击查询(通过货物的id)查看数据库中是否已经包含这种货物,进行相应的数据修改;当有货物出库时,同样通过串口传递显示的id与数据库中货物id对比,然后进行数据操作。2.6.2sqlite交叉编译与移植⑴解压sqlite-3.3.8到/home/sqlite-3.3.8,并创建文件夹cd/home/sqlite-3.3.8mkdirsqlite-arm-linux⑵修改/home/sqlite-3.3.8目录下的configure文件的部分内容20420行{(exit1);exit1;};}改为{(echo1);echo1;};}20446行{(exit1);exit1;};}改为{(echo1);echo1;};}⑶生成makefile文件:./configure--disable-tcl--prefix=/home/sqlite-arm-linux/--host=arm-linux将makefile文件中如下语句bcc=arm-linux-gcc-g-o2改成:bcc=gcc-g-o2⑷设置交叉编译环境exportpath=/usr/arm-linux/arm/2.95.3/arm-linux/bin:$pathexportconfig_build_cc=gccexportconfig_target_cc=arm-linux-gcc⑸编译完成后执行安装命令:make&&makeinstall如果编译步骤正确,将不会出现错误,而本发明所需的库文件生成在/home/sqlite-3.3.8/sqlite-arm-linux/lib目录下;查看后执行命令:arm-linux-striplibsqlit3.so.0.8,通过strip去掉其中的调试信息;最后再执行命令:filesqlite3查看sqlite3文件类型。这就是在开发板上可以直接运行的可执行文件;⑹移植到arm开发板把sqlite3和lib下的库文件移植到arm上(拷贝时需要加上–arf选项,因为.so,.so.0库文件是链接到libsqlite3.so.0.8.6的。)⑺在arm板上运行sqlite假如本发明移植好的sqlite的库文件在arm板上的/usr/qpe/lib/目录下,就需要设置环境变量就像下面:qt程序对sqlite数据库的操作方法,包括:具体的流程如下:创建添加、删除、查询、撤销、显示等按钮信号,对库存管理模块界面进行排版;创建串口接受线程,用于产品入口扫码,数据的录入;当产品扫码入库时,扫描枪扫描产品信息,通过串口发送到开发板,开发板检测到入库数据,会将产品的数据通过显示框显示出来,确定入库,点击添加按钮,将产品的信息写入到数据库;如果要进行产品的删除、查询、修改等功能,点击对应的按钮,与添加的流程相似。三、下面结合测试效果对本发明作进一步描述。3.系统测试3.1系统测试方案程序:测试一般分为两类:即静态测试和动态测试。本系统采用动态测试的方式,检查代码的正确性,了解系统功能的实现性,从而达到发现问题,改进功能,让程序更完善。这样有利于对系统开发流程的更进一步的认识,以便更好地管理系统。3.2主要模块测试测试1:系统登录测试:用户通过用户名、密码的验证后,才可以登录,系统会保存用户正确的用户名以及密码,方便用户后期登录。测试2:主菜单界面测试:用户登录成功,自动跳转到主菜单界面,主菜单界面包括库存管理、环境检测、gprs、gps、人员管理5个按钮,点击后会进入对应子功能界面;测试3:环境监测模块运行测试,数据采集结果:点击环境检测按钮,跳转到环境检测子功能,会自动刷新当前的温湿度(22.92°/48.96%)、是否有人(无人)、烟感(正常)等信息。测试4:库存管理模块运行测试,显示,删除功能。产品入库时,系统会将产品的信息显示在lcd上,点击添加,会将产品入库,并提示入库成功;输入产品编号,点击查询,产品的信息显示在lcd,点击删除产品,会提示是否确定删除,点击确定删除产品,选中取消,退出。测试5:gprs/gps模块运行测试:gprs测试:输入11位手机号点击拨打按键,会提示通话中,对方接听,可以通过gprs听到对方的说话声;点击挂断,通话结束。点击短信按钮,输入对方手机号:编辑短信发送,对方可以接受到相同的短信。gps测试:点击开始按钮,会将当前位置的经纬度、时间、当前移动速度等信息显示,到其他地方(距离较远时)与之前的经纬度有差异,与网络查询的经纬度误差较小。测试6:视频采集模块本地测试,网络测试:打开浏览器,输入https://192.168.6.10命令,在浏览器下方会出现采集到的视频图像。测试7:人员管理测试效果,输入员工名字、编号,点击查询:会在下方出现该员工的信息;同时可以对该员工的信息进行修改、删除等功能。3.3系统测试结论经过对本系统的测试能够实现的功能有环境监测、仓库和货物以及进行相应的入出库操作,gps定位,gprs通讯和视频监控功能。从以上功能模块的实现分析得知,基本上达到了预期的设计目的。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1