web cam stream server

intel Edison | 2016.12.19 12:02 | Posted by WOOKS.... wooksoft



준비물 : EDISON, BREAKOUTBOARD,  무선 인터넷 공유기(인터넷되야됨)

              Linux UVC driver 지원하는 web cam, otg cable 

             (UVC 지원 카메라 싸이트 : http://www.ideasonboard.org/uvc/)



준비작업  

 ●   Breakout board j21 ->  7 ~ 15v 전원 인가

 ●   Breakout board j3  -> PC 연결

 ●   INTEL EDISON BOARD 드라이버 설치

 ●   Yocto 1.6.1 이상 확인 ( Platform Flash Tool Lite 사용 최신폼으로 펌업)




보드접속 

 ● PUTTY 실행해서 설치된 COMPORT 접속 (bps: 115200)

 ● 계정명 root,  비번은 없음

 ● Internet 되는 공유기에 접속


configure_edison --wifi


UVC 드라이버 및 페키지 다운및 설치

 

vi /etc/opkg/base-feeds.conf     (수정할 파일)

   LINUX 명령을 이용해서 찾아서 수정(ls,cd,pwd, vi) 

   아래와 같이 내용을 추가  (vi base-feed.con)   I 수정, : wq 저장종료

src/gz all http://repo.opkg.net/edison/repo/all
src/gz edison http://repo.opkg.net/edison/repo/edison
src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32

   내용 추가후 실행   


opkg update

    결과


    Downloading http://repo.opkg.net/edison/repo/all/Packages.gz.

Inflating http://repo.opkg.net/edison/repo/all/Packages.gz.
Updated list of available packages in /var/lib/opkg/all.
Downloading http://repo.opkg.net/edison/repo/edison/Packages.gz.
Inflating http://repo.opkg.net/edison/repo/edison/Packages.gz.
Updated list of available packages in /var/lib/opkg/edison.
Downloading http://repo.opkg.net/edison/repo/core2-32/Packages.gz.
Inflating http://repo.opkg.net/edison/repo/core2-32/Packages.gz.
Updated list of available packages in /var/lib/opkg/core2-32.

  


    git 설치


     opkg install git


   결과

   

Installing git (2.0.1-r0) on root.
Downloading http://repo.opkg.net/edison/repo/core2-32/git_2.0.1-r0_core2-32.ipk.
Configuring git.

   WEB SERVER 프로그램 복사 

 

git clone https://github.com/drejkim/edi-cam


결과 

Cloning into 'edi-cam'...
remote: Counting objects: 93, done.
remote: Total 93 (delta 0), reused 0 (delta 0), pack-reused 93
Unpacking objects: 100% (93/93), done.
Checking connectivity... done.

  UVC driver 설치


find /lib/modules/* -name 'uvc'

 드라이버가 설치되어있음 아래 내용이 출력

/lib/modules/3.10.17-poky-edison+/kernel/drivers/media/usb/uvc

위 내용일 출력 되지 않으면 

opkg install kernel-module-uvcvideo

  UVC 카메라 j16 삽입


 root@myedison:~# lsmod | grep uvc

uvcvideo               71516  0
videobuf2_vmalloc      13003  1 uvcvideo
videobuf2_core         37707  1 uvcvideo

  비디오 장치 노드 확인

root@myedison:~# ls -l /dev/video0

crw-rw----    1 root     video      81,   0 Nov 10 15:57 /dev/video0

  FFMPEG 설치 

    

   cd /home/root/edi-cam/bin

  ./install_ffmpeg.sh 


  FFMPEG 설치결과


Creating ~/bin directory if it doesn't exist...
Removing old versions of ffmpeg...
Downloading ffmpeg...
--2016-02-11 08:12:53--  http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-32bit-static.tar.xz
Resolving johnvansickle.com... 199.79.62.21
Connecting to johnvansickle.com|199.79.62.21|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 14387580 (14M) [application/x-tar]
Saving to: '/home/root/bin/ffmpeg-release-32bit-static.tar.xz'

100%[======================================>] 14,387,580   922KB/s   in 30s

2016-02-11 08:13:27 (472 KB/s) - '/home/root/bin/ffmpeg-release-32bit-static.tar.xz' saved [14387580/14387580]

Unpacking...
Cleaning up.

   

다운로드 에러시    vi edtor  install_ffmpeg.sh 파일 열어서 

  

vi install_ffmpeg.sh 


echo "Downloading ffmpeg..."

wget --no-check-certificate -P /home/root/bin http://johnvansickle.com/ffmpeg/re

  

 --no-check-certificate 추가 



  node.js packages 설치


cd /home/root/edi-cam/web/server

npm install


  Stream server 실행

   node server.js.

  결과 
WebSocket server listening on port 8084
HTTP server listening on port 8080
Listening for video stream on port 8082
Stream Connected: 127.0.0.1:52995 size: 320x240

  Stream client vier
 
  http://myedison.local:8080



  해상도 및 프레임 변경  ( 해상도를 높이면 속도에 영향을 미침)

cd /home/root/edi-cam/bin

 vi 에디터 do_ffmpeg.sh 변경
                                                    
/home/root/bin/ffmpeg/ffmpeg -s 1280x720 -f video4linux2 -i /dev/video0 -f mpeg1
-b 1000k -r 20 http://127.0.0.1:8082  


cd /home/root/edi-cam/web/client 
 index.html     화면 width, height 수정 


  부팅후 자동실행 
cd /etc
cd init.d
vi start_stream_server.sh


// start_stream_server.sh 내용
#!/bin/sh
 cd /home/root/edi-cam/web/server
 node  server.js


chmod a+x start_stream_server.sh

update-rc.d start_stream_server.sh defaults 

결과 

Adding system startup for /etc/init.d/start_stream_server.sh
  부팅후 자동실행 삭제
  
   update-rc.d -f start_stream_server.sh remove




  고정 ip 할당방법


$ vi /etc/wpa_supplicant/wpa_cli-actions.sh
if [ "$CMD" = "CONNECTED" ]; then
    kill_daemon udhcpc /var/run/udhcpc-$IFNAME.pid
#   udhcpc -i $IFNAME -p /var/run/udhcpc-$IFNAME.pid -S
    ifconfig $IFNAME 192.168.0.222 netmask 255.255.255.0
    route add default gw 192.168.0.1
fi


신고

'intel Edison' 카테고리의 다른 글

web cam stream server  (0) 2016.12.19