技术指南:使用MCC DAQ与第三方Linux驱动的树莓派®数据采集

简介
Raspberry Pi®是一种单板式计算机,可连接键盘、显示器,并运行基于Linux®的操作系统。低于人民币300元的树莓派提供了一种注重性价比的数据采集方案。 MCC以三种不同的方式支持树莓派:

本文重点介绍如何使用Warren Jasper博士的开源驱动,它允许用户从多数MCC USB,以太网和蓝牙的DAQ设备中采集数据。了解更多关于使用UL for Linux的信息,请参考技术指南-UL for Linux树莓派数据采集

目的
在树莓派上运行应用程序,控制MCC DAQ设备执行数据采集任务。
本文将就如何完成下列任务进行阐述:

  • SD卡格式化
  • 在树莓派中安装操作系统
  • 为树莓派配置选项
  • 安装Linux设备驱动
  • 安装MCC DAQ第三方驱动,编译MCC Linux测试程序
  • 运行MCC Linux测试程序

适用人群
本文档适用于有兴趣在树莓派中Linux平台上获取数据并熟悉MCC DAQ设备的应用程序开发人员。

设备
任务的完成需要用到以下设备:

  • 树莓派单板计算机 --- 笔者使用树莓派model B,但您可以使用任意一种树莓派
  • SD卡(8GB或更大存储空间)
  • 可连接至网络的PC 或 Mac®
  • 以太网线或无线适配器
  • 显示器或电视与HDMI线
  • 电源供应
  • 鼠标或轨迹球
  • 键盘
  • MCC DAQ设备 --- 笔者目前通过USB-1608FS来完成数据采集

点击查看Linux®支持的且与树莓派兼容的MCC DAQ设备

建议使用自供电USB hub连接外设至树莓派。

下图展示了用于完成上述任务的树莓派配置:

Raspberry Pi

注意,鼠标和键盘通过USB hub连接树莓派,并未在上图中显示。

安装操作系统
您必须先将操作系统安装到树莓派上,然后才能使用它。笔者安装的是Raspbian,一种基于Debian的免费操作系统,针对树莓派硬件进行了优化。通过NOOBS(New Out Of the Box Software)完成Raspbian的安装,NOOBS是树莓派操作系统的安装管理器。

使用SD卡将NOOBS传输到树莓派中。SD卡必须被格式化以移除先前的信息。以下过程将向您展示如何完成这些步骤。

观看视频!前往http://www.raspberrypi.org/help/noobs-setup/,观看视频,查看如何格式化SD卡,下载NOOBS,以及安装Raspbian操作系统至树莓派中。

SD卡格式化
完成下列步骤以格式化SD卡:

  1. 前往www.sdcard.org,点击Download
  2. 至页面底部,选择SD formatter for Windows or Mac,将下载保存至电脑上。
  3. 3. 将SD卡安装至您的PC或Mac,运行setup.exeSD formatter executable。

安装操作系统至树莓派中
完成下列步骤以下载NOOBS并安装操作系统至树莓派中:

  1. 前往www.raspberrypi.org,点击Downloads.
    在NOOBS模块下点击Download ZIP,然后将文件保存至PC或Mac中。
  2. 解压zip文件,并将所有文件都保存至SD卡。
  3. 将SD卡从您的PC或Mac中移除,然后将其安装至树莓派中。
  4. 连接显示器、键盘、鼠标与电源。
    树莓派与电源相连之后会启动。
    树莓派的标志将显示,然后显示NOOBS对话框,其中显示安装操作系统列表。
  5. 选中Raspbian复选框,点击Install,然后在Confirm对话框中选择 Yes 以安装Raspbian。
    安装完成之后,将出现一个对话框。
  6. 点击OK;树莓派开始加载Raspbian。
    如果这是您第一次启动树莓派,Setup Options菜单将会出现。可使用键盘上的箭头键来导航菜单。
  7. 对配置选项进行设定,例如设置语言与地区以使其与您的地理位置相符。
  8. 选项设定完成之后,点击 <Finish>,按<Enter>键 。
    命令提示符将会显示:pi@raspberrypi~$
    祝贺!树莓派操作系统已完成安装。

登陆信息
每次启动树莓派时,都会出现以下的登录信息提示:
   raspberrypi login: pi
   password: raspberry
命令提示符将会显示:pi@raspberrypi~$

验证网络连接
下载树莓派的MCC驱动之前,需确认树莓派是否连接网络。您可以通过以太网线或USB无线适配器连接无线网络。笔者使用无线适配器。

  1. 双击位于桌面的WiFi Config 图标以启动无线配置程序。The Adapter: 字段列出了USB无线适配器的名称(例如 wlan0); the Network: 字段为空。
  2. 点击 Scan,可获取的无线网络将被列出。
  3. 双击想连接的服务集标识符(SSID)的网络名称。
  4. 验证连接窗口上的AuthenticationEncryption字段,输入PSK (pre-shared key) 字段的密码。
  5. 点击Add
    配置程序将自动连接至最新的配置网络。
  6. 再次连接电源以重启树莓派,并输入上述登录信息。

登录之后,命令提示符将会显示pi@raspberrypi~$.

更新树莓派的软件包清单
为了确保您安装的每个树莓派软件包的版本都是最新的,请输入下列代码。
       sudo apt-get update

下载第三方MCC Linux驱动
对于使用USB,蓝牙和以太网的设备,第三方的MCC Linux驱动是可获取的,且都保存在GitHub中。登录到GitHub库,下载最新的驱动软件包。

  1. 登录GitHub网页,获取Raspberry Pi的驱动:
    https://github.com/wjasper/Linux_Drivers
  2. 点击下载按钮,选择下载压缩包
  3. 使用以下命令安装解压缩实用程序:
    sudo apt-get install unzip
  4. 在终端窗口中,找到到下载目录(使用cd命令),并将驱动程序文件解压缩到home / pi目录:
    unzip Linux_Drivers-master.zip -d ~pi

MCC驱动程序将持续保持更新,以支持更多设备。
单击下面的设备类型以转到安装驱动程序的过程:

安装MCC USB设备的Linux驱动,编译测试程序
在变异USB驱动之前,您必须安装与USB设备通讯所需的软件包

  1. 下载并安装libusb和libudev开发软件包。
    libusb为USB设备提供了通用C语言库。
    sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev
  2. 拷贝mcc USB规则文件到如下路径 /etc/udev/rules.d,将它重命名为99-mcc.rules (避免了树莓派上标准命名问题):
    sudo cp 61-mcc.rules /etc/udev/rules.d/99-mcc.rules
  3. 将hidapi GIT存储库克隆到home / pi目录中:
    HIDAPI需要与人机接口设备(HID)连接。
    git clone git://github.com/signal11/hidapi.git
  4. 按照hidapi README.txt中的说明安装hidapi库:
    a. 安装autotools,这是一套编程工具,旨在帮助将源代码包移植到类Unix系统。
        autotools包是构建hidapi库所必需的。
        sudo apt-get install libudev-dev libfox-1.6-dev autotools-dev autoconf automake libtool
    b. 编译hidapi库:
        cd ~pi/hidapi
        ./bootstrap
        ./configure
        make
        sudo make install

  5. 重启树莓派,根据提示输入登录信息。
  6. 安装Linux驱动。
    输入以下代码,安装USB驱动并编译测试应用程序:
    cd ~pi/usb/mcc-libusb
    make
    sudo make install
    sudo ldconfig

安装MCC蓝牙设备的Linux驱动并编译测试程序
执行以下步骤下载蓝牙库并编译蓝牙驱动程序。
在执行此过程之前,请确保您已经使用“下载第三方MCC Linux驱动程序”程序下载了蓝牙驱动程序。

  1. 安装蓝牙库。
    要编译蓝牙库,您需要添加bluez-libs-devel软件包。
    sudo apt-get install libbluetooth-dev bluez-tools
  2. 编译蓝牙驱动。
    cd ~pi/Bluetooth
    make
    sudo make install

    键入ls以列出所有文件。
  3. 使用MCC蓝牙DAQ设备运行示例测试应用程序。
    a. 插入MCC蓝牙设备。
    b. 完整地输入测试程序的名称,例如:
        ./test-bth1208LS
        测试应用程序将显示您可以执行的测试列表。
    c. 输入要执行的命令的字母。

安装以太网Linux驱动程序并编译测试程序
执行以下步骤编译以太网驱动程序:
在执行此过程之前,请确保您已使用“下载第三方MCC Linux驱动程序”过程下载了以太网驱动程序。

  1. 编译驱动
    cd ~pi/Ethernet
    make
    sudo make install

    键入ls以列出所有文件。MCC以太网设备需要通过网络路由器进行连接。
  2. 使用MCC以太网DAQ设备运行示例测试应用程序。
    a. 插入您的以太网设备
    b. 输入完整的测试程序名称,例如:
        cd ~pi/usb
        ./test-E-1608<IP ADDR>

        测试应用程序将显示您可以执行的测试列表。
    c. 输入要执行的命令的字母。

MCC测试程序
为Linux而开发的测试程序支持大部分MCC USB设备。程序将执行模拟通道、计数器通道和数字通道的数据采集,同时测试设备功能以及显示设备信息

测试程序详见https://github.com/wjasper/Linux_Drivers上的USB/mcc-libusb,Bluetooth,Ethernet文件夹,程序命名涵盖对应的设备型号,若设备从属于某系列,则此程序支持该系列全部设备,运行程序时,务必按照所列设备名称,正确键入设备名。

例如,使用USB-1608GX-2AO时,请运行程序“test-usb1608G”。

示例:使用MCC USB DAQ设备与树莓派运行测试程序
前往mcc-libhid目录,在命令提示符(pi@raspberrypi~)后输入以下命令,运行USB-1608FS测试程序:
      cd ~pi/mcc-libusb
      ./test-usb1608FS

测试程序首先检测设备,并创建一张包含设备模拟输入校准参数(斜率和偏移)的表格。

Raspberry Pi

表格建立完毕后,程序将显示全部可执行的设备测试功能。

Raspberry Pi

每项测试功能都有对应的字母,敲击键盘即可执行测试任务,程序有可能提示您输入更多信息,如通道数或频率值。这些示例程序运行之后,结果将出现在显示器上。

更多信息
关于使用树莓派采集数据,如果您有任何疑问,请联系Measurement Computing Corporation:

获取更多树莓派的相关信息,请前往www.raspberrypi.org.

Measurement Computing Corporation与Measurement Computing标志均为Measurement Computing Corporation的商标或注册商标。
Raspberry Pi 为树莓派基金会商标。
Linux®是Linus Torvalds在美国和其它国家的注册商标。
其它所有注册商标均为其各自所有者的财产。

鸣谢
特别感谢北卡罗来纳州立大学(North Carolina State University)的Warren Jasper博士(PE,教授,Textile Engineering Program Director)。Jasper博士长期以来一直帮助并支持Measurement Computing的USB、PCI数据采集卡的Linux设备驱动程序开发工作。我们对Jasper博士为Linux社区做出的不懈努力和奉献表示尊敬和感谢。没有他的辛勤工作和一如既往的支持,本文和本文提到的工程应用将无法实现。

更多技术指南可在我们的数据采集技术文章网页上获取。