I, Laurens Dujardin, had to make a project for school. So i decided to make a Weatherstation. I called it Weatheron.
The parts you need for this project, without Raspberry Pi being charged, are:
- jumper wires
- DHT11 (temperature and humidity sensor)
- SI1145 (UV sensor)
- BMP280 (Pressure sensor)
- lcd display (16x2)
(you can check it out in the BOM that i linked down here)
For the rest of the instructable, i'll be explaining you how you can recreate this project.
Step 1: Fritzing
So, first of all I made a Fritzing scheme. You have to know how your parts work properly ofcourse.
On these pictures you can see which pin of the part, should be connected to which pin on the Raspberry Pi. If you let someone check your fritzing scheme, who knows alot about this subject, you won't make any crucial mistakes which can be fatal for your project.
Step 2: Normalized Database Structure
For the noramalized database structure, you first of all have to make a preliminary study. Here you can brainstorm on what data you need and on how your project will be working.
After u did the preliminary study, you can go on making the normalized database structure itself. I first of all made it in Draw.IO. Afterwards I made it in MySQL itself, so i could try my database out with some test data.
Step 3: FA2 Template
The FA2 Template is a comprehensive template for the whole project. In this template I made a competition analysis, a persona who can be identified as a general user. A user story map and a Site map which contains all the pages of my website. Plus here are some pictures of my wireframes.
Step 4: Wiring & Coding
This pictures might not be that clear, but it is the wiring of my project, which is already in his housing.
For the coding part, you can find everything i wrote on Github: https://github.com/LaurensDujardin/Weerstation.
There are files that are just focusing on getting the data from the parts. Where i used library's,
- library for BMP280: https://github.com/adafruit/Adafruit_Python_BME280
- library for SI1145: https://github.com/THP-JOE/Python_SI1145
- library for DHT11: https://github.com/adafruit/Adafruit_Python_DHT
First of all you have to install these library's on your Raspberry Pi before you can use them correctly. The way to do this is by typing " sudo python setup.py install" in the command line.
Then there is file 'data.py', this one bundles all the separate files that get the data, to 1 big file. This way you can write all the data in one time to the lcd display and to the database.
Step 5: Website
The code I wrote for my website can also be found on Github: https://github.com/LaurensDujardin/Weerstation .
As I have already shown in the step about the FA2 template, I first of all made some wireframes. These wireframes were the basis for my website. From there on I started coding.
Step 6: End Product
To finish it all, I put everything in a wooden box, I cut holes in it so that the parts can come out of it, so they can measure the correct data.
Now to login on my project, you have to start it up by pluging in the electricity and the internet cable. Then login by using putty and typing in the host name, which is 'laurens.local'. The username is 'pi' and the password is 'raspberry'. U can just use the arrow upwards and then hit enter for the project to start running. It will show it's measurements twice on the lcd display, then u can browse to the website by typing into the browser search bar: '169.254.10.11:8080'.
Thank you for reading,
I hope everything was clear and good and that this post helped u alot.
Have a good time recreating my project!
studying New Media and Communication Technology at HOWEST Kortrijk, Belgium.