前言
春节返乡之际,发现老家县城竟然开了近十家棋牌室。巧的是朋友也有意涉足,便咨询我自助棋牌室的软件投入成本。作为程序员的我,在思考了自助棋牌室背后的技术需求后,嗅到了一丝丝商机:何不自己开发一个自助棋牌室系统?于是就有了这一系列文章,该系列会持续更新下去。
在此,恳请前端与物联网领域的大佬们不吝赐教,对本文中的几个问题给予指导与建议。
市场调研
作为中国传统文化的一部分,麻将已经深受广大人民群众的喜爱。既然一个小县城都有近十家棋牌室,那一定是有市场的。
去了几家自助棋牌室打探了一下消息,发现都是采用加盟模式,软件服务费加上可远程控制的硬件设备得大几万。
在网上也联系了几家服务商,报价都大差不差。我心想:"咦,这生意太可行,我定价一半就行"。
那就开搞吧,反正闲着也是闲着。
技术调研
在我看来,自助棋牌室需求特别简单,用户在应用上选择房间下单后给该房间自动通电,时间到了该房间自动断电即可。
相关技术涉及以下几部分:
- 因为用户需要在手机上下单,所以涉及到前端技术。
- 前端所展示的数据需要维护,所以需要一个后端维护数据并与其交互。
- 用户下单后需要自动控制房间电源,所以涉及到物联网技术。
前端
前端目前只考虑小程序,毕竟只有我一个人开发,如果涉及到其他终端开发成本、维护成本可就太高了。再一个小程序的受欢迎程度还是相当高的,而且支付这块小程序有天然的优势。
因为几年没有碰过前端了,所以花了一天了解了下现在比较流行的几个前端框架:vue、react、flutter、uni-app以及微信原生开发。
其中uni-app中的一篇文档《白话uni-app》对传统的前端开发和使用当前流行的前端框架开发的区别给出了非常详细的说明。比如,通过简单的案例就可以知道两者在工程结构、js、css的变化以及对应关系。 对于像我这样几年没有接触过前端的开发人员来讲可以说是非常友好了。
而且uni-app这个框架编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。看上去这个又是比较香的,但是终归存在性能和兼容问题的吧。
所以大伙基于自己的经验给个意见,uni-app这玩意用上去有官网介绍的那么好吗?
后端
后端应用就不用说了,没有其他更好的选择就基于Java开发了,毕竟市面上有很多基于Java开发的后台管理系统。
物联网
至于物联网,目前的状态是:听说过没见过。所以针对自助棋牌室系统涉及到物联网的部分需要了解一下。
目前我急需了解的是如何实现远程控制房间的电源开关或插座,当然,还有门锁、语音什么的。在网上一顿摸索后有几个方向:
- 使用第三方物联网平台,提供设备和开放平台,可以说不用理会物联网相关技术。
- 找一个开源的物联网平台进行商业授权,购买指定的设备进行绑定。
- 自行购买设备进行开发。
基于我目前的状态,第一种无疑是最理想的,但是贵呀,设备贵、接口对接10000+/年。而开源项目的商业授权也得10000+,加上技术支持啥的也得不少钱。如果采用这两种方案,我的商业计划还没开始呢就搭进去不少钱。而自己开发一个智能开关所需要的元器件也就10几元,所以果断选择自己开发。
自己开发就得学习相关知识了。不怕大家笑话,第一次知道插座还分10A、16A,什么是交流电、直流电。
目前了解到实现远程控制开关的知识有:
- 通过继电器可以控制开关闭合。
- 继电器结合ESP8266可以实现远程控制。
- 固件(软件)可以控制硬件设备运行和操作。
- 基于Arduino开发工具进行C/C++编写如何控制硬件的代码。
- 可以通过Mqtt、TCP协议和互联网进行通讯。
- 通过烧录器将代码写入硬件设备,从而实现远程控制开关。
还请各位佬指点一下以上步骤是否存在错误,或者我对某个环节理解有误。
问题请教
在这里请教下大佬们几个问题:
- uni-app在开发H5和小程序有什么坑吗?尤其是小程序备案和支付,或者有没有更好的框架可以选择。
- 有没有现成的、靠谱的、可支持二次开发的智能开关、插座、门禁、摄像头,如果有且价格合理的话请一定要告诉小老弟。或者各位佬推荐一个继电器的外壳制定商铺。
总结
自助棋牌室系统所依赖的硬件设备:开关、插座、摄像头、门锁、语音,皆可自助开发,或选择市面上已成熟可二次开发的硬件设备。
自助棋牌室系统所涉及的软件技术:前端可以选择微信小程序原生开发或支持各终端的uni-app。后端选择自己熟悉的Java语言。
自助棋牌室系统的技术实现具备可行性,具体需求和技术方案需进一步细化和完善。