Założeniem projektu było umożliwienie kontrolowania działania sterownika za pomocą dowolnej przeglądarki internetowej. Aby było to możliwe, sterownik musi mieć możliwość działania jak serwer Web. Oznacza to, że po wpisaniu w pasku przeglądarki adresu IP sterownika powinien on odesłać do przeglądarki źródło strony do wyświetlenia. Strony, której wygląd użytkownik może samodzielnie zaprojektować. Ten zamiar udało się w pełni zrealizować. Użytkownik może samodzielnie zaprojektować dwa typy stron: statyczne i dynamiczne. Strony statyczne będą wyświetlane zawsze tak samo. Wygląd stron dynamicznych będzie się zmieniał w zależności od aktualnego stanu sprzętowych wejść i wyjść sterownika.
Przechowywanie stron użytkownika
Strona wyświetlana przez przeglądarkę internetową jest dokumentem tekstowym HTML. Sterownik pracujący jako serwer po wywołaniu przez przeglądarkę odsyła jej dokument HTML, który przeglądarka wyświetla jako stronę.
Źródła stron które może wyświetlić serwer, zapisane są w wydzielonym obszarze pamięci Flash mikrokontrolera. Użyty w projekcie STM32F107VCT ma pamięć Flash mieszczącą 256 kB. Na strony użytkownika jest przeznaczony obszar od adresu 0x20000 do 0x3FFFF. Daje to 131071 bajtów na strony użytkownika łącznie z dodatkowymi plikami (grafika, tekst itp.). Innym ograniczeniem jest łączna liczba plików związanych z wyświetlanymi stronami. Dotyczy to wszystkich plików zapisanych w pamięci Flash: kodu HTML, plików graficznych zawierających np. ikony oraz innych. Pozycja wraz z nazwą każdego pliku jest zapisana w pamięci EEPROM sterownika. W wypadku, gdyby na wyświetlaną stronę składało się wiele setek elementów, pamięć EEPROM nie pomieści wszystkich ich adresów i wyświetlanie strony będzie niepoprawne. Orientacyjnie można przyjąć, że pamięć sterownika-serwera jest przystosowana do przechowywania i wyświetlenia kilku-kilkunastu podstron z grafiką o małej objętości.
Strona index
Wśród utworzonych przez użytkownika stron musi być jedna o nazwie index.html lub index.shtml (o tym drugim rozszerzeniu trochę dalej przy omawianiu stron dynamicznych). Strona index.html jest stroną startową (albo domową) i jest wysyłana jako pierwsza po wpisaniu w pasku przeglądarki adresu IP sterownika. Strona index.html powinna posiadać linki do innych podstron wyświetlanych przez sterownik-serwer.
Tworzenie statycznych stron użytkownika
Do utworzenia i zapisania własnych stron użytkownika będą potrzebne:
- Sterownik przyłączony do lokalnej sieci Ethernet.
- Komputer z przeglądarką internetową.
- Program narzędziowy SerwUs.
- Edytor HTML.
Do tworzenia strony teoretycznie wystarczy jakikolwiek edytor tekstowy, jednak użycie wyspecjalizowanego edytora HTML ułatwia pracę. Ja używam edytora Bluefish, który jest zupełnie wystarczający do tworzenia stron w czystym języku HTML.
Przeglądarka pozwoli na wyświetlenie i ocenę tworzonej strony. Można także wykorzystać jej opcję podglądu źródeł (dokumentu tekstowego HTML) dowolnych stron. Jest to przydatne dla tych, którzy do tej pory nie mieli kontaktu z kodem HTML.