program sterujący funkcjami komputera za pomocą IRDA

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
maciej24
Posty: 5
Rejestracja: 03 lis 2009 10:27
Wersja środowiska: LabVIEW 8.5

program sterujący funkcjami komputera za pomocą IRDA

Post autor: maciej24 »

Witam
Mam zamiar zrobić program sterujący funkcjami komputera za pomocą portu podczerwieni (IRDA) proszę o pomoc, bo dopiero poznaję środowisko LabVIEW i chciałbym coś fajnego wykonać
Moje narzędzia :
adapter IRDA na USB
pilota ( MediaCenter)
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

program sterujący funkcjami komputera za pomocą IRDA

Post autor: Nowszy »

Czesc

Witaj na forum. Jak zwykle - kto pyta nie bladzi. Oprocz pytania forum (gdzie zawsze pytania sa mile widziane), mozesz zapytac wyszukiwarke. Wejdz wiec na ni.com i tam wpisz 'irda' w wyszukiwarke na stronie. Pierwszy link od gory:http://zone.ni.com/reference/en-XX/help ... /irda_vis/ pokazuje podstawowe funkacje pozwalajace na nawiazanie komunikacji korzystajac z tego protokolu (ten link jest do LV 2009, ale w 8.5, którego używasz) funkcje te działają tak samo jak się nie mylę.

Spróbuj więc napisać jakiś najproszty program lub odpalić przykład i zobacz, czy coś uda ci się odczytać. Jak napotkasz jakiś problem, to opisz go szczegółowo tutaj a postaramy się pomóc. Jeśli chcesz używać pilota do sterowania kompem, to na początek musisz zrobić 2 rzeczy:
- zdefiniować jakimi 'funkcjami kompa' chcesz sterować (a my możemy ci podpowiedzieć czy i jak to zrobić)
- spróbować nawiązać komunikację, czyli dojść do momentu, kiedy jesteś w stanie rozróżnić naciśnięty przycisk na pilocie.

Pozdrawiam
Pozdrawiam, Maciek Antonik
Edu4Industry
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: program sterujący funkcjami komputera za pomocą IRDA

Post autor: jogurt_owocowy »

maciej24, dobierz sobie do tego projektu kolegę/koleżankę, bo taki problem można pięknie ustrukturalizować ( :D klik) rozbijając go na dwie, niezależne części:
  1. Odczytanie klawisza naciśniętego na pilocie
  2. Odpowiednia reakcja na to zdarzenie
Jeśli chodzi o część pierwszą, to Nowszy już dał Ci dobre namiary na początek.
Jeśli chodzi o drugą, to podrzucę Ci pomysł taki: możesz wzorować się na programach do pilotów (od kart telewizyjnych) obsługujących skrypty.
Przykładowy fragment skryptu programu bRemote:

Kod: Zaznacz cały

ActiveApp("Winamp v1.x")
{
"Power" : PressKey(VK_MENU, VK_F4)
"VolumeUp" : PressKey(VK_UP)
"VolumeDown" : PressKey(VK_DOWN)
}

Always()
{
"Power" "3" "Power" : Shutdown()
"Video" : ShellOpen("c:\Program Files\Bestplayer\Bestplayer.exe")
}
Cały skrypt jest zestawem bloków tworzonych wg wzorca

Kod: Zaznacz cały

Warunek()
{
"Klawisz1" : Akcja1()
"Klawisz2" : Akcja2()
...
}
Po naciśnięciu klawisza skrypt jest analizowany od góry do dołu, po kolei warunkami:

Jeśli spełniony jest określony warunek, to
jeśli naciśnięto dany klawisz, to
wykonaj daną akcję.

Przykładowe warunki:
  • Foreground("Winamp v1.x") - prawda, jeśli okno Winampa jest na wierzchu
  • Foreground("BESTplayer 2.105 (beta)") - prawda, jeśli okno Bestplayera jest na wierzchu
  • Minimized(""Winamp v1.x") - prawda, jeśli okno Winampa jest zminimalizowane
  • Always() - zawsze prawda
  • Never() - zawsze fałsz
Przykładowe akcje:
  • Exec("C:\Program Files\Winamp\winamp.exe") - włączenie Winampa
  • PressKey(VK_ALT, VK_TAB) - symulacja naciśnięcia klawiszy Alt-Tab
  • Shutdown() - wyłączenie komputera
Taka prosta logicznie struktura w bRemote pozwala na praktycznie dowolne sterowanie dowolnym programem. Oczywiście nie musisz robić żadnego parsera plików tekstowych - możesz od razu zdefiniować listę warunków w postaci stosownej tablicy.
Najlepsze jest to, że takie rozwiązanie jest pięknie skalowalne: każdy warunek i każdą akcję możesz zaimplementować w postaci osobnej funkcji i możesz zacząć od jednego warunku (pewnie Always) i od jednej (najpotrzebniejszej) akcji PressKey symulującej naciśnięcie klawisza (spokojnie, to bardzo proste).

Już na tej bazie możesz zrobić całkiem sensowne sterowanie komputerem, a potem pozostanie Ci rozwijanie programu (już nawet małego systemu) poprzez tworzenie tylko nowych warunków/akcji.

Przypuszczam, że może to brzmieć trochę przerażająco, jeśli jesteś w LV początkujący, ale nic nie bój. Na początku wszystko jest trudne.

Powodzenia i jak coś, pytaj śmiało
ODPOWIEDZ