原标题:Micropython之萝卜狗远程门禁控制系统

* 本文作者:_橙子 ゝ,本文属FreeBuf原创奖励计划,未经许可禁止转载

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

style="text-align: center;">

最近发现一个新好玩的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 pyb

import LCD12864

import mfrc522

import syn6288

from pyb import UART

from necir import NecIr

from bm import necbm

from bm import nec_cs

from bm import nec_cb

led=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 1

def 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() 成果分享

我们把程序写入后,工作就完成啦,下面是我录的一个小视频,大家可以see一下,视频的地址:

效果还是不错的哦,由于我为了录制视频,距离比较近,大家可以远程控制哦!!!

* 本文作者:_橙子 ゝ,本文属FreeBuf原创奖励计划,未经许可禁止转载返回搜狐,查看更多

责任编辑:

micropython驱动lcd触摸屏_Micropython之萝卜狗远程门禁控制系统相关推荐

  1. micropython远程升级_Micropython之萝卜狗远程门禁控制系统

    严正声明:本文仅限于技术讨论与分享,严禁用于非法用途 当代社会,我们进公司需要门禁卡,出入小区需要门禁卡,门禁系统又称出入管理控制系统(ACCESS CONTROL SYSTEM), 是一种管理人员进 ...

  2. micropython驱动lcd触摸屏_在 ESP32-S2 上试用 circuitpython

    ESP32-S2 是乐鑫去年推出的 SOC,它可以看作是 ESP32 的低成本简化改进版本,在保持了 ESP32 的主要特点下,去掉了以太网.BLE.CAN.霍尔传感器等功能,但是增加了 USB OT ...

  3. RFID13.56MHz模拟门禁(相关软件、驱动下载和使用教程已放在参考文献)

    目录 1 绪论 2 方案设计与选择 2.1总体设计 2.2器件选择 2.2.1 中央处理模块选择 2.2.2 射频模块选择 2.2.3 显示模块选择 2.2.4 驱动模块选择 3 硬件电路设计 3.1 ...

  4. micropython lcd触摸屏显示中文_基于Micropython的天气显示 进程帖

    本帖最后由 michael_llh 于 2019-4-17 10:06 编辑 更下项目的进程哈! 项目的思路很简单,就是从网上获取天气信息,然后进行显示! 很尽量把过程写清楚,方便大家的交流和学习. ...

  5. STM32 驱动4.3寸TFT LCD 触摸屏

    STM32 驱动4.3寸TFT LCD 触摸屏 STM32的FSMC接口是并行总线接口,可以用于驱动存储芯片如FLASH/SRAM等,也可以用于驱动并口LCD屏.触摸屏是在显示屏上覆盖一层触摸感应的外 ...

  6. 【正点原子FPGA连载】 第二十章 LCD触摸屏实验摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...

  7. 合宙 ESP32C3 使用micropython 驱动配套0.96寸 TFT ST7735 屏幕显示色块和文字

    合宙的esp32c3 开发板配套了0.96寸屏幕驱动板,可直接使用如下链接的代码.注意替换对应的pin脚和st7735.py文件 1. 想显示色块参考如下链接: 链接: 合宙esp32c3+合宙air ...

  8. 【正点原子FPGA连载】 第二十章 LCD触摸屏实验 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

  9. esp32使用MicroPython驱动oled屏显示中文和英文

    文章目录 esp32使用MicroPython驱动oled屏显示中文和英文 介绍 安装 特点 开源 硬件连接 API 示例 显示英文字符 显示汉字 参考链接 esp32使用MicroPython驱动o ...

最新文章

  1. CUDA Samples: 获取设备属性信息
  2. MySQL 第二篇:增删改查
  3. 【Windows10】我的电脑从新装到优化配置
  4. 2019ICPC(南京) - Holy Grail(最短路)
  5. Hazelcast入门指南第2部分
  6. 【Java】Junit、反射和注解的笔记
  7. python查找并修改文件中的内容_如何使用Python搜索和替换文件中的文本?
  8. 手动安装Apache+PHP+MYSQL及环境配置
  9. Newifi3(新路由3)刷潘多拉(Pandora)固件
  10. VLAN间路由的配置(一)普通VLAN间路由的配置
  11. 以神奇“三”为本的逻辑与指号学----皮尔斯逻辑之三
  12. Vue整合Element-UI的分页组件实现分页
  13. R语言小实践---云词分析
  14. AR Foundation
  15. 使用Atom编写以太坊智能合约
  16. 金融大数据分析-Jupyter-Python3-资产定价模型-CAPM
  17. 小菜鸟Python历险记:(第二集)
  18. Shell脚本中cp使用*号提示No such file
  19. WebRebuild第三届年会菩提树下介绍及相关资料下载
  20. 牛客练习Java之--树根

热门文章

  1. c语言中char类型转int类型
  2. 跟美团API对接,以及生成签名,同步数据到数据库
  3. android 大量代码中 grep 太慢,ReactNative 性能 - 闪电教程JSRUN
  4. linux 命令连接符,Linux 中命令链接操作符的十个最佳实例
  5. glusterfs 文件服务器 搭建
  6. 计算机网络及因特网的基本知识,计算机网络基本知识
  7. 软技能-代码之外的生存指南读后感 学习篇
  8. 惩罚因子(penalty term)与损失函数(loss function)
  9. 汉锐USB会议摄像机、1080P让商务视频会议更加轻松
  10. 网页版文件服务器搭建,Windows 下部署 Seafile 服务器