?>

Hard Copy World

HCW

Tip and Tech

Home > Info >

Tip and Tech

라즈베리파이 - 텔레그램 연동 참고자료

페이지 정보

작성자 최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일15-10-28 16:08 조회3,669회 댓글0건

본문

1부 - 라즈베리파이에 Telegram CLI 설치 (http://blog.acidpop.kr/183)  

2부 - Telegram cli 기초 사용법 (http://blog.acidpop.kr/184)

3부 - Telegram cli bot 뼈대 만들기 http://blog.acidpop.kr/m/post/185

4부 - Telegram cli daemon 실행 및 서비스 등록 http://acidpop.tistory.com/186

5부 - Telegram cli BOT 최종 http://blog.acidpop.kr/187

 

관련 소스 다운로드 : https://github.com/acidpop/acidpop_tgbot

 

 

======================================================

파이썬 업데이트 (2.7.10) 참고자료 : http://sowingseasons.com/blog/building-python-2-7-10-on-raspberry-pi-2.html

==> 라즈베리파이2에서 HTTPS/SSL 관련 기능이 정상동작하기 위해서는 아래 패키치 설치 필요

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev 
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl

파이썬 2.7.9 이전 버전에서는 urllib 에서 ssl 을 적용하는데 제약이 있음. 2.7.10으로 수동 업데이트 필요.

$ cd ~
$ wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
$ tar -zxvf Python-2.7.10.tgz
$ cd Python-2.7.10
$ ./configure
$ make -j 4
$ sudo make install

 

설치 확인

$ python2

Python 2.7.10 (default, Jun  1 2015, 21:23:00)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

======================================================

아래 링크에서 get-pip.py 다운로드 후 라즈베리파이에 업로드 [download get-pip.py]

http://pip.readthedocs.org/en/stable/installing/

 

아래 명령으로 설치

sudo python get-pip.py

======================================================

그래프 - CairoPlot 라이브러리 (https://community.webfaction.com/questions/10038/how-to-install-pycairo-in-python27-thanks)

I've managed to install it in a test user's home like that:

  1. Open an SSH session to the server. If you don't know how this guide will help you.

  2. Download and uncompress the source code

    mkdir ~/downloads
    cd ~/downloads
    wget ftp://sourceware.org/pub/libffi/libffi-3.0.11.tar.gz
    wget http://ftp.gnome.org/pub/GNOME/sources/glib/2.31/glib-2.31.22.tar.xz
    wget http://cairographics.org/releases/pixman-0.26.2.tar.gz
    wget http://cairographics.org/releases/cairo-1.12.2.tar.xz
    wget http://cairographics.org/releases/py2cairo-1.10.0.tar.bz2
    tar xzf libffi-3.0.11.tar.gz
    unxz glib-2.31.22.tar.xz
    tar xf glib-2.31.22.tar
    tar xzf pixman-0.26.2.tar.gz 
    unxz cairo-1.12.2.tar.xz
    tar xf cairo-1.12.2.tar
    tar xjf py2cairo-1.10.0.tar.bz2

     

  3. Export some usefull variables

    export PKG_CONFIG_PATH=$HOME/lib/pkgconfig
    export LD_LIBRARY_PATH=$HOME/lib

     

  4. Install libffi (This step is optional on a CentOS 6 machine)

    cd libffi-3.0.11
    ./configure --prefix=$HOME
    make
    make install

     

  5. Install glib (This step is optional on a CentOS 6 machine)

    cd ../glib-2.31.22
    PYTHON=/usr/local/bin/python2.7 ./configure --prefix=$HOME
    make
    make install

     

  6. Install pixman

    cd ../pixman-0.26.2
    ./configure --prefix=$HOME
    make
    make install

     

  7. Install cairo

    cd ../cairo-1.12.2
    export PKG_CONFIG_PATH=$HOME/lib/pkgconfig
    export LD_LIBRARY_PATH=$HOME/lib
    ./configure --prefix=$HOME
    make
    make install

     

  8. Install py2cairo

    cd ../py2cairo-1.10.0
    export PYTHON=/usr/local/bin/python2.7
    ./waf configure --prefix=$HOME
    ./waf build
    ./waf install

     

The waf utility places the pycairo module to ~/lib/python2.7/site-packages/cairo/, which is not in the python path by default.

Depending on how you are going to use it (in a script or a mod_wsgi application for example) you might need to make some changes to your PYTHONPATH according to our Fixing ImportError Exceptions guide.

If you are going to use PyCairo to your apache/mod_wsgi server, you will also need to add the LD_LIBRARY_PATH variable you've exported on step 3 to your apache/mod_wsgi start script ~/webapps/your-app/apache2/bin/start as described in our Depending on Non-Standard Libraries and Headers Causes Errors guide.

If you are going to use PyCairo from an interactive python shell, then you will need to export the LD_LIBRARY_PATH from your ~/.bashrc file.

In order to complete this guide, I've just set my PYTHONPATH just before firing up a python interpreter to import the module:

[iliasr@web345]$ PYTHONPATH="$HOME/lib/python2.7/site-packages/:$PYTHONPATH" python2.7 -c 'import cairo; print cairo.version'
1.10.0

 

cairoplot 디렉터리에 있는 tests.py 를 실행해서 이미지 파일이 생성되지 않는다면 환경변수를 셋팅해주고 재 로그인

$ nano ~/.bashrc

아래 내용 마지막에 추가

export PYTHONPATH="$HOME/lib/python2.7/site-packages/:$PYTHONPATH"

저장 후 재 로그인. 다시 tests.py 실행해서 이미지 생성되면 완료

 

 

svg.charts 라이브러리
: https://bitbucket.org/jaraco/svg.charts#rst-header-upgrade-notes

$ sudo apt-get install libxml2-dev
$ sudo apt-get install libxslt1-dev

install the python dev package:
$ sudo apt-get install python-dev

samples.py 예제를 받아서 올려본 뒤 실행..
https://bitbucket.org/jaraco/svg.charts/src/tip/tests/samples.py?at=default&fileviewer=file-view-default

$ python samples.py

에러가 발생하면 소스로 설치 필요... 링크에서 최신 소스 다운로드 후 압축 해제
https://bitbucket.org/jaraco/svg.charts/downloads

소스파일을 포함한 폴더를 svg.charts.3.x 로 변경하고 ~/tg/bot/ 디렉토리에 업로드
/home/pi/tg/bot/svg.charts.3.x 폴더로 이동

$ cd /home/pi/tg/bot/svg.charts.3.x
$ sudo python setup.py build


/home/pi/tg/bot/svg.charts.3.x 폴더에서
아래 명령으로만 실행됨
$ python tests/samples.py
??????????????????????

 

======================================================

파이썬 인터페이스 1 : https://github.com/eternnoir/pyTelegramBotAPI <<<<<<<<<<< 추천

파이썬 인터페이스 2 : https://github.com/leandrotoledo/python-telegram-bot 

 

아래 명령으로 텔레그램 파이썬 인터페이스 라이브러리 설치

$ cd ~/tg/bot/
$ git clone https://github.com/eternnoir/pyTelegramBotAPI.git
$ cd pyTelegramBotAPI
$ sudo python setup.py install

 

homechat.py 파일을 아래와 같이 생성해서 라즈베리파이에 업로드

import telebot

bot = telebot.TeleBot("your_TOKEN")

@bot.message_handler(commands=['hello', 'start'])
def send_welcome(message):
    bot.reply_to(message, "안녕하세요!!")

@bot.message_handler(func=lambda message: True)
def echo_all(message):
    bot.reply_to(message, message.text)

bot.polling()

위 소스에서 your_TOKEN 부분을 자신이 받은 토큰으로 교체. 수정 후 라즈베리 파이 /home/pi/tg/bot/ 디렉터리에 업로드.

 

아래 명령으로 실행

$ python homechat.py

 

폰 또는 PC에서 텔레그램 접속해서 homechat 봇 계정과 대화 [/start] 명령을 보내면 [안녕하세요!!] 라고 응답을 주면 OK.

====================================================================

 

 

 

 

 

 

 

 

 

 

댓글목록

등록된 댓글이 없습니다.