
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:
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:
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 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 😉 :
1 2 3 |
HostName: pi@raspberrypi.local port: 22 Saved Session: dowolne |
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
1 |
ping raspberrypi.local |
Jak nie mamy odpowiedzi próbujemy
1 |
ping raspberry.local |
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 :
1 |
ping 192.168.0.25 |
prawidłowe pingi wyglądają tak:
[/spoiler]
Wpisujemy domyślne hasło :
1 |
raspberry |
zobaczymy coś takiego
polecenie
1 |
passwd |
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 ):
1 |
sudo apt install mc |
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
1 |
folder uzytkownika\.ssh\ |
w moim przypadku
1 |
c:\Users\Admin\.ssh\ |
NIE zamykamy na razie okna puttyGen.
wracamy do podłączonego putty:
tworzymy folder .ssh:
1 |
mkdir .ssh |
i tworzymy plik authorized_keys
1 |
mcedit .ssh/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
sprawdzmy czy sie dobrze wgralo:
1 |
cat ~/.ssh/authorized_keys |
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:
1 |
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:
1 |
raspistill -o kotek.jpg |
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