Setup Guide
User Manual:
Open the PDF directly: View PDF .
Page Count: 6
Setup and User Guide
Crab Tracker
Noah Strong
Revision 1.1
May 28, 2018
Contents
1 Introduction 2
2 Hardware Setup 2
2.1 Required Hardware Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 HydrophoneArray .................................... 2
3 Software Setup 3
3.1 LoadingSoftware ..................................... 3
3.1.1 Downloading the source code . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.2 Flashing code to the Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.3 Updating code on the Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 ConfiguringSettings ................................... 5
3.3 Configuring a new Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1
1 Introduction
The Crab Tracker project was designed as a cost-effective means of remotely tracking crabs through
acoustic signals. Small piezoelectric transmitters can be waterproofed and attached to crabs, and
their intermittent signals can then be received by a set of four piezoelectric receivers configured in
a square array.
This document will detail the setup and configuration of various elements of the product as they
were originally intended to be used. As of the time of this writing, some of the hardware elements
of this project are still in development and therefore details about them will not be discussed in
this document.
2 Hardware Setup
2.1 Required Hardware Components
The project was initially built with, and officially supports, the following devices:
•Raspberry Pi 3B
•Raspberry Pi 7” Touch Screen
•Arduino Nano
Additionally, there are transmitters and receivers that were custom designed for this product.
Specific details about these components are still subject to change as of the writing of this docu-
ment, and they will be detailed elsewhere as they are formalized. In order to use the Crab Tracker
product, it is necessary to fabricate receiver and transmitter microcontrollers per the specifica-
tions detailed in those documents. Some of the components must be coated entirely in epoxy for
waterproofing.
2.2 Hydrophone Array
The Crab Tracker project uses a set of four receivers to perform triangulation of underwater
transmissions. The configuration of the transmitters is extremely important, as an incorrect con-
figuration of the hydrophone array will lead to incorrect triangulation results. The hydrophone
array may be attached to a personal watercraft, such as a kayak.
Hydrophones must be placed on a square frame with one hydrophone at each corner. The exact
side lengths of the square may vary, but are expected to be roughly 1 meter each. Once put in
place, the measurements must be communicated to the software to ensure accuracy of readings.
See Figure 1 for an example of the hydrophone configuration. Note that the side lengths shown
are 1 meter, but this is only an example.
2
AB
C D
Front
1m
1m
Figure 1: The hydrophone array attached to the kayak.
3 Software Setup
3.1 Loading Software
It may at some point be necessary to add or replace code on one of the devices, such as when
new hardware is acquired or the software is updated. To do this, the first step is to download
(“clone”) the most recent copy of the master branch from the Crab Tracker GitHub repository.
It is possible to download a ZIP file containing the contents of the repository from the GitHub
website. Another option, however, is to use the git command-line utility to make a clone. To see
if you have Git installed, open a shell/terminal and type git. A usage page should be displayed.
If not, look online for instructions on how to install Git on your operating system.
The steps shown in the remainder of this section are meant to be run on a UNIX-like operating
system (such as Linux, MacOS, or BSD). However, equivalent commands exist for other systems,
such as Windows.
3
3.1.1 Downloading the source code
The following instructions apply to both personal computers (which may be used to upload code
to the Arduino), and to the Raspberry Pi that is to be used in the field.
If you have not cloned the repository on this computer before, run:
$ g i t c l o n e h t tp s : / / g ith ub . com/ c a b e e se / crab −t r a c ke r . g i t
$cd crab−tracker
If you have already cloned the repository at some point previously, cd into the project’s
directory and run git pull.
3.1.2 Flashing code to the Arduino
In order to upload binaries to the Arduino, you will need the Arduino software from their website.
With the software downloaded, plug the Arduino into your computer.
Next, open the src/arduino-src/arduino-src.ino file in the Arduino editor. Under the Tools
menu, set the Board to Arduino Nano and set the Port to the port you plugged the Nano in to.
Now click the Upload button. The compile and upload process should finish in a few seconds.
That’s it!
3.1.3 Updating code on the Pi
To update the source code on the Raspberry Pi, connect the Pi to a power source and to your
network (e.g. via an Ethernet cable). Attaching an external keyboard is highly recommended as
well, though it is possible to use the on-screen keyboard if you do not have access to a physical
one.
With the Pi connected, open up the Terminal app and use the commands listed in Section 3.1.1
to download a copy of the source code.
Next, run the following commands to make the executable file.
$cd crab−tracker
$cd s r c / pi −s r c
$ make
The output of the g++ commands will be shown. When the shell prompt reappears, you can start
the program like so:
$ . / crab−tracker
4
3.2 Configuring Settings
The main program on the Raspberry Pi has a few configuration options that can be loaded at
runtime (i.e. when the program starts up, as opposed to when the source code is compiled into
an executable file). The configuration options are located in the /etc/crab-tracker.conf file.
Use your favorite text editor to make changes to this file as needed. The format for this file is
simply a set of line-delimited key/value pairs, where each key is an alphanumeric string and each
value is an integer. A single space character separates the key and value. Lines beginning with
a hash (#) character are comments and will be ignored by the program. A sample version of
the configuration file is located at src/crab-tracker.conf.example. An updated list of possible
configuration parameters can be found in the src/pi-src/README.md file.
3.3 Configuring a new Raspberry Pi
If starting with a brand-new Raspberry Pi or simply a new Micro-SD Card, follow the instructions
found in doc/model-B-config.md.
5