Jak zdalnie i wygodnie edytować skrypty na Raspberry Pi?

Jak zdalnie i wygodnie edytować skrypty na Raspberry Pi?

Podczas kursu Raspberry Pi wiele razy musieliśmy edytować różne skrypty i programy. W tym celu wykorzystywaliśmy edytor nano lub po prostu wgrywaliśmy nowe pliki przez WinSCP.

Każde z tych rozwiązań miało jednak wady. Na szczęście jest jeszcze jedna wygodna metoda, która znacznie ułatwia pracę z plikami na RPi.

Pliki i programy na Raspberry Pi można edytować na wiele sposobów. Najczęściej korzysta się z edytora dostępnego na malince np. nano lub czegoś bardziej rozbudowanego. Rozwiązanie te sprawdzają się bardzo dobrze przy krótkich i prostych plikach. Nawigowanie w terminalu po większym pliku nie należy już do łatwych zadań. Druga metoda to ręczne kopiowanie plików na komputer, edytowanie ich za pomocą dowolnego edytora i ponowne wgrywanie na Raspberry Pi. Pora usprawnić ten proces! 

Szybszy dostęp do plików Raspberry Pi z PC

W kursie podstaw Raspberry Pi korzystaliśmy z WinSCP, czyli programu, który pozwala łatwo przenieść pliki z PC na malinkę lub odwrotnie. Był on przydatny np. do przenoszenia zdjęć z RPi na PC. Program ten może jednak przydać się też do łatwiejszego edytowania plików na RPi.

Zanim do tego przejdziemy warto skonfigurować swoje połączenia z RPi. Gdy Raspberry Pi jest już podłączone do sieci lokalnej możemy uruchomić WinSCP na naszym PC.  W oknie logowania podajemy dane malinki (IP, użytkownik, hasło), a następnie klikamy opcję Zapisz. W nowym oknie zaznaczamy opcję "Utwórz ikonę skrótu na pulpicie" oraz "Zapisz hasło".

Zapisywanie nowego połączenia WinSCP z RPi.

Na pulpicie pojawi się nowa ikonka. Jej kliknięcie uruchomi WinSCP, który podczas startu automatycznie zaloguje nas do RPi, dzięki temu za każdym razem zaoszczędzimy kilka sekund na ręczne inicjowanie połączenia. Całość będzie działa tak, jakbyśmy otwierali zwykły folder na PC.

Nowa ikona.

Jak łatwo edytować pliki na Raspberry Pi?

Za nami nawiązanie połączenia. Pora wykorzystać kolejną ciekawą funkcję WinSCP, która niesamowicie ułatwia pracę z programami i skryptami. Zacznijmy od utworzenia nowego pliku. Dla przykładu niech będzie to plik z programem w Pyhonie.

Plik można utworzyć przez SSH (nano test.py) lub właśnie przez WinSCP. W tym celu klikamy prawym przyciskiem myszy na obszarze plików Raspberry Pi i wybieramy opcje "Nowy > Plik". Następnie musimy podać nazwę nowego pliku razem z rozszerzeniem.

Tworzenie nowego pliku przez WinSCP.

Naszym oczom ukaże się puste okno wbudowanego edytora tekstu. Można do niego wprowadzić skrypt. Dla testu może to być program typu:

Można również wykorzystać bardziej rozbudowany program. Np. skrypt z kursu, który alarmował o zbyt wysokiej temperaturze (mierzonej zewnętrznym czujnikiem). Więcej na ten temat w poniższym artykule:

Kurs Raspberry Pi – #15 – czujnik temperatury DS18B20
Kurs Raspberry Pi – #15 – czujnik temperatury DS18B20

W tym odcinku kursu do malinki podłączymy termometr cyfrowy. Czujnik DS18B20 pozwala na… Czytaj dalej »

Po wklejeniu programu do edytora klikamy zapisz (lub CTRL+S) i tyle! Plik od razu pojawi się na liście plików znajdujących się na Raspberry Pi. Nie trzeba go przenosić ręcznie z komputera. Po każdej edycji pliku wystarczy go zapisać, a cała synchronizacja odbywa się samoczynnie w tle. Dla testu plik można sobie później podejrzeć przez edytor nano.

Jeśli plik na Raspberry Pi zostanie zmieniony to do już otwartego edytora w WinSCP można go wczytać za pomocą ikonki opisanej jako "Wczytaj ponownie" lub korzystają z CTRL+R.

Załadowanie pliku zmienionego w tle.

Każde zapisanie pliku będzie z kolei widoczne jako transfer, który odbył się w tle (na dole WinSCP):

Informacje o pliku aktualizowanym w tle.

To już spory postęp - teraz nie musimy ręcznie przenosić plików po ich zapisaniu. Do szczęście brakuje nam tylko edytora z prawdziwego zdarzenia, który będzie np. kolorował składnie. Na szczęście da się to również skonfigurować w WinSCP.

Edytor z kolorowaniem składni w WinSCP?

Do zdalnej edycji plików możemy wykorzystać praktycznie dowolny edytor. Dla przykładu posłużymy się popularnym Notepad++. Po instalacji edytora możemy przejść do konfiguracji. Klikamy prawym przyciskiem myszy na interesujący nas skrypt i wybieramy opcję "Edytuj Z...".

Wybór ulubionego edytora.

Odszukujemy ścieżkę prowadzącą do wybranego programu i zaznaczamy "Zapamiętaj ten edytor", aby można było go używać w przyszłości:

Dodawanie nowego edytora do WinSCP.

Jeżeli wszystko się powiedzie to nasz skrypt otworzy się w wybranym zewnętrznym edytorze! Jak widać dzięki temu możemy cieszyć się np. kolorowaniem składni. Zapisywanie pliku i jego aktualizacja w tle działa tak samo jak w opisywanym wcześniej edytorze wbudowanym do WinSCP.

Podgląd skryptu w Notepad++.

Ustawienie priorytetu edytora

Aby nasz nowy edytor został zapamiętany jako domyślny konieczny jest jeszcze jeden krok. Należy jeszcze raz kliknąć na plik prawym przyciskiem myszy i tym razem wybrać opcję "Konfiguruj". Przy użyciu przycisków "Wyżej" oraz "Niżej" można ustawić tam priorytet. Program umieszczony na samej górze listy stanie się domyślny.

Od teraz po dwukrotnym kliknięciu pliku otworzy się on zawsze w naszym edytorze posiadającym wszystkie udogodnienia niezbędne do pisania większych skryptów!

Współpraca z innymi edytorami

Oczywiście Notepad++ to tylko przykład. Równie dobrze można skonfigurować praktycznie dowolny inny edytor. Poniżej dla przykładu podgląd pliku edytowanego przez Sublime Text:

Edycja plików z Raspberry Pi w Sublime Text.

Do plusów opisanego w tym artykule rozwiązania należy zaliczyć to, że jest ono "lekkie" - edytor plików działa na PC, a nie na Raspberry Pi. Plik otwieramy i edytujemy tak jakby był na naszym komputerze, a po kliknięciu "zapisz" przenosi się on automatycznie do RPi, gdzie możemy go normalnie uruchomić przez SSH. Dzięki temu edytowanie plików konfiguracyjnych, pisanie programów i skryptów jest znacznie wygodniejsze. Kolorowanie składni chroni nas dodatkowo przed wieloma błędami.

Inne możliwości łatwiejszej edycji plików

Omawiane rozwiązanie nie jest jedynym, które może ułatwić zdalną prace na malince. Do wyboru mamy jeszcze między innymi:

  • graficzny edytor (Leafpad, Thonny) w połączeniu ze zdalnym dostępem przez VNC,
  • serwer plików po stronie Raspberry Pi (samba) i zewnętrzny edytor,
  • rozbudowane IDE wspierające pracę na zdalnej maszynie (np. PyCharm).

Dajcie znać w komentarzach, jeśli takie porady są dla Was przydatne i mamy opisać powyższe metody do "zdalnego programowania". Zachęcamy do testów, ponieważ z opisanej tutaj metody będziemy korzystać np. podczas kursu Raspberry Pi - projekty:

Kurs Raspberry Pi, poziom II (projekty) – #1 – wstęp, spis treści
Kurs Raspberry Pi, poziom II (projekty) – #1 – wstęp, spis treści

Za nami kurs zupełnych podstaw Raspberry Pi. Czas wykorzystać zdobytą… Czytaj dalej »

Autorzy:
Piotr Adamczyk
Damian Szymański

edytor, Python, Raspberry PI, WinSCP