Raspberry Pi valvekaamera
Käesoleva artikli eesmärk on anda juhised, kuidas Raspberry Pi näitel oleks võimalik püsti panna valvesüsteem.
Süsteemi kirjeldus
Eeldused
- Oskus lugeda tehnilisi dokumentatsioone
- Algteadmised linuxi käsureast
- Algteadmised programmeerimisest (et skriptide sisu mõista ja vastavalt vajadustele muuta)
- Oskus käsitleda jootekolbi tuleb kasuks[ext 1][ext 2]
- Loomingulisus
Riistvara
- Raspberry Pi mikroarvuti[1]
- Pi kaameramoodul[2] või Pi infrapuna kaameramoodul (Pi NoIR)[3]
- 10 klass mälukaart[4]
- Wifi pulk või LAN kaabel[5] [6]
- Toiteplokk [6]
- Korpus[7]
- Klaviatuur
- Hiir
- Monitor
Lisad
- Mälupulk, et lokaalselt bufferdada või kohe suurem mälukaart
- PIR ehk infrapunaliikumisandur
- Emane-emane ühendusjuhtmed PIR-ile, kui neid kaasas pole (jumper wire F/F)
- Katkematu vooluallika tarbeks võib veel lisada ka akupanga[8]
- Lisada võib ka telefonile mõeldud kaamera objektiivi adapteri, et vaatevälja suurendada (wide angle lens) või miks mitte kalasilma või teleobjektiivi[9]
Tarkvara
- Raspbian operatsioonisüsteem[ext 3]
- SD-kaardi formaatimise utiliit (nt Windows ja Mac: SD Formatter[ext 4]; Linux: GParted[ext 5])
- lahti pakkija (nt Windows: 7-Zip[ext 6]; Linux: Unzip[ext 7]; Mac: The Unarchiver[ext 8])
- tõmmise kirjutamise utiliit (nt Etcher- toetab nii Windowsi, Linuxit kui ka Maci[ext 9])
NB! Kuigi välja on toodud graafilise liidesega tarkvarad, siis õppe eesmärgil kasutatakse antud artiklis maksimaalselt käsurea vahendeid (sudo õigustes).
Töövahendid
- Jootmisvahendid
- Kolmas käsi
- Kruvikeeraja
- Kartonginuga
- Kuumaliim
- Teip
- jms
Riistvara ühendamine
Installeerimine [src 1]
Kuna vastavalt SD spetsifikatsioonile formaadivad tööriistad SD kaardid > 32GB vaikimisi ExFat failisüsteemi, aga Raspberry Pi GPU-le laetud alglaadur (bootloader) toetab vaid FAT16 ja FAT32 lugemist, siis tuleb SD kaardid üle formaatida FAT32-s. [src 2][src 3]
Mac
Kasutame käsurea utiliiti diskutil[ext 10].
Alustame sellest, et kuvame kõik seadmed, mis süsteemile nähtavad on, et valmistada ette mälukaart. Kasutame selleks käsku diskutil list [-plist] [device]
.
Näide:
diskutil list
Väljund:
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *121.3 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage Macintosh HD 120.5 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macintosh HD +120.1 GB disk1
Logical Volume on disk0s2
A311BC5A-A369-4C74-8FBB-E76B7904BB6D
Unlocked Encrypted
/dev/disk2 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *7.9 GB disk2
1: Windows_NTFS Untitled 7.9 GB disk2s1
Antud artiklis kasutame /dev/disk2 seadet sest see on meie mälukaart, kuhu me Raspbiani peale paneme.
Et näha, mis formaati saab konverteerida ja milline peab olema parameetri kirjapilt, kasutame käsku diskutil listFilesystems [-plist]
.
Näide:
diskutil listFilesystems
Väljund:
Formattable file systems
These file system personalities can be used for erasing and partitioning.
When specifying a personality as a parameter to a verb, case is not considered.
Certain common aliases (also case-insensitive) are listed below as well.
-------------------------------------------------------------------------------
PERSONALITY USER VISIBLE NAME
-------------------------------------------------------------------------------
ExFAT ExFAT
Free Space Free Space
(or) free
MS-DOS MS-DOS (FAT)
MS-DOS FAT12 MS-DOS (FAT12)
MS-DOS FAT16 MS-DOS (FAT16)
MS-DOS FAT32 MS-DOS (FAT32)
(or) fat32
HFS+ Mac OS Extended
Case-sensitive HFS+ Mac OS Extended (Case-sensitive)
(or) hfsx
Case-sensitive Journaled HFS+ Mac OS Extended (Case-sensitive, Journaled)
(or) jhfsx
Journaled HFS+ Mac OS Extended (Journaled)
(or) jhfs+
Konverteerime mälukaardi FAT32 formaati ja paneme nimeks RASPBIAN (peab olema läbiva suure tähega). Kasutame selleks käsku diskutil eraseDisk <format> <NAME> [APM[Format] | MBR[Format] | GPT[Format]] <device>
.
Näide:
diskutil eraseDisk FAT32 RASPBIAN MBRFormat /dev/disk2
Väljund:
Started erase on disk2
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk2s1 as MS-DOS (FAT32) with name RASPBIAN
512 bytes per physical sector
/dev/rdisk2s1: 15485368 sectors in 1935671 FAT32 clusters (4096 bytes/cluster)
bps=512 spc=8 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=8192 drv=0x80 bsec=15515648 bspf=15123 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk2
Laeme alla ja pakime lahti Raspbian operatsioonisüsteemi. Lahti pakkimiseks kasutame TAR[ext 11] utiliiti ja käsku tar -xf <archive-filename>
.
Näide (asukohaks kaust, kus pakk asub):
tar -xf 2017-09-07-raspbian-stretch.zip
Kirjutame lahti pakitud tõmmise mälukaardile dd[ext 12] utiliidi käsuga dd [bs=n if=[file] of=[file] conv=[value]]
.[src 4]
Näide:
Ühendame seadme lahti:
diskutil unmountDisk /dev/disk2
Väljund:
Unmount of all volumes on disk2 was successful
Kirjutame tõmmise kaardile (asukohaks kaust, kus tõmmis asub):
dd bs=1m if=2017-09-07-raspbian-stretch.img of=/dev/disk2 conv=sync
Väljund[10]:
4688+1 records in
4689+0 records out
4916772864 bytes transferred in 1716.593197 secs (2864262 bytes/sec)
Väljastame mälukaardi diskutiliidiga:
diskutil eject /dev/disk2
Väljund:
Disk /dev/disk2 ejected
Linux
Windows
Raspbiani seadistamine
Jätkamise eelduseks on, et eelinstalleeritud mälukaart on sisestatud Raspberry Pi lugejasse, wifi pulk ühendatud USB pessa[ext 13] ja Raspberry vooluvõrku ühendatud.
NB! Jätkuvalt tuleb käsud sisestada sudo õigustes.
Kõige esimese asjana ühendame Raspberry Pi wifi võrku ja lubame SSH[ext 14], et saaksime edasised toimingud mugavalt üle SSH teha.[src 5]
Kui Raspbian on käima läinud, avame terminali (CTRL+ALT+T) skanneerime saadaval olevaid wifi võrke.
Näide:
iwlist wlan0 scan
Väljund:
wlan0 Scan completed :
Cell 01 - Address: 84:16:F9:C8:4D:F6
Channel:9
Frequency:2.452 GHz (Channel 9)
Quality=59/70 Signal level=-51 dBm
Encryption key:on
ESSID:"WASD"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s
Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=000000f2674b8ed2
Extra: Last beacon: 25960ms ago
IE: Unknown: 000B6B61726A612D616E747375
IE: Unknown: 010882848B960C121824
IE: Unknown: 030109
IE: Unknown: 2A0100
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: Unknown: 32043048606C
IE: Unknown: 2D1AEF111BFFFF000000000000000000000100000000000000000000
IE: Unknown: 3D16090F0600000000000000000000000000000000000000
IE: Unknown: 7F080000000000000040
IE: Unknown: DD180050F2020101800003A4000027A4000042435E0062322F00
IE: Unknown: DD0900037F01010000FF7F
IE: Unknown: DD930050F204104A0001101044000102103B00010310470010000102030405060708090A0B0C0D0E0F1021000754502D4C494E4B10230009544C2D4D523334323010240003332E3010420003312E301054000800060050F20400011011001333472F344720526F75746572204D5233343230100800020086103C000101104900140024E26002000101600000020001600100020001
Lisame wifi võrgu üksikasjad nano teksti redaktoriga (või muu meelepärasega) konfiguratsiooni faili:
nano /etc/wpa_supplicant/wpa_supplicant.conf
Lisame faili lõppu read (oma wifi võrgu nime ja parooliga):
network={
ssid="WASD"
psk="WASD_parool"
}
Salvestame faili Ctrl+O kiirklahviga ning väljume failist Ctrl+X kiirklahviga.
Teeme seadistuse üle laadimise:
wpa_cli -i wlan0 reconfigure
Kontrollime, kas saime IP aadressi oma wifi liidesele:
ifconfig wlan0
Kui inet addr taga on IP, siis on kõik õigesti siiani.
Järgnevalt lubame SSH. Vajalik, kuna alates november 2016 väljalaskest, on see vaikimisi keelatud[src 6]. Selleks käivitame raspi-config[ext 15] utiliidi.
Näide:
raspi-config
Väljund:
Valime "5 Interfacing Options"
Seejärel valime "P2 SSH ..." ja kinnitame valiku "Yes" nupuga.
Väljume utiliidist "OK" ja "Finish" nuppudega.
Kaamera seadistamine
Turvalisuse lisamine
Kokkuvõte
Võib kohe öelda, et antud lahendus kindlasti pole odavaim videovalve lahendus. Sihtgrupiks pigem "asjaarmastajad". Kasuteguriteks ongi asjaolu, et saab oma kogemuste pagasit üksjagu rikastada, detailid on kaaskasutatavad mõneks muuks Raspberry Pi projektiks (rajakaamera, fotograafia jne) ja saab ise nokitseda. Suurim eelis vast ongi see, et saab oma äranägemise järgi seadistada.
Vaata lisaks
- tar https://wiki.itcollege.ee/index.php/Tar_kasutamine
- dd https://wiki.itcollege.ee/index.php/Dd
- Sissejuhatus Raspberry Pi-sse https://wiki.itcollege.ee/index.php/Getting_started_with_Raspberry_Pi
- ssh https://wiki.itcollege.ee/index.php/Ssh
- ssh võtmega autentimine https://wiki.itcollege.ee/index.php/Ssh_authorized_keys_fail
- nano kasutamine https://wiki.itcollege.ee/index.php/Redaktor_nano_kasutamine
Välised lingid
- ↑ Enamlevinud vead jootmisel https://learn.adafruit.com/adafruit-guide-excellent-soldering/common-problems
- ↑ Kuidas joota https://learn.adafruit.com/adafruit-guide-excellent-soldering/preparation
- ↑ Raspbian https://www.raspberrypi.org/downloads/raspbian/
- ↑ SD Formatter https://www.sdcard.org/downloads/formatter_4/
- ↑ GParted https://gparted.org/download.php
- ↑ 7-Zip http://www.7-zip.org/
- ↑ Unzip http://www.info-zip.org/mans/unzip.html
- ↑ The Unarchiver http://unarchiver.c3.cx/unarchiver
- ↑ Etcher https://etcher.io/
- ↑ diskutil man page https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man8/diskutil.8.html
- ↑ TAR man page https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/tar.1.html
- ↑ dd man page https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/dd.1.html
- ↑ Kui Raspberry teeb restarti peale USB seadme külge panemist https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=23205
- ↑ OpenSSH man page https://www.openssh.com/manual.html
- ↑ RASPI-CONFIG https://www.raspberrypi.org/documentation/configuration/raspi-config.md
Märkused
- ↑ Käesolevas artiklis on kasutatud Raspberry Pi 1 (Model B), kuid sobivad ka teised mudelid.
- ↑ Ei sobi öövõtete jaoks.
- ↑ Vajab infrapuna valgusallikat lisaks. Valgusallikana võib kasutada Raspberry Pi ametlikku öövaatlusmoodulit (night vision board, mis on müügil ka koos kaameraga) või Bright Pi lisakaarti (eelis on see, et on kasutatav nii tavakaameraga, kui ka öökaameraga. Lisaks on see, tänu kaardil oleva kiibi, 100% konfigureeritav. Võib ka ise meisterdada. Erinevaid sobivaid infrapuna kaarte võib teisigi leida, aga tasub eelnevalt juurde uurida voolutarbe ja võimalike probleemide kohta).
- ↑ Min. 8GB või suurem, kui on soov lokaalselt andmeid talletada.
- ↑ Raspberry Pi 3 on integreeritud wifiga.
- ↑ 6.0 6.1 Võimalik on kasutada ka POE jagurit, et vähem juhtmeid oleks.
- ↑ Sobivaks korpuseks võib kasutada ka pettekaameraid (dummy security camera), mis ebay's jms kohtades on kättesaadavad päris soodsa hinnaga. Pettekaamera puhul on võimalik ka ära kasutada nende infrapuna valgusallikat. Puuduseks on pettekaameratel see, et nad pole enamasti ilmastikukindlad ning valmistatud plastikust, kuid leidub ka kvaliteetsemaid. Kasutada võib ka päris valvekaamerate korpusi (CCTV encloser), mis tihti peale on kütteelemendiga. Kütteelemente müüakse ka eraldi.
- ↑ Peab võimaldama samaaegselt laadimist ja toitmist.
- ↑ Lisaobjektiiviga BrightPi moodulit kasutada ei saa, kuna see ei mahu objektiivile peale.
- ↑ Võib üksjagu aega võtta enne, kui terminali aknasse mingit informatsiooni ilmub. Aktiivsuse jälgimiseks avada Activity Monitor, Disk vaheleht, dd protsess. Bytes written ja Bytes read näitab ära kui palju on tõmmisest andmeid kirjutatud ja loetud.
Kasutatud allikad
- ↑ https://www.raspberrypi.org/documentation/installation/installing-images/README.md Raspbiani installeerimine. Vaadatud: 25.10.2017
- ↑ https://www.sdcard.org/developers/overview/capacity/ SD mahu standardid. Vaadatud 25.10.2017
- ↑ https://www.raspberrypi.org/documentation/installation/sdxc_formatting.md SD kaardi konverteerimine Raspberry Pi tarbeks. Vaadatud 25.10.2017
- ↑ https://www.raspberrypi.org/documentation/installation/installing-images/mac.md Vaadatud: 25.10.2017
- ↑ https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md Raspbiani wifi seadistamine üle käsurea. Vaadatud: 25.10.2017
- ↑ https://www.raspberrypi.org/documentation/remote-access/ssh/ SSH lubamine Raspbianis. Vaadatud 25.10.2017
Autor
Evelin Padjus, AK31
2017