środa, 29 października 2014

OpenHab - sterowanie za pomocą poleceń głosowych

Aplikacja OpenHab na Androida (habDroid) ma bardzo ciekawą i użyteczną funkcjonalność sterowania głosem. Mając już działającą konfigurację OpenHab należy do naszego pliku *.items dopisać:

String VoiceCommand

dokładnie w takiej postaci.

W momencie rozpoznania głosu habDroid do elementu o nazwie VoiceCommand wysyła rozpoznaną treść.
Przykładowy plik zawierający jeden przełącznik o nazwie salonLed z możliwością sterowania głosem powinien wyglądać następująco:

Group All
Group Salon "Salon" (All)
Switch salonLed "Salon LED" (All, Salon) {mqtt=">[mosquitto:/house:command:ON:salonled1],>[mosquitto:/house:command:OFF:salonled0],<[mosquitto:/houseIn:state:MAP(salonled.map)]"}
String VoiceCommand
OpenHab posiada możliwość definiowania tzw. reguł (rules). Reguły muszą znajdować się w katalogu

configurations/rules

w pliku o rozszerzeniu

*.rules

W celu określenia jaka  jaka akcja powinna być wykonana po otrzymaniu zdefiniowanej komendy głosowej należy utworzyć odpowiednią regułę. Załóżmy że chcemy sterować elementem salonLed. Należy wtedy utworzyć plik z regułą, np.

voice.rules 

o następującej treści:
rule "przelacz sufit"
when
Item VoiceCommand received command sufit
then
if(salonLed.state==ON) {
salonLed.sendCommand(OFF)
}
else {
salonLed.sendCommand(ON)
}
end
view raw voice.rules hosted with ❤ by GitHub
Jak widać reguły definiowane są w prostym i dość czytelnym języku skryptowym.
Aby sterować kolejnymi urządzeniami trzeba po prostu dodać nowe elementy w pliku *.items oraz nowe reguły dla nich w pliku *.rules

To praktycznie cała konfiguracja, jak widać jest banalnie prosta. Zastosowań można znaleźć wiele, na przykład jedną komendą głosową można otworzyć bramę wjazdową, bramę garażową i zapalić halogen na podjeździe. Można wtedy zapomnieć o pilotach :)
Dla miłośników IPhone'ów mam niestety złą wiadomość. Sterowanie głosowe działa wyłącznie na Androidzie.

Na koniec przykładowy film z działania funkcjonalności:



6 komentarzy:

  1. zapraszam http://technologia-nova.blogspot.com/

    OdpowiedzUsuń
  2. Witam, sterowanie światłem działa ale tylko dla jednego słowa np. "sufit" a np jeśli chcemy sterować konkretnym światłem w rożnych pokojach np. światło gabinet to już program nie działa. Może masz jakieś rozwiązanie a dodatkowo jeśli wykwaterowuje nazwą sufit to załączają mi się obwody gdzie mają tą nazwę.

    OdpowiedzUsuń
  3. Generalnie powinieneś chyba przeczytać wcześniejsze wpisy, wtedy to będzie bardziej oczywiste. Wpisy trzeba zrobić na serwerze OpenHab

    OdpowiedzUsuń
  4. Nie chce to u mnie ruszyć. Na jakiej wersji OH to testowałeś ja mam OH2 i nie chce to ruszyć

    OdpowiedzUsuń
  5. Niestety, rzeczy elektroniczne mają swoje humory. Nie zawsze wiesz czy zrobiłeś to dobrze. Ale z pomocą szkolenie sql katowice moja zdolność do programowania mocno się poprawiła.

    OdpowiedzUsuń
  6. To sie nazywają nowoczesne rozwiązania. Nie dziwi mnie wcale, że każdy chętnie z nich korzysta. A żeby móc takie sterowanie umożliwić potrzebne są urządzenia z górnej półki, koniecznie solidnie zaprojektowane i wykonane. Płytki do nich można zamawiać od pewnego i sprawdzonego dostawcy jak https://tspcb.pl/ . Produkują zaawansowane technicznie obwody drukowane a ich wizytówką jest nowoczesny park maszynowy.

    OdpowiedzUsuń