Bartłomiej Czado, Andrzej Samiec, Marcin Stanowski

Transkrypt

Bartłomiej Czado, Andrzej Samiec, Marcin Stanowski
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.
3. Budowa układu
Ideę działania urządzenia przedstawia schemat poniżej:
Atmega32 jest „mózgiem” całego układu. Ona wysyła polecenia do Atmegi16, używając interfejsu RS232 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.
2.
3.
4.
5.
6.
http://pl.wikipedia.org/wiki/TCP/IP
Datasheet RTL 8019as
Datasheet Atmega32 firmy ATMEL
Datasheet Atmega16 firmy ATMEL
Wykład “Telemetria Internetowa – Mikroserwery TCP/IP” dr inż. Zbigniew Czaja – Gdańsk 2006
http://www.obdev.at/products/vusb/index.html