Mini Weerstation Met Flask En MySQL

by bjarne98 in Circuits > Raspberry Pi

618 Views, 1 Favorites, 0 Comments

Mini Weerstation Met Flask En MySQL

19400830_1486757044724751_403836433_o.jpg
19400722_1486757054724750_1797413800_o.jpg

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

Compotenten.jpg

Voor dit project gebruiken we:

Hardware Connectie

Opstelling.jpg
Verbinden.PNG

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

Apache2 phpmyadmin.PNG
Configureren phpmyadmin.PNG

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

19400722_1486757054724750_1797413800_o.jpg
19400830_1486757044724751_403836433_o.jpg

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

19400722_1486757054724750_1797413800_o.jpg

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.