Chapter Goal: Provide the reader with the basics of sensor network terminology.
• Anatomy of a Sensor Network
• Communication Media
• Types of Sensor Nodes
• Sensors
Chapter 2: Brief Introduction to XBee
Chapter Goal: Explain the XBee modules, their protocols, and demonstrate basic usage.
• What is an XBee?
• XBee Primer
• Introducing MicroPython
• An XBee Wireless Chat Room
• Building an XBee-ZB Mesh Network
• Component Shopping List
• Troubleshooting Tips and Common Issues
Chapter 3: How to Program in MicroPython
Chapter Goal: Teach readers how to program in MicroPython
• Basic Concepts
• Variables and Statements
• Loops
• Methods and Classes
• MicroPython Libraries
• Built-In and Standard Libraries
Chapter 4: XBee-based Sensor Nodes
Chapter Goal: Demonstrate how to create sensor nodes using XBee modules.
• How to Host Sensors with XBee
• Building an XBee Environment Sensor
• Example: Using XBee Modules to Gather Data
Chapter 5: Raspberry Pi-based Sensor Nodes
Chapter Goal: Demonstrate how to create sensor nodes using Raspberry Pi including introducing the Raspberry Pi.
• What is a Raspberry Pi?
• Raspberry Pi Tutorial
• Hosting Sensors with Raspberry Pi
• Project: Building a Raspberry Sensor Node
• Project: Building a Raspberry Barometric Pressure Sensor Node
• Project: Creating a Raspberry Pi Data Collector for XBee Sensor Nodes
• Component Shopping List
Chapter 6: Arduino-based Sensor Nodes
Chapter Goal: Demonstrate how to create sensor nodes using an Arduino including introducing the Arduino platform.
• What is an Arduino?
• Arduino Tutorial
• Hosting Sensors with Arduino
• Project: Building an Arduino Temperature Sensor
• Project: Using an Arduino as A Data Collector for XBee Sensor Nodes
• Component Shopping List
Chapter 7: Methods for Storing Sensor Data
Chapter Goal: Explain how to store sensor data on the sensor or data nodes.
• Storage Methods
• Local Storage Options for the Arduino
• Local Storage Options for the Raspberry Pi
• Remove Storage Options
• Component Shopping List
Chapter 8: Turning Your Raspberry Pi into a Database Server
Chapter Goal: Introduce MySQL and demonstrate how to setup a Raspberry Pi as a MySQL Database server.
• What is MySQL?
• Getting Started with MySQL
• Building a Raspberry Pi MySQL Server
• Component Shopping List
Chapter 9: MySQL and Arduino: United at Last!
Chapter Goal: Introduce MySQL Connector/Arduino and demonstrate how to connect Arduino directly to a MySQL server to store data via several example projects.
• Introducing Connector/Arduino
• Building Connector/Arduino-Enabled Sketches
• Troubleshooting Connector/Arduino
• A Tour of the MySQL Connector/Arduino Code
• Project: Building an Arduino MySQL Client
• Project: Inserting Data from Variables
• Project: How to Perform SELECT Queries
• Component Shopping List
Chapter 10: Building Your Network: Arduino Wireless Aggregator + Wireless Sensor Node + Raspberry Pi Server
Chapter Goal: Provide an overview of how sensor networks are constructed and provide a foundation for further exploration including a simple, complete project.
• Data Aggregator Nodes
• Component Shopping List
Chapter 11: Putting It All Together
• Sensor Networks Best Practices
• Choosing Sensor Nodes
• Project: Home Temperature Monitoring
• Optional Component Shopping List
Charles Bell conducts research in emerging technologies. He is a member of the Oracle MySQL Development team and is the team lead for the MySQL Utilities team. He lives in a small town in rural Virginia with his loving wife. He received his Doctor of Philosophy in Engineering from Virginia Commonwealth University in 2005. Dr. Bell is an expert in the database field and has extensive knowledge and experience in software development and systems engineering. His research interests include 3D printers, microcontrollers, three-dimensional printing, database systems, software engineering, and sensor networks. He spends his limited free time as a practicing Maker focusing on microcontroller projects and refinement of three-dimensional printers. Dr. Bell maintains a blog on his research projects and many other interests.
Build sensor networks with Python and MicroPython using XBee radio modules, Raspberry Pi, and Arduino boards. This revised and updated edition will put all of these together to form a sensor network, and show you how to turn your Raspberry Pi into a MySQL database server to store your sensor data!
You'll review the different types of sensors and sensor networks, along with new technology, including how to build a simple XBee network. You'll then walk through building an sensor nodes on the XBee, Raspberry Pi, and Arduino, and also learn how to collect data from multiple sensor nodes. The book also explores different ways to store sensor data, including writing to an SD card, sending data to the cloud, and setting up a Raspberry Pi MySQL server to host your data. You'll even learn how to connect to and interact with a MySQL database server directly from an Arduino! Finally you'll see how to put it all together by connecting your sensor nodes to your new Raspberry Pi database server.
If you want to see how well XBee, Raspberry Pi, and Arduino can get along, especially to create a sensor network, then Beginning Sensor Networks with XBee, Raspberry Pi, and Arduino is just the book you need.
You will:
Code your sensor nodes with Python and MicroPython