EmonHUB RS485

IMG_2413EmonHUB (EmonBase) slouží jako komunikační rozhraní. Arduino Nano v EmonHUBu řídí komunikaci jednotlivých zařízení (nodu) na sběrnici RS485 a vydává požadavky jednotlivým zařízením na data.

Přijata data zpracuje,  vybrané údaje zobrazí na připojeném LCD a přes RS komunikaci odešle do Raspberry Pi, které data upraví a odešle na server EmonCMS kde jsou data archivována zpracována a zobrazena do grafů. V Raspberry Pi je na SD kartě nahrána a nakonfigurovaná aplikace EmonSD. Návod jak zprovoznit odesílání dat na EmonCMS jsem vytvořil zde.

IMG_20150905_154409a

EmonHUB schéma

 

Arduino v EmonHUB komunikuje po RS485 s monitorovací jednotkou kotle, EmonTx což je jednotka pro sledování aktuální spotřebu elektrické energie domu a měničem fotovoltaického ohřevu bojleru. V Raspberry Pi se musí upravit konfigurační soubor emonhub.conf v sekci Nodes kde musí být uvedeno číslo nodu a přesná struktura dat, která jsou připravena Arduinem a v sekci Reporters adresa serveru Emoncms a API Key přidělený při registraci na serveru. Pro zasílaní dat přes seriový port Arduina je potřeba změnit úroveň napětí z 5V na 3,3V vstup Raspberry Pi. Pro zobrazení vypraných hodnot je použitý 2×16 znakový LCD s přidaným převodníkem I2C a přepínaní hodnot na LCD pomocí tlačítka.

Původně jsem napájení 5V= celého EmonHUBu a Raspberry Pi řešil z vestavěného stabilizátoru v Arduinu, ale ten se hodně přehříval, tak jsem raději zvolil externí modul se spínaným stabilizátorem.

IMG_20150907_182218

EmonHUB RS485 IMG_2413

Download:
emonHub_rs485_v4.ino

Příspěvek byl publikován v rubrice Arduino, Elektronika se štítky , , , , , , , . Můžete si uložit jeho odkaz mezi své oblíbené záložky.

6 komentářů u EmonHUB RS485

  1. Pingback: Monitorovací jednotka automatického kotle | TN Web

  2. Pingback: Fotovoltaický MPPT měnič pro bojler | TN Web

  3. Pingback: Zasílaní dat na server EmonCMS přes Raspberry Pi | TN Web

  4. Pingback: Odesílání dat na server EmonCMS přes Raspberry Pi | TN Web

  5. Maxim napsal:

    Dobrý den,
    chtěl bych se zeptat jak bych měl upravit kód abych byl schopen „přenášet“ desetinou čárku a dvě místa za ní. Využívám část Vašeho kódu pro dálkový odečet proudu.

    Děkuji

    • Tom napsal:

      Nevím jestli knihovna EasyTransfer umí přenášet i float, už jsem s tím dlouho nedělal, musel byste vyzkoušet.
      Jinak bych to řešil vynásobením požadovaného čísla 100 přenesení a pak vydělení 100.

Napsat komentář: Maxim Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *