Jav*_*ier 2 ruby macos usb libusb osx-yosemite
我买了一个Waterrower,它有一个S4 性能监视器,背面有一个微型 USB 连接器,我认为能够获取来自 S4 的数据并用它做一些很好的事情会很好。
我确实知道一些 Ruby,但我一点也不喜欢与硬件交谈。我确实在 Github 上找到了Lars Kanis的libusb Ruby 绑定,并使用了它:
2.1.0 :001 > require "libusb"
=> true
2.1.0 :002 > usb = LIBUSB::Context.new
=> #<LIBUSB::Context:0x000001011451c0 @ctx=#<FFI::Pointer address=0x000001032788b0>, @on_pollfd_added=nil, @on_pollfd_removed=nil, @hotplug_callbacks={}>
2.1.0 :003 > usb.devices
=> [#<LIBUSB::Device 20/9 04d8:000a Microchip Technology Inc. CDC RS-232: WR-S4.2 ? (Comm (00,00))>, #<LIBUSB::Device 20/8 054c:0243 Sony Storage Media 2A08080530914 (MassStorage SCSI Bulk-Only)>, #<LIBUSB::Device 20/1 05ac:025a Apple Inc. Apple Internal Keyboard / Trackpad ? (HID (01,01), HID (00,00), HID (01,02))>, #<LIBUSB::Device 20/129 05ac:8007 ? ? ? (Hi-speed Hub with single TT)>, #<LIBUSB::Device 21/128 05ac:8007 ? ? ? (Hub (00,03))>]
2.1.0 :004 > wr_s4 = usb.devices(:idVendor => 0x04d8, :idProduct => 0x000a).first
=> #<LIBUSB::Device 20/9 04d8:000a Microchip Technology Inc. CDC RS-232: WR-S4.2 ? (Comm (00,00))>
2.1.0 :005 > wr_s4
=> #<LIBUSB::Device 20/9 04d8:000a Microchip Technology Inc. CDC RS-232: WR-S4.2 ? (Comm (00,00))>
Run Code Online (Sandbox Code Playgroud)
如您所见,我能够连接到正确的设备(名为wr_s4)。
现在,我不知道 S4 Monitor 将通过 USB 发送哪种格式的数据,以及最聪明的读取方式是什么。
任何有关 S4 性能监视器或使用 Ruby 从 USB 设备中获取数据的帮助将不胜感激。
非常感谢你的帮助!
| 归档时间: |
|
| 查看次数: |
3251 次 |
| 最近记录: |