C# .aspx网页获取RFID读卡器HTTP协议提交的访问文件Request获得卡号、机号,Response回应驱动读卡器显示响声

这篇具有很好参考价值的文章主要介绍了C# .aspx网页获取RFID读卡器HTTP协议提交的访问文件Request获得卡号、机号,Response回应驱动读卡器显示响声。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 C# .aspx网页获取RFID读卡器HTTP协议提交的访问文件Request获得卡号、机号,Response回应驱动读卡器显示响声,网络读卡器,18002295132,QQ:954486673,c#,http,apsx,request,response

本示例使用的设备:RFID网络WIFI无线TCP/UDP/HTTP可编程二次开发读卡器POE供电语音-淘宝网 (taobao.com)文章来源地址https://www.toymoban.com/news/detail-676373.html

服务端代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Web.Services;
using Newtonsoft.Json;

public partial class HttpReader : System.Web.UI.Page
{
    public string RepStr = "";

    protected void Page_Load(object sender, EventArgs e)
    {
        //Request方式:直接以对象索引的方式获取参数值,不受POST或GET方式影响。
        //Request.QueryString方式:在客户端使用GET方式进行提交时可以使用此方式获取。高效
        //Request.Form方式:在客户端使用POST方式进行提交时可以使用此方式进行获取。高效
        //Request.Params方式:该方式属于多种获取数据的一个集合,包括Cookie,此方式同样不受POST和GET方式影

        string info = "";
        string jihao = "";
        string cardtype = "";
        string card = "";
        string Data = "";
        string dn = "";
        string Status = "";
        Int16 cardtype16 = 0;
        int cardtypecode = 0;
        int pushortake = 0;
        string dispstr = "";
        string ChineseVoice = "[v8]";    //[v8]表示本次播报语音音量,取值范围v1 到 v16

        try             
        {   //GET、POST提交方式下解析获取提交的各项参数
            if (Request.Params["info"] != null) { info = Request.Params["info"]; }             //信息序号
            if (Request.Params["jihao"] != null) { jihao = Request.Params["jihao"]; }          //设备机号(可自编)
            if (Request.Params["cardtype"] != null){cardtype = Request.Params["cardtype"];}    //卡类型,卡状态
            if (Request.Params["card"] != null) { card = Request.Params["card"]; }             //卡序列号
            if (Request.Params["data"] != null) { Data = Request.Params["data"]; }             //扇区内容
            if (Request.Params["dn"] != null) { dn = Request.Params["dn"]; }                   //设备硬件序列号,出厂时已固化,全球唯一
            if (Request.Params["status"] != null) { Status = Request.Params["status"]; }       //读卡状态,如密码认证失败为12

            if (info != "" && jihao != "" && cardtype != "" && card != "")
            {                
                cardtype16 = Convert.ToInt16(cardtype, 16);
                pushortake = cardtype16 / 128;       //pushortake=0 表示读卡,>0表示卡离开感应区
                cardtypecode = cardtype16 % 16;      // cardtypecode=1 ID卡,2 HID卡,3 T5557卡,4 EM4305卡,5 IC卡,6 二代身份证,7 是15693卡,IClass"                
            }
            else    //如未获取到有效参数,使用JSON方式解析获取提交的参数
            {
                StreamReader sr = new StreamReader(Request.GetBufferlessInputStream());
                string response = sr.ReadToEnd();

                RootObject rb = JsonConvert.DeserializeObject<RootObject>(response);
                info = rb.info;            //接收到的数据包号,需回应该包号
                jihao = rb.jihao;          //设备机号(可自编)
                cardtype = rb.cardtype;    //卡类型,卡状态
                card = rb.card;            //接收到的原始16进制卡号,可根据需要自行转换成其他卡号
                Data = rb.data;            //扇区内容
                dn = rb.dn;                //设备硬件序列号,出厂时已固化,全球唯一
                Status = rb.status;        //读卡状态,如密码认证失败为12

                if (info != "" && jihao != "" && cardtype != "" && card != "")
                {
                    cardtype16 = Convert.ToInt16(cardtype, 16);
                    pushortake = cardtype16 / 128;       //pushortake=0 表示读卡,>0表示卡离开感应区
                    cardtypecode = cardtype16 % 16;      // cardtypecode=1 ID卡,2 HID卡,3 T5557卡,4 EM4305卡,5 IC卡,6 二代身份证,7 是15693卡,IClass"         
                }
            }

            if (info != ""  && card != "")    //通过解析获取到了有效的参数,回应驱动读卡器显示文字、蜂鸣响声或播报语音
            {
                dispstr = "{" + getChinesecode("卡号") + ":}" + (card + "      ").Substring(0, 12) + DateTime.Now.ToString("yy-MM-dd HH:mm:ss"); //显示信息,注意中文汉字一定要转换为设备能显示的编码,其它字母数字符号不需要转换,{}内的信息反白显示

                if (pushortake > 0){
                    ChineseVoice = ChineseVoice + getChinesecode("卡号") + "[n1]" + card + getChinesecode("离开感应区!");     //TTS语音,注意中文汉字一定要转换为设备能识别的编码,[n1]表示数字播报方式,其它字母数字符号不需要转换              
                }
                else{
                    ChineseVoice = ChineseVoice + getChinesecode("读取卡号") + "[n1]" + card;
                }

                RepStr = "Response=1";                    //Response=1 固定前缀,我们的设备以此来检索返回信息,表示 驱动设备显示和响声
                RepStr = RepStr + "," + info;             //提交的信息序号,一定要对应
                RepStr = RepStr + "," + dispstr;          //读卡器上显示文字
                RepStr = RepStr + ",20";                  //显示时长20秒
                RepStr = RepStr + ",2";                   //蜂鸣器发声种类,取值范围0-12
                RepStr = RepStr + "," + ChineseVoice;     //播报的TTS语音

                Response.Write(RepStr);    //将回应信息传送到读卡器
                Response.End();
            }
        }
        catch { }
        
    }

    public static string getChinesecode(string inputstr)   //获取中文编码,显示汉字、TTS中文语音都要转换编码
    {
        int strlen = inputstr.Length;
        string hexcode = "";
        for (int i = 0; i < strlen; i++)
        {
            string str = inputstr.Substring(i, 1);
            byte[] Chinesecodearry = System.Text.Encoding.GetEncoding(936).GetBytes(str);
            int codelen = (byte)Chinesecodearry.Length;
            if (codelen == 1)
            {
                hexcode = hexcode + str;
            }
            else
            {
                hexcode = hexcode + "\\x" + Chinesecodearry[0].ToString("X2") + Chinesecodearry[1].ToString("X2");
            }
        }
        return hexcode;
    } 

    public class RootObject  //json类
    {
        public string info { get; set; }
        public string jihao { get; set; }
        public string cardtype { get; set; }
        public string card { get; set; }
        public string data { get; set; }
        public string dn { get; set; }
        public string status { get; set; }
    }

}
前端脚本 :
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="HttpReader.aspx.cs" Inherits="HttpReader" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Http读卡器Demo</title>
</head>

<body>
    <form id="form1" runat="server">
    <div style="height: 96px">
       
    </div>
    </form>
</body>
</html>

到了这里,关于C# .aspx网页获取RFID读卡器HTTP协议提交的访问文件Request获得卡号、机号,Response回应驱动读卡器显示响声的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • stm32驱动RFID高频读卡器读取IC卡

    RFID(Radio-Frequency Identification)高频读卡器是一种设备,用于读取和解析高频(13.56 MHz)频段上的RFID标签信息。这种读卡器通过无线射频技术与标签进行通信,并从标签中获取存储的数据。 RFID高频读卡器通常包括以下主要 组件 : 读卡器天线:用于发射和接收射频信号,与标

    2024年02月11日
    浏览(28)
  • 实时在线云消费机、考勤门禁控制器、网络读卡器服务端C# Socket源码

      消费机UDP通讯协议介绍: 设备向服务器发送的指令格式,每个字段用半角逗号(,)分隔。 序号 指令名称 指令格式 指令说明 示例 1 响应服务器的搜索 100,包序列号,终端IP,子网掩码,网关IP,远程电脑主机IP,端口号,终端硬件号 响应电脑发出的搜寻局域网内所有终端设备指令000

    2024年02月10日
    浏览(41)
  • STM32CubeMX教程30 USB_DEVICE - MSC外设_读卡器

    正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 野火DAP仿真器 XCOM V2.6串口助手 使用STM32CubeMX软件配置STM32F407开发板 USB_OTG_FS为工作在Mass Storage Class(大容量存储类)模式下的USB_DEVICE(USB从机),使其作为SD卡读卡器在Windows系

    2024年02月19日
    浏览(29)
  • 身份证阅读器和社保卡读卡器Harmony鸿蒙系统ArkTS语言SDK开发包

    项目需求,用ArkTS新一代开发语言实现了在Harmony鸿蒙系统上面兼容身份证阅读器和社保卡读卡器,调用了DonseeDeviceLib.har这个读卡库。 需要注意的是,鸿蒙系统的app扩展名为.hap,本项目编译输出的应用为:entry-default-signed.hap 下面是调用身份证阅读器读取身份证信息的接口,支

    2024年02月03日
    浏览(54)
  • 晨控CK-FR03-EIP读卡器与欧姆龙NX/NJ系列EtherNet/IP通讯手册

    晨控CK-FR03-EIP读卡器与欧姆龙NX/NJ系列EtherNet/IP通讯手册 CK-FR03-EIP是一款基于射频识别技术的高频RFID标签读卡器,读卡器工作频率为13.56MHZ,支持对I-CODE 2、I-CODE SLI等符合ISO15693国际标准协议格式标签的读取。 读卡器同时支持标准工业通讯协议EtherNet IP,方便用户通集成到PLC等

    2024年02月01日
    浏览(38)
  • 【正点原子STM32连载】 第六十章 USB读卡器实验摘自【正点原子】STM32F103 战舰开发指南V1.2

    1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html# 本章,我们将向大家介绍如何利用USB OTG FS在STM32F1开发板实现一个USB 读卡器。本章分为如下几个部分

    2024年02月16日
    浏览(38)
  • 【正点原子STM32连载】 第六十一章 USB读卡器(Slave)实验摘自【正点原子】APM32F407最小系统板使用指南

    1)实验平台:正点原子APM32F407最小系统板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html## 本章将介绍使用APM32F407作为USB从设备,模拟出USB读卡器,使得PC与APM32F407通过USB连接后,能够访问与

    2024年02月21日
    浏览(38)
  • Unity C# 之 Http 获取网页的 html 数据,并去掉 html 格式等相关信息

    目录 Unity C# 之 Http 获取网页的 html 数据,并去掉 html 格式等相关信息 一、简单介绍 二、实现原理 三、注意事项 四、效果预览  五、关键代码 Unity中的一些知识点整理。 本节简单介绍在Unity开发中的,使用 HttpClient,获取指定网页的相关信息,然后进行数据清洗,去掉html 格

    2024年02月12日
    浏览(27)
  • STM32F103+RFID-RC522模块 实现简单读卡写卡demo

    本仓库发布的程序,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。 本人对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害。 间接使用脚本的任何用户,包括但不限于建立VPS或

    2023年04月09日
    浏览(32)
  • C#使用post方式调用接口获取Token及调用网页地址

     IP、Port表示地址及端口,可配置或写死 public string PostDate(string IP,string Port)         {             //设置参数             string content= \\\"{\\\"userName\\\":\\\"\\\" 0000 \\\"\\\"\\\" +                  \\\",\\\"password\\\":\\\"123456\\\"}\\\";             //填充路径             string strUrl = string.Format(\\\"http://{0}:

    2023年04月08日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包