×

如何使用ARM开发板和Linux嵌入式系统设计一个智能点菜系统

消耗积分:0 | 格式:docx | 大小:0.94 MB | 2018-11-28

h1654155987.9043

分享资料个

  本课题设计是以ARM开发板搭载Linux嵌入式系统为核心,使用QT编程制作GUI点菜终端,用LCD屏显示菜单信息,并可以通过触摸屏按钮实现点菜,换台,查询已点菜和结账等常用服务功能。通过Linux Socket套接字通信机制创建服务器和客户端,实现通过点菜终端向服务器发送数据。文章详细介绍了嵌入式Linux移植到ARM开发板和软件的设计过程,设计的GUI系统具有小型、高效、支持网络功能等特点。

  随着新时代的发展,国民生活水平的提高。日渐丰富的生活活动,以及人们对于衣食住行等方面的质量在这个新时代里有了很大的提升。随着人们外出的时间占比的增长,给传统的酒店服务业带来了空前的机遇和压力。面对传统的餐饮服务,人们的耐心在大幅度的减少。所以现代餐饮业迫切需要一些针对传统餐饮业的弊端的改革。餐饮业已经发展成为我国的黄金产业,在国民生产生活中扮演重要角色。餐饮企业做大做强,追求现代化、产业化、品牌化的在进程中,从点菜服务等基础项目即实现信息化管理,提供更加快速、便捷、透明、卫生的餐饮条件,对其经营档次、服务质量和管理效率的提高具有重要意义,这就催生和发展了网络点菜终端业务。

  随着国民生产生活水平的不断提升,人们对生活质量的要求也越来越高。作为生活消费必不可少的一部分,餐饮的质量成为衡量生活品质的重要标准。而餐饮服务质量包括了各个方面,快速上菜、快速结算、便捷订单、透明菜价、菜品档次、菜品成分、卫生环境和饮食健康成为其不可或缺的内容。显然,从点菜服务等基础项目即实现信息化管理,提供更加快速、便捷、透明、卫生的餐饮条件,对餐饮企业服务质量和管理效率的提高具有重要意义因此,本设计针对传统餐饮业在点餐服务和菜品数量供应上的一定的弊端进行改进,利用现代普遍的电子信息技术给餐饮业的服务管理等在信息同步上做一定的改进。特别是对于拥有大量客户的餐饮企业中,对客户需求和服务人员的实时管理,进行日常菜品推送,是一项繁琐费力,而又必不可少的工作,如果能够采用智能化的点菜系统,及时收集客户需求的各种信息,并按照可预测的方法进行用户的市场分析,发现异常情况进行报警提示,从而提高工作效率,节省人力物力。

  基于ARM和Linux的嵌入式系统,具有成熟的嵌入式硬件结构和丰富的开放软件资源,优良的性能和广泛的市场定位,这无疑对开发工作和学习研究是一个重大帮助;在GUI(图形用户界面)的选用上,使用基于C++语言面向对象编程的应用程序开发软件库Ot,它汇集了丰富的C++类提供开发应用程序用户界面所需要的全部内容,具有优良的跨平台性能和丰富的API函数及开发文档。另外,当前量产的普通PDA和PC机硬件上已经基本满足点菜系统要求,使自行研发的专用硬件设备不再具有明显的成本优势。为此,本课题集合ARM、嵌入式Linux和Qt开发应用等技术,利用本人已有的S3C2440开发板硬件基础,以程序软件的通用性和易用性为方向,构造能够方便移植到到各种PDA系统的点菜终端程序和普通PC机的服务器软件,实现整个无线点菜系统。提升餐饮业服务质量和管理效率,并为自身研究学习嵌入式系统和GUI应用开发提供一个良好的平台。

  图形用户界面的引入为嵌入式设备提供了图形化的监控和控制界面 ,提升了嵌入式系统的整体功能并降低了设备的使用复杂度。针对本设计的用户界面需求,做如下分析

  1、 在界面主提的设计上,要做到符合人们的生活日常体验,降低界面的复杂度,给用户较好的使用体验。

  2、 用户界面作为系统直接面向用户的产品面,应具有一定的简单元素。

  3、 为满足系统可使用在不同的酒店、餐饮店铺内,系统在用户界面上,后台管理系统应具有一定的更改界面的功能,所以在用户界面实现的过程中,应注意预留一定的接口.

  系统后台作为系统的管理后台,在界面实现上。应具有比用户界面更强大的界面功能。因系统的使用者在一定程度上是不清楚嵌入式开发的具体工作,所以,系统界面在实现过程中相当于对于本个系统的“黑盒”封装,所以,在系统源码部分,应作出一定的扩展,使得系统的后续开发能够很好地进行下去。因此,对于系统后台界面需求做如下分析。

  1、 在在界面实现上,应具有一定的设置功能,能够通过后台的设置更改,更改前端用户界面的图形表示级显示。

  2、 在用户界面的基础上,后台的界面显示系统应更具有多功能性,给系统的各项界面应具有一定的趣味性。

  本点菜系统,旨在通过现代化的嵌入式电子信息技术,优化传统的餐饮行业的一些弊端。所以在本系统的用户服务方面,应做出各项全面的考虑,为服务用餐客户而去建设系统,使系统的实用性和方便性做到更好。

  1、 用户在使用用户端时,应没有操作门槛,因此,对于系统的用户界面要求应做到,切合实际和简单易用且功能强大。

  2、 在传统的餐饮业中,呼叫服务总是通过语言呼叫的方式去寻求服务。但在现代火爆的店铺中,经常因为环境比较嘈杂而致使服务员无法及时地判断出哪位客户需要服务或者客户的服务需求,为针对这一痛点。在本系统中,客户在客户端界面上,因具有呼叫服务的功能。

  3、 在传统的餐饮业中,买单经常是客户提出买单后,服务员给客户办理买单服务。但在移动支付的现在,还是依靠传统的方式进行结账活动,不仅会浪费服务员的服务时间,在客户的等待过程中,难免生成不稳定和不好的客户体验。所以,在针对这样的一种情形,在本系统的设计上因在客户点单完成是提交订单后调用移动支付接口,等待客户支付完成后再将点单数据配送至后台。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'如何使用ARM开发板和Linux嵌入式系统设计一个智能点菜系统',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);