Introduction: Pi Weather Station Project 1

In this project, we will be making a weather station that measures temperature, humidity, pressure and windspeed and transmits them wirelessly to a station running on Raspberry Pi, wich displays the IP address and the current date. The readings of the weather station are available by accessing the Raspberry Pi's IP address.

Step 1: Step 1: List of Materials

The materials I used for this project you will find in the attachement.

Step 2: Step 2: Hardware Connections

Transmitter side:

First add the Xbee Shield to the Arduino and put in a Xbee module.

Connecting BME280:

- the VCC pin to Arduino's 5V output

- the GND pin to Arduino's GND

- the SCK pin to Arduino's A5 pin

- the SDI pin to Arduino's A4 pin

Connecting SI1145:

- the VCC pin to Arduino's 5V output

- the GND pin to Arduino's GND

- the SCL pin to Arduino's A5 pin

- the SDA pin to Arduino's A4 pin

Connecting Anemometer:

- the brown wire to 9V battery

- the black wire to GND of battery and to GND off Arduino

- the blue wire to Arduino's A0 pin

Receiver side:

Connecting DHT11

- the + sign pin to Raspberry Pi 5V output

- the S sign pin to Raspberry Pi GPIO 4 pin

- the - sign pin to Raspberry Pi GND

Connecting LCD display with I2C

- LCD VCC pin to Raspberry Pi 5V output

- LCD GND pin to Raspberry Pi GND

- LCD SDA pin to Raspberry Pi SDA pin (GPIO2)

- LCD SCL pin to Raspberry Pi SCL pin (GPIO3)

Connecting Xbee module

- put the Xbee module in the Xbee explorer

- put the Xbee explorer in an USB port of the Raspberry Pi

Step 3: Step 3: Arduino Code

We will be using Arduino IDE to program our Arduino. All the necessary libraries are available here so you will not to search and download them.

Six libraries have been used and their links are in the resources section of this Instructable.

Step 4: Step 4: Raspberry Pi Code

We will be using Pycharm to make the program to receive data from Arduino en display it on a website that's running with Flask on the Pi itself.

Step 5: Step 5: Final

The final step is to make a housing for the transmitter side that is water resistant and a housing for the receiver side with a place for the LCD screen. I have another housing for the Xbee receiver connected to the Raspberry Pi housing with an USB cable so my antenna can be placed a bit higher than de receiver housing.

Resources:

BME280

SI1145

Sensor library Adafruit

Wire library Arduino

OneWire library Arduino

DHT library Raspberry Pi