1Wprowadzenie



Pobieranie 37.95 Kb.
Data30.04.2016
Rozmiar37.95 Kb.
Jacek DŁUGOPOLSKI

Akademia Górniczo-Hutnicza, Katedra Informatyki



Wykorzystanie łącza I2C oraz informacji lokalizacyjnej do personalizacji działania urządzeń

1Wprowadzenie

W ostatnim czasie coraz więcej mówi się na temat zastosowań elektroniki i automatyki w nowoczesnym budownictwie oraz projektowaniu pomieszczeń biurowych i mieszkalnych. Buduje się biurowce, a nawet osiedla mieszkalne, „nafaszerowane” elektroniką w których wszelkie czynności związane ze sterowaniem klimatyzacją, oświetleniem, wentylacją, systemami przeciwpożarowymi i antywłamaniowymi oraz wieloma innymi systemami są realizowane automatycznie za pomocą mikroprocesorów i wyrafinowanych systemów informatycznych. W budynkach tych od samego projektu przewidziane jest specjalne okablowanie strukturalne zapewniające cyfrową komunikację pomiędzy wszystkimi urządzeniami zainstalowanymi w ścianach i sufitach wszystkich pomieszczeń. Komunikacja z urządzeniami, które ze względu na swą naturę nie mogą być połączone przewodem z całą siecią komunikacyjną budynku jest realizowana bądź drogą radiową bądź przy pomocy promieniowania podczerwonego lub też ultradźwięków. Urządzeniami wykorzystywanymi w takich instalacjach są m.in. wszelkiego rodzaju czujniki temperatury, wilgotności, dymu, ognia itp., kamery, mikrofony, terminale umożliwiające dostęp do systemu informatycznego budynku jak np. czytniki kart magnetycznych lub mikroprocesorowych, czy też sensory odbierające sygnały jednoznacznie określające osobę, pochodzące od aktywnych identyfikatorów. Również wszelkiego rodzaju wentylatory, urządzenia klimatyzacyjne, telefony lub wideotelefony, komputery osobiste, głośniki itd. Całość tworzy niezwykle wyrafinowany system samo sterujący się mający za zadanie ułatwić pracę i poprawić warunki przebywania człowieka w biurze lub mieszkaniu, a także umożliwić najbardziej ekonomiczne wykorzystanie wszelkich dostępnych źródeł energii.

Przedmiotem niniejszego artykułu jest przedstawienie rozszerzenia systemu zaprojektowanego specjalnie z myślą o usprawnieniu i ułatwieniu pracy w biurze. Jest to The Active Badge System (ABS) [1,2,3,4], czyli system aktywnych identyfikatorów umożliwiający automatyczną lokalizację osób przebywających w biurze. W artykule będzie przedstawiona możliwość automatycznego sterowania wszelkimi urządzeniami wyposażonymi w łącze I2C [5] w zależności od danych dotyczących lokalizacji osób w budynku dostarczanych przez system ABS. W szczególności zostanie przedstawione rozwiązanie automatycznego sterowania przepływem sygnałów video oraz wykorzystanie informacji zawartych w teletekście do celów identyfikacji programów telewizyjnych preferowanych przez określone osoby.

2Ogólna charakterystyka systemu ABS

System ABS jest produktem opartym na projekcie badawczym z Laboratoriów Uniwersytetu Cambridge w Anglii [1,2,3,4] . Głównym celem projektu było stworzenie interaktywnego systemu do lokalizacji i monitorowania osób. System jest połączeniem środowiska sprzętowego i programowego. Komponentami sprzętowymi są odbiorniki i nadajniki w formie sensorów i osobistych identyfikatorów, które komunikują się ze sobą za pomocą sygnałów promieniowania podczerwonego. Sensory podłączane są do wspólnej magistrali lub wielu magistral szeregowych opartych na standardzie RS422. Całość zarządzana jest przez jednostkę centralną, którą najczęściej stanowi komputer klasy PC. Sensory są statycznie rozmieszczone w różnych miejscach budynku, gdzie dokonują detekcji obecności poszczególnych identyfikatorów. Oprogramowanie znajdujące się w jednostce centralnej (zwane „Pollerem”) regularnie przepytuje wszystkie sensory należące do systemu i pobiera od nich wszystkie informacje o osobach noszących aktywne identyfikatory w ich pobliżu. Dzięki tym informacją oraz statycznej bazie danych dotyczącej rozmieszczenia sensorów w budynku system posiada wiedzę o miejscach aktualnego przebywania osób posiadających aktywne identyfikatory.


2.1Krótki opis osobistego identyfikatora ABS

Osobiste identyfikatory [3] jak sama nazwa wskazuje są urządzeniami identyfikującymi osoby je noszące. Każdy identyfikator składa się m.in. z nadajnika i odbiornika promieniowania podczerwonego, wskaźników informujących o stanie urządzenia oraz dwóch przycisków (patrz rys. 1).



rys. 1 Aktywny identyfikator ABS

Głównym zadaniem identyfikatora jest emitowanie sygnałów promieniowania podczerwonego zawierających informację m.in. o numerze identyfikacyjnym jego właściciela. Generalnie identyfikator generuje dwa rodzaje sygnałów: sygnały pasywne -regularnie co dziesięć sekund oraz sygnały aktywne - w momencie wciśnięcia przez użytkownika jednego z dwóch przycisków. Istnieje również możliwość przesyłania informacji z systemu do określonego identyfikatora. Może to być np. polecenie wygenerowania przez identyfikator sekwencji dźwięków informujących o jakimś zdarzeniu lub też polecenie zapalenia lub zgaszenia wbudowanych w identyfikator wskaźników LED. Wskaźniki te określają stan identyfikatora, który można w każdej chwili sprawdzić wciskając jeden z dostępnych przycisków. Ponieważ dostępne są dwa wskaźniki LED więc istnieje możliwość ustawienia identyfikatora w jeden z czterech różnych stanów. Dzięki funkcjom opisanym powyżej aktywny identyfikator może być również używany jako uproszczona wersja systemu powiadamiania (ang. pager).

2.2Krótki opis sensora ABS

Sensory [3] są urządzeniami, których głównym zadaniem jest odbiór sygnałów promieniowania podczerwonego emitowanego przez identyfikatory i dostarczenie zawartych w nich informacji do centralnego komputera zarządzającego systemem przy pomocy łącza szeregowego RS422. Na rys. 2 został przedstawiony zewnętrzny wygląd takiego sensora.



rys. 2 Sensor ABS

Składa się on m.in. z odbiornika i nadajnika sygnałów promieniowania podczerwonego, dwóch wskaźników LED oraz przycisku służącego do restartowania urządzenia. Sensory są ustawiane w różnych miejscach, a informacja o ich położeniu znajduje się w specjalnej bazie danych. Dzięki temu możliwa jest lokalizacja dowolnej osoby noszącej identyfikator ABS. Zielony wskaźnik informuje o włączeniu urządzenia oraz o aktualnie odbywającej się jego komunikacji z systemem ABS. Żółty wskaźnik natomiast informuje o odbieraniu sygnału od aktywnego identyfikatora. W przypadku nieprawidłowego działania sensora istnieje możliwość jego restartowania dzięki wbudowanemu przyciskowi RESET.

3Magistrala I2C.

Ponieważ nie istnieje obecnie jeden uniwersalny standard sterowania urządzeniami powszechnego użytku należało więc znaleźć taki sposób, który zapewniłby dostęp do sterowania jak największą liczbą urządzeń. Jednym z takich sposobów jest wykorzystanie standardu magistrali szeregowej I2C (Inter Integrated Circuit) [5]. Standard ten opracowany został w firmie Philips w celu synchronicznej komunikacji szeregowej pomiędzy urządzeniami tworzącymi pewien zestaw, modułami w ramach urządzenia, jak również układami scalonymi. Magistrala I2C składa się z dwóch linii, które umożliwiają przesyłanie danych między dowolnymi urządzeniami podłączonymi do magistrali: jednej dla sygnału danych SDA (Serial DAta) oraz drugiej dla sygnału zegarowego SCL (Serial CLock). Każde urządzenie rozpoznawane jest przez unikalny adres przesyłany przeważnie na początku transmisji. Urządzenia mogą być nadawcami lub odbiorcami, w zależności od pełniącej funkcji w systemie. Oprócz podziału na nadajniki i odbiorniki, przypisuje się jeszcze urządzeniom pewien status: master i slave. Master to urządzenie, które inicjuje i prowadzi transmisję danych generując sygnały zegarowe. Dowolne poprawnie zaadresowane urządzenie nazywane jest slave. Zgodnie ze standardem - szybkość magistrali I2C może wynosić do 400 kbit/s i można na niej zaadresować do 1024 urządzeń. Niektóre zalety magistrali I2C to:




  • Budowa układów zawierających interfejs I2C jest zgodna z nowoczesnym stylem projektowania układów elektronicznych polegającym na bezpośrednim przejściu z diagramu blokowego na schemat ideowy.

  • Dodatkowe układy korzystające z magistrali mogą być dodawane lub wyłączane bez jakiejkolwiek ingerencji w pozostały układ połączeń na magistrali.

  • transmisja magistralą I2C jest wysoce odporna na zakłócenia zewnętrzne.

Duża liczba produkowanych obecnie układów scalonych posiada sprzętowo zaimplementowaną obsługę tego standardu, jak również istnieje bogata biblioteka procedur implementujących magistralę I2C we wszelkiego rodzaju mikrokontrolerach jednoukładowych. Wiele urządzeń powszechnego użytku jest realizowana wewnętrznie właśnie w oparciu o magistralę I2C. Często jest ona również wyprowadzona na zewnątrz urządzenia.



4Przykłady rozbudowy systemu ABS o nowe aplikacje.

Jednym z celów prac prowadzonych nad systemem ABS w Katedrze Informatyki AGH jest rozbudowa i adaptacja tego systemu do zadań nie przewidzianych podczas jego projektowania. Jednym z takich zadań jest automatyczne sterowanie różnymi urządzeniami w zależności od informacji uzyskanej z systemu ABS.


4.1Aplikacja I – Sterowanie przepływem sygnału video

Jednym z ciekawszych niekonwencjonalnych zastosowań systemu ABS może być śledzenie osoby posiadającej określony identyfikator. Przykładowo obca osoba, która z jakiegoś powodu musi zostać wpuszczona na teren firmy lub instytutu otrzymuje aktywny identyfikator, który ma obowiązek nosić w czasie swojego pobytu w budynku. Wówczas możemy zlecić systemowi komputerowemu aby śledził miejsce pobytu tejże osoby i aby automatycznie doprowadzał sygnał video do naszego monitora z tej kamery, która aktualnie obejmuje swoim zasięgiem miejsce pobytu naszego gościa. Podobną procedurę można również zastosować w stosunku do różnego rodzaju przedmiotów, gdy chcemy mieć stały podgląd miejsca w którym one aktualnie się znajdują. W tym celu wystarczy do takiego urządzenia przymocować na stałe aktywny identyfikator.

Aby taki system mógł pracować, oprócz standardowej instalacji systemu ABS należy rozmieścić we wszystkich pomieszczeniach budynku kamery przemysłowe. Z powodu prototypowego charakteru systemu oraz aby obniżyć koszty jego uruchomienia do testów wybrano monochromatyczne kamery analogowe. Aby system mógł automatycznie dostarczać nam interesujące obrazy należy również stworzyć specjalne urządzenie przełączające sygnał video. Specjalnie dla tego zadania został zaprojektowany, a następnie zbudowany i uruchomiony mikroprocesorowy przełącznik sygnałów analogowych (MPSA). W obecnej postaci przełącznik MPSA posiada komplet ośmiu wejść i jednego wyjścia video oraz podobny komplet gniazd dla sygnału audio dla przypadków, w których wymagane było by również monitorowanie dźwięku w rozważanych pomieszczeniach. Poza tym urządzenie posiada dwa gniazda magistrali I2C poprzez które doprowadzane jest do urządzenia również napięcie zasilające (patrz rys. 3)



rys. 3 Wygląd zewnętrzny przełącznika video

Przewidziano dwa gniazda I2C, aby umożliwić kaskadowe łączenie wielu urządzeń z taką magistralą – co schematycznie przedstawiono na rys. 4.

.

rys. 4 Przykład kaskadowego połączenie wielu urządzeń z portem I2C

„Sercem” przełącznika jest mikroprocesorowy kontroler jednoukładowy klasy 8051 firmy ATMEL, który odbiera sygnały z magistrali I2C i na ich podstawie odpowiednio steruje kluczami analogowymi. Schemat elektroniczny tego przełącznika pokazano na rys. 5 .



rys. 5 Schemat elektroniczny przełącznika video


Sygnały wejściowe video (oraz audio jeśli wymagane) są doprowadzane do gniazd CON1 – CON8 natomiast sygnał wyjściowy jest pobierany z gniazda CON9. To który sygnał wejściowy jest aktualnie dostępny na wyjściu zależy od stanu elektronicznego bloku przełączającego sygnały zbudowanego na bazie dwóch układów scalonych U1 i U2 typu 4051. Są to multipleksery sygnałów analogowych sterowane cyfrowo. Aktualny stan bloku przełączającego zależy od specjalnych wejść cyfrowych A,B i C układów U1 i U2. Wejścia te są bezpośrednio sterowane przez sterownik AT89C2051 (U3) za pośrednictwem trzech linii 2,3 i 4 portu P1. Informacja o tym, jaki stan ma wymusić układ U3 na wejściach sterujących A,B i C układów U1 i U2 jest dostarczany do urządzenia za pomocą sygnałów przesyłanych magistralą I2C. Linie tej magistrali są doprowadzone do procesora za pomocą jego portu P3 wykorzystując wejścia P3.2 i P3.3. Aby była możliwość wzrokowej kontroli stanu urządzenia, wyposażono go w dziewięć diod LED. Diody D1-D8 sygnalizują aktualnie aktywny kanał wejściowy przełącznika i dlatego w danej chwili może się świecić tylko jedna z nich. Dioda D9 wskazuje, że do urządzenia jest doprowadzone napięcie zasilania. Aby poprawić jakość sygnału doprowadzanego do monitora – pomiędzy wyjściem przełącznika MPSA a monitorem zastosowano wzmacniacz sygnału video.

Aby system mógł sterować urządzeniami wyposażonymi w złącze magistrali I2C należało również zbudować specjalny sieciowy serwer wyposażony w mechanizmy tego standardu. Do tego celu użyto produkowanego przez firmę ADVANTECH miniaturowego komputera klasy PC/486 z wbudowaną kartą sieciową Ethernet o nazwie Biscuit PC. Na komputerze tym zainstalowano specjalnie do tego celu stworzone oprogramowanie umożliwiające przesyłanie komend magistralą I2C do sterowanych urządzeń oraz zapewniające sieciowy interfejs komunikacyjny w standardzie CORBA (Common Object Request Broker Architecture). Przykładowy schemat blokowy takiego systemu przedstawiono na rys. 6 .
rys. 6
Schemat blokowy systemu sterowania przełącznikiem video


4.2Aplikacja II – Automatyczna identyfikacja wybranego programu TV

Kolejną bardzo ciekawą aplikacją dla systemu aktywnych identyfikatorów ABS jest możliwość zbierania różnych informacji na temat jego użytkowników. Chodzi tutaj szczególnie o ich preferencje dotyczące obsługiwanych urządzeń. Dzięki aktywnym identyfikatorom system wie, która osoba jest aktualnie w pomieszczeniu i wówczas może skorelować z nią aktualne ustawienia parametrów dostępnych urządzeń. Dysponując taką bazą wiedzy - system mógłby w sposób całkowicie automatyczny dostosowywać parametry urządzeń w pomieszczeniu, do którego właśnie weszła dana osoba zgodnie z jej preferencjami. Oczywiście problem może się pojawić gdy w danym pomieszczeniu znajdzie się więcej niż jedna osoba w danej chwili. Jeśli preferencje tych osób nie będą się pokrywać wówczas system będzie musiał podjąć decyzję bądź na podstawie wcześniej stworzonej przez administratora tablicy priorytetów, bądź tak wyliczyć parametry, aby zadowolić maksymalną ilość osób lub też zastosować ustawienia standardowe, albo pozostawić wszystko bez zmian.

Aby przetestować tego rodzaju aspekt postanowiono rozbudować bazę sprzętową tak, aby m.in. umożliwić monitorowanie oglądalności programów telewizyjnych. W przyszłości należało będzie opracować metodę rozpoznawania stopnia oświetlenia pomieszczenia, temperatury i wilgotności powietrza, preferowanego programu radiowego, itp. Być może system mógłby również automatycznie dostosowywać wysokość biurka przy którym pracujemy, a nawet ustawienia krzesła na którym siadamy.

Jak wyżej wspomniano pierwszym podejściem do tego zagadnienia jest stworzenie metody monitorowania oglądalności programów telewizyjnych. Aby taka czynność była w ogóle możliwa należało wymyślić automatyczny sposób detekcji wybranego w odbiorniku TV kanału. Aby uniknąć mechanicznej ingerencji w układy wewnętrzne telewizora postanowiono wykorzystać do tego celu nadawany obecnie przez większość stacji sygnał teletextu. Niezbędne było więc stworzenie zewnętrznego dekodera teletextu. Do tego celu użyto gotowego modułu dekodera dostępnego na rynku, który po nielicznych przeróbkach idealnie nadawał się do tych zastosowań. Schemat blokowy tego modułu przedstawiono na rys. 7.



rys. 7 Schemat blokowy modułu dekodera teletextu


Jego niewątpliwą zaletą jest to, iż został on zbudowany m.in. w oparciu o układy scalone komunikujące się ze sobą poprzez magistralę I2C. Nie było więc problemu dołączenia dekodera do całego systemu poprzez wcześniej opisany serwer I2C. Schemat blokowy tego podsystemu przedstawiono na rys. 8.




rys. 8 Schemat blokowy systemu odczytu informacji z teletextu

Każdy produkowany obecnie odbiornik telewizyjny posiada wyprowadzone na zewnątrz wyjście sygnału video m.cz. (VIDO OUT). W omawianym systemie sygnał ten jest doprowadzony do zewnętrznego modułu dekodera teletextu (do jego złącza: VIDEO IN). Moduł ten zaś jest połączony z wyżej omówionym serwerem sterującym za pomocą magistrali I2C. Dzięki temu dowolna aplikacja może uzyskać dostęp do nadawanego z programem telewizyjnym serwisu teletextu. Do każdej nadawanej w nim strony dołączana jest jedna linia nagłówka, która jest bez przerwy automatycznie odbierana przez dekoder. Nagłówek ten jest wykorzystywany przez nadawców programów telewizyjnych m.in. do przesyłania nazwy emitowanego kanału. Dzięki naszemu systemowi dowolna aplikacja ma obecnie możliwość uzyskania tej informacji. Tak więc system wie jaki jest w danym momencie oglądany kanał telewizyjny; wie również jaka osoba lub osoby znajdują się w danej chwili w pobliżu telewizora (dzięki systemowi ABS). Na tej podstawie system jest w stanie, krok po kroku, budować bazę danych preferencji wszystkich osób noszących aktywne identyfikatory. Po pewnym czasie, po wejściu danej osoby do pomieszczenia z telewizorem, system będzie mógł automatycznie włączyć kanał telewizyjny preferowany przez tą osobę. W przyszłości będzie możliwe również, na podobnych zasadach, czy też automatyczne dostosowanie oświetlenia, temperatury i wilgotności powietrza do naszych upodobań; automatyczne włączenie ulubionego przez nas kanału radiowego z poziomem głośności dostosowanym do naszych preferencji itp.

5Wnioski końcowe

Przedstawiony powyżej artykuł jest opisem pewnego fragmentu prac badawczych prowadzonych przez autora, a związanych z rozbudową i adaptacją systemu ABS do celów personalizacji miejsca pracy. W pracach tych główny nacisk został położony na projekt i budowę platformy sprzętowej niezbędnej do osiągnięcia zamierzonych celów.

Dwie przedstawione powyżej aplikacje przedstawiają jedno z możliwych podejść do zagadnienia personalizacji miejsca pracy, a zostały wybrane w tym artykule ze względu na pewne wspólne cechy je łączące. Mianowicie posiadają wspólny sposób sterowania wykorzystywanymi urządzeniami na poziomie sprzętowym. W obydwu przypadkach wykorzystano bardzo popularny standard magistrali I2C. Dzięki temu standardowi, urządzenia które powstaną w przyszłości i zostaną wyposażone w interfejs I2C będą mogły być w prosty sposób dołączone do wspólnego systemu. Drugą cechą łączącą obydwie aplikacje jest wspólny interfejs programowy zrealizowany w oparciu o obiektowy standard komunikacji dla środowiska rozproszonego CORBA. Pozwala on w sposób prosty i elegancki ujednolicić technikę wymiany informacji pomiędzy rozproszonymi obiektami systemu, niezależnie od platformy sprzętowej, na której obiekty te działają.

Na koniec należało by zwrócić uwagę na pewne aspekty psychologiczne związane z tego typu systemami. Pewna grupa osób może być od samego początku nastawiona do nich negatywnie. Systemy śledzenia i monitorowania od dawna budziły kontrowersje i miały zagorzałych przeciwników. Jednak w obecnych czasach systemów tego typu jest coraz więcej, a my często sobie z tego nie zdajemy sprawy. Przykładem takiego systemu jest np. telefonia komórkowa. Każda osoba korzystająca z telefonu komórkowego może być zlokalizowana przez operatora z dokładnością do przynajmniej jednej komórki tego systemu. Coraz powszechniejszy staje się ostatnio w Polsce system zakupów bezgotówkowych, a przecież skorzystanie przy płatnościach z karty kredytowej, to poinformowanie innych gdzie aktualnie jesteśmy, co kupujemy i za ile. Mimo tych niewątpliwych minusów, należy stwierdzić, że systemy tego typu mają o wiele więcej zalet niż wad i mogą nam bardzo ułatwić życie – musimy się tylko nauczyć z nich korzystać.




6Literatura




  1. The Olivetti & Oracle Research Laboratory.: Active Badge System, Installation and User’s Guide.

  2. The Olivetti & Oracle Research Laboratory.: Active Badge System - Programmer’s Guide.

  3. Want R., Hopper A., Falcăo V., Gibbons J.: The Active Badge Location System. Technical Report 92-1.

  4. Want R., Hopper A.: Active Badges and Personal Interactive Computing Objects. Technical Report 92-2.

  5. Mielczarek W.: Szeregowe interfejsy cyfrowe

  6. Rydzewski A.: Mikrokomputery jednoukładowe rodziny MCS-51

  7. Małysiak H.: Mikrokontrolery jednoukładowe serii MCS48, MCS51, MCS96





©absta.pl 2019
wyślij wiadomość

    Strona główna