Inicjalizacja Raspberry PI, headless, RSA, Camera

Witam,

W tym poście napisze krok po kroku jak zainstalować system i przygotować RaspberryPi Zero W, do naszych potrzeb czyli :

  • wgrać system
  • włączyć ssh
  • skonfigurować sieć
  • wgrać klucze ssh (żeby za każdym razem nie wpisywać hasła)
  • włączyć komunikacje I2C
  • włączyć kamerkę

A wszytko bez podłączania myszki, klawiatury i monitora do RaspberryPi

 

Najpierw musimy mieć obraz systemu żeby go wgrać do RPi, wybrałem opcje “Rasbian Stretch with Desktop” (ma juz prenstalowane rzeczy ktore nam sie bardzo przydadzą ) pobieramy z adresu:

https://www.raspberrypi.org/downloads/raspbian/

wypakowujemy zipa (korzystając z 7zip’a bo wbudowany windowsowy archiwizator nie radzi sobie z tym najlepiej http://www.7-zip.org/download.html)

teraz pora na wgranie systemu na karte SD.

do tego używamy programu Win32DiskWriter  https://sourceforge.net/projects/win32diskimager/

po prawej stronie w plik obrazu wybieramy to co rozpakowalismy 7zipem, w “Urzadzenie” naszą karte SD (jak w pole urządzenie nic nie mamy wyłączamy program wpinamy kartę i włączamy win32disk writer)

klikamy Zapisz. Po dłuższej chwili mamy prawie gotową karte SD.

Gdy teraz włożymy karte do RaspberryPi niebędziemy sie w stanie połączyć poprzez ssh i wszytko będziemy musieli zrobić korzystając z monitora i myszki. Ja pokaże jak to zrobić bez wpinania Rpi do monitora (tzw tryb headless)

Przechodzimy do folderu karty SD (w moim przypadku jest pod literą H) i tworzymy plik ssh (bez  żadnych rozszerzeń ja użyłem total commandera) , to samo można zrobić używając windowsego expolorera ale trzeba wykasować rozszerzenie

rezultat:

zwroćcie uwage nabrak rozszerzenia ma byc sam plik “ssh”

Ale i tak się nie podłączymy do RPi bo samo RaspberryPi nie wie do jakiej sieci ma się połączyć. Musimy stworzyć i uzupełnić plik “wpa_supplicant.conf” tworzymy go tam gdzie pliczek “ssh” czyli w głównym katalogu karty SD ( tym razem plik ma rozszerzenie 😉 )

zawartość pliku powinna wyglądać tak:

(zakładam że wasze Wifi ma wlasnie zabezpieczneia WPA-PSK (jest to najbardziej popularna opcja))

oczywiscie nazwa sieci i haslo musimy zmienic (cudzyslowie zostawiamy)

gotowe teraz możemy umieścić kartę w rasbperry pi i podłączyć zasilanie ( możecie ożyć do tego celu jakiejś lepszej ładowarki do telefonu, pamiętajcie żeby USB włożyć do gniazda na Rpi z oznaczeniem “PWR IN”)

zielona diodka powinna pomrugać a potem być zaświecona na “stałe”

Do łączenia sie z raspberry pi będziemy potrzebować program Putty

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

uzupełnimy pola w kolejności jak wskazują numerki. W korku 4 podajemy swoją nazwę ja podałem “raspberry pi 2” bo to moje drugie rasbperry pi 😉 :

klikamy saved zebyśmy drugi raz nie musieli wpisywać wszytko od nowa

wyświetli się cos takiego jezeli mamy błąd to :

[spoiler title=’radzenie sobie z błędem’ style=’default’ collapse_link=’true’]

pingujemy rasbperry pi pod adresem “raspberrypi.local” uzywając “terminala windowsowego” Jak uruchomić cmd na windowsie

wyskoczy czarne okno i tam wpisujemy

Jak nie mamy odpowiedzi próbujemy

Gdy dalej nie mamy odpowiedzi musimy się zalogować do routera wifi i zobaczyć czy rasbperry pi się połączyło z naszą siecią, tam też znajdziemy ip samego RaspberryPi i wtedy pingujemy ten adres :

prawidłowe pingi wyglądają tak:

 

[/spoiler]

Wpisujemy domyślne hasło :

zobaczymy coś takiego

[spoiler title=’Zmiana hasła’ style=’default’ collapse_link=’true’]

polecenie

wpisujmy nasz teraźniejsze hasło “raspberry” potem nowe [Enter] i powtarzamy co wpisaliśmy [Enter] [/spoiler]

polecam tez zainstalować edytor plikow textowych mcedit  (prosty,  przyjemny, popularny ):

 

 

Gorąco polecam utworzenie klucza RSA i wgranie go do rasbperry pi żeby za każdym razem nie wpisywać hasła

[spoiler title=’Tworzenie klucza RSA i konfiguracja ‘ style=’default’ collapse_link=’true’]

potrzebujemy puttygen

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

klikamy Generate i na szarym tle poruszamy myszka az progress bar sie wypelni. Klikamy nastepnie

Save public key zapisujemy pod nazwa “cokolwiek.pub”

Save private key “cokolwiek.ppk”

dla utrzymania porządku “cokolwiek” w dwóch plikach powinno być takie samo. Pliki zapisujemy w folderze

w moim przypadku

NIE zamykamy na razie okna puttyGen.

wracamy do podłączonego putty:

tworzymy folder .ssh:

i tworzymy plik authorized_keys

kopiujemy publiczny klucz z puttygen:

a w oknie putty wciskajac [Shift+ insert] wklajamy:

dodajemy enter na koncu linii. i wciskamy [F2] na klawiaturze

[Enter] i [F10] zeby wyjsc

sprawdzmy czy sie dobrze wgralo:

restarujemy puttego

 

w nowym oknie :

wskazuemy plik ktory zapisalismy PuttyGen

 

wracamy do zapisanych sesji

klikamy save i open

tym razem system nie poprosi nas o hasło 🙂

wygenerowane klucze RSA (pub, ppk) możemy użyć do kolejnych raspberryPi do łączenia z tego komputera. Do kolejnych komputerów generujemy pliki RSA jeszcze raz a w RaspberryPi w authorized_keys wklejamy kolejne publiczne klucze – każdy w nowej linii

[/spoiler]

teraz pora zainstalowac kamerke i za jednym zamachem włączyc komunikacje serial i I2c:

w puttym:

Interfacing options:

potem wchodzimy w camera i zmieniamy na Yes

[Enter][Enter]

identycznie dla Serial i I2C

i potem “finish” i restartujemy:

sprawdźmy kamerkę czy działa:

podłączamy kamerkę (pewnie najlepiej jak Rasbperrypi jest wyłączone):

putty:

dioda kamery powinna sie zapalic na moment na czerwono i powstanie plik “kotek.jpg”

pobierzmy plik i zobaczmy, potrzebujemy WinSCP  https://winscp.net/eng/download.php

i łączymy się do naszego RaspberryPi:

założyłem ze macie wygenerowany plik RSA, jak nie to pomijacie krok 4 5 6 7 i wpisujecie hasło.

pobranie zdjecia na dysk :

i zobaczmy nasze zdjecie :

Uwaga : nie przejmujcie się jak na Waszym zdjęciu nie ma kotka.

To Tyle,

Mamy zainstalowany system, skonfigurowane wifi, połączenia I2C i serial i działającą kamerkę.  Do tego umiemy ściągać pliki na nasz komputer i łączyć się puttym bez podawania hasła do naszego RasbperryPi