Alexandria Digital Research Library

Design and analysis of Arduino, Raspberry Pi, and Xbee based wireless sensor networks

Cassero, Sean Alexander
Degree Grantor:
University of California, Santa Barbara. Electrical & Computer Engineering
Degree Supervisor:
Joao Hespanha
Place of Publication:
[Santa Barbara, Calif.]
University of California, Santa Barbara
Creation Date:
Issued Date:
Electrical engineering and Computer engineering
Raspberry Pi.
Wireless Sensor Network
Dissertations, Academic and Online resources
M.S.--University of California, Santa Barbara, 2016

With a constantly changing technological landscape, the Engineering world is continually tasked with justifying the optimality of accepted standards and practices. The recent development of inexpensive simple microprocessors and linux computers has the potential to replace various methodologies for low energy, low-rate information transfer and control such as environmental monitoring, smart houses, smart lighting and others.

In the area of wireless sensor networks, a design standard is developing incorporating Xbee series 2 as a wireless bridge between Arduino or Raspberry Pi sensor and data aggregate nodes. In this thesis I construct an Xbee series 2 ZigBee wireless star topology network with an Arduino as a ZigBee End Device and Raspberry Pi as the ZigBee network coordinator.

The End Device uses an Arduino Uno v3 for local signal processing on a Parallax PMB-648 GPS and DS18B20 temperature sensor for periodic signal transmission via Xbee series 2. Xbee uses API mode 2 with escaping for package formation and transmission and is connected to the Arduino via the hardware serial port.

The Coordinator node consists of an Xbee Series 2 with Coordinator firmware communicating via the Raspberry Pi GPIO serial input ports. The Raspberry Pi uses specialized Python libraries to parse incoming API statements from active end devices.

The Raspberry Pi doubles as an internet gateway to an SQLite database run on a Ruby on Rails web application framework. The Raspberry Pi uses the Python requests library to transmit received End Device sensor measurements to the cloud server as URL parameters. The Ruby on Rails framework uses a Model View Controller architecture to pass data as URL parameters to an SQLite database, as well as display End Device sensor data on an interactive user interface upon a browser request. The user interface uses Gmaps4Rails to render an interactive map consisting of the GPS markers of reporting End Devices and their corresponding temperature measurements. The cloud server functions as a shared database linking multiple complete wireless sensor networks together under a single web app.

By testing End Device node lifetimes with various data transmission frequencies, an experimental relationship between Arduino/Xbee sleep duration and End Device lifetime is found. Using direct current measurements and information on the End Device hardware, a theoretical relationship between battery charge and End Device charge consumption during runtime is used to generate experimental equations relating End Device average current consumption during different phases in End Device lifetime. Multiple regression analysis is performed to derive an experimental value for the average current consumption of the End Device during all phases of operation, resulting in an experimental relationship between End Device average current and data transmission frequency. The above relationship was able to predict the average current for all End Device trials to within 5% error. (Abstract shortened by ProQuest.).

Physical Description:
1 online resource (82 pages)
UCSB electronic theses and dissertations
Catalog System Number:
Inc.icon only.dark In Copyright
Copyright Holder:
Sean Cassero
File Description
Access: Public access
Cassero_ucsb_0035N_13135.pdf pdf (Portable Document Format)