This section provides an overview of the kit and step-by-step instructions on how to get it up and running. It also includes a few example projects which introduce basic programming constructs used in many funda projects.
The fundakit is a wireless sensor network construction kit for creating usable interactive artefacts and environments with craft and other materials. The system is programmable with the popular Scratch programming language. A typical funda project is made up of a physical ‘world’ (which can have RFID tags embedded in it); one or more funda Readers broadcasting data from this world (this can be user generated or not); and a host computer running a Scratch and funda project, with a Listener plugged into the USB port for receiving Reader broadcast data.
The basic kit contains the following components:
Readers – three wireless RFID readers, each with 3 analog/digital input ports for attaching sensors and switches. Readers uses an Innovations ID12 module for the RFID and a XBee module (Series 1 or 2) for the wireless communication. They are powered by 3 AAA batteries – NiMH rechargeables are recommended. The sensor port connectors take standard 2.5mm audio plugs (mono or stereo).
Listener – an off-the-shelf Serial-to-USB converter fitted with a XBee module, which functions as the receiver in the system. Each kit’s Readers and Listener are configured to communicate on their own PAN (Personal Area Network) to avoid interference with other kits. Listeners can listen to (receive data from) more than three Readers. This requires special configuration of the XBee modules and is not recommended for beginners.
RFID tags – 12 Unique World Tags. You can add other types of tags to your kit to expand the range of potential projects – tags come in many shapes and sizes. When purchasing additional tags it is important to ensure that they are compatible with the ID12 module: 125kHz read frequency; EM 4001 or compatible. Each tag has two numbers:
- an internal 10 digit hexadecimal number (stored on the chip and not visible to the user) which is read by a Reader and serves as the tag’s unique ‘identity’ or code.
- an external number (visible to the user) which provides users with a convenient means for identifying tags. This number contains a forward slash – digits to the left of the slash represent the kit number, digits to the right the tag number.
Software – the funda middleware is a Java application which runs on Linux (Ubuntu), Mac OSX and Windows (7, XP and Vista).
Follow these steps to get a computer fundakit ready (required once):
1. Connect the computer to the internet.
2. Plug the Listener into a USB port on the computer.
3. Download and install the drivers for the Listener. Windows systems will try to do this automatically the first time you plug in the device, and will inform you of the outcomes of these efforts. If Windows was unsuccessful you will have to download and install manually. Drivers for all major platforms can be found here.
4. Check that you have a recent Java Runtime Environment installed on the computer (JRE 1.5 or higher). Linux and Windows users can get a copy here. OSX users should be fine; Apple looks after the Java install for you.
5. Copy the funda application to the computer (no installation process required). Be sure to copy over the funda folder with all its contents.
6. Download and install a copy of the Scratch Programming Environment (1.4 or higher) from here. If you’re new to Scratch, grab a copy of the ‘Getting Started’ guide here and check out the Video Tutorials here. The next section assumes you have a basic understanding of Scratch.
1. Plug the Listener into a USB port on your computer.
2. Open Scratch and select the Sensing palette.
3. Right-click on either of the bottom two Sensing blocks: sensor value or sensor. (circled below)
5. Locate the java executable fundaXX.jar (where XX is the release number) in the funda application folder and double-click it to launch the application. At startup the funda application tries to establish a Serial connection with the Listener and a Socket connection with Scratch. If the Listener is not plugged in or Scratch does not have remote sensor connections enabled, the software will throw an error.
6.Check that you have a freshly charged set of batteries in the Reader and switch the ON/OFF switch to the ON position. The LED located next to the switch should light up red. After +/- 15 seconds 2 LEDs located at the front of the Listener should light up green: RSSI (Received Signal Strength Indicator) – constant, to indicate the network connection; RX (Receive) – pulsing, to indicate the receipt of data packets (sensor and power) broadcast by the reader every 255ms when using default funda Xbee settings.
7. The funda GUI will have opened displaying a blank new project. Click on the Add button to add a tag to the project. This will bring up a dialog box asking you to read the tag you wish to add to your project. Bring this tag within 30mm of the ID12 module on one of the Readers so that it can be read.
8. Once the Reader has read the tag, a second dialogue box will replace the first. The tag’s ID (internal number) is automatically displayed under the Code heading. In the Name field, enter a name for the tag. Chose a name which will help you identify it easily in Scratch – something to do with its role in the project normally works well. If it is more than one word, group them together: eg. bunchOfBananas. In the Number field, enter the external number as it appears on the tag – this number is found on a sticker attached to the tag.
9. Click the OK button to close the dialogue. The tag will appear selected (circled in green) in the GUI as part of the project. You can edit or remove tags by right-clicking on their icon. To add more tags, repeat steps 7-9.
10. When you are ready to save your project, click the Save button. This will bring up a standard save dialogue box in which you can enter a name for your project. When entering your name, be sure to keep the .ser file extension part of the default name untitled.ser
11. In Scratch, drag a when I receive block into the scripting area. Read the tag (in this example named ‘cricket’) again to make it available as a Scratch broadcast message. Access and select this message from the when I receive block’s drop-down menu. (Your reader will have a different number.) Finally, import the cricket sound from the Scratch sound library and connect a play sound block with the cricket sound selected to the when I receive block.
12. You should now hear the cricket sound when you read the ‘cricket’ tag. If you do, everything is set up correctly and you are now ready to start creating with the fundakit. If you don’t, go back and check that you have followed all the steps in the correct order.
13. Save your Scratch project. It is normally good practice to give it the same name as the corresponding funda project so that they are clearly associated. You can differentiate between the two by looking at their file extensions: fruitSalad.sb (Scratch); fruitSalad.ser (funda).