
Raspberry PI, headless, RSA, Camera Setup
Hello,
In this tutorial I will be showing you how to get started with a Raspberry Pi Zero W, How you can set it up and get your projects up and running.
In this post I will be covering the following topics :-
- Run system on Raspberry Pi
- Turn on SSH
- Configure network
- Prepare SSH RSA keys (so you don’t have to provide password each time you are logged in)
- Turn on I2C communication
- Turn on camera
And all of this without connecting mouse,keyboard or display to our Raspberry Pi
OK we need to have system image so we can deploy it on RPi, I chose “Raspbian Stretch with Desktop” ( because it already has all the things that we will need) we download it from :
lets unzip the downloaded file (Use 7zip program, windows archive may corrupt the files )
And lets write image into our SD card
I’ve used “Win32 Disk Imager”
At the left Image file we choose what was unzipped in previous step, at the right we choose SD card itself ( If you don’t have anything in devices combobox turn off program and insert SD card, then turn on Win32 Disk Imager again)
Click Write, after couple minutes we have our SD card almost ready
Firstly we need to turn on ‘ssh’ so we can control Rpi from console
Open SD card directory ( in my case H: ) and place the ssh file here (without any extensions for this tutorial I have used commander, You can do the same in Windows explorer but then you have to remove file extension)
and we have:
As you see there is no extension. There is just single name “ssh”
Ok, now we have to configure network so Rpi will know where and how to connect. We need to create and edit “wpa_supplicant.conf” file, we placed in at the same place as previous ssh file so in main SD card directory
wpa_supplicant.conf content:
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="network name" scan_ssid=1 psk="network password" key_mgmt=WPA-PSK } |
I’ve assume that your WiFi has WPA-PSK encryption (most popular option)
Ofcourse you have to change networkName and networkPassword ( but you can leave there question marks)
SD card is ready, insert it in the Pi and connect power to it. (remember to connect power cable with USB labeled as PWR IN)
Green diode will blink for a while then it will be solid green indicating successful boot.
Now lets connect our Raspberry P, I’ve used putty
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Lets fill fields in order to mark at printscreen, in Saved Session you can provide any name you want I’ve put raspberry pi 2 because its my second RPi
1 2 3 |
HostName: pi@raspberrypi.local port: 22 Saved Session: dowolne |
Click saved so we will have it next time we turn on putty, and click open
We should see something like that
[spoiler title=’There is an error’ style=’default’ collapse_link=’true’]lets ping our raspberry pi with cmd (How to run CMD) using address “raspberrypi.local”
1 |
ping raspberrypi.local |
if no answer lets try another address
1 |
ping raspberry.local |
if there is still nothing lets check at WIFI router itself if Raspberry Pi is connected and lets take its IP address
1 |
ping 192.168.0.25 |
proper pings looks like :
[/spoiler]
lets write default password :
1 |
raspberry |
and we got something like:
command
1 |
passwd |
[/spoiler]
lets also install mcedit text editor its much simpler then vim or nano
1 |
sudo apt install mc |
I recommend to make RSA keys so you don’t have to provide password each time you connect to RPi
[spoiler title=’Create RSA keys ‘ style=’default’ collapse_link=’true’]didn’t translate yet in comment ping me up 😉
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]Lets configure camera I2c
in putty:
1 |
sudo raspi-config |
Interfacing options:
then Camera and change to “Yes”
the same for Serial and I2C
then “finish” and restart:
lets check our camera
plug in camera (best if RPI is turn off):
putty:
1 |
raspistill -o kotek.jpg |
camera diode wil be red for a while then “kotek.jpg” will be created
lets download foto and check if we have nice photo I’ve used WinSCP https://winscp.net/eng/download.php
and configure WinSCP to connect my RPi
I’ve assumt that You configure RSA keys if no jsut provide password and skip steps 4 5 6 7
download to disk
and check it
Thats all,
we have our RPI installed, configured Wifi, connected I2C, serial, and working camera, And we know how to connect putty into our RPi