'전체'에 해당하는 글 26건

http://download.wikipedia.org 에서는 세계 각국 버전의 wikipedia 가 차례대로 순환하며 dump 되고 있다.    한국어 위키백과 dump 가 1바퀴 순환하는데에 지난 11월과 12월사이는 1달이 조금 넘었는데 이번에는 23일 밖에 안걸렸다.  그 사이 dump 서버가 빨라진 것일까?

요사이 kowiki 의 dump 순서가 다가 오는 것을 지켜보고 있다가 아침에 dump 가 된 것을 보자마자 download 하여 잽싸게 MDict 로 변환하였다.   http://todaysppc.com 에 올리기 까지 2시간 남짓 걸렸다.  이렇게 해서 지난 1월 3일 이후 보름여 만에 또 한 무더기의 데이타파일들을 업로드했다.

그런데, About 페이지의 머리글을 2008년 12월 이라고 넣어 버리는 실수를 해버렸다.  어차피 백과사전 본문이 중요한 거니까... 냅 두기로 했다.  다음에는 잘하지 뭐.  다음 dump 는 2월 중순이 될 듯 한데 그 때는 표제어 수가 90,000 을 넘길 것으로 예상된다.


WRITTEN BY
tinysun

받은 트랙백이 없고 , 댓글  10개가 달렸습니다.
  1. 감사합니다. 재미있게 읽으면서 매먼 고마움을 새삼 느낍니다. 저도 직접 해보려고 했는데 잘 안되더군요. 그래서 제가 할 수 있는 건 이런 응원 메시지밖에 없네요.
  2. 올리신 자료 보고 이거다 싶어서

    저도 영문판 위키백과를 받아서 mdict파일로 변환 해보려고 합니다..

    영문판 파일을 받아서 다음 과정을 진행해 보려고 다시 들렀는데..

    wpko_filter.exe 를 어디서 찾아야 할지 잘 모르겠습니다..

    도움 부탁드리겠습니다..

    (--) (__) (^^)
  3. 영문판 위키대백과를 mdict용으로 변환해 보려고 합니다..

    직접 해보는 도중에 문제가 발생해서 더 진행을 할수가 없어

    도움을 부탁드리려 합니다..

    검색해 보니 enwiki-20080312-pages-articles.xml 라는

    자료가 있어서 다운로드했고 압축을 풀자 2.1G 정되 되는 XML

    파일이 생성되었습니다..

    이전에 올리신 블로그에서 WikiToMDict 2.0을 받아

    위키덤프 파일과 같은 폴더에 넣어 실행을 시켰더니 작업이

    진행되지 않았고, 혹시나 싶어 파일 이름을 pasges-articles.xml

    로 변경해서 실행했더니 WikiToMDictTemp.1 이 생성되고

    한참을 작업하는듯 하더니 wiki.txt 는 생성되지 않는군요..

    혹 다른 폴더에 생겼을까 싶어서 "wiki" 찾기를 실행해 보았으나

    찾아지질 않습니다..

    도움 부탁드리겠습니다..
  4. 앞의 2008년 12월판(http://tinysun.net/15)의 댓글을 쓰신 zamong 님에 이어 전설바람님도 영문판을 시도해 보셨군요.
    wpko_filter.exe 는 데이터를 다듬는 일만 할 뿐이고 포맷 변환과 무관합니다.
    그런데 영문판은 압축파일만 4 GB 가까이 됩니다. 압축을 풀면 17 GB 안팎 나오구요. 2.1G 되셨다니 푸실때 잘못푸신것 아닌가 싶습니다.
    파일이 크다 보니 처리하는데도 시간이 더 걸릴것입니다. 한국어판보다 30배이상 크니 변환시간이 적어도 24시간은 더 걸릴것 같구요.
    또, 큰 파일중 일부분에서 변환 에러가 나면 최종파일이 생성되지 않습니다.

    저도 최신버전의 영문위키사전을 갖고싶으나 다음 몇 가지 이유로 영문판 빌드를 시도하지 않고 있습니다.

    - WikiToMDict 를 써서 단번에 될 작업으로 보이지 않습니다. WikiToTomb 의 소스를 분석,패치하여야 에러없이 변환 될 듯합니다.

    - 많은 시간을 투자하여야 합니다. 에러난 곳을 고치고 다시 돌리면 또 24시간이상을 기다려야 합니다.

    - 혹시 빌드에 성공하더라도 3GB 이상되는 결과파일을 공유하기도 난감합니다. 20MB 로 나누어도 150 개 파일인데.. 좋은 공유방법을 알려주시면 감사하겠습니다.

    - 톰레이X 용 영문위키 2007년판을 이미 사용하고 있어서 큰 절실함이 없습니다.


    도움이 못되어 미안합니다.
  5. 1월판 정말 유용하게 쓰고 있습니다.

    감사합니다^^

    쓰다보니 욕심이 생기는데 2월판이나 3월판은 작업 안하신거지요?;

    찾아보니 없어서요^^;

    아무튼 1월판도 정말 잘 쓰고 있습니다. 다시 한번 경의를 표합니다.
    • 유용하게 사용해주셔서 고맙습니다.

      요새 download.wikipedia.org 의 업데이트가 지지부진해서 1월을 마지막으로 두 달동안 업그레이드를 못했습니다.

      하지만 근일 중에 3월판을 작업할 수 있을 것 같습니다. 작업한 후에는 투피와 블로그에 자료와 글을 올리테니 시간 나실 때 체크해 보시기 바랍니다.
  6. 작은태양님 안녕하세요.

    투피에서 받아서 잘 사용하겠습니다.
    앞으로도 꾸준한 업데이트 부탁드립니다. ^_^
    • 제가 위키백과 변환 방법을 참조한 그 분이시군요.
      저도 Xcaliber 님이 만드신 2008년 7월판을 잘 사용했었습니다.
      감사합니다.
  7. 영문위키백과에서 특정한 카테고리(예를들면 우주,과학,해양 등)만 따로 만들수도 있습니까?
    • 카테고리별로 article.xml 형식 파일을 만들 수 있으면 가능할 겁니다. 하지만 카테고리별로 표제어 목록 조차 만들기 힘들어 보입니다. 그리고, 특정 카테고리만 넣어서 만들었을 경우 다른 카테고리로 가는 링크는 모두 없어져서 조금 불편해 질 것 같습니다.

      감사합니다.
secret
한 달여만에 또 한번 위키백과 변환 작업을 하였다.

지난 번에는 에러가 나는 부분을 리눅스상에서 스크립트를 사용하여 skip 시켰는데 이번에는 C++ 코드를 작성하여 돌려 보았다.  평소 걸끄러워 보였던 본문 첫 부분의 thumb 문자도 제거해 버렸다.  

제작 방법은 기본적으로 Xcaliber 와 유사하지만 중간에 깨진내용과 thumb 를 처리하기 위한 filtering 프로그램을 한 번 돌려주는 것이 다르다.
 

1. http://download.wikipedia.org/kowiki/ 에서 pages-articles.xml.bz2 파일을 다운받는다. 

2. 알집으로 bz2 압축을 풀고 pages-articles.xml 파일로 이름을 변경한다.

3. WikiToMDict 2.0.exe 을 이용해서 wiki.txt파일로 변환한다.

4. wpko_filter.exe 를 이용해서 wiki_filtered.txt 로 변환한다.

5. MdxBuilder를 이용해서 mdx파일로 변환한다. 
Source : wiki_filtered.txt
Target : 위키백과_v8.12.mdx
Original format : MDict(Html)
Encoding : UTF-8(Unicode)
Title : Korean Wikipedia v8.12
Description :  (About 내용입력)

여기서 MdxBuilder 는 MDict 제작사에서 무료로 제공하는 MDict 사전 빌더 프로그램이다.

중요한 역할을 하는 프로그램은 위키백과의 xml 을 해석하여 MDict 빌더 입력을 위한 txt 파일을 생성하는 프로그램인 WikiToMDict 이다.  

이것은 MDict 에서 제공한 것도 아니고 위키백과에서 제공하는 것도 아니다.

출처인 http://www.hi-pda.com/forum/viewthread.php?tid=357806 로 보아 중국에서 만들어 졌음을 알 수 있다.  그런데 화면에 출력되는 진행 표시를 보면 infodisiac.com 에서 제공하는 툼레이더용 변환툴인 WikiToTome.pl 펄스크립트를 고친 것으로 보인다.

수 많은 위키백과 편집자와 infodisiac 의 TomeRaider 용 오리지널 perl 스크립트 개발자, WikiToMDict 개발자, MDict 개발자의 노력이 들어 있는 파일이다.  그것들에 비하면 내가 들인 노력은 아주 조그마한 것이다.

이 자리를 빌어 한국어 위키백과에 공헌하시는 분들께 또 한 번 감사드립니다.


WRITTEN BY
tinysun

받은 트랙백이 없고 , 댓글  6개가 달렸습니다.
  1. 감사합니다 잘쓸께요~
  2. 정말 대박입니다. 앞으로도 꾸준한 업데이트 부탁드립니다.
  3. 감사합니다. 정말 좋은 자료입니다. 잘 쓰겠습니다.
  4. 감사드립니다. 덕분에 위키피디아 잘 쓰고 있습니다.
    정말 존경스럽습니다. 퀄리티가 훌륭한 만큼 위키피디아의 검색어가 더 많이 늘어났으면 하는 욕심이네요.

    다름이 아니라 구글에서 영어 위키피디아도 받아 써 보았는데, 약 700메가 되더군요. 하지만 컨텐츠가 상당수 짤려있더라구요. 그래서 제가 직접 변환해봐야겠다 작업을 해봤는데, 잘 안되는데 무엇이 잘못되었는지 알 수 있을까요?^^
    1) http://download.wikipedia.org/enwiki/ 에서 pages-articles.xml.bz2 다운..(지금은2008년7월로 작업했습니다.)압축파일이 4기가..
    2) bz2 압축을 풀고 pages-articles.xml 파일로 이름을 변경. (압축을 푸니 17기가..고용량이라 알집으로 풀리지도 않았어요^^)
    3) WikiToMDict 2.0.exe 을 이용해서 변환.. 여기서 시간이 무지 오래 걸렸는데(20시간가량), 다섯 개의 별도 파일이 나오네요.. 확장자가 .1 .2a .2b .2c .2d 이렇게요.. (다섯개 합쳐 19기가..)
    4) 아.. 이제 다섯개의 파일을 어떻게 활용해야 할지 모르겠네요..이게 택스트 파일이라는 것인지.. 용량들이 커서. 제가 갖고 있는 텍스트 편집기로 열리지도 않습니다.
    (참.. 너무 용량이 큰 관계로 mdx builder를 통해 무엇인가 조정을 해야할 듯 한데.. 아직 감이 잘 오지 않아요..)
    -> 혹시 조언이나 팁이 있을까요?^^ 감사합니다!!
    • 잘 쓰고 계시다니 저도 기쁩니다.

      TomeRaider 용 한글 위키백과 데이타를 빌드할 때 WikiToTome.pl 를 패치하면서 알게 되었는데 변환과정은 내부적으로 3 단계(3 Phase)로 처리하도록 되어있습니다. 각 단계마다 임시파일을 생성하고 최종 작업이 성공적으로 완료되면 임시파일을 삭제합니다. WikiToMDict 는 WikiToTome.pl 을 MDict 와 중국어에 맞게 패치한 후 exe 로 변환시킨 것 같습니다.
      말씀하신 생성 파일로 유추해 보건대 2단계 실행중에 에러가 난 듯 합니다. 한글 TomeRaider 파일을 만들 때 2단계 파일이 10개도 더 생겼던걸로 기억하거든요.
      대안으로, 구글에서 english wikipedia v1.1 tr3 torrent download 로 검색하시면 TomeRaider 용 wikipedia full 버전을 구하실 수 있습니다. 이미지 없이 텍스트 뿐인데도 3GB 가 넘는 방대한 양 입니다. 다만 리더(TomeRaider)의 License 를 구해야 하는 것이 단점입니다. 저는 사실 영문판을 MDict 포맷으로 변환하더라도 MDict 리더가 제대로 처리할 수 있을지 약간 의문입니다.
      도움이 되었는지요? 감사합니다.
  5. 아~ 정말 감사합니다.^^아무래도 제가 위키피디아의 매력에 푹 빠져서 TomeRaider를 구입해야할 것 같습니다. ㅎㅎ일단 MDict로는 700메가짜리로 만족해야겠네요. 새해 복 많이 받으세요~~
secret
지난 번 tomeraider 용 위키백과를 만들었지만 인덱스 기능의 부재 때문에 결국 MDict 용 2008.7 판을 애용하고 있었다.

그러다가 엊그제 위키백과 dump 가 올라온 것을 보고서 바로 MDict 용 판을 만들었다.  

Xcaliber 님이 제시한 방법으로 만들어 나갔지만 순탄하지는 않았다.  깨진 표제어가 있었고 긴 표제어가 있어서 편집을 조금 해야 했다.

어쨌든 100MB 가까이 되는 mdx 파일을 공들여 만들어 todaysppc.com 에 올렸더니 생각보다 인기가 많았다.  잘 했다는 생각이 든다.

이 자리를 빌어 위키백과 표제어 80,000건 달성을 축하합니다.

WRITTEN BY
tinysun

받은 트랙백이 없고 , 댓글이 없습니다.
secret
한참 전부터 국내 최고의 과학관이 과천에 생긴다는 것을 알고 개관을 기다려 왔는데 드디어볼 수 있었다.

개관일 바로 다음날 (11/15) 아침에 갔다.   그 큰 건물에 생각보다 많은 사람들이 붐비었다.  심지어 식당에서 밥을 먹기위해 1시간 가까이 기다리는 짜증도 있었다.

여러개의 전시실이 있는데 인기의 격차가 심하다.  가장 인기있는 곳은  어린이 탐구 체험관이다.   어린이를 대상으로 하는데다 입장 인원에 제한을 두기 때문에 길게 줄을 서서 기다리는 광경을 볼 수 있다.

그 다음 인기 전시장은 바로 옆의 기초과학관.  이 곳의 백미는 시간마다 굉음을 내는 번개 발생 장치인 테슬라 코일이다.  어린아이 울음소리도 빠짐없이 들을 수 있다.

2층의 첨단기술관-2 도 인기 만점이다.  로봇들이 전시되어 있고 특히 움직이는 로봇이 시간마다 춤을 추기 때문이다.   아이들이 워낙 좋아 해서 전시물이 많이 고장 날 것 같다.

그 옆의 자연사관 도 꼭 들러야 할 곳이다.   입구 바로 안 쪽에 있는, 소파에 자빠져서 천정의 스크린을 감상하는 전시물에서 잠깐 쉴 수 있다.  가장 재미있는 것은 전시실 깊숙히 안쪽에 숨어있는 지름 2m 의 대형 지구본 (SOS, Science On a Sphere)이다.  어두운 방에서 회전하고 있는 커다란 파란색 지구는 환상적이었다.

그런데 몇 몇 전시실은 재미도 별로고 인기도 별로였다.  개인적 관심사에 따라 다르겠지만...

마지막으로 별도 건물로 되어있는 천체과학관에서 플라네타리움을 구경하고 싶었는데 못했다.  오후에는 예매객만 들여보내기 때문에 발걸음을 돌려야 했다.  다음 기회에...

옥외 전시물은 근처에도 못갔다.  하루만에 모든 전시물을 관람하는 것은 보통 체력이 아니면 안 될듯하다.




WRITTEN BY
tinysun

받은 트랙백이 없고 , 댓글이 없습니다.
secret

 큰사진보기!

지난 번 분당에 볼일 보고 오는 길에 헌인릉을 관람하였다.  외진 곳에 있고 날씨가 막 추워지던 때라 단풍이 볼 만 한데도 사람은 많지 않았다.

헌인릉에는 헌릉과 인릉이 있다.  헌릉은 세종의 아버지인 태종의 릉이고, 인릉은 정조의 아들인 순조의 릉이다.  인릉은 정자각, 비각 보수공사로 인해 관람이 어려웠으나 헌릉은 능침까지 들어가 볼 수 있었다.  12시,1시를 제외하고 매시 정시에 30분간 개방을 하므로 시간에 맞추어 능 꼭대기까지 올라가면 내부를 관람할 수 있다.

(참조)
헌인릉 - 위키백과     http://ko.wikipedia.org/wiki/헌인릉
문화재청 헌릉관리소  http://heonin.cha.go.kr/







WRITTEN BY
tinysun

받은 트랙백이 없고 , 댓글이 없습니다.
secret

위키백과 ebook

위키백과 2008.10.25 09:09
영문 wikipedia ebook 포맷(No image full version .tr3 포맷)을 PDA 에 담아서 오프라인으로 사용하였다.  wikipedia ebook 과 imdb ebook 으로 유명한 tomeraider 와 함께. 크기는 약 1GB 로 2GB 플래쉬 메모리에 넣고도 남았다.

영어의 압박으로 해석하느라 불편함이 있었지만 한글 위키백과는 ebook 버전을 찾을 수 없으니 어쩔 수 없었다.  그래도 방대한 양의 백과사전을 주머니에 넣고 다니면서 임의의 항목을 언제 어디서나 바로 조회하여 궁금함을 달랠 수 있어서 아주 좋았다.

그런데 얼마전 맘마미아 영화를 보고 배우들의 프로필을 알려고 PDA 에서 찾았지만 해당 항목의 내용이 부실해서 아쉬웠다.

wikipedia ebook 이 2006년도 판이라 2008년 개봉 영화에 관해서는 자세한 내용은 없고 제작예정이라는 정보뿐이었다.  최신 wikipedia 용량이 3GB+ 나 되어서 4GB 짜리 메모리카드를 사서 넣으니 좀 자세한 정보가 나왔다.  아마 다음 버전은 4GB 메모리로도 부족할 정도로 방대해 지지 않을까 생각한다.

어쨌든 이런 이유로 PDA 메모리가 업그레이드 되었다.

그런데 메모리카드에 3GB+ 파일을 넣고도 수백메가가 남으니 여기에 한글 위키백과가 있으면 좋겠다는 생각이 점점 커지게 되었다.  한글 위키백과는 영문에 비해 표제어수가 1/10 아래라서 300MB 도 안될 것 같았기 때문이다.  

하지만 또 아무리 인터넷을 뒤져도 한글판 위키백과 ebook 을 찾을 수 없었는데 이번에는 
http://infodisiac.com/Wikipedia/ProcedureTR3.html 를 찾을 수 있었다. 하지만 사이트 내용을 보면 지원되는 언어는 안타깝게도 DE (German), EN (English), EO (Esperanto), ES (Spanish), FR (French), NL (Dutch) or PL (Polish) 뿐이다.

그래도 혹시나 해서 절차를 따라 갔지만 한글 버전에는 역시 안 통했다.  심지어 돌다가 멈춰버린다. 그래도 조금만 손대면 될 수도 있겠다는 생각에 마음먹고 perl 스크립트 삽질을 시작했다.  

결국 일요일 하루와 며칠간의 아침잠을 헌납하여 숯한 시행착오 끝에 한글 tr3 파일을 만들 수 있었다.  처음 표제어 검색을 하려면 수만건의 표제어를 스크롤하여서 찾아야 하는 불편함이 있지만 컨텐츠간의 하이퍼링크는 정확히 작동했다.

이제 영문 wikipedia 와 한글 위키백과를 PDA의 4GB 메모리카드에 넣어 한 손에 들고 다닐 수 있게 되었다.  ^^;

허접 하지만 가져가서 써보고 싶은 분을 위해 링크를 걸어둔다.




WRITTEN BY
tinysun

받은 트랙백이 없고 , 댓글  3개가 달렸습니다.
  1. 위키백과를 잘 받아쓰는 사용자입니다.
    이런 일을 어떤 분이 하셨나라는 생각으로 여기까지 왔네요.
    감사하다는 말씀 드립니다.
  2. 정말 감사합니다^^
  3. 감사합니다. 잘 쓰겠습니다.
secret
지난 일요일엔 일원동의 가장 오래된 고목이라는 느티나무를 찾았다.  느티나무는 놀이터 옆에 있으며 300년된 나무답게 높이 솟아 있다.



일원동 느티나무 사진

일원동 느티나무




일원동 느티나무 안내판 사진

일원동 느티나무 안내판



마침 어떤 할머니가 놀이터 벤치에 앉아 쉬고 계시길래 나무에 대해 물어보았다.  동제를 지내는 나무라는 것을 인터넷을 통해 알고 있었기에 확인차 물어본 것이다. 

제사라기보다 고사를 지냈는데 나라에서 주관하여 지냈으나 요새는 지내지 않는다고 한다. 또, 일원동이 개발된 후에 이 나무는 죽어가고 있었는데 돈을 들여 살려놓은 것이란다.  일원터널 도로 밑에 물길이 있었는데 아마도 그것 때문에 나무가 잘 사는 것일 게라는 말도 하였다.

기대밖으로 그 근처에 오래사셨던 분이었나보다.  그 나무가 죽을 뻔 했다는 것은 처음 알게 되었다.

WRITTEN BY
tinysun

받은 트랙백이 없고 , 댓글이 없습니다.
secret

구글의 로고

분류없음 2008.09.11 11:08
어제 여기저기에서 뉴스로 소개되었지만 다른 평범한 사건들과 함께 그냥 잊고 있었다. 과학사의 커다란 사건을 오늘의 구글 두들이 상기시켜주었다.
사용자 삽입 이미지
그런데 이 CERN 이라는 곳은 팀버너스리에 의해 웹이 태어난 곳이기도 하니(최초의 웹사이트가 만들어진 곳이다) 구글과 무관하지는 않아보인다.

WRITTEN BY
tinysun

받은 트랙백이 없고 , 댓글이 없습니다.
secret
마소에서 안윤호님의 'Arduino 보드를 소개하며'라는 글을 읽고 흥미를 가지게 되었는데 인터넷에 관련 글들이 많이 있었다.  특히, Suapapa 님의 Arduino  에서는 기판제작에서 bootloader 심기까지의 과정을 자세히 보여 주었고 STK200 호환의 패러렐 ISP 를 사용하기위한 고급수준의 방법도 소개하였다.

이것 저것을 보다가 Digitypo님의 Bootloading for a board as an Arduino 를 읽어 보고선 나도 Avrmall 의 ATmega168 보드를 구입하여 여기에 Arduino 부트로더를 심어보고 싶어졌다.  명성높은 Arduino Diecimila 를 큰 맘먹고 구입하고, Avrmall ATmega168 Board 는 물론 부트로더를 Burnning 하기위해 P-AVRISP 도 같이 구입하였다. 

사용자 삽입 이미지

Arduino Diecimila (왼쪽) 와  Avrmall ATmega168 Board V2.1 (오른쪽)


사용자 삽입 이미지

Arduino Diecimila 밑면엔 이탈리아 지도가 그려져 있다.


사용자 삽입 이미지

패러렐포트를 사용하는 P-AVRISP


앞의 Digitypo 님께서 사용한 USBISP V3.0 보다는 저렴하다.  하지만 이것은 패러렐포트용 이라서 PC 에 패러렐포트가 붙어 있는지 확인해야 한다.  MrKiss 님의 USBTiny  에서 USB용 ISP를 자작한 내용을 볼 수 있다.  USBTinyISP 는 ATTINY2313 칩을 사용하는데 MrKiss 님은 이 칩을 프로그램하기위해 다른 ISP를 사용하였다고 한다.  Arduino 사이트에 Parallel Programmer 의 자작방법이 나와 있지만 그냥 P-AVRISP 를 사버렸다.  그런데 지금보니 비슷하게 생긴 youknow 님의 ISP 가 LED 도 있는 것이 더 좋아 보인다.


사용자 삽입 이미지

Avrmall ATmega168 Board 의 ISP 연결 사진

 

컴퓨터가 책상밑에 있기 때문에 같이 딸려 나오는 20cm 짜리 케이블로는 어림도 없었다.  확장케이블을 따로 구매했는데 10pin x 1m 짜리밖에 없었다.  보드의 커넥터는 6pin 이지만 10pin 용 케이블을 잘 사용하고 있다.


Avrmall ATmega168 Board V2.1 는 Digitypo님이 선택했던 것에 비해 더 저렴하고(\12,000) 빠른 클럭의 보드이지만 serial chip 이 없으므로 RS-232C 를 직접연결할 수 없다.  때문에 RS-232C <-> RS-232.TTL 변환기 또는 USB <-> RS-232.TTL 변환기가 있어야 Arduino 환경에서 작성한 코드를 시리얼로 업로드 할 수 있다.  Digitypo님은 DIP232RL V1.0 을 사용하였고 인터넷을 보니 더 저렴한 것도 있었는데 집에 있던 USB <-> RS-232C 를 분해하여 쓸 생각으로 아무 것도 구매하지 않았다.


arduino.cc 다운로드 페이지 에서 윈도용 Arduino 환경을 다운받아 적당한 위치에 압축을 풀면 바로 실행을 할 수 있다.

사용자 삽입 이미지

Arduino 개발환경 초기화면


Arduino Diecimila 보드를 USB 로 연결하니 FT232칩 관련 드라이버를 설치하는 화면이 나오고 난 후 COM 포트가 새로 생겼다.  Arduino 환경에서 새로 생긴 COM 포트를 사용한다.

사용자 삽입 이미지

Arduino 개발 환경에서 COM7 이 추가된 모습


Sketch 로 샘플 소스를 열고 Upload to I/O Board 아이콘을 클릭하면 잠시 후 Arduino Diecimila 에서 실행되는 것을 볼 수 있다.

사용자 삽입 이미지

Sketch 소스 (LED 점멸)


사용자 삽입 이미지

Arduino Diecimila 의 LED가 켜져있는 사진


이제 Sketch 로 작성된 것을 Avrmall ATmega168 Board 에서도 같은 방식으로 돌려보겠다.  우선, Avrmall ATmega168 Board 에 P-AVRISP 를 사용하여 Arduino 부트로더를 심어야 한다.  Avrmall ATmega168 Board 의 clock 은 Arduino Diecimila 나 Arduino Mini 와 다르게 20MHz 로 되어 있으므로 이것에 맞게 새로 빌드한 부트로더와 보드설정을 사용한다.

arduino 개발환경이 설치된 곳의 hardware 디렉토리에 boards.txt 라는 파일이 있다.  맨 끝에 다음을 추가한다.
##############################################################
avrmall.name=Avrmall ATmega168 Board V2.1

avrmall.upload.protocol=stk500
avrmall.upload.maximum_size=14336
avrmall.upload.speed=19200

avrmall.bootloader.low_fuses=0xff
avrmall.bootloader.high_fuses=0xdd
avrmall.bootloader.extended_fuses=0x00
avrmall.bootloader.path=atmega168
avrmall.bootloader.file=ATmegaBOOT_168_avrmall.hex
avrmall.bootloader.unlock_bits=0x3F
avrmall.bootloader.lock_bits=0x0F

avrmall.build.mcu=atmega168
avrmall.build.f_cpu=20000000L
avrmall.build.core=arduino
##############################################################

f_cpu 값이 20MHz 에 맞추어 졌고 bootloader.file 에 지정된 파일명이 Arduino Diecimila 의 설정과 다르다.  아래 ATmegaBOOT_168_avrmall.hex 를 다운로드 하여 hardware\bootloaders\atmega168 디렉토리에 복사한다.
ATmegaBOOT_168_avrmall.hex

Avrmall ATmega168 Board V2.1 용 부트로더


참고로, 이 hex 파일은 atmega168 디렉토리의 Makefile 을 아래와 같이 고친 후 cygnus 쉘에서 make avrmall 을 실행하여 만든 것이다.
##########################################
#AVR_FREQ = 16000000L
AVR_FREQ = 20000000L

avrmall: TARGET = avrmall
avrmall: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>3' '-DNUM_LED_FLASHES=3'
avrmall: $(PROGRAM)_avrmall.hex
##########################################

사용자 삽입 이미지

Arduino 개발환경 메뉴에 Avrmall 보드가 표시된다.


P-AVRISP (유저가이드)는 Arduino 의 Parallel Programmer (회로도) 와 다른 종류 이다.  P-AVRISP 를 Arduino 환경에서 사용할 수 있도록 hardware 디렉토리의 programmers.txt 파일의 맨 끝에 다음을 추가한다.
#####################################
stk200.name=P-AVRISP(STK200)
stk200.communication=parallel
stk200.protocol=stk200
#####################################

사용자 삽입 이미지

Arduino 개발환경 메뉴에 P-AVRISP 가 표시된다.


이제 P-AVRISP 를 연결해서 Avrmall ATmega168 V2.1 에 arduino bootloader 를 burnging 할 차례다.  Arduino 환경의 Tools / Board 에서 Avrmall ATmega168 Board V2.1 을 선택한 후 Burn Bootloader 에서 w/ P-AVRISP(STK200) 을 선택한다.  Digital 13번(PB5) 핀에 LED 를 연결해 놓았다면 LED가 깜박이는 것으로 부트로드가 버닝되는 순간을 확인할 수 있다.

사용자 삽입 이미지

다운로드 되는 것을 확인하기위한 LED 연결


그런데 LPT1 을 열 수가 없다는 에러가 발생하면 별도의 드라이버(giveio.sys)를 설치해주어야 한다.    hardware\tools\avr\bin 디렉토리에 가면 install_giveio.bat 가 있다.  이것을 탐색기에서 더블클릭 하여 실행한다.  아래는 실행결과를 보기 위해 도스창을 열어서 실행한 화면이다.  
사용자 삽입 이미지
 
패러렐포트 사용을 위한 giveio.sys 설치



Guide to the Arduino Mini 의 Connecting the Arduino Mini and a regular Arduino 에 나온대로 가지고 있는 Arduino Diecimila 보드를 USB<->RS-232.TTL 변환기 대용으로 사용해 보았다.(리셋핀 연결은 필요없다)  Arduino 환경에서 Upload 하는 순간에 맞추어 Avrmall ATmega128 Board 의 Reset 버튼을 눌러줘야 한다.  Arduino Diecimila 보드에 내장된 RX, TX LED가 깜박여서 업로드 되고 있음을 확인할 수 있다.
 
사용자 삽입 이미지

Arduino Diecimila 를 USB<->시리얼 컨버터로 사용


이제 Arduino 가 두 개 생겼다.  하나는 Arduino Diecimila 정품, 하나는 Arduino Mini 짝퉁(?).  하지만 더 빠르고(16MHz -> 20MHz) 귀여운 Arduino 이다.




WRITTEN BY
tinysun

트랙백이 하나이고 , 댓글  10개가 달렸습니다.
  1. 글 잘 읽었습니다. 이런 방법으로 하셨군요.
    싸고 좋은 것 같아요.
    전 원래 하드웨어 개발자가 아니라 디자이너라 사실 잼뱅이랍니다.
    재미난 것 많이 만들어주시고 보여주세요~ ^^
    • 디자이너셨군요. 저도 사실은 하드웨어가 아니라 소프트웨어쟁이랍니다. 블로그에 찾아가 보니 신기한 것이 많네요.
  2. 국내에서 쉽고, 싸게 구할 수 있는 AVR보드로 Arduino를 만드는 과정을 소개해 주셔서 감사합니다.

    저도 추후에 소형화를 위해 이런 과정을 밟아갈 예정이었는데 정말 큰 도움이 되었습니다. :)
    • 저도 suapapa 님께서 소개하신 S3V3 를 조만간 따라 만들고 싶은데 좀 어려워보이네요, 후에 도움 부탁합니다.
  3. 안녕하세요.아트센터 나비입니다^^
    2009년부터 아트센터 나비에서 선보였던 기술 워크샵이 <나비 스튜디오>로 거듭납니다. 단순히 교육에 그치지 않고 교류와 외부적 활용까지 연계되는 프로젝트형 입니다. 첫번째 프로젝트는 센서를 활용하는 <Ribbon/Reborn> 입니다.
    혹시 관심이 있으시면 http://blog.naver.com/nabiworkshop 을 참조해주세요.
  4. 포스트 넘 감사합니다.
    갑자기 알게된 arduino에 무지 관심을 갖고 있으나 전자 전공이 아니라서 어렵네요

    저도 arduino 보드가 갖고 싶은데 작은태양님 엄청 싸게 만드셨네요. Avrmall ATmega168 V2.1 만 가지고는 arduino 보드를 만들수 없는거 같은데....
    저런 보드에 arduino 부트 로더를 넣어서 파는곳은 없을까요?
    별것도 아닌데 다들 너무 비싸게 파는듯해요. ㅜㅜ

    한가지더 질문요. 아무 atmega 보드나 다 arduino 보드로 만들수 있는건가요?
  5. 댓글 주셔서 감사합니다.

    Avrmall ATmega168, Parallel Programmer, 시리얼케이블(TTL) 을 자작 또는 구매하여 해결하시는 것이 어떨까요? 그리 비싸지 않고 좋은 경험이었습니다.

    임의의 atmega 보드를 arduino 보드로 만드는데는 회로가 구성된 형태에 따라 제약이 있을 것 같습니다.
  6. 매번 같은글 읽고 또 읽으면서도 리플한줄 달지 않고 갔네요. ^^;
    arduino S3V3 자작 후 처음 부트로더 심을 때 많은 도움이 되었습니다.
    이번에 arduino mini를 써볼까 했다가 예전에 읽었던 이 글이 기억나 다시 찾아와서 읽고 갑니다. ^^
  7. :)
    아주 예전에 이 글을 보고 저도 Avrmall ATmega168 Board를 아두이노로 만들어서 가지고 놀았던 기억이 나네요.
    한동안 모셔두었다가 학교 프로젝트 때문에 다시 아두이노를 사용하게 되었는데 생각나서 몇 자 적고갑니다.

    좋은 글 감사합니다.
  8. 글 잘 읽었습니다. 정말 좋은 자료이네요...
    처음 시작하시는분들 많은 도음이 되겠습니다.
secret

Prefactoring

분류없음 2008.04.22 19:59


Ken Pugh 가 쓴 명저로 졸트(Zolt)상을 수상한 책이다.

prefactoring 이란, 경험으로 부터 얻은 소프트웨어 개발에 관한 통찰력을 새 프로젝트에 응용하는 것이다.
( THE ART OF PREFACTORING APPLIES TO NEW PROJECTS THE INSIGHTS INTO DEVELOPING SOFTWARE YOU HAVE GLEANED FROM YOUR EXPERIENCE, as well as the experience of others, in developing software to new projects. )

Refactoring 이 이미 만들어진 코드의 내부구조를 개선하는 것이고 prefactoring 은 만들고 있는 코드를 위한 것으로 볼 수 있다.

책의 내용은 가상의 소프트웨어 프로젝트를 진행하면서 design, code, testing 에 관한 guideline 및 design principle 을 제시한다.  guideline 및 principle 하나하나가 녹록한 경험에 의한 산물로 보인다.  더러는 너무 쉽고 당연한 것도 있고 이해하기 힘든 추상적인 것도 있다.  하지만 대부분은 간결한 문장으로 정리되었으면서도 깊이있고 공감이 가게되는 주옥같은 표현의 지침들이다.

접근하기 쉬워 보이는 것들만 소개한다.


Guidelines
==========
(Big Picture)
Don't Reinvent the Wheel
Think About the Big Picture
Don't Repeat Yourself (DRY)
Plan Globally, Develop Locally

(Extreme Abstraction)
Splitters Can Be Lumped More Easily than Lumpers Can Be Split
Never Let a Constant Slip into Code

(Extreme Separation)
Adapt a Prefactoring Attitude
Do a Little Job Well and You May Be Called Upon Often
Decouple with Associations

(Extreme Readability)
A Rose by Any Other Name Is Not a Rose
Communicate with Your Code
The Easiest Code to Debug Is That Which Is Not Written
Use the Client's Language

(Interfaces)
Test the Interface, Not the Implementation

(Error Handling)
Report Meaningful User Messages
Never Be Silent

(General Issues)
Don't Speed Until You Know Where You Are Going
Consistency Is Simplicity
Plan for Testing
More Is Sometimes Less



Software Design Principles
==========================
Well-Defined Interfaces
Decomposition and Modularity
Prioritized Requirements
Abstraction
Information Hiding
Extensibility
Hierarchy
Separation of Concerns
Packaging




WRITTEN BY
tinysun

받은 트랙백이 없고 , 댓글이 없습니다.
secret