本文章来自程序汪的项目亲身经历,希望给大家一些经验参考
视频版本请到B站 【我是程序汪】观看
项目背景很多朋友上学时应该见过,那种饮水机刷卡喝水的吧。不要问我为什么学校喝水也要钱,现在什么不要钱哦。
本项目就是跟学校合作的项目,商家有点小创新这次充值用微信小程序就行,是预付费的,就像电话卡一样,充多少用多少,另外有一个定制水杯(代替以前的卡),水杯放到饮水机上出水。
特点
- 以前的卡变定制水杯,水杯底部有芯片的
- 充值变方便了,微信小程序自己充值,预付费的
- 饮水机当然是厂家定制的
- 硬件部分,鉴权余额然后出水
- tcp服务,处理硬件的消息然后转发到web服务上
- web服务,小程序和PC端后台管理系统
硬件---》tcp服务-----》web服务
小程序
PC管理系统
项目中难点tcp程序汪那个饮水机物联网项目中tcp服务器那块知识点
书推荐看这个《TCP/IP协议详解》
建议大家学习下面知识
项目部分截图程序汪项目中部分资料
我也不是搞嵌入式开发的,大家有兴趣自己研究研究吧
mysql金额字段设计
关于并发目前这个项目没多少并发量点,虽然学生很多,但是饮水机就这么几台哦
学校里大家都懂的,干什么都要排队,所以前期并发问题不大
关于加钱什么缓存redis ,nginx负载均衡 前期都没有引入,打算二期引入
当然得加钱拉
开发注意1. 故障上报 断电 水流中断电, 硬件消息会保存本地 消息会重试
2. 软件队列 订单第一失败 重试,失败场景 放到队列 定时轮训
3. 扣款事务( 定单 扣款),这个是常识
4. 钱mysql 字段 column_name DECIMAL(P,D) 精确到分
程序汪历史私活项目分享本文章原创首发 Java项目分享
https://mp.weixin.qq.com/s/GQLE77hjvXXFj8AphZhHgA
,