Mini Weerstation Met Flask En MySQL
by bjarne98 in Circuits > Raspberry Pi
618 Views, 1 Favorites, 0 Comments
Mini Weerstation Met Flask En MySQL
In dit project zullen we een klein weerstation maken die de temperatuur, luchtvochtigheid en neerslag weergeeft. Deze waarden zullen worden ingelezen met een Arduino en we zullen de data sturen naar een database en deze data dan ophalen en weergeven op een website.
De Nodige Materialen
Voor dit project gebruiken we:
- Arduino nano
- De DHT11 voor de temperatuur en luchtvochtigheid
- Regensensor
- Jumper wires
- Breadboard
- Raspberry Pi 3 Model B
- (Optioneel) Powerbank
Downloads
Hardware Connectie
DHT11 verbinden:
- De VCC pin naar de Arduino 5V pin
- De DATA pin naar de Arduino digitale pin 7
- De GND pin naar de Arduino GND pin
Regensensor verbinden:
- Je kan de data over de pin A0 of D0 sturen aan de hand daarvan beslis je dan of je het connect met een analoge pin van je Arduino of met je digitale pin. Ik heb het geconnecteerd met de A0 en ik heb deze verbonden met de Arduino analoge pin A3.
- De GND pin naar de Arduino GND pin
- De VCC pin naar de Arduino 5V pin
De Raspberry Pi Up-to-date
Eerst en vooral zullen we een internet connectie maken. Daarvoor moeten we deze file openen:
- sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Daarin zal je je eigen netwerk moeten toevoegen:
network={
ssid= "SSID_de naam van je netwerk"
psk="je wifi wachtwoord" }
Nu zullen we de pi updaten met dit commando:
- sudo apt-get update
Als dit klaar is kunnen we hem upgraden met dit commando:
- sudo apt-get upgrade
Installeren Van MySQL
Eerst moeten we de server installeren:
- sudo apt-get install mysql-server
De volgende stap is de MySQL client installeren:
- sudo apt-get install mysql-client
Daarna zal je een wachtwoord voor je root user moeten kiezen. Zorg dat je deze zeker onthoud we zullen hem nog nodig hebben.
Voer nu dit commando in om databases te bewerken :
- mysql -u root -p
Je kan hier simpel uitgeraken door quit in te typen.
Als je met MySQL zal willen werken in python heb je dit ook nodig:
- sudo apt-get install python-mysql.connector
- sudo apt-get install python-mysqldb
PhpMyAdmin Installeren Op Je Raspberry Pi
We zullen beginnen met ons als hoofdgebruiker te maken daarvoor typen we dit in:
- sudo bash
Daarna zullen we PhpMyAdmin installeren op de raspberry pi daarvoor typen we dit in:
- apt-get install phpmyadmin
Tijdens het installeren zal hij vragen welke web server er geinstalleerd is kies voor apache2 zie de afbeelding.
Daarna zullen we de PhpMyAdmin database configureren. Er zal een scherm tevoorschijn komen. Zie afbeelding hier duid je yes aan.
Hierna zal gevraagd worden een wachtwoord te kiezen dit is natuurlijk jou keuze wat je hier invult.
De laatste stap: het configureren van apache om te kunnen werken met PhpMyAdmin
Typ het volgende commando in:
- nano /etc/apache2/apache2.conf
Deze file zal openen. Druk op CTRL+ V om helemaal naar de onderkant van de file te gaan. Voeg dit dan toe onderaan de file :
- Include /etc/phpmyadmin/apache.conf
Sla de file nu op door op CTRL + X te drukken en Y in te geven.
Nu zullen we apache2 herstarten typ hiervoor het commando:
- /etc/init.d/apache2 restart
Nu zou het moeten lukken. Typ nu: http://your.raspberrypi.domain/phpmyadmin en dit zou je nu moeten verwijzen naar de database.
Behuizing
Ik heb een metalen doos gebruikt als behuizing. Ik heb hiervoor gekozen omdat deze redelijk goed bestand is tegen water. Ook heb ik ruime plaats om mijn raspberry pi, breadboard en mijn powerbank te plaatsen. Maar hier ben je natuurlijk vrij in wat je kiest als behuizing. Om mijn raspberry pi, breadboard en powerbank een beetje stevig vast te leggen heb ik gebruik gemaakt van sterke velcro.
Code
Er moeten 3 codes upgeload worden:
- De Arduino code deze zet je op je Arduino.
- De DHT.h folder deze library moet je toevoegen aan je Arduino
- De code van mijn website
Afgewerkt
Na het installeren van de code zal je een compleet afgewerkt project hebben. Je zal dus op een website de momentele temperatuur, luchtvochtigheid en neerslag kunnen weergeven.