2018.4월 현재 라즈비안 OS를 설치하기 위하여 최신의 NOOBS를 사용하면 Stretch OS가 설치된다.

라즈베리파이는 OS가 지속적으로 변경이 되고 있으며, OS의 버전에 따라 제공되는 기능의 동작이 틀려지고, 설정방법도 달라지고 있다. 따라서 자신의 라즈비안 OS가 어느 버전인지를 확안하고, 그에 따라 기능을 설정하여 주어야 한다.

라즈비안 OS 중 하나인 Jessie 버전을 설치하기 위해서는 NOOBS 2.4.2 버전 또는 NOOBS 2.4.3 버전을 사용하면 된다. 또한 라즈비안 OS 설치시 인터넷 연결을 하지 않은 상태에서 진행을 하여야 한다.

NOOBS의 특성상 인터넷이 연결되면, 인터넷에 연결하여 최신의 버전으로 설치한다. 따라서 NOOBS가 Jessie 버전을 가지고 있더라도 인터넷에 연결이 되어 있다면, 인터넷에서 다운로드를 하여 최신의 OS 버전인 Stretch가 설치가 된다. 따라서 Jessie 버전을 설치하려면 인터넷이 연결되지 않은 상태에서 OS 설치를 하여야 한다.

Posted by 세상을 살아가는 사람
,

라즈베리파이에서 카메라를 enable하고, PiCam을 연결한 상태에서 진행한다.

참고로 이 기능은 라즈비안 OS version이 Jessie 버전일 경우 동작한다. 현재(2018.4월) 라즈비안 OS는 Stretch로서 이 OS에서는 동작을 하지 않는다. 따라서 라즈비안 OS를 Jessie 버전으로 설치하여 동작을 확인할 수 있다.

1. Gstreamer 0.10 패키지 설치

  $ sudo apt-get install libglib2.0-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev gstreamer-tools gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer-plugins-ugly

2.Gstreamer 0.10 서버 & 스크립트 다운로드

  $ wget http://gstreamer.freedesktop.org/src/gst-rtsp/gst-rtsp-0.10.8.tar.bz2

  $ bzip2 -d gst-rtsp-0.10.8.tar.bz2

  $ tar xvf gst-rtsp-0.10.8.tar

  $ cd gst-rtsp-0.10.8

3. 빌드

  $ ./configure

  $ make

4. 서버 실행 (스트리밍 시작)

  $ cd examples

  $ raspivid -t 0 -h 720 -w 1280 -fps 25 -b 2000000 -vf -hf -n -o - | gst-launch -v fdsrc ! h264parse ! gdppay ! tcpserversink host=127.0.0.1 port=5000 | ./test-launch "( tcpclientsrc host=127.0.0.1 port=5000 ! gdpdepay ! avdec_h264 ! rtph264pay name=pay0 pt=96 )"

  수행되는 process 확인 : $ ps -ef | more -> pi 계정으로 다음과 같이 3개의 process가 실행된다.

[출처] Gstreamer 설치하기|작성

 라핀트

  수행되는 네트워크 관련 상태를 확인해 본다. $ netstat -an | more

  - port 8554, 5000가 동작함을 다음과 같이 확인할 수 있다.

5. 확인

  - PC에서 다음 팟 플레이어를 설치하고, 실행한다.

  - Control-U를 누르고 주소 열기를 실행하고 rtsp://라즈베리파이IPaddress:8554/test


참조 : http://blog.naver.com/lapint/220330786481

Posted by 세상을 살아가는 사람
,

BCM2835 Hardware를 사용한 라즈베리파이 3(?)에서 pi 카메라를 연결하여 동작 실험을 하고 있다.

1. 라즈베리파이를 최신의 버전으로 업그레이드를 한다.

$ sudo apt-get update

$ sudo apt-get upgrade

2. 우선 카메라를 카메라 I/F에 연결하고, $ sudo raspi-config를 사용하여 카메라 기능을 enable 시키고 재부팅을 한다.

  - 카메라 케이블은 파란색 부분이 이더넷 잭이 있는 쪽으로 연결

3. 카메라 촬영

  $ raspistill -o image.jpg


4. 동영상 촬영

  - $ raspivid -o video.h264

  - HDMI port를 사용하여 모니터로 동영상 촬영된 것을 보기 : $ omxplayer video.h264

    + 터미널로 동영상이 출력되지 않고, HDMI 케이블에 연결된 모니터로 출력된다.

5. 동영상 스트리밍 서버를 구현하기 : mjpg-streamer 구현

  $ sudo apt-get install git cmake libjpeg8-dev imagemagick -y

  $ sudo ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h

  $ git clone https://github.com/liamfraser/mjpg-streamer

  $ cd mjpg-streamer/mjpg-streamer-experimental/

  $ make clean all

  $ sudo nano mjpg.sh    // /home/pi 디렉토리에 파일 생성

export STREAMER_PATH=$HOME/mjpg-streamer/mjpg-streamer-experimental

export LD_LIBRARY_PATH=$STREAMER_PATH

$STREAMER_PATH/mjpg_streamer -i "input_raspicam.so -d 200" -o "output_http.so -w $STREAMER_PATH/www"

$ sh mjpg.sh

- 크롬 브라우저에서 확인 : http://hostname:8080/stream.html

- 혹시 8080 port가 이미 사용 중이라면 port 관련 부분을 변경해 준다.


Posted by 세상을 살아가는 사람
,

라즈베리파이 모델이 여러가지가 있고, 또 Open Hardware라서 여러 벤더들이 있다.

라즈베리파이 모델 3라고 하여, 보드에 WiFi와 BLE과 내장되어 있는 것이 있는데, /proc/cpu_info를 해보니

CPU가 BCM2835 였다. 보통 BCM2709인데, 이상하게 이놈은 BCM2835였다. 아니면 BCM2836엔데...

그래서 webiopi가 동작하지 않는다. 프로그램에서 CPU 정보를 읽어 처리를 하는데, 정상적인 CPU가 아니기 때문에 비정상적인 처리를 하는 것이다. 그러므로 구매할 때 내장된 CPU 정보를 꼭 확인해 보는 것이 필요하다.

Posted by 세상을 살아가는 사람
,

라즈베리파이를 이용해서 JSP tomcat 서버를 구동하려고 한다.

이때 Tomcat의 포트번호를 default 8080에서 80으로 변경하여 적용하는 방법을 기술한다.

리눅스나 윈도우에서는 포트번호 1024 이하는 일반 사용자가 사용하지 못하도록 binding 자체를 못하도록 하고 있다. 따라서 tomcat conf 디렉토리에서 server.xml을 변경하여 port 번호를 8080에서 80으로 변경하더하고 동작을 하지 않는다.

대신 포트번호는 8080 그대로 유지한채 iptables를 변경하여 port redirect를 수행하여 80 포트번호로 접속을 요구하면 8080 포트가 대신 동작을 하게하여 해결할 수 있다.

다음의 명령어를 라즈베리파이 터미널에서 수행하여 줌으로써 동일한 효과를 얻을 수 있다.

$ sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

$ sudo iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT

$ sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

참고 : http://stackoverflow.com/questions/10450045/why-does-tomcat-work-with-port-8080-but-not-80


Posted by 세상을 살아가는 사람
,

리눅스 기본 명령어에 대한 설명을 한다.

1. $ ls

  - 디렉토리에 있는 파일 목록을 보여 준다.

  - $ ls -a    // .으로 숨겨져 있는 파일을 포함하여 파일 목록을 보여 준다.

    + 예를 들어, .profile, .bashrc 등의 파일을 더 볼 수 있다.

  - $ ls -l    // 파일 목록에 대한 보다 자세한 정보를 볼 수 있다.

    + 파일 종류, 억세스 권한, 소유자, 그룹에 대한 정보, 파일 크기, 생성일에 대한 정보를 볼 수 있다.

다음에 계속 기술...

Posted by 세상을 살아가는 사람
,

라즈비안 OS를 설치하는 방법은 3가지가 있다.

1. NOOBS 사용방법 : 전체 이미지 다운로드 후 설치

2. NOOBS Lite 사용방법 : 초기 부팅을 위한 부분만 다운로드 받고, 네트워크에 의하여 나머지 부분을 다운로드 받아 설치하는 방법으로 네트워크 기능이 동작하여야 한다.

  - 보통 DHCP로 IP address를 할당하는 체계라면, Ethernet을 연결하면 자동으로 IP address가 할당이 되어 외부와 통신할 수 있게 된다.

3. 라즈비안 OS만 다운로드하여 설치하는 방법 : 다른 OS를 설치하지 않고 전용 라즈비안만 설치 가능

보통 설치환경이 DHCP를 사용하여 IP address를 할당받는 네트워크라면, Ethernet을 연결하면, 최초 NOOBS로 부팅이 될 때, 자동으로 네트워크가 활성화되고, 외부와 통신이 가능하게 된다. 그러면 다른 OS 설치에 대한 정보가 보이게 된다.

고정 IP address를 사용한다면 라즈비안 OS만 설치할 수 있다. 부팅 시 네트워크가 동작하지 않아 다른 OS에 대한 정보가 표시되지 않는다.

따라서 DHCP 서버에 의하여 dynamic하게 IP address를 할당받는 방법이 설치에 용이하다.

Posted by 세상을 살아가는 사람
,

라즈베리파이에서 최신 라즈비안 OS인 Jessie를 사용하여 static IP address를 사용하려고 하였더니 어려움이 있었다.

Jessie 버전이 dhcpcd5를 default로 사용하다보니 혼동이 있다.

이에 정리를 해본다.

우선 문제가 DNS 서버에 대한 주소를 어떻게 설정하느냐 인데, 보통 DHCP를 사용하면 DHCP 서버로부터 DNS 서버 주소를 가져오기 때문에 자동으로 설정이 된다.

그래서 /etc/resolv.conf 파일을 보면 DNS 서버 주소가 저장이 되고 그것을 사용해서 DNS 프로토콜이 동작을 하고 domain name에 대한 IP address를 가지고 와서 연결을 해 나간다.

그러나 static IP address를 사용하면 DHCP를 사용하는 것이 아니기 때문에 DNS 서버 주소를 어디에선가 설정을 해주어야 한다.

착각할 수 있는 것이 /etc/dhcpcd.conf에서 static domain_name_server=192.168.0.1 8.8.8.8 이라고 마치 설정을 해주는 것 같은데, 실질적으로 동작을 하지 않는다.

그래서 /etc/network/interfaces에 domain name server 주소를 설정해 주어야 한다. 또한 auth eth0도 꼭 넣어주어야 한다. 즉,

auto eth0

iface eth0 inet manual

dns-nameservers 168.126.63.1 168.126.63.2


/etc/dhcpcd.conf 파일은

interface eth0

static ip_address=192.168.0.142/24

static routers=192.168.0.1

static domain_name_server=168.126.63.1 168.126.63.2 8.8.8.8


Posted by 세상을 살아가는 사람
,

학원에서 강의할 교재


Posted by 세상을 살아가는 사람
,

라즈베리파이에 라즈비안(Raspbian) OS를 설치하는 방법을 정리해 본다.


- 작업환경

  + USB keyboard, USB mouse, HDMI 연결 모니터, micro SD card (4GB 이상)

  + micro SD card에 라즈비안(Raspbian) OS를 처음으로 설치하는 것으로 라즈베리파이가 동작하기 위한 소프트웨어가 아직 설치가 되지 않은 상태에서 시작한다.

- micro SD card 포맷

  + 포맷 도구 :  https:/www.sdcard.org/downloads/formatter_4/eula_windows/

  + 다운로드 받은 파일(SDFormatterv4.zip)의 압축을 풀면 setup.exe 파일이 생성됨

+ setup.exe를 실행하면 SDFormatter icon이 바탕화면에 생성됨

+ SDFormatter를 실행

+ 옵션 메뉴에서 “Format Size Adjustment” 옵션을 “ON(켜짐)’으로 변

+ 드라이브를 확인하고 포맷(Format) 버튼을 클릭

- NOOBS(New Out Of Box Software)를 다운로드

+ 경로 : downloads.raspberrypi.org/noobs

  + 어떤 때는 너무 느려서 3~4시간이 소요되는데, torrent를 이용하면 다운로드 시간을 줄일 수 있다.

  + 최신의 NOOBS 파일(현재 당시, NOOBS_v2_1_0.zip 파일)이 다운로드 된다.


-. 다운로드 받은 파일을 압축해제 한다.

  + 압축해제된 파일 모두를 micro SD 카드에 복사한다.


- Micro SD 카드를 라즈베리파이에 삽입하고 전원장치를 연결한다.


위와 같은 순서대로 작업을 하면, Micro SD card에 저장된 복구용 프로그램으로 OS 설치에 대한 작업창이 나타난다.

NOOBS는 OS 및 다른 소프트웨어가 내장되어 있는 것으로 OS의 설치는 micro SD 카드를 넣은 후 라즈베리파이에 전원을 인가하여 부팅을 시작하는 단계에서 설치가 시작된다.


설치에 대한 자세한 내용은 추후 기술한다.


Posted by 세상을 살아가는 사람
,