品牌设计网站大全,易签到网站开发设计,wordpress gif插件,aso优化报价本示例使用设备#xff1a; https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.1d292c1buHvw58fttid22173428704 Javascript源码
//引用http模块创建web服务器#xff0c;监听指定的端口获取以GET、POST、JSON等方式上传的数据#xff0c;并回应驱动读卡…
本示例使用设备 https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.1d292c1buHvw58fttid22173428704 Javascript源码
//引用http模块创建web服务器监听指定的端口获取以GET、POST、JSON等方式上传的数据并回应驱动读卡器显示文字、蜂鸣响声、播报语音、开启继电器等操作。
const http require(http);
const url require(url);
const querystringrequire(querystring);const hostname 192.168.1.211; //本机IP
const port 88; //监听端口let info; //接收到的数据包号需回应该包号
let jihao; //设备自编机号
let cardtype; //刷卡标志卡类型
let scantype; //扫码标志
let heartbeattype; //心跳包标志
let card; //接收到的原始16进制卡号可根据需要自行转换成其他卡号
let data; //扇区内容 或 扫码信息
let input; //输入标识
let output; //输出标识
let rand; //设备随机数
let dn; //设备硬件序列号出厂时已固化全球唯一
let status; //读卡状态如12表示卡密码认证失败
let RepStr;const server http.createServer((request, response) {console.log(request.method);console.log(request.url);console.log(request.httpVersion);console.log(request.headers);console.log(request.headers.host);if(request.methodGET){ //解析GET方式提交的数据let res url.parse(request.url, true);infores.query.info;jihaores.query.jihao;cardtyperes.query.cardtype;scantyperes.query.scantype;heartbeattyperes.query.heartbeattype;cardres.query.card;datares.query.data;inputres.query.input;outputres.query.output;randres.query.rand;dnres.query.dn;statusres.query.status;if (info ! dn !){ //通过解析获取到了数据包信息info 和设备硬件信息 表示确为HTTP 网络读卡器上传的信息立即回应RepStrResponse1; //Response1 固定前缀我们的设备以此来检索返回信息,表示 驱动设备显示和响声 RepStr RepStr , info; //提交的信息序号一定要对应RepStr RepStr ,Cardno: card welcome to use!; //读卡器上显示文字显示中文要转换编码,显示信息不能有半角符逗号RepStr RepStr ,5; //显示时长,单位为秒RepStr RepStr ,2; //蜂鸣器发声种类取值范围0-12RepStr RepStr ,; //播报的TTS语音中文语音要转换编码RepStr RepStr ,20; //第1继电器开启延时单位每1个单位延时25mm,20*25表示500mm,取值为0表示关闭继电器RepStr RepStr ,30; //第2继电器开启延时单位以分隔总计可以控制8个继电器response.end(RepStr);console.log(RepStr\n\n);} }else if(request.methodPOST){let body ;request.on(data, chunk {body chunk.toString();});request.on(end, () {console.log(body); let objquerystring.parse(body); //解析POST方式提交的数据infoobj.info;jihaoobj.jihao;cardtypeobj.cardtype;scantypeobj.scantype;heartbeattypeobj.heartbeattype;cardobj.card;dataobj.data;inputobj.input;outputobj.output;randobj.rand;dnobj.dn;statusobj.status;if (info undefined ){var jsonParsed JSON.parse(body); //解析POST JSON方式提交的数据 //console.log(jsonParsed);infojsonParsed.info;jihaojsonParsed.jihao;cardtypejsonParsed.cardtype;scantypejsonParsed.scantype;heartbeattypejsonParsed.heartbeattype;cardjsonParsed.card;datajsonParsed.data;inputjsonParsed.input;outputjsonParsed.output;randjsonParsed.rand;dnjsonParsed.dn;statusjsonParsed.status;}if (info ! dn !){ //通过解析获取到了数据包信息info 和设备硬件信息 表示确为HTTP 网络读卡器上传的信息立即回应RepStrResponse1; //Response1 固定前缀我们的设备以此来检索返回信息,表示 驱动设备显示和响声 RepStr RepStr , info; //提交的信息序号一定要对应RepStr RepStr ,Cardno: card welcome to use!; //读卡器上显示文字显示中文要转换编码,显示信息不能有半角符逗号RepStr RepStr ,5; //显示时长,单位为秒RepStr RepStr ,2; //蜂鸣器发声种类取值范围0-12RepStr RepStr ,; //播报的TTS语音中文语音要转换编码RepStr RepStr ,20; //第1继电器开启延时单位每1个单位延时25mm,20*25表示500mm,取值为0表示关闭继电器RepStr RepStr ,30; //第2继电器开启延时单位以分隔总计可以控制8个继电器response.end(RepStr);console.log(RepStr\n\n);} }); }
})server.listen(port, hostname, () {console.log(Server running at http://${hostname}:${port}/);
});