本文将带您了解关于如何使用libusb将数据发送到node.js中的USB设备的新内容,另外,我们还将为您提供关于c–如何最有效地使用libusb与连接的USB设备进行通话?、C#如何使用LibUsb
本文将带您了解关于如何使用libusb将数据发送到node.js中的USB设备的新内容,另外,我们还将为您提供关于c – 如何最有效地使用libusb与连接的USB设备进行通话?、C#如何使用LibUsbDotNet实现USB通信的示例详解、cocoa – libusb是Mac OS X上访问USB设备的首选方法吗?、Gatsby.js 我无法使用 gatsby-node.js 将数据发送到页面的实用信息。
本文目录一览:- 如何使用libusb将数据发送到node.js中的USB设备
- c – 如何最有效地使用libusb与连接的USB设备进行通话?
- C#如何使用LibUsbDotNet实现USB通信的示例详解
- cocoa – libusb是Mac OS X上访问USB设备的首选方法吗?
- Gatsby.js 我无法使用 gatsby-node.js 将数据发送到页面
如何使用libusb将数据发送到node.js中的USB设备
我已经尝试按照以下文档https://www.npmjs.org/package/usb从设备(USB温度计)中获取数据,但没有任何结果。
为了从设备获取性能数据,我应该发送类似“ d \ n”的数据。
这是我的代码:
var usb = require(''usb''), term = usb.findByIds(65535, 2);term.open();var endpoints = term.interfaces[0].endpoints, inEndpoint = endpoints[0], outEndpoint = endpoints[1];inEndpoint.transferType = 2;inEndpoint.startStream(1, 64);inEndpoint.transfer(64, function (error, data) { if (!error) { console.log(data); } else { console.log(error); }});inEndpoint.on(''data'', function (data) { console.log(data);});inEndpoint.on(''error'', function (error) { console.log(error);});outEndpoint.transferType = 2;outEndpoint.startStream(1, 64);outEndpoint.transfer(new Buffer(''d\n''), function (err) { console.log(err);});
运行后,我得到了这个:
D:\Dev\USBTest\node_modules\usb\usb.js:261 t.submit(new Buffer(self.streamTransferSize), transferDone) ^Error: LIBUSB_ERROR_NOT_FOUND at startTransfer (D:\Dev\USBTest\node_modules\usb\usb.js:261:5) at Array.forEach (native) at InEndpoint.startStream (D:\Dev\USBTest\node_modules\usb\usb.js:264:23) at D:\Dev\USBTest\app.js:15:16 at Object.<anonymous> (D:\Dev\USBTest\app.js:35:2) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10)
答案1
小编典典您忘记了调用interface.claim()。
https://github.com/nonolith/node-usb#claim
c – 如何最有效地使用libusb与连接的USB设备进行通话?
具体来说,如何将数据传输到USB设备,从设备接收信息,查找连接的设备的名称(如果有存储设备)等.
更具体地说,我将在Mac OS X机器上运行,所以我知道我不能只使用Windows头文件.
如果对libusb和USB设备有很好的解释,那将是有帮助的.
解决方法
C#如何使用LibUsbDotNet实现USB通信的示例详解
网上c#usb通信的资料比较少, 基本上都是基于libusbdotnet 和 cyusb, 关于打印机设备的还有一个opos。
本篇文章基于LibUsbDotNet。
1. 下载并安装 LibUsbDotNet 安装文件。
2. 运行Filter Wizard, Install a device filter。 安装需要通信的usb设备。
3. 建一个简单的控制台项目,进行测试, 下图为打印需要通信设备的信息。
相关代码:
引用
using LibUsbDotNet; using LibUsbDotNet.Main; using LibUsbDotNet.Info;
PrintUsbInfo
public static void PrintUsbInfo() { UsbDevice usbDevice = null; UsbRegDeviceList allDevices = UsbDevice.AllDevices; Console.WriteLine("Found {0} devices", allDevices.Count); foreach (UsbRegistry usbRegistry in allDevices) { Console.WriteLine("Got device: {0}\r\n", usbRegistry.FullName); if (usbRegistry.Open(out usbDevice)) { Console.WriteLine("Device Information\r\n------------------"); Console.WriteLine("{0}", usbDevice.Info.ToString()); Console.WriteLine("VID & PID: {0} {1}", usbDevice.Info.Descriptor.VendorID, usbDevice.Info.Descriptor.ProductID); Console.WriteLine("\r\nDevice configuration\r\n--------------------"); foreach (UsbConfigInfo usbConfigInfo in usbDevice.Configs) { Console.WriteLine("{0}", usbConfigInfo.ToString()); Console.WriteLine("\r\nDevice interface list\r\n---------------------"); ReadOnlyCollection<UsbInterfaceInfo> interfaceList = usbConfigInfo.InterfaceInfoList; foreach (UsbInterfaceInfo usbInterfaceInfo in interfaceList) { Console.WriteLine("{0}", usbInterfaceInfo.ToString()); Console.WriteLine("\r\nDevice endpoint list\r\n--------------------"); ReadOnlyCollection<UsbEndpointInfo> endpointList = usbInterfaceInfo.EndpointInfoList; foreach (UsbEndpointInfo usbEndpointInfo in endpointList) { Console.WriteLine("{0}", usbEndpointInfo.ToString()); } } } usbDevice.Close(); } Console.WriteLine("\r\n----- Device information finished -----\r\n"); } }
调用
public static void Main(string[] args) { PrintUsbInfo(); // Wait for user input.. Console.ReadKey(); }
以上就是C#如何使用LibUsbDotNet实现USB通信的示例详解的详细内容,更多请关注php中文网其它相关文章!
cocoa – libusb是Mac OS X上访问USB设备的首选方法吗?
可可有高水平的等价物吗?
解决方法
Gatsby.js 我无法使用 gatsby-node.js 将数据发送到页面
如何解决Gatsby.js 我无法使用 gatsby-node.js 将数据发送到页面?
我正在使用 axios 从 REST API 检索数据,我需要将数据发送到页面,以便将其写入 html。
在 gatsby-node.js 中我有:
const axios = require(''axios'')
const get = axios.get(''https://cv-page.prismic.io/api/v1/documents/search?ref=YDNpXBUAAMmV9aOD#format=json'');
async function getPrismicData(){
const data = await get;
return getExperiences(data.data)
}
function getExperiences(data) {
var object = [{
experienceTitle: data.results[0].data.cv.experiences.value[0]["experience-title"].value[0].text,dateEnd: data.results[0].data.cv.experiences.value[0]["date-end"].value,dateStart: data.results[0].data.cv.experiences.value[0]["date-start"].value
},{
experienceTitle: data.results[0].data.cv.experiences.value[1]["experience-title"].value[0].text,dateEnd: data.results[0].data.cv.experiences.value[1]["date-end"].value,dateStart: data.results[0].data.cv.experiences.value[1]["date-start"].value
}
]
return object;
}
exports.createPages = async ({actions: {createPage}}) => {
const prismicData = await getPrismicData();
console.log(prismicData)
createPage({
path: `/`,component: require.resolve("./src/pages/index.js"),context: {prismicData}
});
}
与此同时,在 index.js 中我有:
import React from "react"
import LeftColumn from "../components/left_column"
import RightColumn from "../components/right_column"
import "./index.css"
export default ({ pageContext: { prismicData } }) => {
console.log(prismicData)
return(
<div className="two-columns">
<LeftColumn></LeftColumn>
<RightColumn></RightColumn>
</div>
)
}
我在 console.logs 中看到的是,在 gatsby-node 中我已经正确检索了数据,而在 index.js 中它是未定义的。
我做错了什么?我无法理解这个问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
我们今天的关于如何使用libusb将数据发送到node.js中的USB设备的分享已经告一段落,感谢您的关注,如果您想了解更多关于c – 如何最有效地使用libusb与连接的USB设备进行通话?、C#如何使用LibUsbDotNet实现USB通信的示例详解、cocoa – libusb是Mac OS X上访问USB设备的首选方法吗?、Gatsby.js 我无法使用 gatsby-node.js 将数据发送到页面的相关信息,请在本站查询。
本文标签: