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
Instalacja Karty SD
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:
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 kartę SD.
Do tego używamy programu Win32DiskWriter https://sourceforge.net/projects/win32diskimager/
po prawej stronie w plik obrazu wybieramy to co rozpakowaliśmy 7zipem, w “Urządzenie” naszą kartę 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ą kartę SD.
Włączanie ssh i ustawianie sieci WIFI
Gdy teraz włożymy kartę do RaspberryPi nie bę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:
zwróćcie uwagę na brak rozszerzenia ma być 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:
1 2 3 4 5 6 7 8 9 10 |
country=US ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="nazwasieci" scan_ssid=1 psk="haslo" key_mgmt=WPA-PSK } |
(zakładam że wasze Wifi ma właśnie zabezpieczenia WPA-PSK (jest to najbardziej popularna opcja))
oczywiście nazwa sieci i hasło musimy zmienić (cudzysłowie 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 ? :
1 2 3 |
HostName: pi@raspberrypi.local port: 22 Saved Session: dowolne |
klikamy saved aby drugi raz nie musieć wpisywać wszytko od nowa
Wpisujemy domyślne hasło :
raspberry
zobaczymy coś takiego
polecam tez zainstalować edytor plików tekstowych mcedit (prosty, przyjemny, popularny ):
install mc
Klucz RSA
Gorąco polecam utworzenie klucza RSA i wgranie go do rasbperry pi żeby za każdym razem nie wpisywać hasła
potrzebujemy puttygen
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
klikamy Generate i na szarym tle poruszamy myszka, aż progress bar sie wypełni. 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
folder uzytkownika\.ssh\
w moim przypadku
c:\Users\Admin\.ssh\
NIE zamykamy na razie okna puttyGen.
Wracamy do podłączonego putty:
tworzymy folder .ssh:
mkdir .ssh
i tworzymy plik authorized_keys
mcedit .ssh/authorized_keys
kopiujemy publiczny klucz z puttygen:
a w oknie putty wciskając [Shift+ insert] wklejamy:
dodajemy enter na końcu linii. i wciskamy [F2] na klawiaturze
cat ~/.ssh/authorized_keys
restartujemy puttego
w nowym oknie :
wskazujemy plik który zapisaliśmy 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
Włączanie kamery i komunikacji I2c
teraz pora zainstalować kamerkę i za jednym zamachem włączyć komunikacje serial i I2c:
w puttym:
sudo raspi-config
Interfacing options:
potem wchodzimy w camera i zmieniamy na Yes
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:
raspistill -o kotek.jpg
dioda kamery powinna sie zapalić 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 zdjęcia na dysk :
po otwarciu zobaczmy nasze zdjęcie.
Podsumowanie
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