如何从0到1快速上线在线抓娃娃产品(文字版)

  • 内容
  • 评论
  • 相关

来源: 即构科技        时间: 2017-11-20


本文源自对即构科技高级研发工程师吴彪在ZEGO LIVE 直播课堂上分享内容的整理。

今天,我将以即构科技为例,给大家分享一下在线娃娃机产品具体是如何实现的,希望能够给大家一些指引。

ZEGO在线抓娃娃硬件方案

图 1

如图 1,我们可以看到,一套完整的在线娃娃机硬件方案包含:2个摄像头、娃娃机整机(天车、硬件板子、娃娃机主板)。硬件的详细功能介绍如下:

1. 2个摄像头,用于采集娃娃机的实时场景。

2. 硬件板子(Android开发版),可以像普通的安卓手机一样运行Android程序,比如我们要在娃娃机上推2路视频流,首先我们可以开发一个简单的Android程序集成ZEGO SDK,然后使用ZEGO API实现推2路视频流的功能,最后把这个Android程序刷到硬件板子上运行就可以了。

3. 娃娃机主板,是控制娃娃机的核心部件。硬件板子(Android开发版)上运行的Android程序负责接收远程指令(前移、后移、左移、右移、抓娃娃等),并将远程指令转换成“串口指令”通过串口写入娃娃机主板,就可以远程控制娃娃机了。

ZEGO在线抓娃娃产品架构图

图 2

如图 2 所示,整个架构包含客户端、娃娃机、客户业务后台ZEGO云后台

客户端主要功能有用户注册、登陆、充值、拉流观看(ZEGO API)、上机操作、展示结果等。

客户业务后台由客户自行开发、维护,主要功能有用户注册、登陆、充值、娃娃机状态管理、用户排队等。

ZEGO云后台提供实时音视频和实时信令服务,以SDK的形式提供给开发者。

娃娃机包含娃娃机控制端(运行在Android开发板上的Android程序)下位机(娃娃机主板)两部分,主要功能有推2路视频流(ZEGO API)、与业务后台通信、与下位机(娃娃机主板)通信。

ZEGO在线抓娃娃业务时序图

娃娃机控制端:运行在硬件板子(Android开发板)上的Android程序

下位机:娃娃机主板

图 3

如图3,启动娃娃机后,整个系统按照如下步骤运行:

步骤1:娃娃机控制端主动到下位机查询娃娃机的状态(娃娃机是否启动、是否正常运行等)。

步骤2:娃娃机控制端将状态数据发送到业务后台,业务后台登记娃娃机信息,同时为娃娃机分配RoomID(标记娃娃机)。

步骤3:业务后台下发UserInfo(UserID、UserName)、RoomInfo(RoomID,步骤2中分配)、SreamInfo(StreamID)等信息到娃娃机控制端。

步骤4、5:娃娃机控制端使用步骤3下发的信息,调用ZEGO API登录房间、并推2路流到ZEGO云后台,紧接着ZEGO云后台发送“流创建成功”的回调到客户业务后台客户业务后台记录各个房间的流状态。

步骤6、7:客户端注册、登录、充值、获取房间信息。

步骤8: 客户端调用ZEGO API登录房间、拉2路流实时围观。

步骤9、10、11、12、13:客户端预约上机并进行支付,并得到客户业务后台返回的支付结果。

步骤14、15:客户业务后台下发天车配置信息(抓力,抓力决定抓取概率)到娃娃机控制端,紧接着娃娃机控制端将天车配置信息转换成串口指令写入下位机,对娃娃机进行初始化。

步骤16:客户端调用ZEGO API切换低延迟视频(平均400ms),提升上机时的用户体验。

步骤17、18、19、20、21、22:客户端调用ZEGO API发送(前移、后移、左移、右移、抓娃娃)等操作指令(可使用json封装)到ZEGO云后台,紧接着ZEGO云后台下发操作指令到娃娃机控制端,然后娃娃机控制端将操作指令转换成串口指令写入下位机,操控娃娃机天车。

步骤23、24:娃娃机控制端从下位机获取本次抓取结果(是否抓到娃娃),并将结果返回给客户业务后台,紧接着客户业务后台返回确认信息到娃娃机控制端

步骤25、26、27:** 娃娃机控制端调用ZEGO API将本次抓取结果(可使用json封装)发送到ZEGO云后台,最后ZEGO云后台将结果推送到客户端**进行展示。

备注:以上步骤中,使用到ZEGO API的部分,以及娃娃机控制端与下位机通信(串口协议通信)的部分,ZEGO官方都有文档及源码提供给开发者,详情见文末。

ZEGO能提供什么?客户需要做什么?

一、ZEGO能提供什么?

超低延时的实时音视频服务(400ms),全球无死角覆盖,花椒、映客、一直播等大型直播平台正在使用的服务。
百万级并发的实时消息系统。
娃娃机整套硬件方案(娃娃机整机,Android开发版)。

二、ZEGO的客户需要做什么?

开发客户端App(iOS、Android、H5)。
开发业务后台(用户注册、登录、充值、排队等)。

更多ZEGO在线抓娃娃详细文档

ZEGO在线抓娃娃DEMO体验

iOS版本:https://www.pgyer.com/ZhuaWaWa-iOS

安卓版本:https://www.pgyer.com/ZhuaWaWa-Android

ZEGO在线抓娃娃一站式解决方案详解及试用申请

https://www.zego.im/html/solution/wawaji.html

ZEGO在线抓娃娃源码示例和SDK集成指引

https://www.zego.im/html/document/#Application_Scenes/WaWaJiClient

评论

0条评论

发表评论

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