The aim of this project is to create a functional data logger using the Raspberry Pi that is capable of recording information from the webcam, microphone and various GPIO sensors such as temperature and optical sensors. This will allow the user to control the data logger using buttons connected via GPIO. The Raspberry Pi required various software packages and Python modules to be installed for the Raspbian Wheezy operating system to allow interaction with both USB devices and GPIO devices.
The project aims to allow anyone who has a spare webcam (compatible with the Pi) or microphone and a Raspberry Pi to use the software in order to create a data logging device, which could be used for things such as a cost efficient CCTV camera, recording audio information (such as notes the user may wish to hear back later). If the users have a battery pack this would enable it to be potentially used anywhere (limited only by battery life) even in extreme cases such as being used to record climbing mountains or bungee jumping. The final device will allow the user to upload the video and audio at a later date (or stream if wirelessly connected to a network). This can be extended to make use of the GPIO by including other sensors (a typical temperature sensor such as the one used in this project – the TMP36 – costs about one pound).
The project that has been undertaken is to develop a portable data logger using the newly released Raspberry Pi microcomputer. As the Raspberry Pi was newly released onset of this project (the official release was 29February 2012) this involved research into the device, as well as any required hardware to ensure there were no compatibility issues, the operating systems available to such a device, the software available which would allow the device to interact with sensors (such as webcams and microphones) and interaction with the GPIO (General Purpose Input / Output). The GPIO is a collection of small pins on the Raspberry Pi which allows devices to be attached and controlled. The operating system can detect and configure for either input or output, and this project makes use of this to allow LEDs to be enabled and disabled for purposes of user feedback, and also allow buttons to be pressed (enabling interaction with the program and the carrying out of commands such as initialising data logging) as well as receiving sensor data (temperature and optical for this project, however many more exist) using the GPIO pins. GPIO pins can be used using various different methods; this project makes use of the newly released Gertboard15, which slots onto the GPIO pins to extend the capability of the GPIO. The Gertboard includes motor controller, dual channel digital to analogue converter, dual channel analogue to digital converter, on-board LEDs, buttons15.
The Raspberry Pi has received a lot of attention ever since it was first announced. Since release, many lot of people have obtained Pi’s to tinker about with and create various projects including streaming video and recording temperatures, but there appears to be a lack of all-round data loggers. A basic temperature data logger can cost between £40 and over £300, and functionality can often be limited to viewing a digital display of the current temperature or display over a limited time20. In addition it would cost over £100 for wireless webcam to stream over the network21 and even that does not include audio. This project makes use of the Raspberry Pi – a $25 Linux box22 – and a small number of accessories which includes; an optical sensor23, a temperature sensor24 and a webcam25, all of which can be purchased for under £25 to turn the Raspberry Pi into a data logger capable of recording and steaming webcam video, storing webcam video and audio and recording via text document, internet upload graphing temperature and optical sensor data in real time.
The overall goal of this project was to develop a data logger using the Raspberry Pi microcomputer. The project included development of software for the Raspberry Pi using the Python programming language and a variety of modules available for the programming language to allow interaction with USB sensors (such as webcams and microphones), GPIO sensors (such as temperature sensors and optical sensors), GPIO inputs (such as buttons) and GPIO outputs (such as LEDs). This software would be used to allow the Raspberry Pi to automatically log data from hardware devices such as USB Webcams, microphones and a variety of other sensors including GPIO temperature sensors and optical sensors. It would allow users to make use of the Gertboard to press one of the three available buttons to run an appropriate command. The aims of the project also included the setting up of the Gertboard and a breadboard to allow the Raspberry Pi to interface with the GPIO with devices such as sensors, LEDs and push buttons.
The final project includes a working data logger, consisting of a Raspberry Pi connected to a Gertboard. The Gertboard is fully configured to make use of the on-board buttons and then this is also connected to a breadboard which allows multicolour LEDs and a temperature and optical sensor to be connected. The Raspberry Pi contains an SD card which holds the Raspbian Wheezy operating system and the project software; the first script ‘logger.py’ is the main software used for data logging, running this allows use of the GPIO buttons to start and end recording as well as changing the streaming method and taking a single image capture. Pressing the appropriate buttons calls a function which executes the required commands. The second item of software, ‘installation.py’, is a file to help users with installation of the data logger. It automatically downloads most of the required packages and Python modules, which allows it to be used with the installation guide to make the installation process as easy and quick as possible reducing chances of the user encountering problems due to missing software or required Python modules.