智能点餐系统开发纪实2—–系统整体结构和业务流程「建议收藏」

1请看这里http://blog.csdn.net/jason0539/article/details/20854329 写完之前这个就没写,趁着新鲜感几天就把这个弄完了,也没再写别的东西,前几天已经完成了,今天需要写一个文档,写完文档就把里面我写的部分贴到这里来了,有点罗嗦,凑字数。其实就是讲了一个整体流程,整个系统主要分四部分:小车,手机,收银台,厨房。服务器写了两个,收银

大家好,又见面了,我是全栈君。

1请看这里http://blog.csdn.net/jason0539/article/details/20854329

 

写完之前这个就没写,趁着新鲜感几天就把这个弄完了,也没再写别的东西,前几天已经完成了,今天需要写一个文档,写完文档就把里面我写的部分贴到这里来了,有点罗嗦,凑字数。

其实就是讲了一个整体流程,整个系统主要分四部分:

小车,手机,收银台,厨房。

服务器写了两个,收银台一个,用来处理手机的连接,包括菜单更新和订单处理,

                                厨房一个,用来处理送餐小车的连接,主要用来给小车发送桌号,让小车送餐到指定桌号。

手机就用的android,不多说,

小车用的arduino,都是一个个的模块,连上写点程序,处理下各个串口的数据就行。

 

客户端:采用android平台开发的应用,主要功能是客人在餐厅打开应用后,连接到餐厅的wifi信号,通过开启一个socket去后台服务器查询菜单,如果是第一次打开,自动下载所有菜单,否则的话会检查菜单是否有更新,如果菜单更新则自动下载最新菜单,并自动存储在应用的数据库中,方便离线查看.客人在应用中选择要点的菜品,填上自己所在桌号,然后提交订单,即可将订单发送到服务器.

 

收银台:在收银台可进行菜单的增删改查.客人打开客户端应用之后,会自动连接到收银台的服务器这边来,服务器开启一个线程去处理该客户端的请求,服务器根据客户端的请求指令做出相应,给客户端发送菜单或者接受客户端的点餐订单,客户端的订单请求被服务器存储到后台的MySql数据库中, 收银台的可视化界面通过jdbc与数据库交互存取数据,然后显示到收银台的可视化界面.当客人过来买单,则通过收银台查询数据库中对应桌号的信息,即可获取订单信息,包括所点菜单,总价等,点击结账按钮之后,从数据库中删除此条订单信息.

 

厨房后台:厨房与收银台连接同一个数据库,与收银台不同的是厨房只查询订单信息,然后厨师根据订单信息做菜.小车上面安装了wifi模块,自动连接到厨房的服务器上面,当订单完成后,厨房工作人员通过送餐按钮发送送餐指令给小车,小车收到指令来到厨房,把菜品送到客人所在的餐桌.同时指令发送成功之后,数据库中的相应订单会被删除掉,并自动刷新订单列表,厨师继续做下一张订单的菜品.

 

小车:平时在指定地点充电,收到厨房的送餐指令之后(就是一个桌号)。这个在餐厅里的地面上是有黑色的轨迹和RFID标签的,黑色轨迹用来让小车循迹,不要到处跑,RFID卡片里写着桌子的号码。小车首先到厨房把要送的菜装好,然后按照地板上的循迹线路走,如果读到到写好了指定桌号的RFID卡片,则转弯到餐桌旁边,然后返回充电地点。之后重复以上过程。

 

写这篇的时候突然发现,我为什么要写智能两个字,根本没有体现出智能来,但是现在不管什么行业,都要跟智能两个字贴个边,智能家具,智能热水器,智能这个,智能那个,不明白到底智能在哪里,大部分也就是能做到自动而已,跟智能还差得远。

 

如果没有意外的话这个后面就不再写别的了,之前一直做这个项目做那个项目,大部分做的是重复劳动,很少涉及数据结构和算法之类的原理性的知识,感觉有点虚,之后少写代码,能保持手感就行,多看书,初步打算看完《think in java》《android内核剖析》《深入理解java虚拟机》《数据结构与算法分析(java语言描述)》,然后再作别的打算。

找工作,压力颇大。

 

作者:jason0539

微博:http://weibo.com/2553717707

博客:http://blog.csdn.net/jason0539(转载请说明出处)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121345.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux history命令

    Linux history命令1、在脚本中由于是在另外一个shell中进行语句的执行,所以history显示的是脚本运行的shell的history语句,而不会显示你执行该脚本的终端中的history2、我们可以在家目录下的.bash_history文件中查看自己的历史命令,而history查看的是内存中的历史命令,如果需要将内存中的历史命令加入其中,那么就需要使用history-w将当前终端的历史命令覆盖.bash_history的内容或是history-a在.bash_history文件的尾部添加当前shell的历史命令

    2022年7月13日
    22
  • native2ascii命令_native method

    native2ascii命令_native methodnative2ascii是一个关于转码的不错的命令.使用条件简单,只要安装了jdk之后,在cmd窗口就可以使用该命令对文件进行转码,而且转码过程是可逆的.安装路径下bin目录下,有一个native2ascii 批处理文件也可以完成转码.具体的语法如下:native2ascii-[options][inputfile[outputfile]]-[options]:表示命令开关,

    2025年10月29日
    3
  • java io面试题_JavaIO流常见面试题

    java io面试题_JavaIO流常见面试题1.Java中有几种类型的流?字符流和字节流。字节流继承inputStream和OutputStream字符流继承自InputSteamReader和OutputStreamWriter总体结构图2.字节流和字符流哪个好?怎么选择?大多数情况下使用字节流会更好,因为大多数时候IO操作都是直接操作磁盘文件,所以这些流在传输时都是以字节的方式进行的(图片等都是按字节存储的)如果对于操作需要通过…

    2022年5月24日
    50
  • SpringMVC整合SwaggerUI

    SpringMVC整合SwaggerUISpringMVC 整合 SwaggerUI 文章目录 SpringMVC 整合 SwaggerUI 概念介绍相关资源下载编写整合代码 index html 文件修改 maven 中引入依赖 springmvc 配置文件中配置资源路径编写 swagger 配置文件效果展示整合时可能出现的异常问题分析问题解决总结参考资料网上介绍 Swagger 整合的文章很多 但都是东拼西凑 抄来抄去 讲不清楚重点 本文的目的就是希望那些从来没

    2025年11月28日
    5
  • UE4制作星际天空球[通俗易懂]

    UE4制作星际天空球[通俗易懂]效果图:需要的东东西:6张无缝连接的图片,如果没有的推荐大家下载“Spacescape”3dsMax2018软件EpicGamesLauncher(UE4游戏引擎)然后就是阅读本博客了教程开始首先教大家使用Spacescape如果有素材的读者可以直接跳过打开界面如下点击左上角文件打开或者直接快捷键Ctro+O选择素材笔者推荐最后两个,不过无妨大家都

    2022年9月27日
    2
  • vue分页列表[通俗易懂]

    vue分页列表[通俗易懂]html部分css部分js部分

    2022年10月1日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号