编者按:工业上用的数据采集方案普遍基于 Windows 系统,而在Raspberry Pi(树莓派)被越来越多地应用到工业领域时,数据采集领域也终于出现了基于树莓派的产品和应用。我们之前有介绍过两款适用于树莓派的数据采集扩展板 MCC118 和 MCC152 大大降低了数据采集方案的应用成本。而下面要介绍的是如何给树莓派安装和使用 Windows 下通用的 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连接外设与树莓派。 下图展示了本文所用到的树莓派的配置:
鼠标和键盘通过USB Hub连接树莓派,并未在上图中显示。
安装操作系统
使用树莓派前必须安装操作系统。本文将安装Raspbian,基于Debian的开源操作系统,针对树莓派进行了大量优化,并通过NOOBS(New Out Of the Box Software)完成Raspbian的安装,NOOBS是树莓派官方发布的开源操作系统安装管理器。 借助SD卡拷贝NOOBS至树莓派,首先需要格式化SD卡,请参考以下详细步骤:
安装操作系统
以下步骤将引领您下载NOOBS,并在树莓派上安装操作系统: - 下载NOOBS下的Download ZIP,保存至PC或MAC
- 解压zip文件,拷贝所有文件至SD卡
- 拔出SD卡,将其插入树莓派
- 连接显示器、鼠标、键盘和电源
上电后树莓派立即启动
首先会看到树莓派的Logo,后面是NOOBS主窗口,列出了全部可安装的操作系统 - 选中Raspbian复选框,点击Install,在Confirm对话框中选择Yes
安装进度将实时显示 - 选择OK,树莓派开始加载Raspbian
首次引导Raspbian,将弹出Setup Options菜单,通过键盘上的方向按键进行操作 - 根据需要配置相关选项,如语言、区域设置等
- 配置完成后,切换至<Finish>并按下<Enter>
命令行提示:pi@raspberrypi~$
恭喜您!至此已成功为树莓派安装了操作系统。
登陆信息
每次启动树莓派,都将提示以下登陆信息:
raspberrypi login: pi
password: raspberry
命令行提示:pi@raspberrypi~$ 检查网络连接
在树莓派上下载MCC驱动程序前,请确认树莓派网络连接正确。可以通过以太网电缆或USB WiFi适配器连接网络,本文使用WiFi适配器。 - 双击桌面上WiFi Config图标,配置无线网络连接。Adapter:列出全部USB无线适配器(如wlan0); the Network:空
- 点击Scan,查看可用的无线网络
- 双击service set identifier (SSID)中待连接的无线网络
- 验证当前窗口中的Authentication 和 Encryption,在PSK (pre-shared key)中输入密码
- 点击Add
配置程序将自动连接至无线网络 - 重新启动树莓派,并输入上述登陆信息
登录之后,命令会立即显示pi@raspberrypi~$. 升级树莓派软件包
为确保您使用的是最新的树莓派软件包,输入以下命令 sudo apt-get update下载 MCC的Linux驱动
MCC USB,蓝牙和以太网设备的Linux驱动程序保存在GitHub中。登录到Git库,下载最新的驱动软件包。 - 登录GitHub网页,获取Raspberry Pi的驱动:
- 点击下载按钮,选择下载压缩包
- 使用以下命令安装解压缩实用程序:sudo apt-get install unzip
- 在终端窗口中,找到到下载目录(使用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-dev2、拷贝USB规则文件到如下路径/etc/udev/rules.d,将它重命名为99-mcc.rules (避免了树莓派上标准命名问题): sudo cp 61-mcc.rules /etc/udev/rules.d/99-mcc.rules3、将hidapi GIT存储库克隆到home / pi目录中
HIDAPI需要与人机接口设备(HID)连接。 git clone git://github.com/signal11/hidapi.git4、按照hidapi README.txt中的说明安装hidapi库:
a. 安装autotools,这是一套编程工具,旨在帮助将源代码包移植到类Unix系统。
autotools包是构建hidapi库所必需的。 sudo apt-get install libudev-dev libfox-1.6-dev autotools-dev autoconf automake libtoolb. 编译hidapi库: cd ~pi/hidapi./bootstrap./configuremakesudo make install5、重启树莓派,根据提示输入登录信息 6、安装Linux驱动。
输入以下代码,安装USB驱动并编译测试应用程序: cd ~pi/usb/mcc-libusbmakesudo make installsudo ldconfig安装MCC USB设备的Linux驱动,编译测试程序
执行以下步骤下载蓝牙库并编译蓝牙驱动程序。
在执行此过程之前,请确保您已经使用“下载第三方MCC Linux驱动程序”程序下载了蓝牙驱动程序. 1、安装蓝牙库
要编译蓝牙库,您需要添加bluez-libs-devel软件包。 sudo apt-get install libbluetooth-dev bluez-tools2、编译蓝牙驱动 cd ~pi/Bluetoothmakesudo 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/Ethernetmakesudo make install键入ls以列出所有文件。 MCC以太网设备需要通过网络路由器进行连接。 2、使用MCC以太网DAQ设备运行示例测试应用程序。
a. 插入您的以太网设备
b. 输入完整的测试程序名称,例如: cd ~pi/usb./test-E-1608<IP ADDR>测试应用程序将显示您可以执行的测试列表。
c. 输入要执行的命令的字母。 MCC测试程序
为Linux而开发的测试程序支持大部分MCC USB设备。程序将执行模拟通道、计数器通道和数字通道的数据采集,同时测试设备功能以及显示设备信息。 USB/Mcc-libusb,Bluetooth,Ethernet上的文件夹,程序命名涵盖对应的设备型号,若设备从属于某系列,则此程序支持该系列全部设备,运行程序时,务必按照所列设备名称,正确键入设备名。 例如,使用USB-1608GX-2AO时,请运行程序”test-usb1608G”。 在树莓派上运行MCC DAQ设备测试程序
前往mcc-libhid目录,在命令提示符(pi@raspberrypi~)后输入以下命令,运行USB-1608FS测试程序: cd ~pi/mcc-libusb./test-usb1608FS测试程序首先检测设备,并创建一张包含设备模拟输入校准参数(斜率和偏移)的表格。
表格建立完毕后,将显示全部可执行的设备测试功能
每项测试功能都有对应的热键,敲击键盘即可执行测试任务,程序有可能提示您输入更多信息,如通道数或频率大小,程序执行结果将打印在显示器上。
|