Reklama: Chcesz umieścić tutaj reklamę? Zapraszamy do kontaktu »
Faulhaber robotic
Powrót do listy artykułów Aktualizowany: 2012-07-02
Szczegóły budowy wizualizacji WWW

Platforma iMod znajduje szerokie zastosowanie w systemach rozproszonych zarówno jako moduł telemetryczny jak i urządzenie komunikująco - sterujące. Urządzenie iMod posiada wbudowaną obsługę protokołów komunikacyjnych takich jak Modbus, Mbus lub TCP/IP.

Wykorzystując te protokoły moduł ma możliwość zbierania i przetwarzania informacji z różnego rodzaju czujników oraz mierników. Dane te mogą być udostępniane i sterowane na różne sposoby, jednym z najbardziej uniwersalnych sposobów jest dostęp do danych z dowolnego miejsca z poziomu przeglądarki WWW.

 Moduł telemetryczny iMod w celu udostępniania danych wykorzystuje wbudowany serwer www – Apache - z obsługą PHP i baz danych (SQLite oraz PSQL). Uniwersalność tej metody dostępu do danych wynika z faktu iż zbudowany przez użytkownika interfejs WWW działa pod każdą przeglądarką i umożliwia ciągły podgląd informacji rejestrowanych przez urządzenie iMod. Aby zbudować prosty interfejs WWW wystarczy znać podstawy języka HTML, PHP oraz obsługi baz danych.

 

1. Konfiguracja iMod`a

Aby odczytywać dane za pomocą przeglądarki internetowej należy w pierwszej kolejności odpowiednio skonfigurować iMod`a. W tym celu zostanie wykorzystany plik example1-hardware_access.xml znajdujący się w katalogu /mnt/mtd/iMod/config/example. Konfiguracja ta jest również domyślną konfiguracją znajdującą się na iModzie i zapewnia dostęp do zasobów sprzętowych urządzenia:

  • User Led
  • Wejście Cyfrowe DI1

Rejestracja do bazy danych w iMod'ziejest domyślnie włączona dla SQLite. Istnieje jednak również możliwość wysyłania wartości wprost z iMod engine do lokalnej bądź zewnętrznej bazy PostgreSQL.

 

2. Baza danych

Drugim krokiem jest stworzenie przykładowego pliku php który będzie sczytywał wcześniej zadeklarowane parametry i sterował nimi.

Wszystkie parametry zdefiniowane w pliku konfiguracyjny rejestrowane są do bazy danych SQLite znajdującej się w katalogu:

/mnt/ramdisk/modbus.db

Domyślna baza danych zawiera kolumny odpowiadające elementom jakie użytkownik jest w stanie zdefiniować w konfiguracji iMod`a:

 Aby odczytać wartość wybranego parametru, należy odwołać się do zmiennej Value.

 

3. Konfiguracja PHP

Zdefiniowanie bazy danych

W pierwszej kolejności należy zdefiniować ścieżkę dostępu do bazy danych co wiąże się z podaniem jej lokalizacji. Baza danych SQLite na urządzeniu iMod wykorzystuje uniwersalny interfejs połączenia z baza danych PDO, dlatego w definicji bazy danych znajduje się odwołanie do tego interfejsu. Bazie danych modbus.db przypisujemy zmienną $db.

 Odczytanie wartości z bazy danych

Kolejnym krokiem jest odwołanie się do bazy danych i odczytanie z niej odpowiednich wartości dla wybranych parametrów – w tym przypadku dla parametrów których Description w pliku MainConfig.xml został zdefiniowany jako USER_LED oraz DI1.

 Zmienna SQLiteFlag pozwala na zapis wybranych wartości bezpośrednio na urządzeniu NPE/iMod. Więcej na jej temat w dalszej części artykułu.

Następnie należy wyświetlić interesujące użytkownika parametry. W tym celu należy stworzyć tabelę, wraz z fragmentem formularza dzięki któremu użytkownik będzie w stanie dokonać zmiany wartości wybranego parametru. Dla przykładu z artykułu, zostanie stworzona tabela 4x3:

 Zapisanie wartości do bazy danych

 

 Wartość atrybutu action z formularza z punktu 3.2. zdefiniowana jest jako adres test.php?a=update. Zostaje tutaj wprowadzona zmienna $a. W momencie wciśnięcia przycisku update przy wybranym parametrze, zmienna $a przyjmuje wartość update. Zapis wartości parametru odbywa się przy wykorzystaniu funkcji logicznej – w momencie kiedy zmienna $a przyjmuje wartość update. W takim wypadku zostaje z formularza sczytane id oraz wartość wybranego parametru, oraz zostaje ona zapisana do bazy danych.

Ważnym elementem jest przypisanie zmiennej SQLiteFlag wartości '1'. Ustawienie SQLiteFlag na '1' sprawia iż iMod engine pobierze wartość z tabeli i zapisze ją do parametru. Następnie, wyzeruje ponownie flagę zmiany. Takie rozwiązanie zwiększa wydajne monitorowanie wprowadzonych zmian przez WWW. Na sam koniec strona zostaje przeładowana w celu wczytania aktualnych wartości z bazy danych.

Zakończenie pracy z bazą danych

Ważnym elementem jest rozłączenie się z bazą danych. W tym celu wykorzystywana jest funkcja:

 Na sam koniec znajduje się funkcja wyświetlająca komunikaty o błędach. Przy prawidłowej pracy urządzenia, funkcja ta nie jest wywoływana w żaden sposób.

 W celach testowych istnieje możliwość wgrywania plików PHP do katalogu mnt/ramdisk/htdocs, jednak jest to część pamięci ulotnej, co powoduje że po restarcie iMod`a wszelkie zapisane pliki znikną. Dlatego wskazane jest umieszczenie przetestowanych plików w katalogu /mnt/nand-user/htdocs_src . Dzięki temu wszelkie zmiany zostaną zapisane na stałe, i widoczne będą po restarcie urządzenia.

Pliki z konfiguracją uzyte w artykule są do pobrania na końcu artykułu pod linkiem: http://www.a2s.pl/szczegoly-budowy-wizualizacji-www-a-2312.html

Zobacz urządzenia z serii iMod:http://www.a2s.pl/platforma-seria-imod-nowosc-c-834_1933_107_1984.html

Dodał:
TECHBASE

Czytaj także