Witam na mojej stronie

Nazywam się Tomasz Rymiorz

Mój najnowszy projekt to system automatycznego domu nazwany iDom.
I to głównie na nim będę się koncentrować w dalszej części strony.

iDom
iDom

iDom to system automatycznego domu wykorzystujący sieć Wi-Fi oparty na platformie Arduino.

Stworzony z myślą o łatwej obsłudze, ze zautomatyzowaną konfiguracją wstępną oraz sterowaniem dostępnym w zasięgu jednego palca, bez natłoku funkcji i mnóstwem ekranów do przełączania.

iDom do działania nie wymaga zakładania konta czy podawania swoich danych. System działa w trybie offline i nie wymaga dostępu do Internetu. Urządzenia uzyskują dostęp do routera przez wykorzystanie funkcji WPS, a aplikacja automatycznie odnajduje urządzenia w lokalnej sieci Wi-Fi.

Urządzenia iDom można wykonać samemu i korzystać z darmowego oprogramowania.
Każde urządzenie posiada możliwość tworzenia cyklicznych zautomatyzowanych ustawień, w których określić możemy w zależności od urządzenia: godzinę, porę dnia (dzień/noc), temperaturę lub dzień tygodnia.


  • iDom to:
    •  - intuicyjna obsługa
    •  - przejrzysty interfejs
    •  - prosta konfiguracja

Aplikacja  |  Roleta  |  Termnostat  |  Napęd łańcuchowy  |  Włącznik



Aplikacja iDom

Aplikacja iDom pozwala sterować oświetleniem, roletami, termostatem oraz napędem łańcuchowym do okien.

Użytkownik otrzymuje łatwy dostęp do swoich urządzeń, a możliwość zmiany kolorów belki tytułowej (zdjęcie 1) pozwala na szybkie identyfikowanie pomieszczeń. Sterować możemy bezpośrednio z belki tytułowej za pośrednictwem ikon lub rozwinąć listę do widoku szczegółowego (zdjęcie 2), gdzie dodatkowo ustawimy funkcje automatyczne (zdjęcie 6) lub podejrzymy parametry pracy urządzenia (zdjęcie 5).

Z poziomu aplikacji utworzyć możemy cykliczne zautomatyzowane ustawienia, w których określimy godzinę lub zakres godzin, porę dnia (dzień/noc), temperaturę lub dzień tygodnia (zdjęcie 7). Aplikacja oferuje także możliwość przełączania stanów pracy wszystkich urządzeń jednocześnie (zdjęcie 8).

Urządzenia są automatycznie wyszukiwane i identyfikowane w lokalnej sieci Wi-Fi, użytkownik musi jedynie przypisać je do pomieszczenia (zdjęcie 4). Połączenie z urządzeniami połączonymi do tej samej sieci Wi-Fi odbywa się automatycznie.

Google Play

Zdjęcie 1 Zdjęcie 2 Zdjęcie 3 Zdjęcie 4 Zdjęcie 5 Zdjęcie 6 Zdjęcie 7 Zdjęcie 8

↑ do góry  |  Roleta  |  Termnostat  |  Napęd łańcuchowy  |  Włącznik

Polityka prywatności



Polityka prywatności aplikacji mobilnej iDom


    •  1. Niniejszy dokument opisuje politykę prywatności aplikacji mobilnej iDom (dalej „Polityka Prywatności").

    •  2. Aplikacja iDom (dalej "Aplikacja”), jest instalowana na urządzeniach mobilnych, w szczególności na telefonach komórkowych oraz tabletach i po uprzednim pobraniu Aplikacji przez użytkownika za pośrednictwem sklepu Play (Android).

    •  3. Korzystanie z Aplikacji wymaga posiadania urządzenia mobilnego z systemem Android oraz połączenia z Internetem w postaci włączonego pakietu transmisji danych lub włączonego połączenia Wi-Fi.

    •  4. Korzystanie z Aplikacji nie wymaga podania jakichkolwiek danych osobowych. Aplikacja nie przechowuje żadnych danych osobowych, które mogłyby umożliwić osobie trzeciej identyfikację konkretnego użytkownika Aplikacji.

    •  5. W przypadku braku akceptacji na zasady Polityki Prywatności prosimy nie instalować Aplikacji lub ją odinstalować. Trwałe usunięcie Aplikacji z urządzenia mobilnego jest równoznaczne z zakończeniem korzystania z Aplikacji.

    •  6. Polityka Prywatności ma jedynie charakter uzupełniający w stosunku do polityki prywatności Google Play Store. Tomasz Rymiorz nie ponosi jakiejkolwiek odpowiedzialności za politykę prywatności realizowaną przez podmiot zarządzający aplikacją Google Play Store oraz przestrzeganie przez nie przepisów Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (Dz. Urz. UE L 119 z 2016 r., str. 1-88), ustawy z dnia z dnia 10 maja 2018 r. o ochronie danych osobowych (t.j. Dz.U.2018.1000) oraz ustawy z dnia 18 lipca 2002 r. o świadczeniu usług drogą elektroniczną (t.j. Dz.U.2017.1219) w ramach Google Play Store.

↑ do góry  |  Aplikacja



Roleta iDom

Niewielkich rozmiarów, dostosowana do mini rolet, w których zastępuje mechanizm łańcuszkowy. Na oknie praktycznie niezauważalna, a dzięki przestawnemu haczykowi można ją umieścić nawet na samej krawędzi okna.

Urządzenie obsługuje do trzech rolet w przypadku sąsiadujących ze sobą okien, jak również pracę w tandemie, co pozwala na podnoszenie cięższych rolet. Posiada mechanizm samohamujący utrzymujący roletę na wybranej wysokości, a dzięki funkcji pomiaru wysokości okna nie są wymagane czujniki krańcowe.
Możliwe jest zaprogramowanie trybów automatycznych z uwzględnieniem wybranego dnia tygodnia, opuszczanie i podnoszenie rolet o wybranej godzinie, o zadanej porze dnia, czy też w zależności od zachmurzenia.


  • Po co takie urządzenie?
    •  - jako element budzika; wybudzanie światłem przez zaprogramowane podniesienie rolet
    •  - aby po nocy zaraz po przebudzeniu mieć podniesione wszystkie rolety
    •  - aby po powrocie wieczorem lub w nocy do domu mieć już zasłonięte okna
    •  - aby z chwilą kiedy robi się ciemno rolety same się opuściły

Roleta posiada własny czujnik oświetlenia oraz możliwość pobierania informacji o wschodzie/zachodzie słońca z Internetu.

Mechanizm rolety został zbudowany w oparciu o WIFI D1 mini wraz z modułem RTC DS1307. Uzupełnieniem jest bipolarny silnik krokowy ze sterownikiem A4988 oraz fotorezystor pełniący rolę czujnika światła. Obudowa w całości została wykonana na drukarce 3D.

Zdjęcie 1 Zdjęcie 2 Zdjęcie 3 Zdjęcie 4
Film 1 Film 2

↑ do góry  |  Oprogramowanie rolety  |  Instrukcja montażu na oknie



Kod rolety

 <  main.cpp  |  main.h  |  core.h  | 

↑ powrót



Termostat iDom

Niebanalny kształt, mieniąca się czerń frontu, delikatne niebieskie podświetlenie wyświetlacza i głęboka biel po bokach oraz rozmiar zbliżony do włącznika światła.

Termostat posiada możliwość pracy wprost z zadanej temperatury lub dogrzanie pomieszczenia poprzez ustawienie czasu grzania. Programowanie odbywa się przez aplikację, jednak sterować można również przyciskami z poziomu urządzenia.


  • Termostat iDom to również:
    •  - ustawienie żądanej temperatury na każdy dzień tygodnia
    •  - opcja wakacji wyłączająca automatyczne grzanie, aż do wskazanego dnia
    •  - opcja wstrzymania automatycznych ustawień przez określony czas lub do końca dnia
    •  - ustawienie minimalnej temperatury (przeciwzamrożeniowa)
    •  - kalibracja pomiaru temperatury

Urządzenie przeznaczone do regulacji temperatury w układach centralnego ogrzewania.
Posiada otwory zapewniające cyrkulację powietrza w miejscu czujnika temperatury, a sam pomiar temperatury odbywa się z dokładnością do 0.1°C. Termostat dostosowany jest do montażu w puszkach o średnicy 60mm. Zasilany jest napięciem 230V i pozwala sterować urządzeniem elektrycznym sterowanym sygnałem włącz/wyłącz.

Termostat został zbudowany na bazie modułu WIFI D1 mini wraz z RTC DS1307 oraz czujnikiem temperatury DS18B20. Uzupełnieniem jest wyświetlacz OLED 128x64 SSD1306 oraz 1 kanałowy przekaźnik SSR.

Zdjęcie 1
Zdjęcie 2
Zdjęcie 3
Zdjęcie 4

↑ do góry  |  Oprogramowanie termostatu



Kod termostatu

 <  main.cpp  |  main.h  |  core.h  | 

↑ powrót



Napęd łańcuchowy do okien

Window Chain Actuator

Automatyczne uchylanie okna teraz jest możliwe dzięki napędowi łańcuchowemu do okien.
Mechanizm posiada 3 ustawienia otwarcia: zamknięte, otwarte i lekko uchylone. Dla każdego z nich możemy zaprogramować dzień i godzinę, jak również możemy ustawić procent dla uchylonego okna.
Urządzenie łączy się z domową siecią Wi-Fi, natomiast sterowanie odbywa się przez aplikację.


  • Do czego w ogóle takie urządzenie?
    •  - aby zdalnie otworzyć okno i wywietrzyć mieszkanie przed naszym powrotem
    •  - aby zamknąć okno kiedy zbliża się burza, a nas nie ma w domu
    •  - aby okno samo zamknęło się po nocy, żeby w lato nie wpuszczać gorącego powietrza
    •  - aby automatycznie wpuścić do mieszkania świeże powietrze jeszcze przed wybudzeniem
    •  - aby nie musieć pamiętać o oknie lub nie wracać się by je zamknąć

Urządzenie zostało zbudowane na bazie modułu WIFI D1 mini wraz z RTC DS1307. Uzupełnieniem jest bipolarny silnik krokowy ze sterownikiem A4988. Plastikowe elementy obudowy wraz z łańcuchem w całości zostały wykonane na drukarce 3D.
Oryginalny projekt Window Chain Actuator jest w całości do pobrania ze strony  thingiverse.com/thing:3577666
Moje modyfikacje urządzenia:  thingiverse.com/thing:4580200

Zdjęcie 1
Zdjęcie 2

↑ do góry  |  Oprogramowanie napędu



Kod napędu łańcuchowego

 <  main.cpp  |  main.h  |  core.h  | 

↑ powrót



Włącznik

Włącznik to jedyne urządzenie w moim systemie automatycznego domu, którego nie wytworzyłem. Wykorzystałem gotowe rozwiązanie firmy Tuya, które zostało przeze mnie zmodyfikowane i otrzymało oprogramowanie systemu iDom.

Włącznik posiada wszystkie cechy urządzeń iDom; łatwa konfiguracja, prosta obsługa oraz funkcji automatyzacji.

Włącznik jest bardzo cienki, posiada szklany front i dotykowe panele. Łączność odbywa się przez Wi-Fi, a do zasilania nie jest wymagany dodatkowy przewód neutralny.

Wraz z nowym oprogramowaniem włącznik zyskał niezależność i uwolnił się od wad oryginalnego oprogramowania, do których zaliczyć należy uzależnienie sterowania komórką od zagranicznego serwera i dostępu do Internetu czy konieczność rejestracji, by urządzenie o ogóle odnaleźć we własnej sieci oraz wymóg regularnego logowania, by nie zostać wyrzuconym z systemu.

Oprogramowanie iDom działa offline, nie wymaga Internetu, nie wymaga zakładania konta. Oprogramowanie iDom nie wymaga konta by odnaleźć urządzenie w sieci i nim sterować. Oprogramowanie iDom oswobadza włącznik od pierwotnych ograniczeń.

Zdjęcie 1
Zdjęcie 2

↑ do góry  |  Oprogramowanie włącznika



Kod włącznika

 <  main.cpp  |  main.h  |  core.h  | 

↑ powrót



Robosapien Wi-Fi

Technologia bezustannie gna do przodu i to, co było nowinką techniczną wczoraj, dziś może być już bezużytecznym starociem, który nikogo nie jest w stanie zainteresować. Nie inaczej jest z interaktywnymi zabawkami, które nie nadążają za obecną technologią. Robosapien firmy WowWee oryginalnie był sterowany pilotem na podczerwień. W ramach pracy dyplomowej rozbudowałem robota o układ zgodny z Arduino bazujący na mikrokontrolerze ESP8266 oraz napisałem aplikacje dla systemów Android oraz iOS sterującą robotem poprzez sieć Wi-Fi.

Robosapien


Modyfikacja robota

Modyfikacja polegała na dodaniu do niego układu WeMos D1 mini, którego kompaktowe wymiary (zdjęcie 1) pozwalają na schowanie go wewnątrz obudowy robota. Oryginalne sterowanie działało w oparciu o podczerwień, więc najprostszym sposobem na modyfikację, było wpięcie się do przewodu prowadzącego z odbiornika podczerwieni do układu logiki robota (zdjęcie 2, biały przewód) i symulowanie wysyłanych za pomocą pilota sygnałów. Inspiracją do modyfikacji robota było rozwiązanie RoboSapienIR. To stąd zaczerpnąłem najważniejszą funkcję odpowiedzialną za symulowanie sygnałów przesyłanych przez pilota. Jako, że wzorowałem się na tym rozwiązaniu, mój kod może być w wielu miejscach do niego podobny.

W Arduino wykorzystałem dwa piny, GPIO5 jako wejście sygnału z odbiornika podczerwieni i GPIO4 jako wyjście sygnału do układu robota. Arduino dzięki prostej funkcji przesyła właściwy kod do robota jakby pochodził on z pilota. Samo Arduino tuż po uruchomieniu łączy się z jedną z zaprogramowanych sieci Wi-Fi. Po połączeniu Arduino korzystając ze stworzonej dla robota usługi sieciowej wysyła do bazy swój adres IP, który został mu przydzielony oraz SSID sieci, z którą się połączył. Usługa sieciowa napisana w PHP działa w oparciu o wzorzec REST i zapisuje otrzymane dane do bazy MySQL, dzięki czemu aplikacja sterująca na smartfona wie gdzie wysyłać komendy. W następnym kroku Arduino same tworzy prostą usługę sieciową i od tego momentu oczekuje na komendy przesyłane mu za pomocą protokołu REST.

Układ logiki w Robosapien działa z napięciem 3,3V, które nie jest w stanie zasilić jednocześnie Arduino i mechanizmów robota, nic w tym momencie nie działało prawidłowo. Układ Arduino zasiliłem więc dwiema bateriami typu LR03. Nie chcąc robić otworów na dodatkowy włącznik dla Arduino wykorzystałem moduł wykonawczy z tranzystorem MOSFET IRF520 (zdjęcie 45). Zasilanie i sygnał sterujący modułem pobrałem z włącznika (zdjęcie 3), masę wziąłem z przewodu wychodzącego ze złącza w górnej części układu robota (zdjęcie 2, czarny przewód). Od teraz włączając robota, ten zasila moduł MOSFET, który z kolei steruje zasilaniem Arduino. Układ D1 mini umieściłem obok szyi robota (zdjęcie 6), a pod przednim pancerzem jest wystarczająco przestrzeni, aby zmieścić jednocześnie moduł MOSFET oraz dwie baterie zasilające.

Zdjęcie 1 Zdjęcie 2 Zdjęcie 3 Zdjęcie 4 Zdjęcie 5 Zdjęcie 6 Zdjęcie 7


Kod Arduino




Sterowanie robotem

Aby sterować zmodyfikowanym Robosapien wystarczy znać jego adres IP, który został przyznany robotowi przez router oraz być połączonym do tej samej sieci Wi-Fi. Do samego sterowania nie jest wymagana jakakolwiek aplikacja, same polecenia do robota są przesyłane za pomocą wzorca REST. Znając jego adres i składnię komend przy pomocy dowolnej strony lub aplikacji oferującej tworzenie zapytań REST możemy wysłać polecenia do robota. Linia komend została podzielona na cztery fragmenty: body, left, right i program, a każdy z nich odpowiada innemu rodzajowi czynności i obsługuje sobie właściwe komendy.

I tak „body” odnosi się do ciała, mamy tam: walkforward, walkbackward, turnleft, turnright oraz stop.

Części „left” i „right” to ramiona robota obsługujące komendy: armup, armdown, armout, armin, handthump, handthrow, handpickup, handsweep, handstrike1, handstrike2 oraz handstrike3.

Natomiast „program” odnosi się do poleceń ogólnych: poweroff, sleep, wakeup, burp, high5, bulldozer, oops, whistle, talkback, roar, alldemo, karateskits, rudeskits i dance.

Przykłady użycia:
POST http://192.168.1.101/body/walkforward
POST http://192.168.1.101/left/armup



Aplikacja sterująca

Aplikacja posiada dość prosty obrazkowy interfejs (zdjęcie 1), a także menu (zdjęcie 2), w którym możemy podejrzeć lokalizację robota i w razie konieczności ją odświeżyć, jak również w przypadku chęci korzystania ze słuchawki Bluetooth jest opcja wybrania domyślnej słuchawki, która w chwili połączenia z telefonem będzie aktywować sterowanie głosowe robotem. Z poziomu aplikacji jest również możliwość szybkiego uruchomienia sieci Wi-Fi oraz Bluetooth. Ruchem robota sterujemy przy pomocy joysticka, a komendy wybieramy z rozwijanej listy.

Na potrzeby aplikacji wykorzystałem rozwiązanie ContinuesVoiceRecognition, wykorzystujące system rozpoznawania mowy dostępny w systemie Android. Aplikacja nasłuchuje otoczenia i zwraca wynik rozpoznania automatycznie. I jeśli tylko wydana została komenda, jest ona od razu przesyłana do robota. Aby rozpoznawanie mowy działało prawidłowo wykorzystałem technologię bezprzewodową Bluetooth. Aplikacja włącza rozpoznawanie mowy po wykryciu połączenia ze słuchawką Bluetooth, użytkownik musi jedynie wcześniej wybrać swoją słuchawkę. Sam system sterowania głosem nie wymaga stosowania konkretnie sformułowanych komend. Został stworzony, aby wyszukiwać komendy w rozpoznanym tekście. Przykładowo, tekst „robot, idź do przodu” zostanie rozpoznany tak samo jak „do przodu”, a tekst „robot, unieś lewą rękę w górę” jest równoznaczne z komendą „lewa w górę”. Zależało mi, aby ton wypowiadanych komend był jak najbardziej naturalny.

Aplikacja posiada również system dodawania nowych komend oraz edycji już istniejących. Same polecenia przechowywane są w bazie SQLite, a edycja odbywa się za pomocą wydawanych poleceń głosowych.

Zdjęcie 1 Zdjęcie 2


Robosapien Wi-Fi w praktyce

Test ostatecznej wersji robota. Prezentacja całości z wbudowanym układem WeMos D1 mini, modułem MOSFET IRF520 oraz zasilaniem 2xLR03.

Film 1

Pierwszy test oprogramowania Arduino. Robot połączony z układem ArduCAM zasilany baterią 9V.

Film 2

Filmy nagrywane aplikacją Apowersoft Screen Recorder.



O mnie i tej stronie

Nazywam się Tomasz Rymiorz.
Ukończyłem studia inżynierskie na kierunku Informatyka w Wyższej Szkole Biznesu w Dąbrowie Górniczej.
Specjalizuję się w Aplikacjach mobilnych oraz Internecie rzeczy.
Przygodę z programowaniem zacząłem w Borland Delphi, które do teraz uważam za jedno z lepszych środowisk programistycznych. Hobbystycznie również tworzyłem strony internetowe ze szczególnym upodobaniem technologii Adobe Flash. Obecnie programuję i rozwijam się w środowiskach Android Studio oraz Arduino. Aplikacje mobilne i Internet Rzeczy to bodajże najbardziej rozwijające się obecnie technologie, dające sporo możliwości i jeszcze więcej satysfakcji. Jakkolwiek w dalszym ciągu lubię tworzyć strony, czego ta tutaj jest doskonałym przykładem.

Obecnie pracuję na Android Studio oraz PlatformioIO.
Korzystałem również z Arduino IDE, Delphi, Visual Studio i XCode.
Programowałem w językach Java, C/C++, Object Pascal, HTML, PHP, ActionScript, Objective-C.

Strona zbudowana na fullPage.js;
Galerie oparto na fancyBox;
Kontakt ze mną poprzez e-mail;



Aplikacje desktopowe

TotalCommander Portable >> Pobierz
Program uruchomieniowy dla TotalCommandera. Żadna ze znalezionych przeze mnie wersji portable nie chciała działać bez ingerowania w pliki ustawień właściciela komputera. Moja wersja zmusza TotalCommandera do korzystania z ustawień przyniesionych wraz z programem.
Stworzone dla TotalCommandera w wersji 7. Używam tego do dnia dzisiejszego.


OX >> Pobierz
Moja pierwsza aplikacja, gra kółko-krzyżyk.


spis7 >> Pobierz
To zwieńczenie moich prac nad programem katalogującym, wersja piąta, na chwilę obecną ostateczna. Jest szybki, prosty, intuicyjny i dobrze wygląda. Można w nim katalogować m.in. filmy, gry, książki. Potrafi dużo i robi to elegancko. Dopracowany w najdrobniejszych szczegółach, pozwala w przejrzysty sposób zebrać informacje o zbiorach multimedialnych w jednym miejscu.
- Program daje możliwość zabezpieczenia zakładek hasłem.
- Opcja pożyczek wraz z przypominaniem.
- Opisy są przejrzyste i dynamicznie generowane w kodzie HTML.
- Proste, a zarazem zaawansowane szukanie i filtrowanie pozycji.
- Przenoszenie pozycji między zakładkami.
- Możliwość przeciągania tekstów i obrazków z przeglądarki.
- Automatyczne odczytywanie informacji z plików wideo.
Program od Windows 8 przestał się uruchamiać. Nie mam wszystkich plików źródłowych, by usunąć problem i skompilować program na nowo.

Zdjęcie 1 Zdjęcie 2 Zdjęcie 3 Zdjęcie 4 Zdjęcie 5

Starsze wersje programu katalogującego

Spis 2 >> Pobierz
Druga wersja mojego programu do katalogowania i pierwsza udostępniona publicznie. Pozbawiona jakichkolwiek zaawansowanych opcji, pozwala jedynie na proste katalogowanie. Możliwość przypisania do czterech opisów do pozycji.

Zdjęcie 1 Zdjęcie 2

spis3 >> Pobierz
Trzecie wydanie, tym razem z opcjami zmiany ustawień i obsługą skórek. Bardziej zaawansowany od poprzednika, pozwala na szczegółowe opisy pozycji, które prezentuje w przejrzysty sposób, po raz pierwszy generowany w HTML. Ten program wytyczył kierunek, w którym podążałem z każdą następną wersją.

Zdjęcie 1 Zdjęcie 2

spis 2008 >> Pobierz
Kontynuacja koncepcji z programu spis3 oraz wyeliminowanie jego błędów. Największe zmiany to rezygnacja ze skórek i dostosowanie programu wizualnie do systemu. Sam program nabrał prędkości w działaniu jednocześnie zwiększając swoje możliwości, m.in. poprzez dodanie obrazków do pozycji.
Program od Windows 8 przestał się uruchamiać.

Zdjęcie 1 Zdjęcie 2


Projekty stron www

Zdjęcie 1

Rok 2005. Multimedialna Strefa. Cały projekt strony oparty został na tabelach. Na potrzeby tego serwisu stworzyłem program, który generował odświeżony kod HTML po każdorazowym dodaniu nowego pliku. Podgląd kodu

Ewolucja strony domowej

Zdjęcie 1 Zdjęcie 2 Zdjęcie 3 Zdjęcie 4 Zdjęcie 5 2015r.
Zdjęcie 1 Zdjęcie 2 Zdjęcie 3 Zdjęcie 4 2007r.
Zdjęcie 1 Zdjęcie 2 Zdjęcie 3 Zdjęcie 4 2003r.
Zdjęcie 1 Zdjęcie 2 Zdjęcie 3 Zdjęcie 4 Zdjęcie 5 2003r.

Mapy do gier

Unreal Tournament >> Pobierz
Jest to przeróbka mapy Deck16. Usunąłem część świateł i dodałem latarki.
Gra się całkiem przyjemnie, mapa w znacznym stopniu zmienia klimat rozgrywki.

Heroes of Might & Magic III >> Pobierz
Mapa "Oblicze świata", wymaga dodatku "The Shadow of Death".

StarCraft >> Pobierz
Zbiór czternastu moich najlepszych map.