Obsah:

Domácí automatizace s Raspberry Pi pomocí reléové desky: 7 kroků
Domácí automatizace s Raspberry Pi pomocí reléové desky: 7 kroků

Video: Domácí automatizace s Raspberry Pi pomocí reléové desky: 7 kroků

Video: Domácí automatizace s Raspberry Pi pomocí reléové desky: 7 kroků
Video: LinuxDays 2020 - PiHome - automatizace domácnosti s OpenHAB běžící na Raspberry Pi - Michal Novotný 2024, Červenec
Anonim
Domácí automatizace s Raspberry Pi pomocí reléové desky
Domácí automatizace s Raspberry Pi pomocí reléové desky

Většina lidí chce velký komfort, ale za rozumné ceny. Cítíme se líní rozsvítit domy každý večer, když zapadne slunce, a další ráno zhasnout světla nebo zapnout/vypnout klimatizaci/ventilátor/ohřívače podle počasí nebo teploty v místnosti.

Zde je levné řešení, jak se vyhnout další práci s vypínáním spotřebičů v případě potřeby. Jedná se o automatizaci vašich domů za relativně velmi nízké náklady pomocí jednoduchých produktů typu plug and play. Funguje to tak, že když teplota stoupne nebo klesne, zapne se klimatizace nebo topení. V případě potřeby také pomůže zapnutí nebo osvětlení vašeho domova, aniž byste je museli ručně zapínat. A lze ovládat mnoho dalších spotřebičů. Automatizujte svět. Začněme váš domov.

Krok 1: Je vyžadován hardware

Je vyžadován hardware
Je vyžadován hardware
Je vyžadován hardware
Je vyžadován hardware
Je vyžadován hardware
Je vyžadován hardware

Budeme používat:

Raspberry Pi

Raspberry Pi je solitérní počítač založený na Linuxu. Tento malý počítač má obrovskou sílu při registraci, používá se jako součást cvičení elektroniky a počítačových operací, jako jsou tabulky, zpracování textu, procházení webu a e -mail a hry

I2C Shield nebo I2C Header

INPI2 (adaptér I2C) poskytuje port Raspberry Pi 2/3 a I²C pro použití s více zařízeními I2C

I2C Reléový ovladač MCP23008

MCP23008 od společnosti Microchip je expandér integrovaných portů, který ovládá osm relé přes sběrnici I²C. Pomocí integrovaného rozšiřujícího portu I²C můžete přidat další relé, digitální I/O, převodníky analogových na digitální, senzory a další zařízení

Snímač teploty MCP9808

MCP9808 je teplotní senzor s vysokou přesností, který poskytuje kalibrované linearizované signály ze snímačů v digitálním formátu I²C

Světelný senzor TCS34903

TCS34903 je produkt řady barevných senzorů, který poskytuje hodnotu RGB složky světla a barev

Propojovací kabel I2C

Propojovací kabel I2C je 4vodičový kabel, který je určen pro komunikaci I2C mezi dvěma zařízeními I2C připojenými přes něj

Micro USB adaptér

K zapnutí Raspberry Pi potřebujeme kabel Micro USB

Napájecí adaptér 12V pro reléovou desku

Reléový ovladač MCP23008 pracuje na externím napájení 12 V a lze jej dodat pomocí napájecího adaptéru 12 V

Produkt si můžete koupit kliknutím na ně. Další skvělý materiál najdete také v Dcube Store.

Krok 2: Připojení hardwaru

Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru

Potřebná připojení (viz obrázky) jsou následující:

  1. To bude fungovat přes I2C. Vezměte I2C štít pro Raspberry pi a jemně jej připojte k GPIO pinům Raspberry Pi.
  2. Připojte jeden konec kabelu I2C k portu TCS34903 a druhý konec ke stínění I2C.
  3. Připojte kabel potenciometru MCP9808 k výstupu TCS34903 pomocí kabelu I2C.
  4. Připojte kabel potenciometru MCP23008 k výstupu snímače MCP9808 pomocí kabelu I2C.
  5. Připojte také ethernetový kabel k Raspberry Pi. Ke stejnému účelu lze použít také router Wi-Fi.
  6. Poté napájejte Raspberry Pi pomocí adaptéru Micro USB a reléové desky MCP23008 pomocí adaptéru 12V.
  7. Nakonec propojte světlo s prvním relé a ventilátor nebo topení s druhým relé. Pomocí relé můžete modul rozšířit nebo připojit více zařízení.

Krok 3: Komunikace pomocí protokolu I2C

Chcete -li povolit Raspberry Pi I2C, postupujte následovně:

  1. V terminálu zadejte následující příkaz k otevření nastavení konfigurace: sudo raspi-config
  2. Zde vyberte „Pokročilé možnosti“.
  3. Vyberte „I2C“a klikněte na „Ano“.
  4. Restartujte systém a nastavte jej podle změn provedených pomocí příkazu restartovat.

Krok 4: Programování modulu

Odměnou za používání Raspberry Pi je to, že vám poskytuje flexibilitu při výběru programovacího jazyka, ve kterém chcete programovat rozhraní snímacího zařízení s Raspberry Pi. S využitím této výhody Raspberry Pi zde předvádíme jeho programování v Javě.

Chcete -li nastavit prostředí Java, nainstalujte „pi4j libraby“z https://pi4j.com/1.2/index.html Pi4j je knihovna vstupů a výstupů Java pro Raspberry Pi. Jednoduchý a nejpreferovanější způsob instalace „pi4j library “je provést níže uvedený příkaz přímo ve vašem Raspberry Pi:

curl -s get.pi4j.com | sudo bash

NEBO

curl -s get.pi4j.com

importovat com.pi4j.io.i2c. I2CBus; importovat com.pi4j.io.i2c. I2CDevice; importovat com.pi4j.io.i2c. I2CFactory; import java.io. IOException; třída MCP23008 {public static void main (String args ) throws Exception {int status, value, value1 = 0x00; // Vytvořit sběrnici I2C I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1); // Získejte zařízení I2C, adresa MCP23008 I2C je 0x20 (32) I2CDevice zařízení = bus.getDevice (0x20); // Získejte zařízení I2C, adresa I2C MCP9808 je 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // Získejte zařízení I2C, adresa TCS34903 I2C je 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // Nastavit registr čekací doby = 0xff (255), čekací doba = 2,78 ms TCS34903.write (0x83, (byte) 0xFF); // Povolit přístup k IR kanálu TCS34903.write (0xC0, (byte) 0x80); // Nastavit registr Atime na 0x00 (0), maximální počet = 65535 TCS34903.write (0x81, (byte) 0x00); // ZAPNUTO, ADC povoleno, čekání povoleno TCS34903.write (0x80, (byte) 0x0B); Thread.sleep (250); // Přečíst 8 bytů dat s daty clear/ir LSB první bajt data1 = nový bajt [8]; // Čtení dat teploty byte data = nový byte [2]; status = device.read (0x09); // Konfigurace všech pinů jako OUTPUT device.write (0x00, (byte) 0x00); Thread.sleep (500); while (true) {MCP9808.read (0x05, data, 0, 2); // Převod dat int temp = ((data [0] & 0x1F) * 256 + (data [1] & 0xFF)); if (temp> 4096) {temp -= 8192; } dvojnásobek cTemp = teplota * 0,0625; System.out.printf („Teplota v stupních Celsia je: %.2f C %n“, cTemp); TCS34903.read (0x94, data1, 0, 8); double ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1,00; dvojitá červená = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1,00; dvojitá zelená = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1,00; dvojitá modrá = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1,00; // Vypočítejte osvětlení dvojnásobné osvětlení = (-0,32466) * (červené) + (1,57837) * (zelené) + (-0,73191) * (modré); System.out.printf („Osvětlení je: %.2f lux %n“, osvětlení); if (osvětlení 30) {hodnota = hodnota1 | (0x01); } else {hodnota = hodnota1 & (0x02); } device.write (0x09, (bajt) hodnota); Thread.sleep (300); }}}

Krok 5: Vytvoření souboru a spuštění kódu

  1. K vytvoření nového souboru, do kterého lze kód zapsat/zkopírovat, bude použit následující příkaz: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Po vytvoření souboru zde můžeme zadat kód.
  3. Zkopírujte kód uvedený v předchozím kroku a vložte jej do okna zde.
  4. Ukončete stisknutím Ctrl+X a poté „y“.
  5. Potom zkompilujte kód pomocí následujícího příkazu: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. Pokud nejsou žádné chyby, spusťte program pomocí níže uvedeného příkazu: pi4j FILE_NAMEEg. pi4j MCP23008.java

Krok 6: Aplikace

Tento systém vám umožňuje ovládat zařízení, aniž byste museli přecházet na nástěnné vypínače. To má rozsáhlé možnosti, protože časy zapnutí nebo vypnutí zařízení jsou automaticky naplánovány. Existuje několik aplikací tohoto modulu od domů po průmyslová odvětví, nemocnice, železniční stanice a mnoho dalších míst, která lze automatizovat dostupným a snadným způsobem pomocí komponent plug-and-play.

Krok 7: Zdroje

Další informace o řadiči relé TSL34903, MCP9808 MCP23008 naleznete v následujících odkazech:

  • Datový list TSL34903
  • Datový list MCP9808
  • Datový list MCP23008

Doporučuje: