24301| 27
|
颠覆考勤方式之---扫码考勤 |
本帖最后由 visionsl 于 2015-12-28 12:09 编辑 起因: 我们公司考勤模式经历过: 打卡->指纹->刷脸 三种方式(鉴于太容易互相帮打卡,所以没采用过刷卡方式); 从最原始的打卡(纸卡)到最先进的刷脸都使用了个遍! 就是没用过不打卡.......(一是BOSS不给, 二是自律性成迷) 之前使用过和正在用的这些模式都有个大问题, 就是行政统计数据太麻烦, 费时费力, 后2种方案也需要用U盘定期把数据导出Excel再统计, 这不符合高科技公司的做风, 所以决定尝试.....改! 改造要求: - 方式要高大上, 跟得上潮流 - 体验上要足够方便快捷,(不快的话你想急S差1秒钟就迟到的同学么!) - 考勤数据能与企业ERP打通,实现自动统计和查询 - 造价要低! 制定方案: 采用现在烂大街的方式: 扫码! (别告诉我你没试过支付宝/微信扫码支付喔) 这方法牛X吧, 有手机的都会用, 有效防呆(不会用), 防帮(代打卡), 防盗.....这个防不了! 准备硬件材料: - Dreamer Nano V4.0 (兼容Arduino Leonardo) - Z1406 TTL接口一维条码扫描模块(不用二维码的原因主要是成本考虑) - ESP8266-01 WIFI模块 - 人体热释电红外传感器 - LED(红)+LED(绿) - 220欧电阻2只 - 万能洞洞一块 - 3D打印外壳 准备软件资源: - 微信公众号一枚 - 公网服务器一台(需有域名,并与公众号绑定) - 用于公众号/接口数据传递 - 企业ERP(需支持自定义开发) - 考勤模块数据接口/条码生成逻辑 模块接线 (注: 为了方便, Wifi的EN直接与3.3V并联) 流程设计 - Arduino工作流程 流程设计 - 系统框架流程 制作过程图解 先用洞洞板为Dreamer Nano V4.0和Wifi模块布好局 背面接线图 Z1406条码模块(上面是扫描头, 下面是开发板,引出的线中, 只有右边4条用得上, 从右至左分别是5V-/5V+/TX/RX) 正面来一张,可以看到扫描头 接线先测试一下 此处测试的关键代码:
运行代码, 启动完成后, 如果扫描头两侧红灯会亮,表示控制成功 接下来准备装模块的模具, 这里用Maya做了简单建模 建好模后,在3D打印机打印. 底部结构(放置洞洞板) 装上底板(指示LED灯也装上了, 接线方法见前面的草图) 第二层结构, 放置扫描头和人体红外模块 第二层装好扫描头和人体红外 与第一层结合并 再来一张 底层特写 成品 微信(服务号)中打开自己开发的打卡功能, 出现每10s刷新一次的条码(否则A同事截个图给B同事帮代打卡怎么破) 扫描头扫条码成功,并验证通过时,指示LED亮绿灯(不成功时亮红灯), 并推送微信消息.完成打卡过程. 注意事项 因同时使用了2个串口模块, 且走的是软串口方式, 需要用到一个与串口通讯相关的listen()函数, 如果不使用它, 大家在测试的时候会发现永远只有一个串口模块能工作,另一个处于不可用的状态. 使用方法也很简单, 当你需要监听扫码模块时(假设扫码的软串口名称定义是 bar), 需要先执行 bar.listen(); 需要监听Wifi数据时也是同样道理(假设Wifi的软串口名称定义是 wifi), 需要先执行 wifi.listen(). 实用视频演示 (未弄好, 录好再上传) 后期可拓展性 - 增加蜂鸣器, 扫码成功与否用声音提示比用LED提示更直接 - 增加小屏幕, 可以显示扫码信息(比如显示当前扫码成功的人名及有无迟到之类) - 增加Wifi可配置的功能, 这样成品拿到任何一个新的公司都能配置使用. 原文传送门>>>>>>博客 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed