1.2.6 • Published 2 years ago

eduku-hid v1.2.6

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

eduku-hid - Access EDUKU USB HID devices from Node.js

Platform Support

eduku-hid supports Node.js v6 and upwards. For versions before that, you will need to build from source. The platforms, architectures and node versions eduku-hid supports are the following. In general we try to provide pre-built native library binaries for the most common platforms, Node and Electron versions.

We strive to make eduku-hid cross-platform so there's a good chance any combination not listed here will compile and work.

Installation

For most "standard" use cases (macOS, Windows, Linux x86), eduku-hid will install like a standard npm package:

npm install eduku-hid

Usage

Config eduku client listener

var eduku = require("eduku-hid");
eduku.config({
	//初始化
	TouchSensorAngle: "0", // 书写框摆放角度, 0: 0度,1: 180度,2: 90度,3: 270度
	template: {}, // 模板详情
	on: {
		DeviceInfo: function (device) {
			// 设备信息
			//console.log("DeviceInfo:", data);
		},
		TouchData: function (touch) {
			//触摸数据
			//console.log("TouchData:", touch);
		},
		data: function () {}, // hid data
		error: function (type, error) {}, // hid error
	},
});

Sample config:

var eduku = require('eduku-hid');
eduku.config({  //初始化
    TouchSensorAngle: "0",// 书写框摆放角度, 0: 0度,1: 180度,2: 90度,3: 270度
    template: {
        rubWidth: "",//该值不能为数字0
        rubHeight: "",//该值不能为数字0
        button_width: 30,
        button_height: 90,
        clear_x: 10,
        clear_y: -45,
        save_x: 50,
        save_y: -45,
        switch_x: 90,
        switch_y: -45,
        pageup_x: 130,
        pageup_y: -45,
        pagedown_x: 170,
        pagedown_y: -45,
        red_x: 210,
        red_y: -45,
        blue_x: 250,
        blue_y: -45,
        black_x: 290,
        black_y: -45,
        share_x: 330,
        share_y: -45,
    },
    on: {
        DeviceInfo: function(device){ // 设备信息
            //console.log("DeviceInfo:", data);
        },
        TouchData: function(touch){ //触摸数据
            console.log("TouchData:", touch);
        },
        data: function(){}  // hid data
        error: function(type, error){}  // hid error
    }
});
// or config listeners via "on" function
    eduku.on('TouchData', function(touchdata){
        //
    })
    eduku.on('error', function(err){
        //err.code
    })

Event:

DeviceInfo:设备信息;

TouchData:触摸数据;

data:HID hid;

error:HID 错误信息;

Error codes:

编号描述操作
6正在扫描设备检查设备是否正确接入
7config 参数缺失检查 config 参数
8设备断开连接检查设备是否正确接入
9无法扫描本机设备列表检查程序是否有权限

Template explanation

键名\解释例如\键值类型
rubWidth\板擦宽度111数字
rubHeight\板擦高度111数字
button_width\按钮宽度111数字
button_height\按钮高度111数字
clear_x\清除按钮 x 坐标111数字
clear_y\清除按钮 y 坐标111数字
save_x\保存按钮 x 坐标111数字
save_y\保存按钮 y 坐标111数字
switch_x\切换按钮 x 坐标111数字
switch_y\切换按钮 y 坐标111数字
pageup_x\前一页按钮 x 坐标111数字
pageup_y\前一页按钮 y 坐标111数字
pagedown_x\后一页按钮 x 坐标111数字
pagedown_y\后一页按钮 y 坐标111数字
red_x\红色按钮 x 坐标111数字
red_y\红色按钮 y 坐标111数字
blue_x\蓝色按钮 x 坐标111数字
blue_y\蓝色按钮 y 坐标111数字
black_x\黑色按钮 x 坐标111数字
black_y\黑色按钮 y 坐标111数字
share_x\功能键按钮 x 坐标111数字
share_y\功能键按钮 y 坐标111数字

Returned data

Data Format:

{
  _UsbTouchPoint: {
    tipSwitch: 0,
    contact_ID: 0,
    x: 135.783,
    y: 105.71934375,
    width: 31.147031249999998,
    height: 12.368531249999998,
  },
  JudgePointTypeType: { type: 0, x: 201.05634375, y: 146.79731249999998 },
  buttonClickData: { name: 'clear', x: 10.02121875, y: 24.28565625 },
};

Explanation:

_UsbTouchPoint:usb 点数据;

tipSwitch:手指抬起放下 0是无效点数据,7是有效数据;

contact_ID:多点触摸 ID;

x:x 点坐标;

y:y 点坐标;

width:触点宽度;

height:触点高度;

JudgePointTypeType:板擦数据;

type:0是板擦;

x:板擦 x 坐标;

y:板擦 y 坐标;

btnName:按钮名称;

x:按钮 x 坐标;

y:按钮 y 坐标;

DeviceInfo

Data Format:

DeviceInfo: {
  boardDimension: '21',
  longLightNum: '64',
  shortLightNum: '64',
  hardwareVersion: '4.9.C06b',
  maxSupportPointNum: '10',
  scanCycle: '5',
  lightSplitNum: '64',
  lightWidth: 5.778,
  boardWidthMM: 370.432,
  boardHeightMM: 370.432,
  serialNumber: '2C0028001557345734363020',
  valid: true,
  state: true
}

Explanation:

DeviceInfo:书写框初始化数据;

boardDimension:框尺寸;

longLightNum:长边灯灯管数;

shortLightNum:短边灯管数;

hardwareVersion:硬件版本;

maxSupportPointNum:最大支持点数;

scanCycle:扫描周期;

lightSplitNum:灯管分割数;

lightWidth:灯管宽度;

boardWidthMM:框的宽\毫米;

boardHeightMM:框的高\毫米;

serialNumber:序列号;

valid:无用;

state:无用;

1.2.0

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago