Bartłomiej Czado, Andrzej Samiec, Marcin Stanowski IV rok Koło Naukowe Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun koła Smart home managing by Ethernet micro server Zarządzanie systemem inteligentnego domu za pomocą mikro serwera Ethernet Keywords: smart home, intelligent house, Ethernet, micro server, Atmega, RTL8019, sensors, relays Słowa kluczowe: inteligentny budynek, Ethernet, mikro serwer, Atmega, RTL8019, czujniki, przekaźniki 1. Cele Zadaniami układu jest zdalne sterowanie urządzeniami domowymi lub przemysłowymi poprzez przeglądarkę internetową z dowolnej lokalizacji na świecie. Aby lepiej przedstawić ideę mikro serwera zbudowaliśmy małą makietę domku. Rysunek 1 Makieta 2. Idea oraz teoria działania Zarządzanie budynkiem odbywa się z panelu sterowania dostępnego z przeglądarki internetowej. W celu skomunikowania należy w polu adresu wpisać adres IP mikro serwera. Gdy strona zostanie załadowana mamy możliwość uruchomienia światła, dowolnego urządzenia podłączonego do gniazdka, uzbrojenia alarmu, pomiar temperatury w domu i na zewnątrz, tester otwarcia drzwi oraz okna. Układ wraz z panelem zarządzającym ma pozwalać nam na sterowanie każdego rodzaju czujnikiem jak również każdym urządzeniem znajdującym się w domu. Idea kontroli oraz zarządzania poprzez WWW rozwija się także w przemyśle,gdzie już możemy kontrolować wszelkiego rodzaju procesy stosując internet lub wzbogacając podobne układy o moduły GSM.
Ideę działania urządzenia przedstawia schemat poniżej: 3. Budowa układu Atmega32 jest mózgiem całego układu. Ona wysyła polecenia do Atmegi16, używając interfejsu RS- 232 oraz protokołu komunikacji, który opracowaliśmy. Atmega16 kontroluje wszystkie czujniki oraz wysyła informacje o alarmach i temperaturze do Atmegi32. Atmega32 jako nasz mikro serwer obsługuje protokół HTTP który będąc protokołem warstwy aplikacyjnej ma za zadanie pobranie z serwera strony WWW jak również zapewnia możliwość ingerowania w nią. Zastosowanie karty sieciowej z układem RTL8019as na magistrali ISA zapewnia nam komunikacje zaimplementowanego protokołu TCP/IP z urządzeniami zewnętrznymi. Schemat ideowy ukazany wyżej przedstawia nam sterowania jakie zrealizowaliśmy. Zastosowaliśmy w układzie Atmegi16 wyświetlacz LCD w celu pokazania temperatury panującej w budynku jak i poza nim. Temperatura przesyłana jest już jako zmienna do Atmegi32 i tam jest przechowywana jak i ukazywana w celach kontrolnych. Alarm który został stworzony na potrzeby naszej prezentacji działa w oparciu o kontaktron oraz stycznik,zaś żarówka reprezentująca oświetlenie domu jest włączona w obwód wraz z przekaźnikiem. Schemat układu Atmegi przedstawony popniżej.
Realizacja rzeczywista: Rysunek 2 Część systemu odpowiedzialna za połączenie z siecią Ethernet Rysunek 3 Układ odpowiedzialny za kontrolę wszystkich czujników i sterowanie urządzeniami
4. Działanie Tak wygląda ramka protokołu, który komunikuje dwa procesory: Start Komenda Długość ramki Dane Koniec Rysunek 4 Protokół komunikacyjny Za każdym razem, gdy jeden z mikrokontrolerów chce wysłać dane, musi je wysłać według powyższego wzoru, w przeciwnym razie polecenie nie zostanie przyjęte. Zaś komunikacja mikro serwera z układem RTL8019as opiera się o działanie ramki dla protokołu TCP/IP. Czyli wysłanie ramki sprowadza się do umieszczenia danych do wysłania w przestrzeni bufora wysyłanych danych i wpisania do rejestru CR odpowiedniej wartości inicjującej transmisję ramki. Wysyłana ramka nie musi zawierać początkowych bajtów synchronizacji, bajta sygnalizującego początek ramki, ani sumy kontrolnej na końcu, gdyż te wszystkie pola są automatycznie uzupełniane przez układ RTL8019AS. Działanie układu polega na sterowaniu układem Atmegi16 czujnikami i urządzeniami podłączonymi do układu. Mikro serwer czyli układ Atmegi32 wysyła zapytania wcześniej zdeklarowane na panelu zarządzającym którym jest strona internetowa dostosowana do obsługi urządzeń. Panel zaprojektowany przez nas posiadał 4 wyjścia/wejścia przekaźnikowe jak również 4 wyjścia/wejścia logiczne. I/O przekaźnikowe pozwalały nam na sterowanie urządzeniami zaś I/O logiczne pozwalały nam na szeroką kontrolę urządzeń bądź innych systemów zastosowanych w naszym domu. Przedstawimy teraz prostą część programu odpowiadającą za załączanie i wyłączanie oraz sprawdzanie wejść stanowych oraz wyjść przekaźnikowych. If Inputport1.7 = 0 Then // warunek stanu wejścia stanowego Msg_temp = "<td bgcolor=green><b>on</td>" //przypisanie koloru przycisku html Else Msg_temp = "<td bgcolor=red><b>off</td>"//przypisanie koloru przycisku html End If For Y = 1 To Len(msg_temp) // przypis i przesłanie pakietu danych Tempstring1 = Mid(msg_temp, Y, 1) Packet(tempword3) = Asc(tempstring1) Incr Tempword3 Next Y If Relaystatus.0 = 1 Then // warunek stanu wyjścia przekaźnikowego Msg_temp = "<td bgcolor=green><b>on</td>" //przypisanie koloru przycisku html Else Msg_temp = "<td bgcolor=red><b>off</td>" End If 5. Prezentacja Zaprezentujmy sprawdzenie działania naszego układu : Zanim uruchomimy układ musimy dokonać konfiguracji protokołu TCP/IP,a także HTML używanej przeglądarki. TCP/IP : Zaimplementowany program posiada ustawienia IP oraz MAC adresu dla RTL8019AS. IP : 192.168.1.10
MAC : 66.66.66.66.66.66 Zgodnie z wartością IP RTL8019AS ustawiamy IP naszego komputera 192.168.1.X(X= np 11). Maskę podsieci definiujemy domyślnie czyli : 255.255.255.0 Pozostaje nam protokół HTML. Ustawiamy obsługę w/w protokołu, wersja 1.0 lub 1.1, wartość domyślna 200 (OK), port 80. Po dokonaniu połączenia sprawdzamy działanie układu. Protokół TCP/IP sprawdzimy komendą ping oraz sprawdzimy zapis ARP. Zaś HTTP zostanie sprawdzone wywołaniem strony zapisanej w pamięci mikroprocesora. 6. Wnioski Realizując projekt zostaliśmy ograniczeni możliwościami sprzętowymi, jednak pozostawiliśmy możliwość rozbudowy naszych układów. W celu unowocześnienia całego projektu można dołączyć moduły GSM oraz moduły łącz satelitarnych. Głównym pytaniem nasuwającym się po zapoznaniu się z projektem jest komunikacja za pomocą RS232. W dzisiejszych układach sterowania realizowana jest komunikacja poszczególnych podzespołów za pomocą hubów RS232. Są to rozwiązania stosowane głównie w układach automatyki przemysłowej, dlatego też mając na względzie możliwości przemysłowe zdecydowaliśmy wykorzystać ten rodzaj komunikacji. Wyjścia przekaźnikowe pozwalają nam na sterowanie dosłownie każdym urządzeniem, jak również sprawdzenie ciągłości i poprawności działania. 7. Bibliografia 1. http://pl.wikipedia.org/wiki/tcp/ip 2. Datasheet RTL 8019as 3. Datasheet Atmega32 firmy ATMEL 4. Datasheet Atmega16 firmy ATMEL 5. Wykład Telemetria Internetowa Mikroserwery TCP/IP dr inż. Zbigniew Czaja Gdańsk 2006 6. http://www.obdev.at/products/vusb/index.html