问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

线上娃娃机项目开发经验分享:从硬件改造到串口通信协议

创作时间:
作者:
@小白创作中心

线上娃娃机项目开发经验分享:从硬件改造到串口通信协议

引用
CSDN
1.
https://blog.csdn.net/u011091199/article/details/137121982

线上娃娃机项目是一个结合了硬件控制和软件开发的物联网项目。本文将详细介绍该项目的技术选型、开发团队、开发周期、费用预算等信息,并重点描述硬件改造和串口通信协议的实现细节。

开发团队与预算

  • 开发人员:2人(1软1硬)
  • 开发周期:40天
  • 整体费用:8万(硬件3万,软件5万)
  • 技术选型
  • 核心框架:Spring Boot
  • 数据库连接池:Druid
  • 数据库:mysql
  • MQTT
  • APP:uniapp

项目背景

由于疫情影响,线下的娃娃机搬到了线上。所谓在线抓娃娃,是通过手机APP操控线下真实的娃娃机。这个娃娃机可能安置在某个仓库内,而你随时随地都可玩,摄像头会直播抓取过程。

远程操控

这里重点介绍硬件改造点:

  • 定制控制板:在原有的硬件设备上增加一个4G通讯模块,这部分是硬件兄弟负责
  • 摄像头:采用海康威视的360度全景摄像头

简单描述下整个消息链路:

APP -> 后端服务 -> TCP(MQTT服务器) -> 网络通讯(4G模块) -> 调用硬件的串口 -> 最终操作娃娃机

抓娃娃机串口通信协议

下面是娃娃机硬件本身的串口接口的部分文档内容:

我们后端构建的报文数据格式就是根据本文档构建的

  1. 向左移动机械抓(指令ID:03)

开始码 数据长度 指令ID 指令类型 指令数据 校验位 结束码
8A 03 03 01 无 07 55

示例:8A 03 03 01 07 55

下位机应答:
开始码 数据长度 指令ID 指令类型 指令数据 校验位 结束码
8A 03 03 02 无 08 55

示例:8A 03 03 02 08 55

  1. 向右移动机械抓(指令ID:04)

开始码 数据长度 指令ID 指令类型 指令数据 校验位 结束码
8A 03 04 01 无 08 55

示例:8A 03 04 01 08 55

下位机应答:
开始码 数据长度 指令ID 指令类型 指令数据 校验位 结束码
8A 03 04 02 无 09 55

示例:8A 03 04 02 09 55

  1. 向前移动机械抓(指令ID:05)

开始码 数据长度 指令ID 指令类型 指令数据 校验位 结束码
8A 03 05 01 无 09 55

示例:8A 03 05 01 09 55

下位机应答:
开始码 数据长度 指令ID 指令类型 指令数据 校验位 结束码
8A 03 05 02 无 0A 55

示例:8A 03 05 02 0A 55

  1. 向后移动机械抓(指令ID:06)

开始码 数据长度 指令ID 指令类型 指令数据 校验位 结束码
8A 03 06 01 无 0A 55

示例:8A 03 06 01 0A 55

下位机应答:
开始码 数据长度 指令ID 指令类型 指令数据 校验位 结束码
8A 03 06 02 无 0B 55

示例:8A 03 06 02 0B 55

  1. 停止移动机械抓(指令ID:07)

开始码 数据长度 指令ID 指令类型 指令数据 校验位 结束码
8A 03 07 01 无 0B 55

示例:8A 03 07 01 0B 55

下位机应答:
开始码 数据长度 指令ID 指令类型 指令数据 校验位 结束码
8A 03 07 02 无 0C 55

示例:8A 03 07 02 0C 55

  1. 机械抓执行抓取(指令ID:08)

开始码 数据长度 指令ID 指令类型 指令数据 校验位 结束码
8A 04 08 01 抓力 累加和 55

示例:8A 04 08 01 C8D5 55表示要求机械抓执行抓力为 C8(200)的抓取动作

如果抓力数据为FF 表示本次抓取的抓力为机器的内部默认值

如果抓力数据为00 表示本次抓取的抓力为机器内部的中奖电压,配合模式1可以自己控制中奖概率。

具体串口文档分享地址

链接: https://pan.baidu.com/s/1AbTgitHk_WWW3xA13Rhcog 密码: gjtp

摄像头每分钟抓取

直播时是实时的

固定位置移动

软件和硬件结果不一致情况时(申述----历史视频 )

摄像头

这里我们采用的海康威视的设备,360度全景这样在线爪娃娃看的更清楚些,下面是用的播放库SDK,具体SDK细节我不细聊了,大家可以去官网开放平台研究一波

特别说明下当软件的操作结果和硬件操作结果不一致时,平台提供了申诉功能

如下直播的画面,我们直接调用的监控摄像头的画面

硬件部分

其实目前市面上有现成对在线娃娃机的设备,甲方感觉贵才让我们自己定制下,硬件部分核心是需要开发通讯模块,方便远程操作对接。

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号