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.
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.
Celý systém je postaven na Odroidu-C1 s OS ubuntu 14.04. Nejdříve je potřebné mít nainstalovaný operační systém, pak ROS a pymlab. Systém lze rozfungovat i na Odroidu-C2 s OS Debian Jessie. Více o této možnosti je napsáno na stránce Odroidu-C2.
Z důvodu chybějcího chladiče na Odroidu-C1 byl nahrazen softwarově kompatibilním 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 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 .launch souboru.
sudo service rosstart start
nebo
roslaunch windowblind run.launch
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 SUPERCAP