基于Raspberry Pi(树莓派)的MCC数据采集卡应用

简介
树莓派是一种单板式计算机系统,可轻松连接鼠标、键盘、显示器等外设,并运行基于Linux®的操作系统,低于300人民币的成本,使树莓派尤其适用于注重性价比的数据采集应用。现在,Measurement Computing大部分USB,以太网和蓝牙数据采集设备已兼容树莓派。

目的
在树莓派上运行应用程序,控制MCC DAQ设备执行数据采集任务。本文详细介绍了以下关键步骤:

  • 格式化SD卡
  • 安装操作系统
  • 配置树莓派
  • 安装Linux设备驱动
  • 安装MCC DAQ设备驱动,编译MCC提供的测试程序
  • 运行MCC测试程序

适用人群
工作于树莓派(Linux)平台,熟悉MCC数据采集卡,并希望在此平台上实现数据采集功能。

必要条件
请预先准备以下内容:

  • 树莓派硬件板卡 —— 本文使用model B,您可根据实际情况,使用任何型号
  • SD卡(8GB或更大容量)
  • PC 或 Mac®,可接入互联网
  • 以太网电缆或无线适配器
  • 显示器或电视机
  • 供电电源
  • 鼠标或轨迹球
  • 键盘
  • MCC DAQ设备 —— 本文使用USB-1608FS

点击这里,了解支持Linux®和兼容树莓派的MCC数据采集卡

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

下图展示了本文所用到的树莓派的配置:

Raspberry Pi

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

安装操作系统
使用树莓派前必须安装操作系统。本文将安装Raspbian,基于Debian的开源操作系统,针对树莓派进行了大量优化,并通过NOOBS(New Out Of the Box Software)完成Raspbian的安装,NOOBS是树莓派官方发布的开源操作系统安装管理器。

借助SD卡拷贝NOOBS至树莓派,首先需要格式化SD卡,请参考以下详细步骤:

视频教程! Go to http://www.raspberrypi.org/help/noobs-setup/提供了详细的视频教程,包括格式化SD卡,下载NOOBS,安装Raspbian系统。

格式化SD卡
以下步骤将引领您下载NOOBS,并在树莓派上安装操作系统:

  1. 登陆www.sdcard.org,点击Download
  2. 下载页面底部的SD formatter for Windows or Mac
  3. 将SD卡插入PC或MAC,运行setup.exe,格式化SD卡

安装操作系统
以下步骤将引领您下载NOOBS,并在树莓派上安装操作系统:

  1. 登陆www.raspberrypi.org,点击Downloads.
    点击NOOBS下的Download ZIP,保存至PC或MAC
  2. 解压zip文件,拷贝所有文件至SD卡
  3. 拔出SD卡,将其插入树莓派
  4. 连接显示器、鼠标、键盘和电源
    上电后树莓派立即启动
    首先会看到树莓派的Logo,后面是NOOBS主窗口,列出了全部可安装的操作系统
  5. 选中Raspbian复选框,点击Install,在Confirm对话框中选择Yes
    安装进度将实时显示
  6. 选择OK,树莓派开始加载Raspbian
    首次引导Raspbian,将弹出Setup Options菜单,通过键盘上的方向按键进行操作
  7. 根据需要配置相关选项,如语言、区域设置等
  8. 配置完成后,切换至<Finish>并按下<Enter>
    命令行提示:pi@raspberrypi~$
    恭喜您!至此已成功为树莓派安装了操作系统。

登陆信息
每次启动树莓派,都将提示以下登陆信息:
   raspberrypi login: pi
   password: raspberry
命令行提示:pi@raspberrypi~$

检查网络连接
在树莓派上下载MCC驱动程序前,请确认树莓派网络连接正确。可以通过以太网电缆或USB WiFi适配器连接网络,本文使用WiFi适配器。

  1. 双击桌面上WiFi Config图标,配置无线网络连接。Adapter:列出全部USB无线适配器(如wlan0); the Network:
  2. 点击Scan,查看可用的无线网络
  3. 双击service set identifier (SSID)中待连接的无线网络
  4. 验证当前窗口中的AuthenticationEncryption,在PSK (pre-shared key)中输入密码
  5. 点击Add
    配置程序将自动连接至无线网络
  6. 重新启动树莓派,并输入上述登陆信息

登录之后,命令会立即显示pi@raspberrypi~$.

升级树莓派软件包
为确保您使用的是最新的树莓派软件包,输入以下命令
       sudo apt-get update

下载 MCC的Linux驱动
MCC USB,蓝牙和以太网设备的Linux驱动程序保存在GitHub中。登录到Git库,下载最新的驱动软件包。

  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. 2. 拷贝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 USB设备的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. Enter the name of a test program exactly as it is written, for example:
        ./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 DAQ设备测试程序
前往mcc-libhid目录,在命令提示符(pi@raspberrypi~)后输入以下命令,运行USB-1608FS测试程序:
      cd ~pi/mcc-libusb
      ./test-usb1608FS

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

Raspberry Pi

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

Raspberry Pi

每项测试功能都有对应的热键,敲击键盘即可执行测试任务,程序有可能提示您输入更多信息,如通道数或频率大小,程序执行结果将打印在显示器上。

更多信息
任何关于Raspberry Pi的数据采集问题,请联系Measurement Computing Corporation:

更多Raspberry Pi相关信息,请参考www.raspberrypi.org.

Measurement Computing Corporation 和 Measurement Computing logo是属于Measurement Computing公司的商标或注册商标
Raspberry Pi是属于Raspberry Pi基金会的商标
Linux®是Linus Torvalds在美国和其他国家的注册商标
其他商标全部属于其持有者

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

其他技术文章请浏览我们的数据采集技术文章页面