Orange Pi Zero – Przygotowanie środowiska pracy

Wstęp

Wpis ma na celu zapoznanie użytkownika z podstawami pracy z mikro komputerem Orange Pi Zero oraz przygotowanie systemu do pisania skryptów w języku Python z obsługą GPIO oraz szyn komunikacyjnych 1-Wire, i2c oraz SPI.

Opis urządzenia

W poszukiwaniu mniejszej alternatywy dla Raspberry Pi wyposażonej w port przewodowej karty sieciowej RJ 45 natrafiłem na bardzo ciekawe urządzenie Orange Pi Zero.  Aby zapoznać się z platformą i ocenić jakość wykonania urządzenia oraz potestować na nim oprogramowanie napisane wcześniej pod Raspberry Pi czyli skrypty w języku Python, zakupiłem najtańszą dostępną wersję H2 z 256 MB pamięci RAM. Urządzenie jest naprawdę małe ale dobrze wyposażone i posiada wszystko co potrzeba do zabawy z elektroniką:

  • 26 pinów GPIO zamiast 40 jak w RPi
  • obsługa napięć 3,3V i 5V
  • obsługa szyny danych I2C oraz SPI
  • dodatkowe złącze 13 pinów do podłączenie USB, mikrofonu, wyjście liniowe i monitor

Łączność z urządzeniem jest możliwa przez:

  • stabilne Wi-Fi oparte na chipie XR819 wspierające technologię IEEE 802.11 b/g/n
  • wolne ale stabilne przewodowe złącze LAN 10/100Mbps Ethernet

Pozostałe elementy urządzenia są aż nadto wystarczające:

  • Procesor czterordzeniowy 1 GHZ H2 Quad-core Cortex-A7
  • Układ graficzny Mali400MP2 GPU
  • Czytnik kart microSD
  • port USB 2.0

Przygotowanie obrazu systemu operacyjnego

  1. Ściągamy ze strony https://www.armbian.com/orange-pi-zero/ obraz systemu (Armbian_5.25_Orangepizero_Ubuntu_xenial_default_3.4.113.7z . ok 214 MB) i rozpakowujemy go
  2. Nagrywamy na kartę microSD (w moim przypadku jest to KINGSTON MICROSDHC 16GB CLASS 10 (SDCA10/16GB)) używając np. programu https://etcher.io/  Wystarczy karta 2 GB a  4 GB jest  już optymalnie.

 

Pierwsze uruchomienie

Do uruchomionego Orange Pi Zero, można zalogować się na 3 sposoby:

  1. przez połączenie USB to serial i Putty na wybranym porcie COM
    http://lucsmall.com/2017/01/19/beginners-guide-to-the-orange-pi-zero/
  2. przez podłączenie klawiatury i monitora VGA
    http://www.nanohawk.com/orange-pi-zero-and-vga/
  3. przez protokół SSH (Wi-FI lub przewodowy LAN, opis poniżej)
  • login root, hasło: 1234 (przy pierwszym logowaniu następuje wymuszenie zmiany hasła)
  • jeśli Orange Pi nie jest dostępny bezpośrednio z internetu i nie chcemy wzmacniać dodatkowo bezpieczeństwa systemu to nie utrudniamy sobie życia i nie zakładamy dodatkowego użytkownika (CTRL + C)

Rozszerzenie partycji systemowej i zmiana rozmiaru swapa

Po restarcie (reboot lub shutdown -r now) powinno nastąpić automatyczne rozszerzenie partycji systemowej do maksymalnego rozmiaru karty microSD. Gdyby tak się jednak nie stało to należy wykonać poniższą procedurę:

Swap domyślnie ustawiony jest na 128 MB do pliku /var/swap. Możemy zmienić jego rozmiar lub całkowicie go wyłączyć:

Ustawienie adresu ip

Do konfiguracji sieci używany jest Network-Manager i polecenie nmtui lub konsolowe narzędzie nmcli.
Aktualny adres ip możemy wyświetlić poleceniem: ip a.
Aktualnie wykorzystywane połączenie: nmcli con show -a
Po dodaniu wielu sieci Wi-Fi przez nmtui -> Activate a connection network-manager podłącza się do pierwszej zapisanej , dostępnej o najlepszym sygnale.

 https://www.tecmint.com/configure-network-connections-using-nmcli-tool-in-linux/

Aktualizacja systemu

Jeśli urządzenie nie jest wpięte bezpośrednio do internetu a nam zależy na jak największej stabilności raz ustawionego środowiska można aktualizować system tylko w razie potrzeby, najlepiej po uprzednim wykonaniu obrazu karty.

https://malinowo.secu.com.pl/orange-pi-zero-backup-i-naprawa-karty-microsd-backup-i-odtwarzanie-danych/

Informacje wyświetlane przy zalogowaniu oraz historia poleceń

Wyświetlane przy logowaniu komunikaty pochodzą z motd (Message of the Day) i są generowane przez update-motd.
Skrypty są umieszczone w /etc/update-motd.d/ i możemy dodawać tu nowe bądź usuwać już niepotrzebne.

Sprawdzania działania motd bez ponownego logowania:

Zablokowanie wyświetlanie skryptów motd i przyśpieszenia logowania na Orange Pi Zero:

Jeśli chcemy wiedzieć kiedy dokładnie wykonaliśmy jaką komendę przez polecenie history

http://manpages.ubuntu.com/manpages/trusty/man5/update-motd.5.html

Ustawienia klienta synchronizacji czasu

Za aktualizację czasu przez internet odpowiedzialny jest timedatectl (zamiast dawnego ntpdate).
Aktualne informacje o konfiguracji klienta synchronizacji czasu wyświetlimy:

Strefę czasową ustawimy:

https://help.ubuntu.com/lts/serverguide/NTP.html

Instalacja niezbędnego oprogramowania

Poniższe oprogramowanie będzie potrzebne w dalszych etapach korzystania z  Orange Pi Zero:

do obsługi GPIO w skryptach Python potrzebna będzie poprawiona wersja biblioteki obsługująca Orange Pi Zero
https://github.com/nvl1109/orangepi_PC_gpio_pyH3  , lokalny mirror orangepi_PC_gpio_pyH3-master

Włączenie odpowiednich modułów przy starcie systemu

plik powinien wyglądać tak:

Poprawne wyłączenie urządzenia

Aby uniknąć awarii karty microSD należy prawidłowo wyłączać urządzenie poleceniami:

https://spaceblogs.org/2013/06/03/shut-down-your-raspberry-pi-on-button-press-and-add-reset-function

Co dalej ?

Polecam lekturę pozostałych wpisów odnośnie Orange Pi Zero

https://malinowo.secu.com.pl/category/orange-pi-zero/

Warto zobaczyć

http://linux-sunxi.org/Xunlong_Orange_Pi_Zero
http://www.orangepi.pl/orane_pi_zero

 

Dodaj komentarz