查看原文
其他

程序汪10万接的无线共享充电宝项目,开发周期3个月

程序汪 我是程序汪 2022-07-01

本文章来自程序汪背后的私活小团队,开发智慧充电的小程序,希望把这些真实案例分享出来,大家能学到点东西,比如硬件怎么通过手机蓝牙操控,商业项目怎么推广,软件怎么和硬件配合,充电宝技术方案是什么样的等等。

B站【我是程序汪】

这次又是一个名字听上去很高大上的项目,无线充电智慧云管理系统

因为是商业项目所以部分截图打码,谢谢理解



开发人员(1人)

  • 前端   技术栈  layui  主要任务 小程序及PC端页面

  • 后端   技术栈  springboot  

  • 开发周期90天  

  • 开发人数 2人   

  • 整体费用是10万(不含硬件部分)

  • 走的公司合同

  • 阿里云服务器1台


技术选型

  • 核心框架:Spring Boot

  • 数据库连接池:Druid

  • 缓存:redis

  • 数据库:mysql

  • 小程序蓝牙接口


项目背景

无线充电技术现在越来越成熟,用户可以很方便的充电,比如在餐厅吃饭时只有扫下二维码就可以无线充电非常的方便,当然比较老式的手机只不支持无线充,但用不了几年大家都会抛弃老手机换新手机,这样无线充电的市场会越来越大。



核心的一个流程



具体演示下充电的场景


无线充电桌贴(上面有二维码的)

桌面上的情况,在充电设备的正上方会放一个圆形图标,放手机放到正确位置


小程序(蓝牙API)

程序汪把核心页面截图出来,开发的第一版本的小程序功能比较少



 


https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceCharacteristics.html


下面是小程序蓝牙API ,这块是用来跟充电硬件设备已经连接的


微信小程序示例代码

在开发者工具中预览效果

// 向蓝牙设备发送一个0x00的16进制数据let buffer = new ArrayBuffer(1)let dataView = new DataView(buffer)dataView.setUint8(0, 0)
wx.writeBLECharacteristicValue({ // 这里的 deviceId 需要在 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取 deviceId, // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 serviceId, // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 characteristicId, // 这里的value是ArrayBuffer类型 value: buffer, success (res) { console.log('writeBLECharacteristicValue success', res.errMsg) }})

微信方法示例代码

在开发者工具中预览效果

// 必须在这里的回调才能获取wx.onBLECharacteristicValueChange(function(characteristic) { console.log('characteristic value comed:', characteristic)})
wx.readBLECharacteristicValue({ // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接 deviceId, // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 serviceId, // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 characteristicId, success (res) { console.log('readBLECharacteristicValue:', res.errCode) }})



充电硬件方的蓝牙接口 (这里省略字段名字,但基本功能描述如下)

     

备注

设置设备打开关闭

设置设备充电时长

设置设备延时关闭时长

读取当前设备充电状态


1 设置打开

0 设置关闭

设置充电时间,1个单位时长10分钟,默认值30分钟

设置延时关闭时间,1个单位时长5分钟,默认10分钟




PC端

目前主要功能

PC端基本功能如下列菜单,其实比较复杂点的逻辑就是利润分成那块,其他基本也就是CRUD





硬件部分

需要商务沟通的各种接口开发联调,硬件也分自助研发和厂家定制

  • 微信小程序蓝牙接口

手机和硬件的接口对接,主要工作量就是微信小程序蓝牙,以前微信公众号的接口文档不是特别完善,联调那叫一个累啊,特别是安卓和苹果部分参数是不一样的,文档又没清楚说明,反复研究了好一会才测试通过。



蓝牙兼容没问题的情况下,支持出现支付页面

调用微信支付

支付成功后开始计时,(有点像共享单车)

这是当时联调的场景,如下图,这个电路板小圈圈就是硬件商提供的



技术注意(硬件的锅)

本项目的问题基本都是硬件,软件部分就蓝牙控制那块有点麻烦,其实文档完善的情况下也没什么难度

  • 1 蓝牙连不上问题  ,硬件问题   (免费试用15秒)   

  • 2 蓝牙连上但不充电  ,硬件问题(情况很少,可以走报修退款)



点下方原文链接观看B站视频版本

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存