====== Inteligentní ovladač žaluzií - WindowBlind01A ====== {{:cs:designs:asu_sporilov_zaluzie.jpg?800|Žaluzie instalované na budově Astronomického Ústavu v Praze.}} Inteligentní ovladač žaluzií slouží k automatickému stínění před nadměrným slunečním svitem. Cíl tohoto projektu je udržovat menší vnitřní teplotu v kanceláři a ochránit žaluzie před silným větrem. {{:cs:designs:arom:arom_asu.png?600|Stavová stránka žaluzií}} {{:cs:designs:arom:arom_nastaveni.png?600|Webová stránka s nastavením systému}} ==== Ovládání ==== Systém se ovládá přes webové rozhraní. Každá (skupina) žaluzií může být ovládána v automatickém nebo ručním režimu. V automatickém režimu se žaluzie ráno zatáhnou v případě, že je jasné počasí (vysoká intenzita osvětlení) a při překročení vnitřního teplotního limitu. Přes den se drží zavřené. Při určité výšce Slunce nad horizontem se žaluzie pootočí. Po překročení dalšího limitu se žaluzie plně vytáhnou. V manuálním režimu jsou žaluzie ovládána pomocí dvou tlačítek ve webovém rozhraní. Při překročení nastavené rychlosti větru dojde k zablokování ovládání a žaluzie se vytáhnou do bezpečné polohy. Zablokování trvá po dobu nastavenou v rozhraní, kdy nesmí znovu dojít k překročení limitu. V případě poškození (např. zadření, nebo ulomení lopatek) anemometru nastane stejný stav. ==== Instalace ==== Celý systém je postaven na [[cs:odroid-c1|Odroidu-C1]] s OS ubuntu 14.04. Nejdříve je potřebné mít nainstalovaný operační systém, pak [[cs:ros|ROS]] a [[cs:pymlab|]]. Systém lze rozfungovat i na [[cs:odroid-c2|Odroidu-C2]] s OS Debian Jessie. Více o této možnosti je napsáno na stránce [[cs:odroid-c2|Odroidu-C2]]. Z důvodu chybějcího chladiče na [[cs:odroid-c1|Odroidu-C1]] byl nahrazen softwarově kompatibilním [[cs:odroid-c1+|Odroidem-C1+]] s chladičem. Přehřívání Odroidu způsobovalo "náhodné" restartování. Další potřebné balíky se nainstalují pomocí: sudo apt install mysql-server python-pip python-astropy python-tornado python-httplib2 python-serial python-mysqldb sudo pip install ephem rosapi nejdříve si vytvoříme pracovní místo pro [[cs:ros|ROS]] a přeložíme. mkdir ~/rosws/src cd ~/rosws/src catkin_init_workspace cd .. catkin_make Do vytvořeného pracovního místa si stáhneme požadované ROS projekty z GitHubu. V tomto případě to bude AROM a WindowBlind. cd ~/rosws/src git clone git@github.com:Robozor-network/AROM.git git clone git@github.com:roman-dvorak/windowblind.git Znovu přeložit se softwary AROM a windowsblind. cd ~/rosws catkin_make V Mysql si vytvoříme datové struktury, které systém vyžaduje CREATE TABLE `sensors` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `sensors_id` int(10) unsigned NOT NULL, `sensor_name` varchar(45) COLLATE utf8_bin NOT NULL, `sensor_quantity_type` varchar(45) COLLATE utf8_bin DEFAULT NULL, `sensor_field_quantity_type` varchar(45) COLLATE utf8_bin DEFAULT NULL, `sensor_field_name` varchar(45) COLLATE utf8_bin DEFAULT NULL, `sensor_quantity_mark` varchar(45) COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`id`,`sensor_name`,`sensors_id`), UNIQUE KEY `idsensors_UNIQUE` (`id`), UNIQUE KEY `sensors_id_UNIQUE` (`sensors_id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; CREATE TABLE `sensors_id` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`), UNIQUE KEY `id_UNIQUE` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; CREATE TABLE `weather` ( `id` int(11) NOT NULL AUTO_INCREMENT, `date` float unsigned DEFAULT NULL, `type_id` int(10) unsigned NOT NULL, `sensors_id` int(10) unsigned NOT NULL, `value` float DEFAULT NULL, PRIMARY KEY (`id`,`type_id`,`sensors_id`), UNIQUE KEY `id_UNIQUE` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=78185 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; Pro automatické spouštění je třeba překopírovat spouštěcí skript do /etc/init.d/ sudo cp ~/rosws/src/windowblind/tools/rosstart /etc/init.d/rosstart Celý projekt lze následně spustit pomocí připraveného ROS [[http://wiki.ros.org/roslaunch|.launch]] souboru. sudo service rosstart start nebo roslaunch windowblind run.launch ==== Hardware ==== {{:cs:designs:asublind_control_unit.jpg?600|Řídící jednotka}} {{:cs:designs:asublind_weather_unit.jpg?600|Snímací jednotka počasí}} Zapojení I2C sítě a adresy zařízení by měly vypadat následovně: $ i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: 10 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- 21 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: 40 -- -- -- 44 45 -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- Řídící počítač je vhodné vybavit zálohovaným napájením a vypínacím skriptem [[cs:supercap|SUPERCAP]]