Dołączył(a): 28 maja 2012 Posty: 471 Lokalizacja: ZGY/ZS
Pomógł: 30
Powitanko
Bardzo wiele osób w domu/firmie ma postawiony jakiś serwerek, który coś tam robi, to czemu by nie dołożyć do niego opcji: „Centrum dowodzenia”? Chciałem pokazać w jaki sposób można wykorzystać po części coraz bardziej lubiany tu na forum język C#. Ustrojstwem którego użyjemy będzie platforma ASP.NET ( nie mylić z akademią sztuk pięknych ;] ). Wykorzystano jako bazę na uC oczywiście zestaw ATB i projekt z lekcji o komendach AT z zielonej książki. Można już wywnioskować, że nie użyjemy modułu sieciowego ETH dla zestawu ATB, a jedynie wbudowanej przejścióweczki USB-UART, czyli do szczęścia potrzebny nam tylko kabelek USB.
ASP.NET jest to technologia tworzenia stron www wchodząca w skład platformy .NET. Kod takiej aplikacji wykonywany jest po stronie serwera, a jej wynik przekazywany do przeglądarki jako strona HTML. Bez zbędnego pitu pitu, przechodzimy do rzeczy.
Środowisko
Całość została wykonana na świeżutkim Win8 na wirtualnej maszynie VMware Player. Jeżeli ktoś również będzie chciał pracować na VMware, to zawczasu zaznaczam, że należy skonfigurować połączenie sieciowe z hostem jako Bridge. Po takim zabiegu wirtualna maszyna dostanie swoje własne IP na routerze. Musimy jeszcze zrobić przekierowanie naszego zewnętrznego IP właśnie na lokalny adres wirtualnej maszyny. Robimy to już w ustawieniach samego routera, wtedy będziemy mieli dostęp z dowolnego miejsca.
W pierwszej kolejności musimy ściągnąć i zainstalować Microsoft Visual Studio Express 2012 for Web ze stronki MS. Jest to darmowy produkt, jedynie musimy się zarejestrować aby otrzymać klucz. Proces jest całkowicie bezbolesny.
Tworzymy nowy projekt
Odpalamy, wybieramy New project -> Visual C# ->Web -> ASP.NET Empty Web Application. Nadajemy nazwę jaką chcemy i OK. Mamy pusty projekt, dodajemy naszą główną stronę. W zakładce Solution Explorer prawoklik na projekt Add ->New Item -> Web Form. Proponuję nadać nazwę pliku default.aspx ponieważ później ułatwi nam to kilka spraw.
ASP.NET udostępnia dwie metody zarządzania strukturą kodu stron. Pierwsza polega na korzystaniu z modelu code-inline. Cały kod jest umieszczony w jednym pliku .aspx. Drugi sposób korzysta z modelu code-behind, który pozwala na oddzielenie kodu odpowiedzialnego za logikę „roboczą” od kodu realizującego logikę „prezencji”. W tym modelu logika strony www przechowywana jest w pliku .aspx, podczas gdy kod roboczy mieści się w oddzielnym pliku klasowym aspx.cs. My będziemy pracować właśnie z metodą code-behind co poprawia znacznie czytelność i poruszanie się po projekcie.
Po wykonaniu powyższych kroków, mamy przed sobą właśnie plik z kodem prezencji. Jak widać jest to głównie html, więc osoby robiące już stronki szybko się odnajdą. Na dole okna mamy sposoby wyśiwtlania: Design – Split – Source W tym momencie dobrze jest dodać pliki z grafiką do naszego projektu. W zakładce Solution Explorer prawoklik na projekt Add ->New Item ->New folder. Prawoklik na nasz nowy folder Add -> Existing Item i wskazujemy pliki
Style CSS
Wygląd kontrolek i innych rzeczy można zmieniać w oknie properties, ale kod wtedy staje się mało czytelny i mamy ograniczone opcje. Na ratunek przychodzą kaskadowe arkusze stylów. Dodajemy do naszego projektu nowy styl: Visual Studio ma wbudowany edytor kompozycji, więc nie trzeba się za bardzo znać na CSS Między nawiasami klamrowymi prawoklik -> Build style Tutaj robimy wolną amerykankę, następnie we właściwościach jakiejś kontrolki wypełniamy pole CSSClass i już mamy przypisany styl. Poniżej kod pliku css użytego w projekcie:
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Dobra bierzemy się za pisanie kodu: Wybieramy z panelu Tollbox kontrolki jakie nas interesują, robimy szatę graficzną naszej strony. Opiszę tutaj jedynie istotne komponenty:
AJAX
Aby nasza strona nie przeładowywała się co chwilę użyjemy komponentu AJAX. Na początek musimy dodać ScriptManager, który podpina do strony kod JavaSripta
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
W polu Content Template umieszczamy to co ma być odświeżane. Natomiast w polu Triggers jak nazwa wskazuje będą wyzwalacze, które zainicjują przeładowanie. Poniżej cały kod pliku Default.aspx
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Ważne jest aby były one typu static, wtedy nie będą "ulotne". Bez tego z każdym załadowaniem strony zmienne tworzone by były na nowo, a co za tym idzie stracimy wartości w nich siedzące. Nie będę opisywał szczegółowo każdego bloku, zaopatrzyłem kod w komentarze.
Mechanizm komunikacji jest taki, że odpalamy timer na serwerze który cyklicznie odpytuje zestaw ATB, natomiast drugi timer "klienta", cyklicznie przepisuje wartości ze zmiennych statycznych do kontrolek wyświetlanych na stronie Web u klienta.
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Podczas testowania stronki jest ona uruchamiana na wirtualnym serwerze i nie ma do niego dostępu z innego miejsca. Klikamy:
1. Build -> publish 2. Select or import a publish profile -> new. Podajemy nazwe -> ok 3. Publish metod -> file system -> c:\NazwaFolderu -> next -> next -> publish (jeśli lokalizacja będzie inna niż dysk C, to będą problemy)
Publikacja strony na własnym serwerze
Aby opublikować stronkę na własnym serwerze to najpierw musimy... zainstalować serwer Na szczęście windowsy są uzbrojone w takie cholerstwo jak IIS, ale domyślnie jest nieaktywne. Przechodzimy do Panel Sterowania -> Programy i funkcję -> Wł/wył funkcję systemu i zaznaczamy opcję Internetowe usługi informacyjne Należy pamiętać o dodatkowym rozwinięciu Usłgi WWW -> Funkcję tworzenia aplikacji -> ASP.NET 4.5
Odpalamy wyszukiwarę programów na windowsie Win+Q i szukamy IIS. Po odpaleniu wykonujemy:
1. IIS -> Polłączenia (lewa kolumna) -> Default Web Site -> Dodaj katalog wirtualny. 2. Podajemy ścieżkę do naszej opublikowanego folderu na dysku C 3. Prawoklik na nasz folder i konwertuj na aplikację 4. Włączamy przeglądanie katalogów 5. Wyłączamy windowsowego firewalla
Od teraz wklepujć w przeglądarkę IP/ATB_ASP mamy dostęp z zewnątrz. To tyle części PC-towej.
ATB-ASP kod uC
Program na uC to praktycznie cała lekcja 21 z drobnymi modyfikacjami obsługi poleceń AT
Bardzo fajny projekt. Niestety moim zdaniem jest jeden minus. Jak na razie to chyba nie ma żadnych darmowych hostingów które są postawione na Windowsie (a jest to konieczne, żeby ASP.NET działało). Większość hostingów działa na linuxsie, więc pozostaje postawienie własnego serwera na Windowsie bądź wykupienie jakiegoś hostingu, który obsługuje ASP.NET. Generalnie całość wykonana bardzo fajnie i bardzo mi się podoba. Szczególnie ten motyw z tabletem mnie rozwalił. Gratuluję pomysłu i wykonania.
Bardzo pouczający projekt. Tak na prawdę nie trzeba zaraz mieć gdzieś hostingu żeby wymyślić sposoby na zastosowanie czegoś takiego. Przecież Windowsa prawie każdy ma, w wielu firmach gdzie jest intranet, gdzie i tak często jakiś windows pełni rolę takiego ala serwerka do różnych ceków - to jak w sam raz aby zdalnie czymś zarządzać, sterować itp
A tym bardziej fajny projekt, że znowu jak wiele innych poradników przedstawia w taki sposób krok po kroku jak osiągnąć cel i uczy czegoś. Dobra inspiracja i na takie rzeczy trzeba patrzeć.
Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości
Nie możesz rozpoczynać nowych wątków Nie możesz odpowiadać w wątkach Nie możesz edytować swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników