朋友8万接的共享口罩项目,开发周期1个月!

小哈学Java

共 2761字,需浏览 6分钟

 · 2021-07-04

一位朋友背后的私活小团队,开发的共享口罩售卖机的小程序。

希望把这些真实案例分享出来,大家能学到点东西,比如硬件怎么通过手机蓝牙操控,商业项目怎么推广,软件怎么和硬件配合,自动售卖机技术方案是什么样的等等。

下面是测试机器设备


人员及技术选型情况

  • 前端   技术栈  vue   小程序及PC端页面

  • 后端   TPshop(二开商城)

  • 硬件部分用 C 修改的协议   控制板

  • 硬件周期20天(研发+硬件制作)

  • 软件开发周期30天  

  • 开发人数 2人   

  • 数据库Mysql

  • 整体费用是8万

  • 小程序蓝牙接口

  • 走的公司合同

  • 阿里云服务器1台


项目背景

疫情当下口罩需求已经是刚需了,去医院去银行等等公共场所都需要带口罩进去,有时候大家也经常忘记带口罩,这个时候如果有一个自动口罩售卖机就非常方便了,程序汪这个项目就是在这个背景下诞生


小程序(蓝牙API)

蓝牙控制,这跟团队以前接的共享充电宝项目类似

小程序本身功能比较简单,核心就是一个扫码下单购买口罩的功能

注意支付成功和调用蓝牙接口通知吐口罩是找一个事物里,口罩吐成功会上行反馈结果然后更新订单的状态。




PC端

目前主要功能

PC端基本功能如下列菜单,其实就是一个电商的项目拿过来改吧改吧,反正核心流程就是下单购买口罩,目前商品很单一就是口罩而已

下面就是一个商城的后台管理系统拿过来二开下就行




这是PC管理后台的源码,二开商城可以参考下

PC后端源码地址:
链接: https://pan.baidu.com/s/1QOsRdDwv0Z5psF0Sbu6g2w  密码: l2ad

蓝牙通信协议修改

硬件厂家会把蓝牙通信协议文档提供给我们的,我们肯定需要修改的,就是加点字段什么的 (时间戳或标示什么的,具体的就不泄露了)


文档里就修改3.1 和 3.9 这两个协议

获取令牌用来鉴权是不是我们的小程序发生的连接

开锁就是小程序支付成功后吐口罩的动作

消息根据接口文档转成16进制,然后进行蓝牙传输

AES-128 密钥


 


加密解密DEMO

参考以下 AES-128 数据加密的 JAVA 实现:


 public static byte[] Encrypt(byte[] sSrc, byte[] sKey){
  try{
   SecretKeySpec skeySpec = new SecretKeySpec(sKey, "AES");
   Cipher cipher = Cipher.getInstance("AES/ECB/NoPadding");
   cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
   byte[] encrypted = cipher.doFinal(sSrc);
   return encrypted; }catch(Exception ex){
   return null; } 
      }

参考以下 AES-128 数据解密的 JAVA 实现:

 public static byte[] Decrypt(byte[] sSrc, byte[] sKey){
  try{
   SecretKeySpec skeySpec = new SecretKeySpec(sKey, "AES");
   Cipher cipher = Cipher.getInstance("AES/ECB/NoPadding");
   cipher.init(Cipher.DECRYPT_MODE, skeySpec);
   byte[] dncrypted = cipher.doFinal(sSrc);
   return dncrypted; }catch(Exception ex){
   return null
   } 




硬件部分

根据上面那个蓝牙通信接口文档开发出来的(蓝牙接口文档定义好了会丢给硬件小哥)

研发花了10天左右样子,然后送到工厂烧控制板花了10天左右

下图这玩意成本价不贵就几十元,弄好了安装到口罩售卖机里面



调用微信支付




参考资料

https://developers.weixin.qq.com/miniprogram/dev/framework/device/bluetooth.html  微信小程序蓝牙接口


1. Java必会的工具库,让你的代码量减少90%

2. 字符编码,竟然也是 SQL 不走索引的元凶之一。。

3. 小团队真的适合引入SpringCloud微服务吗?

4. Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台项目

最近面试BAT,整理一份面试资料Java面试BATJ通关手册,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。

获取方式:点“在看”,关注公众号并回复 Java 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

浏览 39
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报