<< | #248 ; Ni uzu 'bash script' por la 3D-fotilo |
>> |
Mi pensas ke nia kara 3D-fotilo laboru en du fazoj: 1) unue ni fotu la 2 fotoj per la du fotiloj de distancaj komputiloj kaj transigu la fotojn al la tria komputilo 2) sekve ni prilaboru la fotojn en la tria komputilo. La duan parton mi devas ankoraŭ forte pensadi kaj multe eksperimenti, sed la unua parto estas facila.
Ni jam antaŭe vidis kiel oni povas uzi la distancaj komputiloj de 3D-fotilo mane el la tria komputilo kun SSH-konekto. Mana uzo tamen ne estas la plej bona solvo. Ni ja bezonas aŭtomaton, aparaton facilan por uzi. Tial ni skribu kelkaj 'bash script' datumoj por la tria komputilo.
Ni tamen unue nepre bezonas el la ĝenerala komputila reto Internet la programon sshpass
por uzi SSH -konekton en 'bash script'. Ĝi ja bezonas sekretaj vortoj kaj ni ne volas doni la sekretajn vortojn aparte mane. Tial ni skribas en la komanda fenestro por munti la programon el reto:
sudo apt-get install sshpass
Ekzemple la IP-adreso de nia maldekstra komputilo estu 169.254.131.235
kaj por la dekstra komputilo IP-adreso estu 169.254.201.0
. Por ĉi tiu ekzemplo la sekreta vorto por la maldekstra komputilo estu 'seL'
kaj por la dekstra komputilo 'seR'
En realo ni certe uzu pli longaj sekretaj vortoj por SSH-konekto.
Ni volas foti la fotojn per la programo raspistill
de distanca komputilo, origine en grando 800*600 (po proksimume 350 KB kiel densigitaj .jpg
datumoj) kaj ni uzu kiel eble plej mallongan tempon nur 2000 milisekundoj (2 sekundoj) antaŭ la foto. Ni nomu (finne) la foton de maldekstra fotilo vasen.jpg
kaj la foton de dekstra fotilo oikea.jpg
Ni skribas la sekvantan norman tekston por la tria komputilo kaj ni nomu ĝin fotu2.sh
:
#!/bin/bash echo FOTU PER 2 DISTANCAJ FOTILOJ # Fotu per la maldekstra fotilo sshpass -p 'seL' ssh pi@169.254.131.235 'raspistill -t 2000 -o vasen.jpg -w 800 -h 600' # Fotu per la dekstra fotilo sshpass -p 'seR' ssh pi@169.254.201.0 'raspistill -t 2000 -o oikea.jpg -w 800 -h 600' echo KOPIU LA 2 DISTANCAJ FOTOJ # Kopiu la foton de maldekstra fotilo sshpass -p 'seL' scp pi@169.254.131.235:vasen.jpg /home/pi/Kuvat/ # Kopiu la foton de dekstra fotilo sshpass -p 'seR' scp pi@169.254.201.0:oikea.jpg /home/pi/Kuvat/ echo ESTAS JAM PRETA
Nun la datumo tamen estas ankoraŭ nur norma teksto. Ni devas transformi ĝin al vera 'bash script' por transformi ĝin efektigebla (+x) por la uzanto (u) kaj tial ni skribas en la komanda fenestro de tria komputilo por tiu datumo:
chmod u+x fotu2.sh
La tempo inter la du fotoj, eĉ 2 ... 3 sekundoj, estas longa se ni pensas pri celo kio movas. Por movanta celo ni certe bezonus pli bonan kaj rapidan metodon por foti. Provizore ĉi tiu simpla metodo tamen estas por nia intenco sufiĉa.
Ni ankaŭ skribu .sh
-datumon por fine sekure estingi la distancajn komputilojn. La teksto por fino2.sh
:
#!/bin/bash echo ESTINGU LA DISTANCAJ KOMPUTILOJ sshpass -p 'seL' ssh pi@169.254.131.235 'sudo shutdown' sshpass -p 'seR' ssh pi@169.254.201.0 'sudo shutdown' echo JEN FINO
Same ni faru la norman tekston efektivigebla por la uzanto kiel 'bash script' ĉi tiel: chmod u+x fino2.sh
kaj sekve finfine eblos facile estingi la distancajn komputilojn ekzemple per la komando en la komanda fenestro de tria komputilo: ./fino2.sh
Oni eble bezonas unue uzi la SSH-konektojn mane por doni la respondon 'yes' por la demando pro nova konekto se oni ne uzis ĝin antaŭe. Sekve ni tamen povos aŭtomate foti per la distancaj fotiloj kaj kopii la fotojn por la tria komputilo simple skribante en la komanda fenestro: sh fotu2.sh
aŭ alternative: ./fotu2.sh
Kaj ni havos la du fotoj vasen.jpg
kaj oikea.jpg
en /home/pi/Kuvat/
en la tria komputilo.
La sekvanta paro de fotoj estas la rezulto de fotado iom prilaborita. Certe la fotoj estas multe pli malgrandaj ol la origina grando 800*600. La fotoj prezentas iom kaosan kaj malodoran ĉambron de io tute nekonata persono, batalema kaj sangavida militista marŝalo de io grava sendependa nacio. Klare li havas ambiciaj planoj por konkeri la tutan mondon (notu la terglobon)!
Longe vivu 'Raspberry Pi' kaj nia propra nacieto! Kaj certe fine ..........
NI VENKOS!
La Ambasadoro en Pori de sendependa nacio Mueleja Insulo |