Cricket Setup Notes

For questions, please email Allen Miu (aklmiu@mit.edu)

Hardware

The Cricket hardware consists of the beacon and listener. They both take 2 AA batteries. NiMH rechargeables are recommended for their capacity. Using a set of fully charged NiMH batteries, the beacons should last about one to two weeks in continuous operation.

The Cricket beacons are the larger modules with the red wire antenna. A typical beacon has a transmission range of about 10m (depends on the environment; one can also use various simple hardware hacks to increase/decrease this range). Each beacon is pre-programmed to broadcast an unique space identifier, which is used by the listener to identify the user's location. Hence, there should be at least one beacon in each space (e.g. a room). The correct beacon placement is shown in the figure.

The beacons can also be used to define two or more spaces within the same room. In this case, a pair of beacons can be placed at about 1-1.5m apart. This effectively defines a virtual boundary that divides the spaces represented by each beacon.

There are two switches on the Cricket beacon. The power switch for the Cricket beacon is the switch that is closest to the edge. The "on" position points towards the ultrasonic beacon. When the beacon is on, the red LED blinks once every 10 seconds. The debug switch, when flipped toward the ultrasonic beacon, changes the behavior of the LEDs. In the debugging mode, the green LED flashes whenever the Cricket beacon sends a beacon and the red LED flashes whenever it does a backoff after the carrier sense detects a busy channel (e.g. another beacon within range is transmitting).

The Cricket listener should be attached to the supplied serial port cable (note that the notch should face the same direction as printed on the board). Attach the other end to a computer's serial port. The power switche's "on" position points toward the edge of the board.

Software

All Cricket software currently runs on both Linux and Windows platforms that runs JDK1.3 or above. (Download) (Please register your name, email, and affiliation to obtain the proper login and password to access the distribution.)

The software consists of applications and a daemon, which processes readings from the Cricket listener attached to the serial port and exports the processed reading to the applications.

To test the Cricket location system, do the following:

GPSD and CricketDaemon

The CricketDaemon records beacon samples and runs a windowing algorithm to infer the current location by identifying and reporting the advertised string value of the closest beacon. The CricketDaemon runs in two modes. One mode uses Java's native support for serial port I/O and the other runs in conjunction with gpsd, a very simple C serial port reader program that must be compiled on your native platform. For development purposes, it is highly recommended that you run CricketDaemon in gpsd-mode because one can telnet into gpsd (port 2947) and watch the raw data coming into the serial port. This feature has been extremely useful for trouble-shooting and debugging.

Please consult README for instructions of setting up and running the gpsd and CricketDaemon.

BeaconFinderApp

The BeaconFinderApp displays various distance statistics of the set of beacons that is within range of the Cricket listener. To run BeaconFinderApp, do the following:

You should now see a Java GUI that displays the beacon statistics. The prompt window displays the printout of the data packets that are transferred from the CricketDaemon to the BeaconFinderApp itself. These printouts can give you a clue about the format and the kind of information that the CricketDaemon generates.



Last updated August 23, 2001