锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
Micropython之萝卜狗远程门禁控制系统

作者: 佚名  日期:2018-05-24 21:01:13   来源: 本站整理

 严正声明:本文仅限于技术讨论与分享,严禁用于非法用途
当代社会,我们进公司需要门禁卡,出入小区需要门禁卡,门禁系统又称出入管理控制系统(ACCESS CONTROL SYSTEM), 是一种管理人员进出的智能化管理系统,它集微机自动识别技术和现代安全管理措施为一体,它涉及电子,机械,光学,计算机技术,通讯技术,生物技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施。适用各种机要部门,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工厂等。

最近发现一个新好玩的Micropython开发板-萝卜狗(TurnipDog),比TPYBoard v102更牛掰,可能是个升级版吧,然后果断买了一个抓紧玩玩,发现这个的魅力在于支持远程控制,这个Micropython开发板,不是利用Wifi远程控制,而是利用红外线控制的,控制距离大约在15米左右,于是就想用它来做个远程的门禁控制系统。
材料准备
萝卜狗(TurnipDog)开发板   1个
12864液晶显示屏               1个
MF RC522射频IC卡            1个
中文文字转语音播报模块    1个
杜邦线若干
实验的器件都是一些通用的东西,很多地方都能买的到,我就不一一介绍啦,不过它的核心是我们的萝卜狗-TurnipDog

萝卜狗
MF RC522是应用于13.56MHz非接触式通信中高集成度的读写卡芯片,是一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择。 MF RC522利用了先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。支持14443A兼容应答器信号。数字部分处理ISO14443A帧和错误检测。此外,还支持快速CRYPTO1加密算法,用语验证MIFARE系列产品。MFRC522支持MIFARE系列更高速的非接触式通信,双向数据传输速率高达424kbit/s。作为13.56MHz高集成度读写卡系列芯片家族的新成员,MF RC522与MF RC500和MF RC530有不少相似之处,同时也具备许多特点和差异。它与萝卜狗之间通信采用SPI模式,萝卜狗通过SPI接口来读取传输数据,以前用的是C语言,现在我们用的Micropython语言。

MF RC522射频IC卡
硬件接线方法
下面我们将萝卜狗和12864液晶显示屏、MF RC522射频卡和语音播报模块接起来,实物图我就不拍了,太丑了,大家根据下面的列表就可以接起来
12864液晶显示屏
萝卜狗
MF RC522射频卡
语音播报模块
GND
GND
 
 
VCC
VIN
 
 
RS
X11
 
 
R/W
GND
 
 
E
X18
 
 
DB0
X1
 
 
DB1
X2
 
 
DB2
X3
 
 
DB3
X4
 
 
DB4
X5
 
 
DB5
X6
 
 
DB6
X7
 
 
DB7
X8
 
 
PSB
3V3
 
 
RST
3V3
 
 
BLA
3V3
 
 
BLK
3V3
 
 
 
Y4
SDA
 
 
Y6
SCK
 
 
Y8
MOSI
 
 
Y7
MISO
 
 
GND
GND
 
 
Y3
RST
 
 
3V3
3.3V
 
 
Y2
 
TXD
 
Y1
 
RXD
 
+5V
 
VDD
 
GND
 
GND
程序编程
下面是main.py的主程序代码,可以直接复制使用 ,这个类库太多了,我就不一一粘贴了,有需要的留下邮箱告诉我,我发给大家   (*  ̄3)(ε ̄ *)
# main.py -- put your code here!import pybimport LCD12864import mfrc522import syn6288from pyb import UARTfrom necir import NecIrfrom bm import necbmfrom bm import nec_csfrom bm import nec_cbled=pyb.Pin('X10',pyb.Pin.OUT_PP)lcd=LCD12864.lcd12864()lcd.init_12864()led.value(1)SPI=pyb.SPI(2)    RC522_SDA='Y4'RC522_RST='Y3'rc52=mfrc522.MFRC522()rc52.init_spi(SPI,RC522_RST,RC522_SDA)tab_id=[45,162,222,43,122]buf=[0xFD,0x00,0x07,0x01,0x01,0x5B,0x74,0x35,0x5D,0xBD]u6=UART(6,9600)u6.write(bytearray(buf))def    lcdsleep():    led.value(1)    lcd.qp_12864()    def    pdlcd(ok):    lcd.qp_12864()    if ok:        lcd.lcd_write_string(0x89,"Allow entry",0)        lcd.lcd_write_string(0x92,"允许进入",4)    else :        lcd.lcd_write_string(0x89,"Access Denied",0)        lcd.lcd_write_string(0x92,"拒绝进入",4)        def lcdsd():    lcd.lcd_write_string(0x92,"请稍后",3)    def pdcard(id):    for i in range(5):        if(id[i]!=tab_id[i]):            return 0    return 1def main():    while True:        (status,backBits)=rc52.SeekCard(0x52)        if(status==0):            (status,id,)=rc52.Anticoll()            led.value(0)            if pdcard(id):                syn6288.sendspeak(6,9600,'张三来访'.encode('utf-16'))            else :                syn6288.sendspeak(6,9600,'陌生人来访'.encode('utf-16'))            lcdsd()            pyb.Pin('X4',pyb.Pin.IN)            nec = NecIr()            while True:                nec.callback(nec_cb)                if necbm()==0xa0:                    pdlcd(1)                    syn6288.sendspeak(6,9600,'门已打开'.encode('utf-16'))                    break                if necbm()==0xa1:                    pdlcd(0)                    syn6288.sendspeak(6,9600,'拒绝访问'.encode('utf-16'))                    break            pyb.delay(3000)            nec_cs()            lcd.init_12864()            lcdsleep() if __name__ == '__main__':    main()



热门文章
  • 机械革命S1 PRO-02 开机不显示 黑...
  • 联想ThinkPad NM-C641上电掉电点不...
  • 三星一体激光打印机SCX-4521F维修...
  • 通过串口命令查看EMMC擦写次数和判...
  • IIS 8 开启 GZIP压缩来减少网络请求...
  • 索尼kd-49x7500e背光一半暗且闪烁 ...
  • 楼宇对讲门禁读卡异常维修,读卡芯...
  • 新款海信电视机始终停留在开机界面...
  • 常见打印机清零步骤
  • 安装驱动时提示不包含数字签名的解...
  • 共享打印机需要密码的解决方法
  • 图解Windows 7系统快速共享打印机的...
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等