달력

02

« 2019/02 »

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  •  
  •  

라즈베리파이 - 텔레그램 설치하기 


최종 정리.


sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev

sudo apt-get install libpython-dev libssl1.0-dev make


git clone --recursive https://github.com/vysheng/tg.git && cd tg


vi tgl/mtproto-utils.c

comment : 101 

파일을 열어서  101 라인, assert(0); 을 주석처리 합니다.


static unsigned long long BN2ull (TGLC_bn *b) {

  if (sizeof (unsigned long) == 8) {

    return TGLC_bn_get_word (b);

  } else if (sizeof (unsigned long long) == 8) {

    // marasong

    //assert (0); // As long as nobody ever uses this code, assume it is broken.

    unsigned long long tmp;

    /* Here be dragons, but it should be okay due to be64toh */

    TGLC_bn_bn2bin (b, (unsigned char *) &tmp);

    return be64toh (tmp);

  } else {

    assert (0);

  }

}


이제 컴파일합니다.


./configure

make


최초 실행하면 번호 인증을 진행합니다. 핸드폰 번호 하나로 여러 디바이스 인증이 가능합니다.


./bin/telegram-cli -k server.pub

phone number: 에서는 +8210 이런 식으로 넣어야 합니다.

그러면 이미 설치된 텔레그램으로 인증번호가 옵니다. 


텔레그램 봇을 사용하기 위해 파이썬 모듈을 설치합니다..


sudo python -m pip install python-telegram-bot


끝 ~


----- 에러 정리 1 -----

텔레그램 실행시 BN2ull 관련 에러가 뜨면 


pi@raspberrypi:~/workspace/tg$ ./bin/telegram-cli -k server.pub

Telegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman

Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'.

This is free software, and you are welcome to redistribute it

under certain conditions; type `show_license' for details.

Telegram-cli uses libtgl version 2.1.0

Telegram-cli includes software developed by the OpenSSL Project

for use in the OpenSSL Toolkit. (http://www.openssl.org/)

I: config dir=[/home/pi/.telegram-cli]

[/home/pi/.telegram-cli] created

[/home/pi/.telegram-cli/downloads] created

> telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0' failed.

SIGNAL received

vi tgl/mtproto-utils.c : comment : 101 : 이 파일을 열어서  101 라인, assert(0); 을 주석처리 합니다.


static unsigned long long BN2ull (TGLC_bn *b) {

  if (sizeof (unsigned long) == 8) {

    return TGLC_bn_get_word (b);

  } else if (sizeof (unsigned long long) == 8) {

    // marasong

    //assert (0); // As long as nobody ever uses this code, assume it is broken.

...

다시 컴파일 합니다. 


----- 에러 정리 2 -----

컴파일시 openssl 관련 에러가 뜨면


error

tgl/crypto/rsa_pem_openssl.c:41:6: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’


패키지 하나를 설치한 다음 다시 컴파일 합니다..


sudo apt-get install libssl1.0-dev


./configure

make







Posted by 멋지다마라송

라즈베리파이 5G 무선 끊김현상 - 아직 해결 안됨.


무선 설정 확인.

iwconfig wlan0

Power Management:on <-- 전원 관련 설정이 켜있음.


이걸 꺼야 합니다.


vi etc/network/interfaces

아래 내용중에서 전원 설정 한줄을 추가한다.


allow-hotplug wlan0

iface wlan0 inet manual

    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

wireless-power off 



다시 설정을 확인하면, 


iwconfig wlan0

Power Management:off



그런데 아직도 1분마다 끊어지고 있네요;; 해결 안됨.


그냥 2G 를 사용하면 편합니다.


Posted by 멋지다마라송

라즈베리파이 배시 칼라설정, 스왑 만들기 - 가상 메모리 만들기


1. 배시 칼라설정  Bash Color Setting 

.bashrc 파일을 열어서 아래 내용을 추가합니다.


vi ~/.bashrc 


# marasong

alias ls='ls --color=auto'

alias grep='grep --color=auto'

alias fgrep='fgrep --color=auto'

alias egrep='egrep --color=auto'


alias ll='ls -alF --color=auto'

alias la='ls -A --color=auto'

alias l='ls -CF --color=auto'


pi 유저와 root 유저 모두 설정하는게 좋습니다.



2. 스왑 파일 늘리기 Swap File Setting 

라즈베리안의 스왑파일은 기본값으로 100메가 인데, 적절하게 (1024 MB 또는 2048 MB) 늘려야 좋습니다.

라즈베리파이 3+ 인 경우 2048 강추. 라즈베리파이 3 인 경우 1024 정도가 적당합니다.


스왑 설정파일을 열어서 


sudo vi /etc/dphys-swapfile


CONF_SWAPSIZE 를 늘려줍니다.

CONF_SWAPSIZE=100 => CONF_SWAPSIZE=2048 (동영상에서는 1024)


저장 후 swapfile 을 재시작합니다.


sudo /etc/init.d/dphys-swapfile stop

sudo /etc/init.d/dphys-swapfile start






Posted by 멋지다마라송

라즈베리파이 - 구글 비전 Google Vision 설치


참조 :

구글 비전을 라즈베리파이에 사용하기 

https://www.dexterindustries.com/howto/use-google-cloud-vision-on-the-raspberry-pi/


구글 비전 : https://cloud.google.com/vision/


sudo apt install libjpeg8-dev python-picamera
sudo pip install --upgrade pip
sudo pip install --upgrade google-api-python-client google-cloud google-cloud-vision
sudo pip install --upgrade Pillow


이렇게 설치를 하고, 구글 클라우드 콘솔에 가서 API 를 사용할 수 있는 json 파일을 만들고 다운받아야 합니다.

너무 오래전에 해서 잘 기억은 안나지만, Google Vision API 사용 설정, 계정 키 다운로드를 해야 합니다.


https://console.cloud.google.com/iam-admin/

처음 들어가시면 먼저 프로젝트를 만들라고 할겁니다.

프로젝트 만들고, 서비스 계정을 만들면 됩니다.


https://console.cloud.google.com/apis/dashboard

API 키는 자동으로 만들어 지는거고, 프로젝트 이름을 정합니다.


그리고 저는 이 API 에 아무나 접근 못하도록 IP 주소로 제어했습니다.


그리고 이렇게 호출할 수 있는 API 를 지정합니다. 저는 Cloud Vision API 를 사용합니다.


그러면 json 이 있는데, 이걸 다운받습니다.

내용은 아래와 같습니다.


파일명 : MaraOCR-6de5cae72abd.json <-- 이 파일명을 변경하지 마세요.

{

  "type": "service_account",

  "project_id": "maraocr",

  "private_key_id": "6dd5bcafa88",

  "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDg2ik1wGkNTTlR\nbZYiVgqViXbtQPB66B6m3lfBC4oEe1Ct1JIX9FZQ1U0k+1DPrmaGFYWxL/M7DfpH\nWF4ZeP22fbuqwBVyixTzRMgAowg9eAlb2uJknRBjmbCfTQPOYNgPEXduNO7iS58boCQY70ToBHI2QMiPrdmiKQe9kdajFt\nJFJTHasCGZG1DzK1Z1FPrg2aCzU3QULtCtHHtvDo+XEK1lZ4/4zoAEOWyjMB23mm\nR0IjcM5bX0l9uvFtkmgS56Zh\n-----END PRIVATE KEY-----\n",

  "client_email": "maraadmin@maraocr.iam.gserviceaccount.com",

  ...

}


이제 설정은 끝났고, 코딩을 해야 합니다.



지금 구글 콘솔에 들어가니 허리케인 플로렌스가 오는데, 구글 클라우드 센터 (남동부 지역) 에는 어떠한 서비스 지연도 발생하지 않을거라는 안내가 뜨네요... 대단한 자신감입니다.

Hurricane Florence: We do not anticipate any service degradation in GCP region us-east1, located in South Carolina, or us-east4 located in Northern Virginia.



Posted by 멋지다마라송

라즈베리파이 텔레그램봇 설치



참고 : http://blog.acidpop.kr/184




Posted by 멋지다마라송


티스토리 툴바