刷卡https://www.zhihu.com/video/1107591334902345728

电脑端控制https://www.zhihu.com/video/1107591363079733248

手机端控制https://www.zhihu.com/video/1107591388040052736

一、项目背景

随着网络技术和嵌入式技术的发展,物联网开始引领新一波热潮。制作这个项目的想法起源于我的宿舍生活。每次进入宿舍都需要找钥匙非常不方便,在网络上看到关于智能门锁的介绍,于是便想制作一个门禁系统,利用随身携带的校园卡或者手机进行解锁开门。

二、硬件平台

根据项目目标,本项目硬件上有以下要求:

  1. 单片机能进行数据处理
  2. 实现对舵机的控制
  3. 接入wifi,并通过HTML接收信息
  4. 对射频卡进行扫描

根据以上要求,项目选型如下

(一)开发板与wifi模块

项目使用卡发版WeMos D1,其核心使用ESP-8266,具有11个I/O引脚,除D0引脚,均支持PWM、IIC、中断等,具有1个模拟量输入I/O。由于核心为ESP8266,因此具备wifi功能,可以在AP模式、station模式和混合模式下运行。符合要求。

项目开发使用arduino IDE,开发验证简单。

(二)射频读卡模块

PN532是一个高度集成的非接触读写芯片,它包含80C51微控制器内核,集成了13.56MHz下的各种主动/被动式非接触通信方法和协议。支持SPI、IIC、UART通讯方式,支持校园卡标准,性价比高,适合本次项目开发。

本次使用该模块的UART通信方式与单片机连接。

(三)舵机等

机械传动部分使用舵机,选用90g舵机,其功率较小,可以使用单片机I/O直接驱动,扭矩能满足拉开门锁的要求。

三、开发环境

(一)开发板

WeMos D1开发板使用Arduino IDE进行开发,使用C++语言,面向对象的开发方式。

本次项目在windows平台开发,使用Arduino IDE 1.8.5,调试使用串口猎人。系统串口通信运行在比特率115200、无校验位、数据位8bit、停止位1bit状态。

(二)终端控制平台

由于本次使用HTML与架设在路由器内网的路由器进行通信,因此终端设备只需要支持HTML即可。手机等设备可以直接使用浏览器进行控制,因此项目的通用性很强。

(三)网络环境

本系统在学校宿舍wifi环境下测试。我的宿舍使用小米路由器路由校园网络。WeMos D1连接宿舍wifi后会被分配到内网ip,由于未做内网透传并且没有设计校园网登陆部分,因此只有同样连接在宿舍wifi下的设备,才能对系统进行控制。

四、基本原理

(一)物联网

物联网是互联网、传统电信网等信息承载体,让所有能行使独立功能的普通物体实现互联互通的网络。随着网络的快速发展,越来越多的设备开始接入互联网,为人们的生活带来了极大的便利。

(二)射频标签

射频识别,RFID(Radio Frequency Identification)技术,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。

我们的校园卡是工作在13.56MHZ的IC非接触式射频卡,资料显示,这种射频卡有8KB储存空间,分为16个扇区,每个扇区分为4个块。序号从第0块到第63块,其中第0块未加密,保存着射频卡的序列号(UID),根据UID可以识别射频卡。

(三)HTML 1.1

HTML是用来在Internet上传送超文本的传送协议,运行在TCP/IP协议簇之上的HTTP应用协议,它可以使浏览器更加高效,使网络传输减少。使用此协议,可以很方便开发不同=平台之间的文本传输。

(四)项目目标

本次设计计划制作校园卡门禁系统,可以接入宿舍wifi,当识别到特定校园卡时,或者当使用手机发送固定内容时,控制舵机进行响应。

五、程序实现

程序流图

六、调试

本项目通过串口进行调试。串口打印状态信息。

有两种开锁方式,扫描学生卡和网页端控制。

我在程序中提前写入了舍友的校园卡UID,当扫描到已知卡放在读卡器上时,串口输出“你好,XXX”,XXX为舍友的名字。此时舵机旋转,表示拉动门锁完成开门。

刷卡示意

网页端控制通过HTML1.1协议,可以在手机或电脑等终端运行。当系统以客户端的形式接入宿舍的wifi时,路由器会分配一个局域网ip给ESP8266,如果统一局域网下的设备登陆“10.15.8.42/gpio/0”(10.15.8.42为分配的ip),相当于向设备发送gpio/0的信息,经过识别可以控制舵机运转,同时ESP8266可以通过HTML1.1协议传回一个信息,程序中设计的是传回锁头状态。

网页端控制

七、代码

#if defined(ARDUINO) && ARDUINO >= 100

esp8266单片机透传_基于WeMos D1(ESP8266)的校园卡门禁系统相关推荐

  1. 智能门禁(4)---基于face++和Onenet平台的人脸门禁系统

    基于face++和Onenet平台的人脸门禁系统 前言 第一次见识人脸解锁是在iPhoneX,前两天安卓8.0的小米6把我的手机也可以做到人脸结果.各大公司都推出了自己的人脸识别Api,因为个人兴趣, ...

  2. 基于WeMos D1+esp8266的智能垃圾桶和智能家居

    1.环境搭建 本次主要是用ArduinoIDE平台来进行开发,可以去官网进行下载:Arduino - Home 也可去网盘下载,在这里为大家准备了网盘连接: 链接:https://pan.baidu. ...

  3. esp8266单片机透传_ESP8266通过MQTT接入Home Assistant

    1.简介 ESP8266是一款串口WiFi模块,内部集成MCU能实现单片机之间串口通信, 这款模块简单易学,体积小,便于嵌入式开发. 本文介绍的是ESP8266系列中的ESP-01,这款芯片使用了3. ...

  4. id nfc模拟_手机NFC也可以刷ID卡门禁?无聊测试居然成功了

    前段时间换了个K20pro,有NFC功能后手又痒了,就想折腾一下NFC的日常使用. 小区的门禁前几个月刚换成了亲邻开门,可以用微信小程序开门,但每次都要拿手机出来点几下(特别是手机提着东西的时候),还 ...

  5. 基于区块链的二维码门禁系统成品演示视频

    视频演示链接:https://www.bilibili.com/video/av49528235?from=search&seid=9311233092198623454

  6. 基于百度人脸识别的小区人脸门禁系统

    又是一年毕业季,自己转眼间也毕业一年了!!!前段时间帮学妹指导了一个小区人脸识别门禁系统,整个的实现思路在此记录下,感兴趣的可以参考一下. 整个项目沟通后情况如下: 需求功能: 人脸录入 人脸更新 人 ...

  7. 在龙芯1C单片机上使用ESP8266 wifi透传模块

    龙芯1C既可以运行linux,也可以当作单片机用.当用作linux时,可以通过USB wifi模块RTL8192C,RTL8188ETV等,当作单片机用时,可以像STM32那样使用串口透传wifi模块 ...

  8. java程序报告门禁系统_基于JAVA的门禁管理系统(含源文件).doc

    基于JAVA的门禁管理系统 学 生 姓 名: 学 院: 专 业: 班 级: 学 号: 指 导 教 师: 完 成 日 期: 摘 要 随着社会经济和科技的发展,IC卡技术已广泛地应用于各种行业,特别是公共 ...

  9. 基于wemos D1的无线遥控灯(433m无线模块)

    参考:基于wemos D1的无线遥控灯(433m无线模块) 作者:一只小阿大:) 发布时间: 2021-04-16 09:25:53 网址:https://blog.csdn.net/qq_44610 ...

最新文章

  1. SAP QM 含有Long-term检验特性的检验批UD完成后还能继续录入检验结果?
  2. hackerrank杂记
  3. 公司GitHub被封号,只因员工在伊朗开电脑,官方:将撤销被美制裁国家限制
  4. JAVA 实现扫码二维码登录
  5. css的checkbox样式变化
  6. 树莓派4B设置静态IP
  7. 关于 Math.pow 的一个坑
  8. OpenCV人脸识别之一:数据收集和预处理
  9. antd vue form表单 子组件调用父组件的方法没反应_前几天推了Vue,今天给React疯狂打call...
  10. python容易出错的地方_Python中try-except出错后如何从try出错地方继续执行?
  11. NSTimer 的正确用法你真的知道吗?
  12. C中常量数组不能修改
  13. 【Java算法】Java抽奖算法,适用于各种抽奖
  14. google浏览器常用插件整理
  15. 如何在一个月内高效地备考教师资格证?
  16. elementUi——table表格中字段内容超过2行后,省略号...展示,不超过两行不处理。超过两行再显示全部。
  17. 备战双十一!自动刷喵币靠这一个脚本就够了!
  18. 单片机工程师如何继续提升自己?
  19. 成本管理体系具体业务解决方案说明(三 合约规划)
  20. HR面试问题-离职原因

热门文章

  1. c#生成一组不同的随机数的方法
  2. 安卓第一次搭建C/S架构
  3. ASP.NET MVC 上传图片到项目目录中的文件夹并显示
  4. 面试题:MySQL的innodb和myisam
  5. 拖动卡顿_四招教你解决PS软件卡顿问题!
  6. python爬取b站排行榜_实时爬取B站排行榜并保存为表格——每周一个爬虫小教程系列...
  7. 如果用户计算机已接入,01计算机基础知识题(50道)
  8. mysql没加引号导致全表扫描_mysql隐蔽的索引规则导致数据全表扫描
  9. 微软为Win11用户更新了剪贴工具、计算器以及邮件和日历应用
  10. Android平台如何实现屏幕数据采集并推送至RTMP服务器