?>

Hard Copy World

HCW

Raspberry Pi

Home > Learning >

Raspberry Pi

텔레그램 Cli - 파이썬 - 날씨 가져오기

페이지 정보

작성자 하드카피 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일15-04-17 17:50 조회6,136회 댓글1건

첨부파일

본문

 

텔레그램 챗 그룹에 'weather' 혹은 '날씨' 라고 입력하면 현재 날씨를 추력해주는 예제입니다. 파이썬을 이용해서 텔레그램 Cli 를 제어하는 방법을 설명하는 기초 예제입니다.

날씨 데이터는 OpenWeatherMap 에서 제공하는 날씨를 사용합니다. 이미 이 데이터를 쓰기 편하도록 라이브러리가 만들어져 있습니다. PyOWM 입니다.

 

PyOWM 설치

  • sudo apt-get install python-pip
  • sudo pip install pyowm

 

OpenWeatherMap 에서 데이터를 가져오기 위해서는 API_key 가 필요합니다. 아래 링크로 들어가서 간단한 회원 가입 후 API key를 적어둡니다.

http://openweathermap.org/register

PyOWM 라이브러리를 사용하는 방법은 아래 링크에서 확인.

PyOWM 참고자료 링크API document

 

소스코드는 첨부파일로 넣어뒀습니다. 소스코드 작성하신 후 ./weather.py 실행하시면 쉘이 멈춥니다. 이 상태에서 폰의 텔레그램에서 '날씨' 입력해보세요.

 

소스코드에서 pubkey, grpname, username, weather_api_key, weather_location 등의 변수 값은 자신의 설정에 맞게 변경해서 사용하세요.

 

# Global variables
# Use your own settings
grpname = 'Pi_test'
username = 'YoungBae_Suh'
weather_api_key = '96af81ab7e4c79776dd2304623d76e40'
weather_location = 'Seoul,kr'
telegram_path = '/home/pi/tg/telegram'
pubkey = 'tg.pub'
QUIT = False

 

'weather' 또는 '날씨' 라는 단어에 반응하도록 추가한 코드는 아래와 같습니다.

                    # weather command
                    elif cmd[0].lower() == 'weather' or cmd[0] == '날씨':
                        owm = pyowm.OWM(weather_api_key)
                        obs = owm.weather_at_place(weather_location)
                        w = obs.get_weather()
                        report_str = w.get_detailed_status()
                        report_str += ", "
                        report_str += str(w.get_temperature(unit='celsius')['temp'])
                        report_str += "'C, "
                        report_str += str(w.get_humidity())
                        report_str += "%"
                        tg.msg(msg['cmdgroup'], report_str)

 

 

 

참고자료

 


하드카피 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물

모든 전통이 한 때는 오해를 면치 못했다. 마찬가지로 모든 아이디어는 한 때는 비웃음을 면치 못했다. -홀브룩 잭슨 ::::: 느닷없이 떠오르는 생각이 가장 귀중한 것이며, 보관해야할 가치가 있는 것이다. -베이컨 ::::: 미리 숙고하면 힘든 일도 그저 실행에 옮기는 순간 쉬워진다. - 로버트 M. 피어식

추천 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글목록

xoskd님의 댓글

xoskd 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

weather.py 실행하면 오류가 뜹니다
Traceback (most recent call last):
  File "weather.py", line 11, in <module>
    import pytg
ImportError: No module named pytg

해결법을 모르겠네여 ㅠㅠ