ElementalPi is a complete Raspberry Pi (A+ / B+ / 2) weather station solution designed to be as accurate and detailed as possible while maintaining simplicity and ease-of-use. This GitHub repo houses the code for the ElementalPi project.
The ElementalPi project will eventually design, manufacture and produce a Raspberry Pi 40-pin HAT / shield which will be available for individuals (yes, you!) to purchase, construct / solder and utilise in their own environments. ElementalPi will inevitably include three boards: the HAT / shield housing required components, an "air" board housing the temperature / humidity / pressure / air quality equipment, a wind anemometer / direction device and lastly a rain gauge - all connecting to ElementalPi using simple RJ11 telephone cabling.
Eventually, ElementalPi will be able to sense:
- Rainfall
- Wind speed
- Wind direction
- Ambient temperature
- Barometric pressure
- Relative humidity
- Light Level
- UV rating
- Air Analysis
- General quality
- Carbon Monoxide (CO)
- Nitrogen Dioxide (NO2)
ElementalPi is currently under heavy development, and it's expected to be ready for manufacturing in 2016.
To download and start acquiring sensor data, follow this guide below...
ElementalPi needs several packages to run correctly; ensure you run this command in sudo
.
sudo apt-get install build-essential python-pip python-dev python-smbus i2c-tools git
i2c is an extremely common standard designed simply to allow one computer chip to speak to another. ElementalPi utilises i2c to allow the Raspberry Pi to communicate with Adafruit's BME280 breakout. As i2c doesn't come automatically enabled with the RPi, you'll have to follow these steps below to enable it.
Using RPi's own configuration utility you'll need to enable i2c kernel support...
sudo raspi-config
- Advanced Options
- I2C
- Yes
- Yes
- ... reboot!
After you've installed the prerequisites, enabled i2c and rebooted your RPi, simply type...
sudo i2cdetect -y 0
or sudo i2cdetect -y 1
Shortly after you should see something like this:
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77
If you see the 77
, then you've done everything right!
Now the hard part is done! Clone our code using the below commands to get started!
cd ~
git clone https://github.com/damian-w/ElementalPi.git
cd ElementalPi
To be written.
To be written.
We appreciate all pull requests! Please don't hesitate to download the code, explore and tinker around.
ElementalPi was inspired by Tom Hartley's work on his discontinued Raspberry Pi weather project, AirPi.
This project also uses a multitude of Adafruit's Python-based libraries, which are open-source and available here.
Copyright 2015 © Damian Worsdell
ElementalPi is licensed under the MIT License.
We fully encourage anyone to download, modify and improve the ElementalPi project.