基于 GoLang 编写的 IOT 物联网在线直播抓娃娃企业级项目

2024-06-23 15:20

本文主要是介绍基于 GoLang 编写的 IOT 物联网在线直播抓娃娃企业级项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,我是码农先森。

引言

前几年,娱乐物联网的热度很高。我当时所在的公司启动了一个将线下娃娃机的玩法,迁移到线上的项目,因此公司决定开发一个在线直播抓娃娃的项目。近来,娱乐物联网的领域已经进入资本的寒冬,很多相关的行业都已经濒临倒闭,我们之前的公司也不例外。目前公司大势已去,所以我将相关非关键的项目代码开源,仅供大家参考学习。

项目介绍

这是一个基于 GoLang 编写的 IOT 物联网企业级项目,主要提供的功能是:在线直播抓娃娃的一个娱乐型项目。

  • 用户端

用户基于微信公众号的 H5 页面进行游戏,功能包括:画面直播、弹幕评论、基于富友支付的微信充值功能。

  • 商家端

商家进行设备的管理、用户的管理、充值流水的查看、数据统计、游戏房间管理。

  • 平台端

平台主要是对商家的管理,例如:创建商家、编辑商家信息。

  • 设备端

一个基于安卓主板的娃娃机硬件设备,服务端通过 Mqtt 协议与安卓主板进行通信,进而控制娃娃机爪子的行为动作。

架构图

image

服务介绍

  • DollBarrage

通过 WebSocket 协议实现娃娃机弹幕服务,主要提供:游戏房间内评论弹幕的即时交互的功能。

  • DollMerchant

基于 Gin 框架提供娃娃机商户平台 Restful Api 服务,可支持自动生成 Swagger Api 文档。

  • DollMqtt

服务端通过 Mqtt 协议与娃娃机设备进行通信,从而控制娃娃机设备爪子的行为动作。

  • DollPlatform

基于 Gin 框架提供娃娃机运营平台 Restful Api 服务,可支持自动生成 Swagger Api 文档。

  • DollRpc

Rpc 服务,主要提供了富友支付(微信支付)的功能。

  • DollUnique

主要提供了生成唯一 ID 的功能。

  • DollUser

基于 Gin 框架提供微信用户端的 Restful Api 服务,可支持自动生成 Swagger Api 文档。

  • DollWechat

主要提供微信菜单配置、微信授权登录、微信扫码登录并关注公众的功能。

  • LiveServer

主要为娃娃机直播设备与微信用户端 H5 页面进行直播推流的一个中间服务。

结尾

本项目为企业级项目,仅供参考学习,目前数据库文件已经遗失。
Github 地址:https://github.com/yxhsea/dollmachine 欢迎 Star。


欢迎关注、分享、点赞、收藏、在看,我是微信公众号「码农先森」作者。

这篇关于基于 GoLang 编写的 IOT 物联网在线直播抓娃娃企业级项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087536

相关文章

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用PyQt5编写一个简单的取色器

《使用PyQt5编写一个简单的取色器》:本文主要介绍PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16进制颜色编码,一款跟随鼠标刷新图像的RGB和16... 目录取色器1取色器2PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C