物联网工程关键技术之门禁低频卡的制作 您所在的位置:网站首页 物联网工程吃香吗 物联网工程关键技术之门禁低频卡的制作

物联网工程关键技术之门禁低频卡的制作

2023-06-20 12:01| 来源: 网络整理| 查看: 265

1,如何自己动手复制门禁卡电梯卡

       大多数小区都需要使用门禁卡或者电梯卡进入小区或者小区电梯,一般物业根据业主人数仅配送3-4张,有客人到访或者丢失后再找物业配发往往需要很高的费用,今天教大家一个便宜有效的方法,自己就能动手复制门禁卡和电梯卡。首先使用数据线连接NFC读卡器至电脑,然后根据系统安装驱动,按照提示下一步至完成。然后打开NFC读卡器配套软件,然后把自己的门禁卡或者电梯卡放在读卡器上面,点击软件上的“读整卡:读取卡片内容”,等待读卡完成,然后软件界面会显示卡片数据。然后导出并保存卡片数据文件。然后把IC白卡放到NFC读卡器上面,点击“读整卡:读取卡片内容”,读卡后点击“写整卡”,选择之前导出保存的数据。然后写卡完成。

2,如何复制门禁卡

       复制门禁卡方法:1、首先,把原门禁卡,放在支持NFC手机的背面感应,如果听到“嗡”一声,则代表这是低频卡,反之,则是高频卡,值得一提的是,再次过程中,手机需要打开nfc功能。2、对于复制低频卡,我们在手机上安装MifareClassicTool应用,在下载后,允许读取手机权限,重新放在手机背部,便可读取原门禁卡信息。3、在读取后,把新的任意IC卡与ID卡放在手机感应出,在应用中选择复制写入。4、对于高频卡我们在手机上下载NFCTaginfo,随后,把原门禁卡放在手机背部感应,在tech处便可看到门禁卡验证ID。5、拿需要复制的门禁卡放在手机背面再次感应,并在NFCTaginfo中打开RE文件管理器,并在根目录“etc文件夹”中打开“libnfc-nxp.conf”。6、往下翻,找到数值超出的部分,并修改为“第四步”验证ID数值,RE文件夹便会自动生成源文件,从而完成高频卡修改即可复制完成。

3,门禁卡的复制方法

1.打开华为手机找到钱包2.在卡证专区找到钥匙3.在门钥匙选项下选择第一项--模拟实体门禁卡,然后点击模拟4.将需要模拟的门禁卡贴在手机的背面读卡,稍等片刻卡片就会读取成功了,我们需要添加的门禁卡也就添加成功了。注意:如果嫌麻烦可以将其设为默认卡,使用起来更方便。把原来的门禁卡放在复制工具的读取资料区域上面,准备复制资料,复制过程比较快,一般情况几秒钟就可以复制完成,信息复制成功后,把新的门禁卡放在复制工具上,把复制的信息写入到新的门禁卡上,成功写入后,就可以了。门禁卡一般分为IC卡和ID卡两种,简单的来说IC卡可以加密,相对比较复杂,ID卡因为只储存了一串卡号,是最容易复制的;上述方法就是复制IC卡的方法,而ID卡的复制更加简单,直接使用一个空白的ID卡,就可以完成复制。如果复制门禁卡做法没有经单位和物业管理等同意,那么复制是违规的,导致损失要承担相应的责任,牵涉到犯罪,会承担法律后果。门禁卡是用于门禁系统中的卡,如出入证、门禁卡、停车卡、会员卡等;门禁卡在发放最终用户使用前,经由系统管理员设置,确定可使用区域及用户权限,用户使用门禁卡刷卡进入管理区域,无门禁卡或权限未开通用户,不能进入管理区域。

4,手机怎么门禁卡怎么复制

付费内容限时免费查看 回答 您好,您的问题我已经接收到了,正在为您整理相关信息,时间可能会稍微长一点,请耐心等候哦。??? 1首先打开手机设置。2.找到连接与分享,点击进入之后下拉,打开NFC选项的开关。3.返回手机主界面打开钱包,找到门卡模拟功能,将门禁卡放在手机背面,点击模拟即可开始读卡。4.读卡成功后,手机会出现提示,开启钱包应用后选择门禁卡,即可在门禁处用手机模拟开门。 亲亲 首先你的手机需要支持NFC功能,第二,你的门禁卡必须是高频率IC卡,满足这两个条件才可以复制,另外一般的加密卡需要先创建一张空白卡,创建成功后再用空白卡去读取实体门禁卡,高级一点的加密卡或者带有防火墙的卡需要借助第三方解码工具破解后才能复制成功。 在门卡设置界面,选择“自定义空白卡”,将我们的加密门禁卡与手机进行数据传输,然后,点击“写卡”,加密信息,然后,我们就完成了加密门禁卡的复制。

以下为演示代码:

namespace _1._0 {     public partial class Form1 : Form     {         SerialPort comX = new SerialPort("COM100", 115200, Parity.None, 8, StopBits.One);         Timer t = new Timer();

        public Form1()         {             InitializeComponent();         }

        private void Form1_Load(object sender, EventArgs e)         {             string[] ports = System.IO.Ports.SerialPort.GetPortNames();             comboBox1.Items.AddRange(ports);             t.Interval = 1000;             t.Stop();             t.Tick += new EventHandler(button7_Click);

        }

        private void label2_Click(object sender, EventArgs e)         {

        }

        private void button2_Click(object sender, EventArgs e)         {             byte[] buff = new byte[] { 0xff, 0x55, 0x00, 0x00, 0x01, 0x01, 0x00, 0x50, 0x74 };

            comX.Write(buff, 0, buff.Length);

        }

        private void button7_Click(object sender, EventArgs e)         {             int len = comX.BytesToRead;             byte[] buffer = new byte[len];             comX.Read(buffer, 0, len);

            for (int i = 0; i < len; i++)             {                 textBox1.Text += buffer[i].ToString("X").PadLeft(2, '0') + " ";             }

        }

        private void button1_Click(object sender, EventArgs e)         {             if (!comX.IsOpen)//如果串口关闭,则打开             {                 comX.PortName = comboBox1.Text;                 comX.BaudRate = int.Parse(comboBox2.Text);                 comX.Parity = Parity.None;                 comX.DataBits = 8;                 comX.StopBits = StopBits.One;                 comX.Open();                 button1.Text = "关闭端口";                 button1.BackColor = Color.Red;

                timer1.Start();             }             else if (comX.IsOpen)//如果串口已打开,则关闭             {                 comX.Close();                 button1.Text = "打开端口";                 button1.BackColor = Color.Green;

                timer1.Stop();

            }

        }

        private void textBox1_TextChanged(object sender, EventArgs e)         {

        }

        private void button3_Click(object sender, EventArgs e)         {             textBox2.Text = " ";             byte[] buffer = new byte[] { 0xff, 0x55, 0x00, 0x00, 0x03, 0x04, 0x05, 0x04, 0x00, 0x00, 0x66, 0x88, 0x81, 0xAF };             comX.Write(buffer, 0, buffer.Length);             textBox1.Text = "注册完成!";         }

        private void button4_Click(object sender, EventArgs e)         {             textBox2.Text = " ";             byte[] buffer = new byte[] { 0xff, 0x55, 0x00, 0x00, 0x03, 0x03, 0x01, 0x04, 0x0C, 0xF0 };             comX.Write(buffer, 0, buffer.Length);             textBox1.Text = "读卡完成";         }

        private void button5_Click(object sender, EventArgs e)         {             textBox2.Text = " ";             byte[] buffer = new byte[] { 0xff, 0x55, 0x00, 0x00, 0x03, 0x04, 0x05, 0x04, 0x00, 0x00, 0x00, 0x00, 0x47, 0x84 };             comX.Write(buffer, 0, buffer.Length);             textBox1.Text = "注销完成";         }

        private void timer1_Tick(object sender, EventArgs e)         {             if (comX.BytesToRead != 0)             {                 int i = comX.BytesToRead;//读取接收缓冲区数据长度                 byte[] buffer = new byte[i];//新建一个字节数组buffer,长度与接收到的字节长度相同                 comX.Read(buffer, 0, i);    //通过Read方法将缓冲区的数据放置到buffer中                 if (buffer[9] == 0x66 && buffer[10] == 0x88)//对接收在到的数据进行判断,看是否为本小区用户

                {                     button6.Text = "开门";                     button6.BackColor = Color.Green;                 }                 else                 {                     button6.Text = "禁止入内";                     button6.BackColor = Color.Red;                 }                 for (int len = 0; len < i; len++)//将接收到的数据进行字符转换                 {                     textBox2.Text += buffer[len].ToString("X").PadLeft(2, '0') + " ";//*接收的数据整理为16进制,不够两位的                 }             }         }

        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)         {

        }     } }

以上皆为演示,谢谢阅览



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有