SkyWay WebRTC Gateway 핸즈온 Chapter0

핸즈온 의 Chapter0

전치



먼저 간단한 L 치카 응용 프로그램을 만듭니다.
UDP로 메시지를 보내 ON/OFF합니다.
익숙하다고 하는 분이 계시다면, UDP로 조작할 수 있는 것이라면, LED에 한정하지 않고 정교한 것을 만들어 주어도 상관 없습니다.
또 예는 ruby로 구현하고 있습니다만, ruby ​​이외의 언어라도 상관하지 않습니다.
(단, 강사가 모르는 언어로 구현한 경우 지원을 받지 못할 가능성이 있으므로 양해 바랍니다)

가정 환경



RaspberryPi


  • RASPBIAN 4.14
  • Raspberry Pi HD 카메라 보드 V2


  • Chrome M69가 실행되는 환경

  • 회로


  • 브레드 보드
  • LED, 저항
  • 점퍼선(암-수 2개, 수-수 2개)

  • LED와 저항은 핸즈온 대출 장비로 이쪽의 것을 이용합니다
    반입 참가의 분은 다른 것도 상관 없습니다만, Raspberry Pi의 GPIO(3.3 V)로 동작하는 것을 가져와 주세요.

    대여 한 Raspberry Pi는 기본 설정이 완료되었습니다.
    또 카메라에 대해서는 다른 것도 가능합니다만, 후술하는 gStreamer로의 카메라로부터의 영상 취득에 있어서, 옵션이 바뀔 가능성이 있습니다.

    필요한 애플리케이션 설치


    # ライブラリのビルド環境のインストール
    $ sudo apt install autoconf automake libtool
    # 映像伝送用アプリケーションのインストール
    $ sudo apt install gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
    # サンプルプログラムはRubyで書くのでRubyの開発環境をインストール
    $ sudo apt install ruby-dev libssl-dev
    # Raspberry PiのピンをRubyで使うためのgemをインストール
    $ sudo gem install pi_piper
    

    물리적 구성



    이 연습에서는 GPIO의 21번을 이용합니다.
    htps //w w. 등 sp 벨 ry 피. 오 rg / 도쿠 멘들 온 / 토끼 / g 피오 /
    참조하면 오른쪽 상단 핀입니다. 그리고는 적절한 GND 핀을 선택하여 배선합시다.
    이 두 선 사이에 LED와 저항을 끼우십시오.
    3.3V의 전압을 인가하므로, LED의 spec에 맞추어 적절한 저항을 끼워 주세요.



    카메라 설정



    먼저 카메라 모듈을 raspberry pi의 카메라 단자에 장착하십시오.
    전원 OFF 상태에서 프린트 케이블을 안쪽까지 꽂고 스토퍼를 꽉 아래까지 밀어 넣어 주십시오.
    그런 다음 raspberry pi를 시작하고 구성을 수행합니다.
    $ sudo raspi-config
    

    메뉴가 표시되므로 5. Interfacing Options > P1 Camera에서 enable로 설정합니다.
    Raspberry Pi가 다시 시작됩니다.

    나중에 사용하므로 카메라에 액세스하기 위한 모듈도 설치해 둡니다.

    htps : // 기주 b. 코 m/테이 y 탄/gster-피카 msrc. 기 t
    Clone or Download에서 zip을 다운로드하여 확장하십시오.
    git으로 넣어도 좋습니다.
    $ cd gst-rpicamsrc-master
    $ ./autogen.sh --prefix=/usr --libdir=/usr/lib/arm-linux-gnueabihf/
    $ make
    $ sudo make install
    

    L 치카 응용


    #!/usr/bin/ruby
    require "socket"
    require "pi_piper"
    
    def pin(pin, message)
      case message
      when "on"
        pin.on
      when "off"
        pin.off
      end
    end
    
    if __FILE__ == $0
      gpio_21 = PiPiper::Pin.new(:pin => 21, :direction => :out)
    
      udps = UDPSocket.open()
      udps.bind("0.0.0.0", 10000)
    
      loop do
        data = udps.recv(65535).chomp
        pin(gpio_21, data)
      end
    
      udps.close
    end
    

    UDP에서 수신한 문자 메시지가 "on"이면 전압을 가하고 "off"이면 중지합니다.

    실행



    이것을 원격 제어합시다.

    L 치카 프로그램을 시작합니다. Raspberry PI의 하드웨어를 터치하므로 이번에는 루트 권한으로 실행합니다. 실용할 때는 적절히 권한 설정을 변경해 주십시오.
    $ sudo ruby rasbpi.rb 
    

    ↓RASPBERRY_PI_IP_ADDRESS 부분에는 라즈베리 파이의 IP 주소를 넣으십시오.

    빛나는 경우
    $ echo "on" | nc -u RASPBERRY_PI_IP_ADDRESS 10000
    

    멈출 때
    $ echo "off" | nc -u RASPBERRY_PI_IP_ADDRESS 10000   
    

    이상으로 완료입니다.
    이것을 인터넷을 통해 조작해 봅시다.

    다음 장 에서는 WebRTC Gateway 의 기동 처리를 실시합니다.

    좋은 웹페이지 즐겨찾기