动手改造之App开锁办公桌柜子、开锁记录管理

783 阅读3分钟

出发场景

办公桌柜子原本的锁坏了,于是就开始着手研究可以动手实践制作一款手机app软件搭配硬件进行开锁柜子,其实初衷主要的是为了管控学生手机收发员开锁柜子拿取里面的手机,我同时能够看到开柜的记录。当然也是为了方便我可以远程操作进行开锁柜子。

demo.gif

硬件部分

硬件方面走了很多的弯路,前前后后挑选硬件很折磨,毕竟是一个门外汉,尽管之前工作中接触的大都是Android平台串口硬件外设相关的app软件开发,首先想到的思路是通过android开发板+串口完成整个功能的开发,再加上科普之后,觉得可以通过一个串口继电器模块、然后在买一个电磁锁既可完成硬件部分的功能,原理就是控制继电器的通断完成电磁锁的上电开锁功能。然后就准备淘了一个二手的android开发板,买了继电器、电磁锁。收到继电器后测试后在win系统上可以完成与继电器的通信。无奈Android开发板与继电器通信不成功,开发板上rs232接口,2、3引脚短接也是正常可以收发数据的,遂无果,放弃了andorid平台作为服务端。

最终还是通过win电脑作为服务端通过usb转rs232连接继电器,继电器连接电磁锁完成硬件部分。

需要的材料,除一台普通的办公电脑外还需要如下硬件

一、usb转串口232转换线

这个需要看你电脑是否有RS232接口,目前的大多数都是没有默认带这个rs232口,也就是下图中的转换线,通过usb口转成rs232

e05184585a5e03f93fd96dd6d76d609.jpg

二、modbusRs232继电器模块

继电器简单理解就是控制能够控制电的通断,当然继电器有很多功能,比如继电器开、继电器断、闪闭等等可以按需选择。

5b0a2c7b222f210292aa2f762f03b6b.jpg

三、电磁锁

这个东西就是上下电,就能开锁弹开。形象的说就是外卖柜、快递柜也是这种东西,还需要考虑到能支持手动机械开锁。

image.png

软件部分

主要有登录功能、开锁、开锁记录查看、手机状态管理维护,暂时先想到了这些功能.....。

app客户端

使用原生android开发,登录功能、开锁功能通过rabbitmq进行通知到服务端完成开锁,记录上传、手机状态维护。 有管理员、普通用户2种角色。

image.png

服务端

软件部分后台端整体的开发使用了springboot+mysql+rabbitmq,集成了java驱动串口的部分,rabbitmq消息实时通知开锁以及服务端定时心跳,后台服务运行到本地电脑,通过手机app客户端,连接电脑发出的wifi进行连接登录,实现所有的功能。rabbitmq中间件我是放到了公网,管理员能在不连接后台服务的情况下,免登录直接通过rabbitmq发送开锁消息进行开锁。

总结

经过一段时间的使用,软件部分在设计场景上感觉还存在一些缺陷,硬件上没有长时间运行过所以稳定性、安全性存在不确定性因素。