Raspberry PI jako metostanice
Meteostanice se dá udělat doma snadno, rychle a zábavně. Tento model je pouze přípravou neboť na zařízení zobrazí do výstupu konzole teplotu a vlhkost. Další zpracování těchto dat je možné navázat.
Obsah:
Potřebné

Pro tento účel mi poslouží zařízení Raspberry PI 3, které bude za pomoci externího modulu měřit teplotu a vlhkost ovzduší. V Raspberry PI mám nainstalovaný aktuální Raspberry Pi OS lite v textovém režimu, který je, jak jsem pochopil, nástupcem Raspbianu. Díky bezdrátovému Wi-Fi připojení bude zařízení dostupné v síti a bude moci předávat data.

Pro měření je tu modul DHT11 a funkci v počítači budu programovat pomocí Pythonu. DHT11 měří hodnotu teploty a vlhkosti vzduchu
Budeme tedy potřebovat:
Potřebné balíčky pro Python získáme takto:
sudo apt install python python3 python-gpiozero python3-gpiozero python-tk python3-tk
Zapojení DHT11
Pro zapojení modulu DHT11 do GPIO rozhraní jsou piny GND, VCC a DATA. Číslování pinů bude s ohledem na reálné uspořádání na desce dle obrázku níže. Pin GND je uzemnění a v tomto případě záporný pól – , zapojíme jej do (9). Pin VCC slouží pro napájení a podporuje 5V i 3.3V, zapojíme jej do (1). Pin DATA slouží k přenosu dat, zapojíme ho do (11).

- GND -> GND (9)
- VCC -> 3V3 (1)
- DATA -> GPIO17 (11)
Program
Pro chod ukázkového programu je zapotřebí vlastní program v souboru dht11 zajišťující komunikaci s modulem, který je v ukázkovém programu volán. Je zapotřebí mít tedy oba soubory v jednom adresáři.
Spouští se dht11_ukázka.py!
Kód ukázkového programu v Pythonu:
import RPi.GPIO as GPIO import dht11 import time import datetime import os from turtle import exitonclick #zahaji GPIO GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.cleanup() #cte data z pinu 17 instance = dht11.DHT11(pin=17) #vlastni program while True: result = instance.read() if result.is_valid(): os.system('clear') # radek nize po odkomentovani prida casove razitko # print("Data " + str(datetime.datetime.now())) print("Teplota: %d C" % result.temperature) print("Vlhkost: %d %%" % result.humidity) print(input()) time.sleep(10)
V kódu se na začátku importuje dht11 knihovna, to znamená, že se načte soubor dht11, který je v adresáři u spouštěcího souboru, bez onoho souboru je program nefunkční.
Co program dělá?
Vypisuje hodnoty teploty a vlhkosti vzduchu v aktualizačních intervalech 10 sekund do výstupu.
Další zpracování získaných dat
Další zpracování dat je možné, jestliže budeme vycházet ze souboru dht11_ukázka.py. Je možné zahájit také interakci na základě překročení teploty anebo naopak.
Jako zobrazovací jednotku lze využít dvouřádkový displej – bude vyžadovat přidání parametrů pro zobrazení.
Do budoucna připravuji přidat k sestavě další modul pro rozšíření o další měřitelnou jednotku.