Serwer FTP

Dostęp do serwera FTP

WebHMI posiada wbudowany serwer FTP, który pozwala na uzyskanie dostępu do wszystkich plików na karcie SD urządzenia. Domyślnie serwer FTP jest włączony, natomiast istnieje możliwość wyłączenia tego serwera. Opcja wyłączenia serwera FTP znajduje się na stronie Ustawienia → Ustawienia → Usługi. Odznaczenie checkboxa przy opcji Serwer FTP wyłączy dostęp do plików. Możliwość wyłączenia serwera jest dostępna od wersji 3.3.

Do połączenia się z serwerem FTP zaleca się użycie dowolnego klienta FTP (np. Filezilla lub WinSCP). Dostęp z poziomu wiersza poleceń systemu Windows nie jest możliwy. Dane dostępu do serwera FTP są następujące:

  • Serwer: adres IP WebHMI (domyślnie 192.168.1.1)
  • Protokół/Port: FTP/21
  • Login: admin
  • Hasło: hasło do ustawień sieciowych (domyślnie webhmi)

Pliki na serwerze FTP WebHMI

Pliki na karcie SD WebHMI są podzielone na kilka folderów:

  • backups – tutaj znajdują się wszystkie kopie zapasowe projektów zapisane w WebHMI
  • files – tutaj znajdują się wszystkie pliki dostępne w zakładce Dokumenty
  • images – tutaj znajdują się wszystkie obrazy z biblioteki obrazów
  • log – najważniejszy folder na serwerze FTP, to tutaj znajdują się archiwalne dane zapisywane w WebHMI. Dane są podzielone w plikach sqlite3, gdzie każdy plik w nazwie zawiera datę.

Przed skopiowaniem plików .sqlite3 do folderu lokalnego zaleca się wprowadzenie dowolnej zmiany w projekcie (np. wyłączenie i włączenie jednej ze zmiennych na liście zmiennych). Spowoduje to przeniesienie danych z plików tymczasowych .sqlite3-shm i .sqlite3-wal do pliku bazy danych .sqlite3.

Automatyczna kopia zapasowa logów

Przy użyciu klienta FTP oraz harmonogramu zadań możliwe jest zautomatyzowanie procesu kopiowania plików .sqlite3 na komputer w sieci lokalnej WebHMI. Poniższa instrukcja wykorzystuje program WinSCP.

Punkt 1: Instalacja klienta ftp WinSCP

 

Punkt 2: Stworzenie pliku .bat

W notatniku wpisujemy następującą treść:

@echo off
„C:\Program Files (x86)\WinSCP\WinSCP.com” /command „open ftp://admin:admin@192.168.1.1” „synchronize local c:\logi /files/” „exit”

Kolejno w tym pliku jest ścieżka do zainstalowanego programu WinSCP, komenda otwarcia połączenia ftp w której podajemy login, hasło do ustawień sieciowych i adres IP WebHMI, oraz komenda synchronizacji plików z WebHMI do folderu lokalnego (parametr local świadczy o kierunku synchronizacji), dalej pierwsza ścieżka to folder na komputerze, a druga ścieżka to folder na serwerze ftp.

Zapisujemy plik z dowolną nazwą i rozszerzeniem .bat. Taki plik można już uruchomić, co spowoduje skopiowanie wszystkich plików z folderu files na karcie SD WebHMI do folderu lokalnego logi na komputerze.

 

Punkt 3: Automatyzacja synchronizacji plików

Jeśli nie chcemy ręcznie uruchamiać pliku .bat to można stworzyć zadanie podstawowe w harmonogramie zadań systemu Windows, co spowoduje automatycznie wywołanie programu z określoną częstotliwością lub gdy pojawią się inne zdarzenia. Dodawanie takiego zadania jest bardzo proste. Po uruchomieniu harmonogramu wystarczy wybrać opcję „Utwórz zadanie podstawowe…”, a następnie nadać nazwę zadania, wybrać częstotliwość wykonywania zadania oraz podpiąć nasz program .bat.

 

Punkt 4: Bezpieczeństwo

Jak widać w powyższym kodzie login i hasło do ustawień sieciowych WebHMI jest zapisany zwykłym tekstem i każdy, kto otworzy taki plik dowolnym edytorem tekstu może te hasło podejrzeć. Jeśli nie chcemy, aby operator miał dostęp do hasła ustawień sieciowych to możliwa jest konwersja pliku .bat na plik .exe, przy użyciu na przykład Advanced Bat To Exe Converter. Hasło zostanie zaszyte i zaszyfrowane i nie będzie już widoczne. Taki plik .exe dokładnie tak samo można wywoływać przez harmonogram zadań. Jeśli jednak konieczna będzie zmiana ścieżki/ip/hasła to należy ponownie skompilować zaktualizowany plik .bat do .exe.

Wróć na początek