рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рд╡реАрдбрд┐рдпреЛ рдирд┐рдЧрд░рд╛рдиреА

рджрд┐рди рдХрд╛ рдЕрдЪреНрдЫрд╛ рд╕рдордп!

рдирдП рд╕рд╛рд▓ рдХреА рдкреВрд░реНрд╡ рд╕рдВрдзреНрдпрд╛ рдкрд░, рдореБрдЭреЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рд╡реАрдбрд┐рдпреЛ рдирд┐рдЧрд░рд╛рдиреА рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд╣ рд╕рдм рдХреБрдЫ рдерд╛ рдЬреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдП рдерд╛:

рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж , рдореИрдВрдиреЗ рд▓реЗрдЦрдХ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдереЛрдбрд╝рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдФрд░ рд▓реЗрдЦрдХ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдореБрдЦреНрдп рдХрд╛рд░реНрдп - рд╡реАрдбрд┐рдпреЛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЛ рдЦреЛрдП рдмрд┐рдирд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдШрдЯрдирд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред

рдкрд░рд┐рдЪрд┐рдд

рддреЛ, рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп "рдШрдЯрдХ" рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдВ:
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐:

рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:

pi@hall-pi ~ $ cat /proc/cpuinfo processor : 0 model name : ARMv6-compatible processor rev 7 (v6l) BogoMIPS : 2.00 Features : swp half thumb fastmult vfp edsp java tls CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xb76 CPU revision : 7 Hardware : BCM2708 Revision : 000e Serial : 000000005a82c372 


рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╡рд┐рддрд░рдг рдХреА рдПрдХ рд╕реВрдЪреА рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ ред рдореИрдВрдиреЗ рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд╢реЗрд▓ рдХреЗ рдмрд┐рдирд╛ рд░рд╛рд╕реНрдкрд┐рдпрди рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирд╛ред

рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрди рдореБрдЦреНрдп рддрдереНрдпреЛрдВ рдХреА рд╕реВрдЪреА рджреВрдВрдЧрд╛ рдЬреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ:
  1. рд╕рдордп рдХреНрд╖реЗрддреНрд░ рд╕реЗрдЯрд┐рдВрдЧ
  2. рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдирд╛рдо рд╕реЗрдЯрд┐рдВрдЧ
  3. SSH рдкрд╣реБрдБрдЪ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
  4. рд╕рд┐рд╕реНрдЯрдо рдЕрдкрдбреЗрдЯ

рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдЯреНрд░реЗрдирд┐рдВрдЧ

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ:
 sudo apt-get install imagemagick libav-tools libjpeg8-dev subversion 

рдЙрд╕рдХреЗ рдмрд╛рдж, рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ mjpg-streamer рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ:
 sudo svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer cd mjpg-streamer make 

рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рднреА рдбреЗрдЯрд╛ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рд╡реЗрдмрджрд╛рд╡ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рдореЛрдЯ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:
 sudo apt-get install davfs2 sudo mkdir /mnt/dav sudo mount -t davfs https://webdav.yandex.ru /mnt/dav -o uid=pi,gid=pi 

рд╣рд░ рдмрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛
/ etc / davfs2 / рд░рд╣рд╕реНрдп
 /mnt/dav user password 


рдХрд╛рдо рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

WebDAV рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП /etc/rc.local рдореЗрдВ рдХрдорд╛рдВрдб рдЬреЛрдбрд╝реЗрдВ:
 mount -t davfs https://webdav.yandex.ru /mnt/dav -o uid=pi,gid=pi cd /home/pi/mjpg-streamer && ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www" 

рдЕрдм, рдкрддреЗ рдкрд░ рдЬрд╛рдХрд░ http: //: 8080 / рд╣рдо рдХреИрдорд░реЗ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдХреЗрд╡рд▓ рд░рд╛рдЙрдЯрд░ рдкрд░ рдкреЛрд░реНрдЯ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдЖрдк рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдмрд╛рд╣рд░ рдХреИрдорд░реЗ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред

рдЯрд╛рдЗрдорд▓реИрдкреНрд╕ рд╡реАрдбрд┐рдпреЛ рдмрдирд╛рдПрдВ

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдХреИрдорд░реЗ рд╕реЗ рдПрдХ рдЫрд╡рд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЫрд╡рд┐ рд╡реЗрдм рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ), рддреЛ рд╣рдо рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╕реЗ рд╡рд░реНрддрдорд╛рди рдЪрд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдЕрд╡рд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
 curl http://localhost:8080/?action=snapshot > out.jpg 

рдпрджрд┐ рд╣рдо рдЫрд╡рд┐ рдкрд░ рдЫрд╡рд┐ рдХреА рддрд╛рд░реАрдЦ рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХрдиреНрд╡рд░реНрдЯ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
 timestamp=`stat -c %y out.jpg` convert out.jpg -fill black -fill white -pointsize 15 -draw "text 5,15 '${timestamp:0:19}'" out_.jpg 

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг:
 #!/bin/bash filename=$(perl -e "print time") foldername=$(date --rfc-3339=date) curl http://localhost:8080/?action=snapshot > $filename timestamp=`stat -c %y $filename` mkdir /mnt/dav/out/$foldername convert $filename -fill black -fill white -pointsize 15 -draw "text 5,15 '${timestamp:0:19}'" /mnt/dav/out/$foldername/$filename.jpg rm $filename 

рд╡реАрдбрд┐рдпреЛ avconv рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
 avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 out.avi 

рд╡реАрдбрд┐рдпреЛ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг:
 #!/bin/bash filename=$(date --rfc-3339=date) i=0 for f in `ls -tr /mnt/dav/out/$filename/*.jpg 2>/dev/null` do newf=`printf %06d $i`.jpg echo $f "-->" $newf mv $f $newf i=$((i+1)) done rmdir -R /mnt/dav/out/$filename/ avconv -r 10 -i %06d.jpg -r 10 -vcodec mjpeg -qscale 1 /mnt/dav/$filename.avi rm *.jpg 

рдЕрдм рдпрд╣ рдХреЗрд╡рд▓ рдХреНрд░реЛрди рдЕрдиреБрд╕реВрдЪрдХ рдореЗрдВ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ:
 * * * * * pi bash /home/pi/cam.sh 59 23 * * * pi bash /home/pi/build.sh 


рд╡реАрдбрд┐рдпреЛ рдХрд╛ рдирдореВрдирд╛



рдирд┐рд╖реНрдХрд░реНрд╖

рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╡реАрдбрд┐рдпреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрддрд┐рдо рдЙрддреНрдкрд╛рдж рдХреА рд▓рд╛рдЧрдд рдХреЛ рднреА рдХрдо рдХрд░рддрд╛ рд╣реИред рдПрдХ рдкреВрд░реНрдг рдУрдПрд╕ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдкреА рдПрд╕ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдм рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ "DIY рдпрд╛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░реЗрдВ, рдЖрдпрд░рди, рдЧреИрдЬреЗрдЯреНрд╕ред рдЧреАрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг "рдкрд░реНрдпрд╛рдкреНрдд рдХрд░реНрдо рдирд╣реАрдВ рдереЗ, рдореИрдВрдиреЗ рдирд┐рдХрдЯрддрдо рдЙрдкрд▓рдмреНрдз рдЪреБрдирд╛ред

Source: https://habr.com/ru/post/In208058/


All Articles