smart mirror project [day 5]
DIY IOT - smart mirror project2월 23일 화요일, 다섯째날
오늘의 목표: 한 화면에서 날씨도 나오고, 시간도 보이고, 뉴스도 출력하도록 해보자 ===> (오후에 변경) GUI에 데이터를 얹는거라도 완성하자
아침부터 일단 ssh 연결 및 wifi 동글 활성화를 위해 라즈베리파이에 이것저것 설정을 했다.
지난 번 나를 그토록 애먹였던 wifi 동글 설치는 의외로 아주 빠르게 잘 됐다. 뭐든 그렇지만 '차분하게' 따라하면 다 잘 풀린다. 드디어 랩 와이파이가 잡힌다 ㅠㅠ (물론 랜선을 연결해도 되긴 하지만......)
참고: http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=lecture_rpi&wr_id=18
더 욕심을 내서, 맥에서도 라즈베리파이 구동 화면을 검정화면 말고 풀 화면으로 모두 보기 위해 vnc viewer를 설치하기에 이르는데... 계속 host computer가 거부한다는 메시지만 뜬다. 그리고.... 이 서버는 내 맥을 외부에서 인식하기 위한... 그런 느낌을 준다... 이상한 일이지...
참고: http://jpub.tistory.com/286
일단은 넘어가기로... (이건 당장 중요한 일이 아니니까...) 내 바탕화면 코끼리의 자태가 살짝 보인다.
다시 시각화 작업을 시작해보자. 어젯밤에 나름 이런저런 고민과 실험을 한 끝에! gui 툴은 wxpython을 활용하기로 했다. 내가 생각한 python gui 라이브러리의 장단은 요렇다.
|
Tkinter |
PyQT4 |
wxpython |
장점 |
굳이 설치할 필요가 없다. 파이썬 기본라이브러리로 내장돼있으니까. |
정말 많은 용례가 있다. 참고할만한 사이트도 많고 소스도 많다. |
예쁘다. 뭔가 size 지정같은 것도 그렇고 얼핏보면 꽤 직관적인 것 같다. 라즈베리파이에선 설치도 아주 노말하게 잘 된다. |
단점 |
안 예쁘다. |
설치가 겁나 빡세다. |
이상하게 내 맥에선 자꾸 설치가 튕긴다. |
너무 편파적인 분석일지도 모른다. 나는 원래 하나에 애정을 가지면 그냥 그것만 예뻐보이..ㅁ...
시각화
일단 wx.widget 라이브러리를 백번 활용해야겠다는 생각에 여기서 자체적으로 가지고 있는 시계 코드를 좀 써봤다.
이 링크 최고다 http://zetcode.com/wxpython/in18/
잘 흘러가긴 하는데 시간이 살짝 맞지 않는다. 다시 잡아줘야할듯.
오후 2시 45분 현재.
이번엔 wxPython에 뉴스를 띄워보기로 한다. 전에 만들어둔 것을 복붙해서 요리조리 굴려보는 것이다. 하지만 이 코드 하나 가지고 지금 약 두 시간 정도를 헤매고 있다. 어찌보면 이거 하나 해결되면, 날씨도 쉽게 할 수 있을 듯도 한데...
(아무리봐도 정말 원시적으로 붙여넣는 코드화면....)
화면 속 노란색, 저 txt가 문제다. txt = dataread()를 하면, 그건 dataread()를 통해 얻는 텍스트데이터를 가져가는 게 아니라 dataread()라는 클래스(기능)을 가져갈 뿐이다. 즉, drawtext를 할 수 있는 string(문자)으로서 부적합한 셈이다.
여기에 한 줄만 넣어 바꾸거나, 혹은 drawtext가 아닌, 말그대로 텍스트를 출력하는 게 가능하면 좋겠는데... gui라는 것이 그래픽 부분이니... 당췌 가능할지 모르겠다. (엉엉) 계속 찾아보던 중 방법을 알아냈다. (사실은 옆자리 태영이랑 앞자리 진한이가 도와줬다!!)
방법은 생각보다 간단했다. list 생성해 -> append를 하는 것... 그럼 type = list가 되니까, 거기서 요소를 추려내면 그건 txt!
나는 리스트까지만 생성하고, 어펜드는.... 하지 못했다.... 이게 바로 겉핥고 뛰어넘기의 한계 ㅠㅠ
결과적으로 이와 같은 아름다운 결과가 드디어 나왔다 ㅠㅠ
물론 날씨도 이렇게 잘 나온다.
이렇게 데이터들을 GUI에 얹었다. 정말 행복한 하루다. 이제 이들을 한 화면으로 모아다가 예쁘게 배열도 좀 하고 정보도 좀 고르고 해야하는데...... to be continued....
'DIY IOT - smart mirror project' 카테고리의 다른 글
smart mirror project [day 7] (0) | 2016.03.28 |
---|---|
smart mirror project [day 6] (0) | 2016.02.25 |
smart mirror project [day 4] (0) | 2016.02.22 |
smart mirror project [day 3] (0) | 2016.02.19 |
smart mirror project [day 2] (5) | 2016.02.17 |