敬告:此 demo 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,九游会j9备用网址-j9九游会登录入口首页新版。
♦ js-sdk 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsbridge-v20250416.zip,请在页面上调用 jsbridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge
♦ usb host 主机模式;
监听器
• 如需处理接口调用事件,请设置此监听器;
jsbridge.usb.setlistener(function(event, res) { switch (event) { //usb 串口消息 case "serial": { //res.deviceid //res.serialportindex switch (res.action) { //收到设备发来的数据 case "onreceive": { console.log(res.hexdata); break; } //出错 case "onerror": { console.error(res.message); break; } } break; } } //此函数仅用于显示回调参数在本 demo 页面上 showresult({ event: event, res : res }); }); //请拉到页面底部查看回调数据信息 $('html,body').animate({ scrolltop: $('#view').offset().top }, 500);
//移除监听器,不会再收到回调通知 //在需要时可重新调用 setlistener jsbridge.usb.removelistener();
设备
jsbridge.usb.devices(function(success, res) { if (success) { //成功,拉到本页面底部查看 //此函数仅用于显示回调参数在本 demo 页面上 showresult({ devices: res }); } else { alert("失败\n" json.stringify(res)); } }); /** 成功时 res 为数组类型 [ //示例 { deviceid: 1, devicename: "", deviceclass: 1, devicesubclass: 1, deviceprotocol: 1, manufacturername: "", vendorid: 1, productid: 1, productname: "", serialnumber: "", interfacecount: 1, configurationcount: 1, version: "" }, //... ] **/
serialport 串口
deviceid:
vendorid:
productid:
jsbridge.usb.serialports({ //必须,devices() 接口获取到的已接入设备 deviceid deviceid: {{serial.deviceid}}, //可选 vendorid: {{serial.vendorid}}, //可选 productid: {{serial.productid}} }, function(success, res) { if (success) { //成功,拉到本页面底部查看 //此函数仅用于显示回调参数在本 demo 页面上 showresult({ serialports: res }); } else { alert("失败\n" json.stringify(res)); } }); /** 成功时 res 为数组类型 [ //示例 { serialportindex: 0, portnumber: 1, isopen: false, serial: "", cd: false, cts: false, dsr: false, dtr: false, ri: false, rts: false }, //... ] **/
deviceid:
serialportindex:
baudrate:
jsbridge.usb.openserialport({ //必须,devices() 接口获取到的已接入设备 deviceid deviceid: {{serial.deviceid}}, //必须,serialports() 接口获取的端口序号 serialportindex serialportindex: {{serial.serialportindex}}, //必须,波特率 baudrate: {{serial.baudrate}}, //可选 //dtr: false, //可选 //rts: false }, function(success, res) { if (success) { alert("打开成功"); } else { alert("失败\n" json.stringify(res)); } });
deviceid:
serialportindex:
jsbridge.usb.closeserialport({ //必须,devices() 接口获取到的已接入设备 deviceid deviceid: {{serial.deviceid}}, //必须,serialports() 接口获取的端口序号 serialportindex serialportindex: {{serial.serialportindex}} }, function(success, res) { if (success) { alert("关闭成功"); } else { alert("失败\n" json.stringify(res)); } });
deviceid:
serialportindex:
hexdata:
jsbridge.usb.writeserialport({ //必须,devices() 接口获取到的已接入设备 deviceid deviceid: {{serial.deviceid}}, //必须,serialports() 接口获取的端口序号 serialportindex serialportindex: {{serial.serialportindex}}, //必须,bytes 流的十六进制字符格式 hexdata: "{{serial.hexdata}}" }, function(success, res) { if (success) { alert("关闭成功"); } else { alert("失败\n" json.stringify(res)); } });
deviceid:
serialportindex:
jsbridge.usb.readserialport({ //必须,devices() 接口获取到的已接入设备 deviceid deviceid: {{serial.deviceid}}, //必须,serialports() 接口获取的端口序号 serialportindex serialportindex: {{serial.serialportindex}} }, function(success, res) { if (success) { alert("成功读取到:\n" res.hexdata); } else { alert("失败\n" json.stringify(res)); } }); /** 成功时 res { hexdata: "" // bytes 流的十六进制字符格式 } **/
deviceid:
serialportindex:
jsbridge.usb.breakserialport({ //必须,devices() 接口获取到的已接入设备 deviceid deviceid: {{serial.deviceid}}, //必须,serialports() 接口获取的端口序号 serialportindex serialportindex: {{serial.serialportindex}} }, function(success, res) { if (success) { alert("成功"); } else { alert("失败\n" json.stringify(res)); } });
监听回调数据: