Raspberry Pi 3 Model B and DrDAQ

One important task for field/laboratory research is to record data for extended periods of time. These kinds of data acquisition are not suitable for human operators – not because we are incapable of handling the tasks, but the energy and time costs make the work unrealistic; the operator, even if a superman, can only focus on a handful tasks at the same time. Additionally, most of these data collected are also subject to human errors.

A far more reliable and efficient method is to develop robots that perform the tasks for us. Here the robot can be a computer program fed by sensory data, or a set of programmed protocols that control actuators that consistently execute experiments, while the outcome data is continuously collected. The construction of these robots/programs can be a challenging project for the researcher.

I had my hands on the open source hardware such as Arduino, Raspberry Pi, Beaglebone, etc. for a number years now. It is fascinating to see how these tiny chip computers evolve to become more and more powerful. Here I document my journey and experiences playing with the latest (Jan 2018) Raspberry Pi 3 Model B, with the hope that some of you may find it helpful.

Now Raspberry Pi needs no introduction – there are plenty of documents elsewhere. I purchased the version 3 Model B, together with the 7 inch touch screen plus the v2 camera module. I got both camera versions (with and without the IR filter). In comparison with Raspberry Pi 2 and the versions before it, I actually think this is the first chip computer that is usable for me personally. The others were just too slow to run anything serious. I was up and running in no time and I can even use the chrome browser with full plugin sets like on my desktop computer. I am surprised that it actually works fairly well. The touch screen is also amazing.

I have two immediate goals for the RasPi 3: First is to use it to collect environmental data, and try to interface it with a data logger that I’ve used for a while: DrDAQ from Pico Technology. This alone would make it a very powerful tool in the lab. Second is to work on the v2 camera module and try to put it on my portable microscope (Swift FM-31), or other microscopes in the lab. I want to setup a system that can do some microscopic time-lapse imaging in the lab. When this works, certainly I will try to make it modular (with batteries, etc) so I can also use it out in the field. First I will focus on getting DrDAQ board to work.

First of all, the linux driver for DrDAQ may be downloaded here:

https://labs.picotech.com/debian/pool/main/libu/libusbdrdaq/

Specifically, here is the latest file I found:

libusbdrdaq_1.1.0-1r20_armhf.deb

The following cold-block installs the driver, following with some tests:


pi@raspberrypi:~/Programs $ sudo dpkg -i libusbdrdaq_1.1.0-1r20_armhf.deb
Selecting previously unselected package libusbdrdaq.
(Reading database ... 134948 files and directories currently installed.)
Preparing to unpack libusbdrdaq_1.1.0-1r20_armhf.deb ...
Unpacking libusbdrdaq (1.1.0-1r20) ...
Setting up libusbdrdaq (1.1.0-1r20) ...

Let’s get more information about the driver package:


pi@raspberrypi:~/Programs $ apt-cache show libusbdrdaq
Package: libusbdrdaq
Status: install ok installed
Priority: extra
Section: libs
Installed-Size: 307
Maintainer: Pico Support <support@picotech.com>
Architecture: armhf
Version: 1.1.0-1r20
Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.3.2), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.1.1), libusb-1.0-0 (>= 2:1.0.8)
Description: PicoScope USBDrDAQ Linux driver
Description-md5: 9456c4e8643407f205d03d12425cf088
Homepage: <http://www.picotech.com>


pi@raspberrypi:~/Programs $ dpkg -L libusbdrdaq
/.
/opt
/opt/picoscope
/opt/picoscope/lib
/opt/picoscope/lib/libusbdrdaq.so.2.0.0
/opt/picoscope/include
/opt/picoscope/include/libusbdrdaq-1.0
/opt/picoscope/include/libusbdrdaq-1.0/PicoStatus.h
/opt/picoscope/include/libusbdrdaq-1.0/usbDrDaqApi.h
/opt/picoscope/share
/opt/picoscope/share/doc
/opt/picoscope/share/doc/libusbdrdaq
/opt/picoscope/share/doc/libusbdrdaq/Copyright
/opt/picoscope/share/doc/libusbdrdaq/usbtest
/usr
/usr/share
/usr/share/doc
/usr/share/doc/libusbdrdaq
/usr/share/doc/libusbdrdaq/copyright
/usr/share/doc/libusbdrdaq/changelog.Debian.gz
/opt/picoscope/lib/libusbdrdaq.so.2
/opt/picoscope/lib/libusbdrdaq.so
pi@raspberrypi:~/Programs $

The driver deb automatically configures a group called pico; we need to make sure that we are in the group in order to access the USB.


sudo usermod -a -G pico pi

Now to make this in effect, we have to LOG OUT, LOG IN

Now we run the test program:


pi@raspberrypi:~ $ cd /opt/picoscope/share/doc/libusbdrdaq/
pi@raspberrypi:/opt/picoscope/share/doc/libusbdrdaq $ ./usbtest

****************************************************************************
* Pico Technology Linux USB Diagnostics *
****************************************************************************

This script looks for Pico USB devices connected to your computer
and checks whether you are able to access them. If your user account
does not have permission to access the devices, the script will try
to suggest how to correct this for your particular Linux installation.

Press enter to continue…

Getting user and group information…
– You are running this script as pi.
– You are in the following groups:
pi adm dialout cdrom sudo audio video plugdev games users input netdev pico gpio i2c spi

Please connect your Pico USB device and press enter to continue…

Pico USB device found: /dev/bus/usb/001/008

– It belongs to root (which is not you) who has permissions rw-
– The members of group pico (which you are in) have permissions rw-
– Everyone else has permissions r–
– You can write to this device and so will be able to use it.

It seems that the installation was not too difficult. Yes we are on the hardware platform! I am a happy camper.

Leave a Reply

Your email address will not be published. Required fields are marked *