Home
Projects
Tutorials
Under Development
About & Contact
Menu
Personal Weather Station
Table of Contents
1. Project overview
1.1 Features
1.2 Block diagram
1.3 Sensors
1.4 User interface
1.5 Design considerations
1.5.1. Wireless link
1.5.2. Battery life and low power design
1.5.3. Physical design of remote sensor enclosures
2. Setting up the raspberry PI.
2.1 Create a SD card with the OS image
2.2 Power up and boot the Raspberry PI
2.3 Login to the Raspberry PI
2.4 Update the OS to the latest patches
2.5 Set a DHCP reservation on the network
2.6 Login remotely
2.7 Update the timezone
2.8 Install Apache
2.9 Change the default web page
2.10 Test the web page
3. Introduction to XBee & wireless links.
3.1 A simple wireless link
3.1.1. Issues with the simple wireless link
3.1.2. Error detection and correction
3.2 ZigBee, XBee and mesh networking
3.2.1. Coordinators, routers and end devices
3.2.2. Channels and addressing
3.2.3. Configuring devices
3.2.4. Sending data
4. Configuring the XBee modules
4.1 USB programming adapter
4.2 Installing FTDI drivers
4.3 Installing XCTU
4.4 Configuring the Coordinator
4.5 Configuring the end device
4.5.1. Special considerations with configuring end devices
4.6 Simple loop back test of the wireless link.
4.7 Troubleshooting XBee communication & network issues.
5. Interfacing XBee to the microcontroller
5.1 Creating your first battery powered wireless link
5.2 Hardware
5.3 Microcontroller software
5.4 Perl script for Raspberry PI
5.5 Test the wireless link
5.5.1 A note on power consumption
5.6 Troubleshooting tips.
5.6.1 No messages received
5.6.2 Garbled messages
5.6.3 Missing messages & partial messages
5.7 Switching the coordinator to API mode
6. Adding the first remote sensor
6.1 Temperature and Humidity
6.2 A closer look at the HIH6131 sensor
6.3 Temperature & Humidity remote sensor hardware
6.4 Temperature & Humidity microcontroller software
6.4.1 The main program
6.4.2 Reading the temperature and humidity function
6.4.3 Transmitting data to XBee function
6.5 Raspberry Pi Perl script
6.5.1 Main loop overview
6.5.2 The get_packet() routine
6.5.3 The decode_HIH6131() routine
6.6 Remote sensor enclosure
6.7 Mounting the remote sensor TODO
7. Web page generation Perl script
7.1 Parsing the log file
7.2 Computing maximum and minimum temperatures
7.3 Generating graphs
7.4 Creating the web page
7.5 Final web page result
Next: Project overview