带有预约功能的自助洗衣机集中控制器的设计

2018-01-19 11:22魏晋宏
机械设计与制造 2018年1期
关键词:洗衣机排队总线

冯 超,魏晋宏

(太原理工大学 新型传感器与智能控制教育部与山西省重点实验室,山西 太原 030024)

1 引言

随着国内居住环境逐步的国际化,自助洗衣房作为一种会所、高校、社区配套形式的出现使得其具有广阔的市场和发展空间。进入21世纪来,互联网技术得到了飞速的发展,互联网高效、便捷、无时间地域限制的特点已经被众人所认同,同时也为商家提供了无限的商机,电子商务因而获得蓬勃发展,进而推动着网络支付和网上金融服务的快速发展,使得电子商务进入一个全新的发展阶段[1-2]。随着这种线上支付模式的出现,将其应用在自助洗衣机上便成为可能。为此,提出了集中控制器的设计思路来对接线上服务器与线下洗衣机。由于自助洗衣机的使用频率高,难免会造成用户漫长的等待时间,在实现了线上服务器与线下洗衣机对接的同时,提出了预约洗衣服务的思路,并对预约排队算法进行分析与研究,并选出最优的预约排队算法。

2 自助洗衣服务系统的总体设计

针对目前洗衣房自助洗衣机的单独管理与操作,在线上服务日益完善的同时,设计了基于嵌入式Linux的集中控制器来对自助洗衣机进行集中的管理和操作,方便实现洗衣机与线上服务器的对接和预约洗衣的功能。集中控制器以S3C2440作为核心,通过CAN总线将多台洗衣机接入控制器中,将洗衣机的实时状态数据发送给控制器系统,经由液晶屏进行显示,并将数据存储于SD卡上;服务器在完成线上支付、线上预约等功能后,通过WIFI将操作指令发送给集中控制器进而对洗衣机进行操作,集中控制器完成预约排队优化后将预约排队信息发送给服务器,服务器通过短信等方式通知用户的预约情况,自助洗衣机服务系统框图,如图1所示。

图1 自助洗衣服务系统框图Fig.1 Systematic Theory of Diagram

3 集中控制器的设计

3.1 硬件选型

为了实现控制器与洗衣机的数据通信、控制器与服务器的远程数据通信以及控制器对洗衣机状态的监控,在硬件方面主要介绍了对主控模块、人机交互模块、CAN模块、WIFI模块的选型。

3.1.1 主控模块

采用三星公司生产的嵌入式芯片S3C2440A作为主控核心。该芯片采用ARM920T内核,功耗低、具有高速的处理计算能力、可以运行在400MHz的时钟频率下[3]。芯片的设计采用MMU、AMBA总线体系结构和哈佛结构,集成了SDRAM控制器、FLASH控制器、LCD控制器、SPI控制器等硬件外设,方便搭建外围功能模块,大大简化了系统的设计。

3.1.2 人机交互模块

触摸屏(touch screen)又称为“触控屏”,是一种可接收触头等输入讯号的感应式液晶显示装置,是目前最简单、方便、自然的一种人机交互方式[4]。故而,设计采用AT070TN83型的7寸四线式电阻触摸屏作为系统监控和查询的操作平台。

3.1.3 WIFI模块

随着WIFI技术的不断完善,在解决了传统有线网络布线繁琐的同时,其传输速率和稳定性也逐步提高,故而,采用ESP8266作为WIFI数据收发的主要芯片。ESP8266是一款超低功耗的UART-WiFi透传模块,具有支持无线802.11b/g/n标准、内置TCP/IP协议栈、支持丰富的Socket AT指令、支持UART/GPIO数据通信接口、支持Smart Link智能联网功能、超低能耗等多种优点,现以广泛被应用于智能电网、智能交通、智能家具、手持设备、工业控制等领域。

3.1.4 CAN模块

由于CAN总线具有稳定可靠、连线简单(就两根线)、组网消费低、速度快、能长距离传输等优点[5-6],故而,采用CAN总线方式将洗衣机接入集中控制器实现洗衣机与集中控制器的数据通信。

CAN模块主要由CAN控制器和CAN收发器组成。其中CAN控制器是用来执行CAN总线协议和控制管理CAN总线的,而CAN收发器的作用是增强总线驱动能力并建立CAN控制器以及物理总线之间的连接。由于S3C2440主控芯片并不含有CAN控制器,因此,选用SJA1000型的CAN控制器和PCA82 C250型的CAN收发器来实现CAN通信功能。

3.2 软件设计

3.2.1 应用程序的设计

(1)主程序的设计

系统的主程序设计主要包括系统的初始化、WIFI数据的接收与发送、CAN总线数据的接收与发送、数据显示和存储、预约排队算法等,主程序流程图,如图2所示。

图2 主程序流程图Fig.2 Flow Chart of Main Program

(2)WIFI程序的设计

图3 WIFI连接子程序Fig.3 Subroutine of WIFI Connection

初始化完成后,经由WIFI将集中控制器和远程服务器进行连接,WIFI连接过程,如图3所示。当WIFI模块收到远程服务器的指令后对其进行判断,进而去执行发送洗衣机状态数据、对洗衣机进行各种功能操作以及对预约信息进行排队优化等,控制器通过预约排队算法将最优的预约排队情况通过WIFI发送远程服务器方便服务器通过短信等方式通知用户。

(3)CAN程序的设计

控制器与线下洗衣机是通过CAN总线进行连接的,数据发送、数据接收、总线错误等都需要通过CAN中断服务程序。当判断为发送中断时,将所要发送的数据打包进行发送,发送成功后置CAN成功发送标志位;当判断为接收中断时,读取CAN消息对象中的数据并置CAN成功接收标志位;而当既非发送中断又非接收中断时,置CAN出错标志位。

控制器通过CAN总线将接收到的报文分离出来的洗衣机的状态数据传送给主控芯片,主控芯片对其进行分析,进而将数据中所包含的洗衣机的实时状态等显示在液晶屏上,并将数据整理存储在数据库中以方便调取和查询。

3.2.2 数据存储

系统采用qtopia所支持的sqlite3数据库对洗衣机经由CAN总线发送而来的数据进行存储。SQLite数据库采用了模块化、层次化的思想,由数据库接口、编译器、虚拟机与后端四个部分组成。其中数据库接口(各种API)是系统的入口,中间经过编译器(分词器、语法分析器、代码生成器),将API中传入的SQL语句或各种操作编译成数据库引擎可以解析的解释性代码,虚拟机按照解释性的代码流调用其下层的索引、表、页面缓存模块协同来完成数据的存储[7-8]。

在数据库中创建表格,实现对数据的管理,数据的存储方式,如表1所示。

表1 状态数据存储方式Tab.1 Storage of State Data

4 预约排队算法的优化

为了减少用户漫长的等待时间,在自助洗衣机中引入预约功能,并提出三种不同的预约排队算法,通过计算得出最高的“用户满意度”,即在一段时间内所有用户对洗衣服务的满意程度,从而选出最佳的预约排队算法[9-10]。

4.1 用户满意度模型的搭建

根据“用户满意度”建立模型并进行研究。影响“用户满意度”的因素主要有接待用户人数(假设为S)、平均等待时间(假设为H)和用户消费金额(假设为L)。构建“用户满意度”模型:

式中:H1、H2、H3—未预约用户平均等待时间、普通预约用户平均等待时间和加急预约用户平均等待时间;L1、L2—未预约用户和普通预约用户的消费金额和加急预约用户的消费金额;M1、M2、M3—未预约用户满意度、普通预约用户的满意度和加急预约用户的满意度;M—用户平均满意度。

假设用户的平均下单率为μ,系统中共有n台洗衣机,单个洗衣机的平均服务率(即单位时间内被服务的用户数)为λ,服务强度ρ=μ/nλ,Pm(n)为n台洗衣机中任意时刻有m个用户的概率,有:

当达到平衡状态时,平均对长为:

用户的平均等待时间为:

4.2 预约排队策略的设计

4.2.1 先到先得型

按照预约用户下单时间的先后顺序进行排队,当预约用户在预约规定时间内没有使用洗衣机,则由下一位预约用户进行预约使用,以此类推。这种策略会导致未使用预约服务的用户长时间无法使用洗衣机。假设当天排队的总人数为S,其中未预约用户数为S1,预约用户数为S2。在第一位预约用户使用的同时,其后预约用户的等候时间要加上这位预约用户的使用时间,对于未预约用户生成随机的使用时间并加上所有预约用户的使用时间,最后根据“用户满意度”模型计算出用户的满意度得分。

4.2.2 规律使用型

按照预约用户下单时间的先后顺序进行排队,每完成P(P≥2)次预约服务后,等待半小时的时间供没有使用预约服务的客户使用,当该客户使用完成后,继续执行预约排队序列,以此类推。相对于先到先得型预约服务,这种模式顾及到了未使用预约服务客户对洗衣机的使用。假设当天排队的总人数为S,其中未预约用户数为S1,预约用户数为S2。不失一般性的令P=2,即每有两位预约用户使用完成后,等待一位未预约用户进行使用,对于预约用户而言,在加上之前的预约用户的使用时间后,还需要加上一位未预约用户的使用时间(如果未预约用户没有使用,则该时间为半小时),最后根据“用户满意度”模型计算出用户的满意度得分。

4.2.3 高价优先型

在规律使用型预约模式的基础上,对于着急使用洗衣机的用户,可以在正常洗衣消费的基础上增加一定的额外费用来实现优先排队使用,即每当有高于基础消费的预约用户进入预约排队的队列后,根据总费用的高低插入到队列前,费用越高越靠前,相同费用下按照下单时间顺序排队插入队列前。这种模型综合考虑到了未使用预约服务的客户以及着急使用预约服务的客户。

假设当天排队的总人数为S,其中未预约用户数为S1,预约用户数为S2,普通预约用户数为S2,加急预约用户数为S3。不失一般性的令P=2,即每有两位预约用户使用完成后,等待一位未预约用户进行使用。对于加急用户而言,需要加上之前的加急用户的使用时间以及每两位预约用户后的一位未预约用户的使用时间(如果未预约用户没有使用,则该时间为半小时),而对于普通预约用户而言,除了要加上之前的普通预约用户的使用时间以及每两位预约用户后的一位未预约用户的使用时间,还需要加上加急用户的使用时间,最后根据“用户满意度”模型计算出用户的满意度得分。

4.3 预约排队策略的测试

根据表2中的测试数据对三种不同的排队策略进行满意度计算。通过“用户满意度”模型对三种不同的排队策略计算出用户的满意度得分,如表3所示。由测试可知,策略二改进了对未预约用户使用洗衣机的排队方式,使得未预约用的满意度大幅提高,而对于加急预约用户而言,付出了相对较高的费用,但是却没有排队的优势,因此满意度较低;而策略三针对加急用户改善了排队方式,虽然加急用户付出了相对较高的费用,但是获得了更有利的排队方式,因此满意度提高较大;对于三种不同的排队方式,均对于普通的预约用户相对有利,因此,用户的满意度基本不变并维持在一个相对较高的程度上。综合分析得出,在引入了预约服务后,采用第三种排队策略得到最高的满意度,能够最优的服务各种用户。

表2 待测试数据Tab.2 Data to be Tested

表3 测试结果Tab.3 Results of Test

5 系统测试

测试采用PC机作为上位机,并通过VB设计了监控界面对控制器进行测试,系统的测试平台,如图4所示。登录监控系统后首先建立TCP连接服务器,然后启动控制器通过WIFI与PC机进行连接,最后启动洗衣机,得到的控制器监控画面,如图5所示。此时,上位机得到的监控画面,如图6所示。

图4 测试平台Fig.4 Testing Platform

图5 实时状态监控Fig.5 Real-Time Status Monitoring

图6 PC机远程监控Fig.6 Remote Monitoring of PC

由测试可知,控制器对洗衣机状态监控的准确性,与PC机通信的准确性与稳定性,实现了线上PC机与线下洗衣机的对接。

6 结束语

采用S3C2440作为控制器的核心,以嵌入式Linux作为操作系统,实现了线上服务器与线下洗衣机的对接。系统搭建成本较低,但能满足我们对设计的需求。同时,为了解决用户漫长等待时间而引入了预约洗衣的功能,并对预约排队算法进行了研究,选出了最优的预约排队算法,使用户对于自助洗衣服务更加的满意。未来,我们还可以提出与完善更多的线上服务来满足用户的需求,使自助洗衣服务更加的智能化。

[1]彭云.我国电子商务发展现状[J].合作经济与科技,2011(6):87-88.(Peng Yun.Situation of e-commerce development[J].CO-Operative Economy&Science,2011(6):87-88.)

[2]刘军.我国电子商务发展现状及趋势分析[J].甘肃科技,2008(11):81-84.(Liu Jun.Analysis of e-commerce about the development and trend[J].Gansu Science and Technology,2008(11):81-84.)

[3]马资道,张正炳.基于ARM-Linux的无线视频监控系统的设计与实现[J].长江大学学报:自然科学版,2010,7(3):605-607.(Ma Zi-dao,Zhang Zheng-bin.Design and implementation of wireless video surveillance system based on ARM-Linux[J].Journal of Yangtze University:Nat Sci Edit,2010,7(3):605-607.)

[4]吴新生.基于ARM/WIFI/QT的无线视频监控系统的开发[J].计算机应用系统,2013,22(8):76-79.(Wu Xin-sheng.Development of wireless video monitoring system based on ARM/WiFi/QT[J].Computer System&Application,2013,22(8):76-79.)[5]郭素敏,向凤红.基于CAN总线的智能数据采集系统设计[J].昆明理工大学学报,2003,28(5):77-81.(Guo Su-min,Xiang Feng-hong.Design of the intelligent data acquisition system based on can bus[J].Journal of Kunming University of Science and Technology,2003,28(5):77-81.)

[6]张洪建,李正明,潘天红.基于Qt/Embedded的嵌入式半自动生化分析仪人机界面设[J].机械设计与制造,2009(10):4-6.(Zhang Hong-jian,Li Zheng-ming,Pan Tian-hong.Design of embedded chemistry analyzer man-machine interface based on Qt/Embedded[J].Machinery Design&Manufacture,2009(10):4-6.)

[7]史永昌,王永乐.基于SQLite的嵌入式数据库研究与应用[J].福建电脑,2008(8):151-148.(Shi Yong-chang,Wang Yong-le.Research and application of embedded database based on SQLite[J].Fujian Computer,2008(8):151-148.)

[8]李婧,李亚,任建勋.基于SQLite数据库的水文信息存储方法探讨[J].计算机光盘软件与应用,2014(2):149-151.(Li Jing,Li Ya,Ren Jian-xiong.Probe the storage of hydrological information based on SQLite database[J].Computer CD Software and Application,2014(2):149-151.)

[9]刘君瑞,陈颖图,樊晓桠.基于先到先服务的二维动态优先级信令排队算法[J].计算机科学,2011(5):89-92.(Liu Jun-rui,Chen Ying-tu,Fan Xiao-ya.Two dimensional dynamic priority-based FCFS token-queuing algorithm[J].Computer Science,2011(5):89-92.)

[10]叶宗文.维修行业中排队模型的应用[J].四川兵工学报,2009(10):65-67.(Ye Zong-wen.Application of queuing model in repair industry[J].Journal of Sichuan Ordnance,2009(10):65-67.)

猜你喜欢
洗衣机排队总线
怎样排队
洗衣机里不能藏
全自动洗衣机
巧排队列
一种基于CAN总线的误码测试方法
三角龙排队
糊涂的洗衣机
使用洗衣机
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计