기본 콘텐츠로 건너뛰기

2018의 게시물 표시

413 (Request Entity Too Large)

• 파일업로드 오류시 nginx 업로드사이즈변경 1. 설정파일을 연다. sudo nano /etc/nginx/nginx.conf 2. http구문안에 아래내용을 삽입한다. http {   # Set client upload size - 100Mbyte   client_max_body_size 100M;   ...   ..   . } 3.업로드 크기가 설정되었으니 nginx를 재시작한다. nginx -s reload 또는 service nginx restart

NodeJs 를 이용한 EPG 정보가져오기

* 나의 환경 정보 장비 : 라즈베리파이 3 b OS : 라즈비안 Jessie 사용 프로그램 : NodeJs v.8.11.3 방송사 : KT 올레TV 필요한 NODE 모듈은 아래와 같다. var cheerio = require ( 'cheerio' ),      request = require ( 'request' ),      iconv = require ( 'iconv-lite' ),      charset = require ( 'charset' ),      fs = require ( 'fs' ),      shell = require ( 'shelljs' ); * 순서 1. node로 웹크롤링을 해와서 방송 정보 xml파일을 만든다. 2. 만들어진 xml파일을 socat 을 이용하여 tvheadend xmltv.sock 로 전송해준다. * 소스 1. request 를 이용한 스크래핑 request . post ({          uri: epg2xml [ gISP ],          headers: { 'content-type' : 'application/x-www-form-urlencoded' },          body: require ( 'querystring' ). stringify ( postData ),          encoding: null         }, function ( err , res , body ){              if ( err ){                  throw err ;             }              var enc = charset ( res . headers , body );              var rst = iconv . decode ( body , enc );    

라즈베리파이 토렌트 다운로드완료 후 seed 자동삭제

1. 쉘파일저장할 폴더를 생성한다. sudo mkdir /home/pi/shell 2. 생성한 폴더의 권한을 설정한다. sudo chmod 777 /home/pi/shell 3. 폴더의 소유자를 변경한다. sudo chown -R pi /home/pi/shell 4. shell 파일을 생성한다  sudo nano /home/pi/shell/ autoDelSeed.sh  ‎  ‎5. shell스크립트 내용을 입력한다. 포트,아이디,비밀번호만 수정하면된다. #!/bin/sh SERVER=" 포트 --auth 아이디 : 비밀번호 " TORRENTLIST=`transmission-remote $SERVER --list | sed -e '1d;$d;s/$ for TORRENTID in $TORRENTLIST do     DL_COMPLETED=`transmission-remote $SERVER --torrent $TORRENTID$    STATE_STOPPED=`transmission-remote $SERVER --torrent $TORRENTI$    if [ "$DL_COMPLETED" ] && [ "$STATE_STOPPED" ]; then         transmission-remote $SERVER --torrent $TORRENTID --remove     fi done 6. 생성한 쉘스크립트파일의 실행권한을 추가한다.  sudo chmod +x /home/pi/shell/ autoDelSeed.sh 7. 트랜스미션을 정지한다. sudo /etc/init.d/transmission-daemon stop 8. Transmission-daemon 설정 변경 sudo nano /etc/transmission-daemon/settings.json 9. 설정이 필요한 아이템을 수정한다. "script-torrent-d

라즈베리파이 TVheadend EPG 설치로그

pi@raspberrypi:~ $ cd /home/pi/epg2xml-1.2.4 pi@raspberrypi:~/epg2xml-1.2.4 $ sudo chmod -x epg2xml.py pi@raspberrypi:~/epg2xml-1.2.4 $ sudo chmod 755 Channel.json pi@raspberrypi:~/epg2xml-1.2.4 $ sudo easy_install beautifulsoup sudo: easy_install: command not found pi@raspberrypi:~/epg2xml-1.2.4 $ python --version Python 2.7.9 pi@raspberrypi:~/epg2xml-1.2.4 $ sudo apt-get install python-setuptools Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed:   python-pkg-resources Suggested packages:   python-distribute python-distribute-doc The following NEW packages will be installed:   python-pkg-resources python-setuptools 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 306 kB of archives. After this operation, 957 kB of additional disk space will be used.Do you want to continue? [Y/n] y Get:1 http://mirrordirector.raspbian.org/raspbian / jessie/main python-pk

라즈베리파이 TVHeadend EPG 설치 및 설정

1.다운로드 받은 폴더로 이동한다. cd /home/pi/epg2xml-1.2.4 2. 실행권한을 부여한다. sudo chmod -x epg2xml.py 3. 접근권한을 부여한다. sudo chmod 755 Channel.json epg2xml.py , Channel.json  2개 파일의 실행 권한을 준다. 4. python-setuptools 설치한다. sudo apt-get install python-setuptools 5. beautifulsoup 설치한다. sudo easy_install beautifulsoup 6. lxml 설치한다. sudo easy_install lxml 6-1. lxml 설치오류나면 아래 프로그램을 순서대로 설치한다. 6-2. libxml2-dev 설치한다. sudo apt-get install libxml2-dev 6-3. libxslt1-dev 설치한다. sudo apt-get install libxslt1-dev 6-4. python-dev 설치한다. sudo apt-get install python-dev => 이미 있는거라고 나오거나 설치완료되면 sudo pip install lxml 를 설치한다. 7. python-bs4 설치한다. sudo apt-get install python-bs4 8. Tvheadend설정 epggrab에서 외부xmltv로 설정변경후 다음명령어를 실행한다. sudo /usr/bin/python /home/pi/epg2xml-1.2.4/ epg2xml.py -i KT -s /home/hts/.hts/tvheadend/epggrab/xmltv.sock

라즈베리파이 Tvheadend EPG 자동 스케줄등록

1. shell 파일을 생성한다. sudo nano /home/pi/shell/ epg.sh 2. 아래 내용을 입력한다. #!/bin/sh sudo /usr/bin/python /home/pi/epg2xml-1.2.4/ epg2xml.py -i KT -s /home/hts/.hts/tvheadend/epggrab/xmltv.sock 3. 실행권한을 추가한다. sudo chmod +x epg.sh 4. 자동스케줄등록을 위하여 crontab을 연다. crontab -e 5. 스케줄을 등록한다. 4 0 * * * /home/pi/shell/ epg.sh 6. crontab을 재시작한다. sudo /etc/init.d/cron restart

라즈베리파이1 최신 nodejs 설치

* 라즈베리파이 아키텍처에따라서 nodejs 설치파일이다르다. cat /proc/cpuinfo  위 명령어로 아키텍처 정보를 확인한다. rsp1 => ARMv6 1. 최신파일을 다운로드받는다. wget https://nodejs.org/dist/v8.9.4/node-v8.9.4-linux-armv6l.tar.gz 현재 최신버전은 8.9.4 2. 다운로드받은 파일 압축을 해제한다. tar -xzf node-v8.9.4-linux-armv6l.tar.gz 3. 버전을 확인한다. node-v8.9.4-linux-armv6l/bin/node -v 4. 폴더를 복사한다. cd node-v8.9.4-linux-armv6l/ sudo cp -R * /usr/local/ 5. path 설정을 한다. export PATH=$PATH:/usr/local/bin 6. 설치버전을 확인한다. node -v npm -v

라즈베리파이 miniDLNA 1.2.1

1. 라이브러리를 설치한다. sudo apt-get install autopoint debhelper dh-autoreconf gcc libavutil-dev libavcodec-dev libavformat-dev libjpeg-dev libsqlite3-dev libexif-dev libid3tag0-dev libogg-dev libvorbis-dev libflac-dev -y 2. 소스파일을 다운로드 받는다. wget  http://downloads.sourceforge.net/project/minidlna/minidlna/1.2.1/minidlna-1.2.1.tar.gz 만약 다운로드가 안되면 직접사이트에 들어가서 다운받는다. 3. 다운받은 파일 압축을 푼다. tar -xvf minidlna-1.2.1.tar.gz 4. minidlna 디렉토리로 들어간다. cd minidlna-1.2.1 5. configure, make, 그리고 minidlna 를 설치한다. ./configure && sudo make && sudo make install 6. 기본 설정 파일을 아래경로로 복사한다. sudo cp minidlna.conf /etc/ 7. 부팅시 자동으로 실행하게 스크립트를 등록한다. sudo cp linux/minidlna.init.d.script /etc/init.d/minidlna 8. 스크립트에 권한을 설정한다. sudo chmod +x /etc/init.d/minidlna 9. minidlna 를 기본으로 사용할 수 있게 설정한다. sudo update-rc.d minidlna defaults 10. minidlna.conf 설정하기 sudo nano /etc/minidlna.conf 아래와 같은 부분만 설정 #표시를 제거해서 주석처리를 제거한다. media_dir=V,/mnt/Tdown friendly_name=Raspberry DLNA inotify=yes media_