Jak nainstalovat integraci Drátek eInk do Home Assistantu
Průvodce instalací integrace Drátek eInk do Home Assistantu pomocí obchodu HACS.
Senzor barometrického tlaku BMP085 od firmy Bosch je oblíbený Arduino modul, který kromě senzoru tlaku obsahuje taktéž senzor teploty. S pomocí hodnot naměřených z obou senzorů pak lze získat také informace o aktuální nadmořské výšce. Tento modul BMP085 je tedy velmi vhodný do různých zapojení, kdy je třeba měřit okolní barometrický tlak a současně s tím můžeme také měřit teplotu a ušetřit tak jeden modul. Podle informací výrobce je možné měřit tlak v rozsahu 300 až 1100 hPa (hekto Pascalů), což odpovídá po přepočtu nadmořské výšce +9000m až -500m. Typická přesnost je pak ±1 hPa. Okolní teplotu je možné pomocí senzoru BMP085 měřit v rozsahu 0 až +65 stupňů Celsia s přesností ±1 °C.
Pro úspěšné propojení senzoru BMP085 s Arduino deskou je potřeba propojit celkem 4 vodiče. Pro zapojení napájení lze využít +3V3 nebo +5V napájecí pin, kdy je třeba propojit jeden ze zmíněných pinů s odpovídajícím napájecím pinem na Arduino desce. Dále propojíme GND se zemí, SDA na A4 a SCL na A5. Piny SDA a SCL jsou připojeny na I2C sběrnici a zmíněné piny A4 a A5 platí pro použitou desku Arduino Uno.
Pro správné přeložení a nahrání uvedeného ukázkového kódu je nutné stáhnout a naimportovat knihovnu BMP085, návod jak na to je uveden zde. Ukázkový kód obsahuje na začátku připojení potřebných knihoven a jako další krok inicializaci senzoru BMP085 z knihovny BMP085. V podprogramu setup je nastavena jako první komunikace po sériové lince a následně zapnuta komunikace se senzorem BMP085. V nekonečné smyčce loop je pak uvedena ukázka výpisu všech měřitelných informací ze senzoru, tedy teploty, barometrického tlaku a nadmořské výšky. Pokud budeme chtít tyto hodnoty ukládat do proměnných a dále je používat, je vhodné použít proměnné typu float, tedy čísla s desetinnou čárkou. Na konci programu je pak už jen pauza pro přehlednější výpis.
Po nahrání programu do Arduino desky s připojeným senzorem BMP085 dostaneme například tento výpis:
// Senzor barometrického tlaku Bosch BMP085
// připojení knihoven Wire a BMP085
#include <Wire.h>
#include <Adafruit_BMP085.h>
// inicializace senzoru BMP085 z knihovny BMP085
Adafruit_BMP085 bmp085;
void setup() {
// komunikace přes sériovou linku rychlostí 9600 baud
Serial.begin(9600);
// zapnutí komunikace se senzorem BMP085
bmp085.begin();
}
void loop() {
// výpis teploty ve stupních Celsia
Serial.print("Teplota: ");
Serial.print(bmp085.readTemperature());
Serial.println(" stupnu Celsia");
// výpis barometrického tlaku v hekto Pascalech
Serial.print("Barometricky tlak: ");
Serial.print(bmp085.readPressure()/100);
Serial.println(" hPa");
// výpis nadmořské výšky při započítání
// běžné hodnoty tlaku 1013,25 hekto Pascalů
Serial.print("Nadmorska vyska: ");
Serial.print(bmp085.readAltitude());
Serial.println(" metru");
Serial.println("------------------------------");
// pauza pro přehlednější výpis
delay(2000);
}
Senzor barometrického tlaku a teploty BMP085 je vhodné používat z mnoha důvodů, mezi které patří například jeho dobrý poměr cena/přesnost, kombinace měření tlaku a teploty či zabrání pouze 2 datových pinů díky komunikaci přes I2C sběrnici. Jako poznámku bych rád uvedl svoji zkušenost, kdy po delším používání jsem při porovnání s hodnotami naměřeného tlaku meteorologickou stanicí v okolí zjistil konstantní rozdíl mezi mnou a stanicí naměřenou hodnotou tlaku. Tento konstantní rozdíl činil v mém případě 32 hPa, stačilo tedy tuto hodnotu vždy přičíst k mé naměřené a výsledkem byly hodnoty odpovídající udávaným meteorologickou stanicí. Pokud byste rádi postavili vlastní domácí meteorologickou stanici, tento senzor je vhodným kandidátem.
Teplota: 27.20 stupnu Celsia Barometricky tlak: 980 hPa Nadmorska vyska: 276.05 metru ------------------------------ Teplota: 27.10 stupnu Celsia Barometricky tlak: 980 hPa Nadmorska vyska: 276.39 metru ------------------------------ Teplota: 27.10 stupnu Celsia Barometricky tlak: 980 hPa Nadmorska vyska: 276.39 metru ------------------------------
Seznam použitých komponent:
http://dratek.cz/arduino/974-arduino-uno-r3-atmega328p-1424115860.html
http://dratek.cz/arduino/1227-7-ks-mini-nepajive-pole-25-kontaktu-1458405292.html
Průvodce instalací integrace Drátek eInk do Home Assistantu pomocí obchodu HACS.
Návod, jak jednoduše přidat a nastavit Drátek e-ink displej do Home Assistant