0.规划摘要
当今社会是信息爆破的年代,但在绝大多数餐饮行业企业中,一般都还在运用传统的点菜方法,即客人走进餐厅或许酒吧等场所,服务员就拿着菜单迎上来问询客人要求客人点菜。这种传统的点菜方法给顾客带来了许多的不便利,而且需求数量很多的服务员,更给企业的开展带来了很大的妨碍。智能化设备的引入将有用的削减职工数量并进步职工作业效率,从而在削减企业人力本钱的一同进步服务质量,为企业的开展供给微弱的竞争力。
现在餐饮业中顾客关于餐厅的投诉或不满,大部分是因为上菜速度太慢或服务人员关于顾客的要求反响不及时。只要操作简洁、服务及时的点菜方法,才能让顾客满意,不然即便菜肴、饮品质量再好,也会使餐厅服务大打折扣。
本规划意图是为餐饮服务业供给一款依据PIC32的自助点菜体系——一种不需求服务员的点菜体系;除此之外,本体系还为顾客供给催菜、缓菜、检查账单和呼叫服务员等服务。该点菜体系一方面能减轻服务员的使命,削减服务员的人数,为商家下降人力本钱;另一方面也能为顾客供给更全面和及时的服务,进步顾客消费的便利性、舒适性。
1.体系原理
本体系整合PIC和ZigBee无线通讯技能,完结功用完全便利易用的自助点菜体系。整个体系包含安装在客人餐桌上的终端和餐厅前台的上位机,其间终端主要是由PIC单片机和ZigBee的收发模块组成,而上位机又与其它的ZigBee的收发模块相衔接,根本的体系结构框图如图1所示。客人能够运用安装在餐桌上的终端,经过按键等输入设备完结点菜、缓菜、检查账单和呼叫服务员等服务。客人承认所点的菜肴的时分按下承认键,这时分终端体系就会将客人的菜单经过ZigBee无线体系发送到收发模块,收发模块再将客人所点的菜单经过串口发送到厨房和前台的上位机。
本体系所运用的Digilent Cerebot™ 32MX4开发板是一个功用强大的微操控器开发板,能够衔接点菜体系中需求用到外围Digilent Pmod模块。本课题选用的是TI公司的嵌入式射频芯片CC2430构建无线局域网络,完结点菜终端和上位机的通讯。一般,能够把安装在终端上的无线收发器称之为子节点,与上位机相连的收发器叫做中心节点。
图1 点菜体系结构框图
1.1 ZigBee技能
ZigBee技能在近年来得到了快速的开展。zigBee作业于868MHz、915MHz、2.4GHz这三个频段,传输速率20-250kbps,传输间隔为10-100m。因为其低速率、低功耗、低本钱、近间隔的特色,使得ZigBee技能能够很好的用于本课题规划的无线点菜体系。
ZigBee协议栈契合OSI体系结构,共分4层。下面两层,物理层PHY和前言拜访操控层MAC是由IEEE802.15.4标准界说的。ZigBee标准在此根底之上构建了网络层NWK、应用层APL以及安全服务SSP。ZigBee标准依据设备所在的人物界说了三种逻辑设备类型:ZigBee和谐器(ZigBee Coordinator)、ZigBee路由器(ZigBee Router)和ZigBee终端设备(ZigBee End Device)。
1.2终端点菜流程
终端软件的点菜流程如图2所示。上电初始化后,终端上的LCD进入点菜界面,顾客能够依据菜品分类(特色菜品、冷菜类、热炒类、汤羹类、特色小吃、饮料等)阅读菜单,也能够阅读当天的引荐菜品,菜单上显现菜品的价格和文字介绍等信息。一同,获知已点菜品的状况(未制造、烹制中、等候上菜、现已上菜),还可随时检查自己的账单明细。而饭馆可依据当日实际情况更改菜品的状况(可点或不可点)和价格。
此外,在整个用餐进程中,可随时催菜、缓菜、退菜、加菜等操作,并检查菜的制造状况和账单明细,其间顾客的一切操作都是经过安装在终端上的按键来完结。最终,经过前台打印账单进行结账服务。整个进程便利便利、操作简略。
图2 终端点菜流程图
1.3无线点菜终端
终端规划中充分运用了PIC的片内资源,程序能够存储在片内的Flash中,而且片内RAM能够用来存储数据,这样就大大简化了体系规划难度,节省了本钱。更重要的是,在PIC周围能够便利的衔接上规划所需的外围器材,主要有以下几个部分:
1) UART接口用于与移植到CC2430的ZigBee通讯模块进行衔接;
2)16×2字符LCD模块作为终端的输出设备,输入外设为一个2×2的按键开关,这些为用户供给便利的人机交互界面、杰出的操作环境,利于调试;
3)SD卡模块可与PIC32的SPI接口或许GPIO相衔接,它用来存储大容量的餐厅的菜品信息和顾客的点菜信息;
4)外接专用的调试电路,能够经过USB接口便利的下载程序和片上调试;
5)PIC32内建USB 2.0 On-The-Go物理层,能够直接与USB Host和USB OTG接口相连,这两个接口能够用作将来的外设扩展。
其间LCD模块选用运用一个Samsung KS0066 CD操控器的Sunlike LCD板, 而无线通讯模块则是依据CC2430建立的ZigBee局域网络,这些模块正好运用Cerebot 32MX4开发板的PMOD扩展接口进行建立,做到了资源的充分运用。整个无线点菜终端的硬件结构图如图3所示:
图3 终端硬件结构
1.4前台体系
前台体系由三部分构成:上位机Visual C界面、无线通讯中心节点板以及打印机。上位机(PC端)用MFC建立人机交互界面,用于各个桌号菜单账目计算,并操控打印机打印账单。Visual C经过串口控件与中心节点板衔接,坚持与多个终端的通讯。CC2430中心节点板的串口模块可直接将接纳到的数据传到上位机,并将反应数据传回各个终端。点菜完毕后,顾客可从打印机中得到消费账单,便利便利。
2.技能特色
1)灵敏高效的PIC32解决方案
PIC32作为一款高性能32位单片机,它是以MIPS32架构为根底规划的,具有高频、小芯片尺寸和超低功耗的特色。本课题以PIC32MX460为核心部件,完结并完结了ZigBee无线点菜体系的规划,在终端中,选用PIC32来操控发射信号的品种和对信号编码的操控。选用PIC32解决方案,便利灵敏的扩展体系,满意杂乱的外设要求。
2)最具性价比的ZigBee技能
一般来说,跟着通讯间隔的增大,设备的杂乱性、功耗以及体系本钱都在添加。相关于现有的各种无线通讯技能,ZigBee技能是最低功耗和本钱的技能。ZigBee技能也存在着本身的缺陷,该技能的数据速率比较低和通讯规模较小。但因为本体系所承载数据流量较小,所以ZigBee就十分合适,具有最佳的性价比。
3)Cerebot 32MX4丰厚的外设接口
本课题所运用的Digilent Cerebot™ 32MX4开发板是一个功用强大的微操控器开发板,它具有九个Digilent Pmod™外围模块衔接器。本课题需求用到的Digilent Pmod模块有按键开关、字符LCD、以及SD卡插槽,开发板还能够用来衔接H-bridge驱动、模数和数模转换器、蜂鸣器、滑动开关、LED指示灯等,其供给了丰厚的外设资源。
3.软件流程介绍
3.1无线网络软件规划
体系中经过简略的无线星型网络完结了前台的PC机和PIC32点菜节点的双向通讯。无线网络体系初始化时将各节点的通讯频率固定在2.48G频点上,经过中心节点轮询各子节点的方法时分复用完结组网及双向通讯。
中心节点和子节点的CC2430均经过中止接纳串口数据与无线传输的数据。假如PC机经过串口向中心节点发送数据,则中心节点首要解析数据包(33个字节,首字节为地址,其他为数据),并依据地址设置相应的节点标志位。当中心节点对子节点进行问询时首要查询该节点的标志位,若没有数据传输则将发送数据报首位设置为DATA_REQ(0x0F),标明该数据报没有数据内容;若有数据传输则将发送数据报首位设置为DATA_TRANS(0xF0),标明该数据报有数据内容。传输完毕后中心节点进入接纳状况,接纳子节点回传的数据报。接纳到的数据报首位为ACK_NO_DATA(0x30)标明数据报中没有数据内容,中心节点不作处理;若数据报首位为ACK_WITH_DATA(0x33),则将子节点号和数据内容经过串口传给PC机,接开端新的问询操作。若中心节点没有收到相应的回传数据报,则中心节点会重复问询子节点,重复问询最高次数为3次。中心节点经过对子节点地址进行计数完结对各个子节点的轮询。
子节点的无线模块一般处于接纳状况,当接纳到数据报时首要解析数据报的意图地址字节,若意图地址和本身地址不匹配则不作处理;若意图地址和本身地址匹配则对接纳到的数据报进行解析,若包头为DATA_TRANS(0xF0)则将数据内容传给终端的PIC32体系,接着查询串口标志位(子节点串口中止接纳程序在接受到P%&&&&&%32发送的数据后设置串口标志位),若有数据发送则将数据报首方位为ACK_WITH_DATA(0x33),并将其和数据内容一同回传给中心节点;若没有数据发送则首位标志置为ACK_NO_DATA(0x30)。
3.2前台人机交互界面规划
点菜体系的前台需求构建操作友爱的人机交互界面,考虑到CC2430中心节点板的串口模块可直接将接纳到的数据与上位机通讯,选用VC建立该界面。VC供给了MSComm(microsoft communications control)控件,经过串行口进行数据传输和接纳,为应用程序供给串行通讯功用。MSComm控件通讯功用的完结实际上是调用了API函数,而API函数是由Comm.drv解说并传递给设备驱动程序进行的,即MSComm控件的特点供给了通讯接口的参数设置,能完结串行通讯。
终端与前台通讯遵从必定的协议格局,头一个字节是节点号(即就餐桌号),紧接着两个字节是传输指令,最终才是所传输的内容。终端传到前台的指令共有5类:传送菜单(MENU_CMD)、催菜(HUSH_CMD)、加菜(ADD_CMD)、菜单状况(STATE_CMD)和结账(CHECK_CMD);前台传回的指令有两类:操作成功(OK_CMD)和操作失利(NO_CMD)。