找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5754|回复: 3
收起左侧

基于STM32的ESP8266 WiFi+RC522门禁控制器源码

  [复制链接]
ID:345680 发表于 2019-2-28 22:16 | 显示全部楼层 |阅读模式
本次WIFI门禁控制器的总体设计:首先通过ESP8266 WiFi模块连接手机,然后利用RC-522模块非接触读取IC卡的卡号,经过单片机判断该卡号是否正确。如果正确,则继电器闭合打开电子锁开门,蜂鸣器通电提示开门;如果卡号错误,则继电器断开,蜂鸣器不响。通过OLED输出卡号和提示信息。用户可以通过WiFi连接手机对卡号进行查询、删除、添加等操作,卡号存储在单片机内部flash,刷卡的提示信息通过串口传送到电脑上,这样就可以实时了解门禁控制器的情况。

单片机源程序如下:
  1. #include "stm32f10x.h"
  2. #include "bsp_gpio.h"
  3. #include "bsp_usart1.h"
  4. #include "bsp_usart2.h"
  5. #include "wifi_config.h"
  6. #include "wifi_function.h"
  7. #include "bsp_SysTick.h"
  8. #include "wifi_data.h"
  9. #include "flash.h"
  10. #include <string.h>
  11. #include "rc522_function.h"
  12. #include "rc522_config.h"
  13. #include "bsp_TiMbase.h"
  14. #include "OLED_I2C.h"
  15. #include "bsp_i2c_gpio.h"
  16. #include "codetab.h"
  17. #include <stdbool.h>




  18. extern char IC_id[20][8];
  19. extern char * Re_ID[3];

  20. void Oled_INIT(void)//初始化OLED界面
  21. {
  22.                   OLED_Fill(0x00);//全屏灭;               
  23.                 for(i=0;i<4;i++)
  24.                 {
  25.                         OLED_ShowCN(30+i*16,0,F16x16,i);                                                               
  26.                 }
  27.                 for(i=0;i<3;i++)
  28.                 {
  29.                         OLED_ShowCN(i*16,3,F16x16_1,i);                                                               
  30.                 }
  31. }



  32. /**
  33.   * @brief  主函数
  34.   * @param  无
  35.   * @retval 无
  36.   */
  37. int main(void)
  38. {
  39.         /* 初始化 */
  40.         WiFi_Config();   //初始化WiFi模块使用的接口和外设                                                               
  41.         SysTick_Init();  //配置 SysTick 为 1ms 中断一次
  42.         i2c_CfgGpio();                                 /*I2C总线的GPIO初始化*/
  43.         OLED_Init();                                         /* OLED初始化 */
  44.   Oled_INIT();       //OLED界面初始化
  45.   Beep_GPIO_Config();//蜂鸣器和继电器初始化
  46.   PC_Usart("\r\n即将进行的测试是:1.STA模式: TCP Client\r\n");
  47.   ESP8266_STA_TCP_Client ();
  48.         RC522_Init ();     /*RC522模块所需外设的初始化配置*/
  49.         PcdReset ();
  50.         M500PcdConfigISOType ( 'A' );/*设置工作方式*/       
  51.         Read_Flash();//读取卡号

  52.        
  53.         BASIC_TIM_Init();//定时器3初始化

  54.        
  55.         while (1)
  56.         {
  57.                 WIFI_operate_data();
  58.                 if( (strcmp( Re_ID[1],"1")==0)|(strcmp(Re_ID[1],"2")==0))//如果是删除和添加就进行flash操作
  59.                 {
  60.                   InternalFlash_Test();//向flash写入保存的数据
  61.                 }
  62.         }
  63. }


  64. /*********************************************END OF FILE**********************/
复制代码

所有资料51hei提供下载:
课设程序3.0.7z (214.33 KB, 下载次数: 191)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:543593 发表于 2019-7-9 17:37 | 显示全部楼层
楼主这个是有APP吗,还是通过网络调试助手添加卡号?
回复

使用道具 举报

ID:689322 发表于 2020-2-1 21:42 | 显示全部楼层
这个或以联合开发,我这里可以帮忙开发app 或小程序 免费的请放心,如果楼主的东西比较稳定的话。
回复

使用道具 举报

ID:153777 发表于 2020-2-15 19:00 | 显示全部楼层
这个或以联合开发,我这里可以帮忙开发app 或小程序 免费的请放心,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表