OrangePi + DHT22 + MQTT + OpenHab2

Korábban írtam egy bejegyzést arról hogy hogyan lehet egy DHT22 hő és páratartalom érzékelőt adatait kiolvasni Orange Pi segítségével. Az a program C-ben íródott. Ebben a leírásban viszont python programot fogok használni.

Szerencsére találtam egy példa programot, így nem a nulláról kell kezdeni.A drótozás ugyanaz mint a korábbi leírásban.Figyelem! A korábbi OpenHab2 leírásokban a relét is ugyan oda kötöttem mint most a DHT22 jel lábát!!

https://github.com/ionutpi/DHT22-Python-library-Orange-PI

Ezt a GIT repót kell klónoznunk.

Miután elkészültünk be kell lépni a könyvtárba és módosítani kell a dht22_example.py programot.

from pyA20.gpio import gpio
from pyA20.gpio import port
import paho.mqtt.client as mqtt

#import RPi.GPIO as GPIO
import dht22
import time
import datetime

# initialize GPIO
#gpio.setwarnings(False)
#gpio.setmode(GPIO.BCM)
PIN2 = port.PA6 #dht22 jel laba
gpio.init()
#gpio.cleanup()

# read data using pin 14
instance = dht22.DHT22(pin=PIN2)
result = instance.read()
if result.is_valid():
        client = mqtt.Client()
        client.connect("192.168.0.101", 1883, 60)
        client.publish("dht22/para", payload=result.humidity)
        client.publish("dht22/home", payload=result.temperature)

Ha a programot futtatjuk akkor  a dht22/para és a dht22/hom témákba küldi a páratartalmat és a hőmérésklet adatokat.

.items fájl tartalma:

Number opi_dht22_hom "DHT22 Hőmérséklet  [%s °C]"  {mqtt="<[mosquitto:dht22/home:state:default]"}
Number opi_dht22_para "DHT22 Páratartalom  [%.0f %% ]"  {mqtt="<[mosquitto:dht22/para:state:default]"}

.sitemaps fájl:

Text item=opi_dht22_hom
Text item=opi_dht22_para

A program futtatását cronetab-al oldottam meg.

This entry was posted in OpenHab2, Orange Pi and tagged , , , , , , , , . Bookmark the permalink.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Ez a weboldal az Akismet szolgáltatását használja a spam kiszűrésére. Tudjunk meg többet arról, hogyan dolgozzák fel a hozzászólásunk adatait..