:::: MENU ::::
Browsing posts in: Open Source Hardware

Fritzing 라이브러리 만들기

Frtizing이라는 툴을 지난번에 소개한 적이 있다.  독일의 오픈 소스툴
이 툴을 직접 사용을 해봤는데, 실제 피지컬한 보드를 가지고 설계를 하는 듯한 느낌이 있고 이것을 다시 회로로 변환을 해주는 것이 흥미롭다. 전자공학을 하는 초보자들에게는 좋은 툴인 동시에 이미 많이 개발된 파트 라이브러리 덕에 문서 작업에 유용하게 쓰일 수 있다.
이미 아두이노, 아두이노 이더넷 쉴드, Xbee, mbed…등등의 파트들이 제작이 되어 있다.

자신만의 라이브러리를 만들여면 이미지 작업을 해야하는데, 이미 만들어 놓은 라이브러리를 수정해서 사용하면 좀 편하다. 이미지 파일은 벡터기반의 SVG포맷으로 만들어야 한다. 따라서 오픈 소스 툴인 InkScape를 사용하던지 상용툴인 어도비사의 일러스트레이터를 사용해야 한다. 구체적인 정보: http://fritzing.org/learning/tutorials/creating-custom-parts/

필자가 만들어본 WIZ820io Fritzing 라이브러리

아두이노 보드와 연결된 WIZ820io 회로


오픈소스 커뮤니티에 대해…

아래 기사는 삼성전자의 모바일 플랫폼인 ‘바다’에 대한 조언이지만, 크게 보면 오픈 소스 커뮤니티를 구성을 할때 어떻게 해야하는지에 대한 전문가의 의견이다.
중요한 이슈는 “오픈 소스 커뮤니티에 개발 과정을 전부 공개하고, 개발자들이 참여를 할 수 있도록 하는 것”

“바다 성공하려면 제3의 조직에서 운영해야”

“삼성전자 자체 모바일 플랫폼 ‘바다’가 성공하려면 삼성에서 분리된 별도 조직에서 바다를 운영해야 합니다.”
헤럴드 웰테(Harald Welte) GPL바이올레이션스 설립자는 바다 성공의 전제 조건을 제3의 비영리조직 설립이라고 제안했다. 웰테는 2004년 오픈소스 지식재산권 감시 비영리 조직 GPL바이올레이션스를 설립했으며 오픈소스 관련 컨설팅 대가다. 그는 또, 리눅스 커널 방화벽 엔진 넷파일러·아이피테이블(Netfiller/iptables)과 리눅스 커널 패킷 필터 서비스 시스템 핵심 개발자다.
웰테는 “삼성이 바다를 공개한 것이 오픈소스화하는 것인지 휴대폰 제조사에게만 주는 것인지 명확하지 않다”며 “바다가 노키아 심비안의 전철을 밟지 않으려면 오픈소스 커뮤니티에 개발 과정 전체를 공개해야 한다”고 설명했다. 그는 “노키아 심비안은 오픈소스 SW지만 개발과정에 외부 개발자를 참여시키지 않았다”며 “그냥 웹 사이트에 공개한 오픈소스는 의미가 없다”고 지적했다. 웰테는 “바다가 오픈소스 전략으로 성공하려면 삼성으로부터 완전히 분리해야 한다”며 “바다 파운데이션과 같은 별도의 조직에서 다른 기업과 개발자가 참여할 수 있게 해야 한다”고 설명했다. 삼성은 초기 바다 파운데이션 설립에 힘을 보태고 꾸준한 지원을 하며 개발자는 물론이고 대학, 다른 기업을 참여시키는 형태다.
웰테는 “모바일 플랫폼의 성공 여부는 서드파트 애플리케이션 확보에 달려있다”고 덧붙였다. – 출처: 전자신문


Visual diffs

오픈 소스 소프트웨어의 버젼관리는 SourceForge, GitHub, Google Code등을 이용가능하다.
하지만 오픈 소스 하드웨어의 경우는 아직 이런 툴들이 없다.
물론 버전관리는 하지만 회로도나 거버파일같은 CAD 자료의 경우 text로 적어 놓은 버젼을 관리하는게 이제까지의 방법이다.
만약 이런 CAD자료들이 plain text로 저장이 가능하다면 diff를 써서 바뀐 정보를 알수가 있는데,
다른 방법은 imageMagic utility를 사용을해서 바뀐 정보를 확인하는 것이다.
또 다른 방법은 자료를 PDF로 만든후 DiffPDF를 사용하는 방법
구체적인 방법은

Improving open source hardware: Visual diffs

를 참고


Fritzing

독일의 오픈 소스툴.
http://fritzing.org/

Fritzing is an open-source initiative to support designers, artists, researchers and hobbyists to work creatively with interactive electronics. We are creating a software and website in the spirit of Processing and Arduino, developing a tool that allows users to document their prototypes, share them with others, teach electronics in a classroom, and to create a pcb layout for professional manufacturing.


가상의 부품을 보드에 올릴수 있도록 해주고, 서킷을 만들어 준다. 이 내용을 가지고 문서를 만들기 편하게 해준다.
또한 Auto routing으로 PCB까지 제작을 할 수 있도록 해주는 툴이다.

오픈소스툴들은 초보자를 대상으로 점점 쉬워지고 강력해지고 있네요..


아두이노의 미래


What’s Ahead Of Arduino – Part 1 – Massimo Banzi@MakerFaire 2011

What’s Ahead Of Arduino – Part 2 – Massimo Banzi@MakerFaire 2011
결국 아두이노의 힘은 커뮤니티!!

아래 사진은 Make Fair에서 나눠준 아두이노의 리플렛인데 신제품만 모았다.
각각의 제품마다 밑에 이 보드로 무엇을 할 수 있는지 설명이 있다.
가령 WiFi의 경우 Fully Hackable!
ADK의 경우 Develop your own android accessory !


아래 슬라이드는 아두이노가 OSHW 서밋에서 발표한 자료..


아두이노의 신제품


For the second year in a row we decided to announce our new products at Maker Faire in NYC.

Tomorrow morning, if you come to the Arduino tent, you will be able to see:


Arduino 1.0, we finally froze the Arduino API, the IDE and the layout of the boards. We’ve made some minor additions to the Arduino connectors to make them more flexible. Tomorrow you will be able to download the release candidate and in 1 month of frantic testing with the community, the platform will be ready and stable.


Arduino Leonardo, a low cost Arduino board with the Atmega32u4. It has the same shape and connectors as the UNO but it has a simpler circuit. On the software side it has a nifty USB driver able to simulate a mouse , a keyboard, a serial port (with more drivers coming later). As usual for Arduino, everything will be released as open source (Core, Bootloader, Hardware).


Arduino Due, a major breakthrough for Arduino because we’re launching an Arduino board with a 32bit Cortex-M3 ARM processor on it. We’re using the SAM3U processor from ATMEL running at 96MHz with 256Kb of Flash, 50Kb of Sram, 5 SPI buses, 2 I2C interfaces, 5 UARTS, 16 Analog Inputs at 12Bit resolution and much more.


Instead of just releasing the finished platform we are opening the process to the community early on. We’re going to be demoing the board and giving away some boards to a selected group of developers who will be invited to shape the platform while it’s been created. After Maker Faire, we will begin selling a small batch of Developer Edition boards on the Arduino store (store.arduino,cc) for members of the community who want to be join the development effort. We plan a final and tested release by the end of 2011


Arduino Wifi Shield. It adds Wi-Fi communication capabilities to any Arduino. Instead of using any of the classic WiFi modules on the market we wanted to have something that will provide the maximum level of hackability to the user. The shield is based on a wifi micro module made by H&D Wireless coupled with a powerful AVR32 processor that carries the full TCP-IP stack leaving room to add your own protocols and customisations. We’ve also worked hard to make sure that you will be able to migrate your code from the Ethernet Shield with minor changes.


We’re also going to show some prototypes of new platforms we’ve been working on: We have robots, new IDEs and more.


It has been a crazy few months and we want to thank ATMEL very much the support that we got on all the new products.


Come over to Maker Faire and have a look for yourself!


지난 9월 17, 18일 뉴욕의 Make Fair에서 아두이노는 자신들의 신제품 출시 계획을 발표했다.
Arduino 1.0
API, IDE가 드리어 1.0버젼을 달았다. 커뮤니티에서 1달여간의 추가적인 테스트를 거쳐 최종적으로 fix될 예정
http://code.google.com/p/arduino/wiki/Arduino1 에서 다운로드 가능하다.

Arduino Leonardo
Atmega32u4를 사용한 저가 보드. Atmega32u4는 32KB의 작은 용량의 MCU이나 USB device기능을 가지고 있다. 따라서 USB host 에 연결하여 여러가지 응용제품이 만들어 질 것 같다.

Arduino Due
이번 발표에서 가장 큰 변화이고 비중이 높은 내용이다. 즉 기존의 AVR 8bit를 뛰어넘어 CortexM3 코아인 SAM3U를 채택했는데, SAM3U 계열중 가장 고사양 파트인 SAM4U4E를 사용한다. 그리고 최종 제품을 다 만들기 전에 제품화의 과정을 커뮤니티와 공유하고 함께 만들어갈 것을 얘기하고 있다. 위 사진에서 처럼 보드는 기존 아두이노 Mega2560 보드의 형태이다.

역시 아두이노의 최대 강점은 그들이 쌓아놓은 커뮤니티의 힘인데 이것을 100%활용하겠다는 의지이다. 더불어 최근 Open Hardware 트랜드에 뛰어든 Microchip의 ChipKit을 견제하고 임 STM32로 Open Hardware보드를 만든 Leaflab을 견제하는 측면이 있다. 사실 그동안 8 비트 AVR의 한계로 개발자들의 많은 요구가 있었을 것 같은데, 이런 요구에 부응하는 전략이 될 것 같다.
그렇다면 기존 Arduino의 개발환경에서 CortexM3 계열까지 지원을 하겠다는 의미이고, 기존의 AVR 기반의 소프트웨어 라이브러리들이 CortexM3로 포팅이 될 것 이다.

그렇다면 쉴드들은?
아두이노의 Ethernet 쉴드 및 클론들의 아두이노 호환 쉴드들은 당분간 사용이 되겠고 관련 라이브러리들이 마찬가지로 SAM3U에 맞게 포팅이 되겠다. 하지만 Ethetnet의 경우 SAM3U의 performance로 볼때 충분히 software stack을 돌릴 수 있으므로 W5100을 사용하지 않는 MAC/PHY로만 구성된 쉴드가 나올수 있겠다. 왜냐면 이 분야의 엔지니어들의 습성상 자기가 모든 부분을 건드릴 수 있는 플랫폼을 좋아하기 때문이다.

Arduino WiFi shield
스웨덴 업체인 H&D wireless의 제품은 AVR32를 기반으로 하는 무선랜 솔루션이다. 즉 이미 AVR에 익숙한 아두이노 사용자들은 AVR32를 마음대로 수정해서 자기가 원하는 형태의 무선랜 모듈 쉴드를 가질 수 있다. 즉 좀 전에 위에서 언급한 대로 사용자가 최대한 제품을 건드릴 수 있는 여지를 만들어 놓았다. maximum level of hackability to the user.


임베디드보드에서 트위터하기 2 – 아두이노를 이용한 트위터

이전에 올린 임베디드보드에서 트위터하기의 2번째 버젼으로 아두이노를 이용해서 트위터하는 방법에 대한 분석자료입니다.
관련 자료: http://www.arduino.cc/playground/Code/TwitterLibrary
역시 proxy 사용해서 구현을 하고있는데 이전의 Supertweet.net 보다는 간단한 것 같지만, 테스트를 해보니 단점은 같은 내용의 메시지를 연속해서 보내면 에러가 난다. 아마도 스팸성 트윗을 걸러내기 위한 조치 같네요.

먼저 http://arduino-tweet.appspot.com/ 에 접속을 해서 사용하는 트위터 아이디의 토큰을 받는다.
이 토큰은 아래 소스에서 사용이 된다.

트위터 라이브러리 소스

#define LIB_DOMAIN “arduino-tweet.appspot.com”

bool Twitter::post(const char *msg)
{
 DNSError err = EthernetDNS.resolveHostName(LIB_DOMAIN, server);
 if (err != DNSSuccess) {
  return false;
 }
 parseStatus = 0;
 statusCode = 0;
 if (client.connect()) {
  client.println(“POST http://” LIB_DOMAIN “/update HTTP/1.0”);
  client.print(“Content-Length: “);
  client.println(strlen(msg)+strlen(token)+14);
  client.println();
  client.print(“token=”);
  client.print(token);
  client.print(“&status=”);
  client.println(msg);
 } else {
  return false;
 }
 return true;
}

위 소스에서 보듯이 먼저 arduino-tweet.appspot.com에 80 port로 접속을 한후 메시지를 보내는 형태인데, 실제 보내지게 되는 메시지는 다음과 같다. (* 아래 토큰은 남용을 방지하기 위해 임의로 바꿈)

POST http://arduino-tweet.appspot.com/update HTTP/1.0
Content-Length: 79

token=3737638B3-rfAUaR3oPmUZdhVXwpK3xSqBON6BBMVNWgsoqUaD&status=Hello, World 1!
Content-Length는 token의 길이 + 메시지의 길이 + 나머지 문자 14 바이트의 문자(token=과 &status=)이며, 실제 메시지는 &status=이후에 들어간다. 여기서는 Hello, World 1!


문제는 이런 트윗의 내용이 암호화가 되지 않고 전송이 되므로 Wireshark같은 스니퍼로 패킷을 잡으면 내용이 그대로 노출이 된다. 아무튼 임베디드 보드에서도 간단히 트위터를 사용이 가능하다.



Pachube 인수되다…

지난번 유럽방문시 영국의 펍에서 잠시 Pachube(발음은 patch bay)의 CTO를 만났는데,

올 7월에 이 회사가 LogmeIn사(Nasdaq:LOGM)에 인수 됐습니다 ($15M). 날짜상으로 바로 저희가 만난 직후네요.

Pachube의 블로그상에는 이것을 “Pachube just got some rocket fuel!” 이라고 표현을 하고 있습니다.

LogMeIn상의 공식 press release 자료: https://investor.logmein.com/releasedetail.cfm?ReleaseID=592763



Pachube(pachube.com)는 IoT를 지향하며, 기기들의 real time data를 웹상에서 보여주는 서비스를 제공합니다.

이를 지원하는 기기들도 상용제품에서 arduino까지 다양하며, 앱도 지원을 하고 있습니다.


이중 Nanode는 Ken이 만든 보드입니다.
OggCamp에서 발표하는 Ken: Nanode – An Open Hardware Success Story




현재 웹페이지상에는 67,010여개의 디바이스가 연결이 되어 있는 것으로 나와 있으며,

각종 자료에서는 향후 10년이내에 인터넷에 연결된 디바이스가 50~60 billion 개가 될이라고 전망하는 가운데,

IoT를 지향하는 작은 기술 벤처가 M&A되는 사례라고 할 수 있을 것 같습니다.

LogMeIn사는 Pachube의 어떤 메리트를 보고 인수를 했을까요?

기술? 아니면 현재 서비스를 하고 있는 6만여개의 고객의 가능성?


Arduino Education


아두이노가 Store, Labs에 이어 Education이라는 카테고리를 만들었습니다. http://scuola.arduino.cc/en
교사를 위한 공간이지만 반드시 교사일 필요는 없고, 기존의 커뮤니티 처럼 모두가 참여할 수 있는 구조입니다.
아직 베타버젼이어서 현재 한 20 명정도가 참여하고 있는데, 활성화가 되면 이들의 커뮤니티 확장이 가속도를 내는 것 같습니다.


최근 Lesson중 하나인 아두이노 이더넷 관련 내용 한번 보시죠.



최신 보드인 Arduino Ethernet은 W5100이 메인 보드에 default로 들어가 있고, USB가 빠졌습니다. 대신 작은 USB to Serial 보드로 연결해서 툴과 연결을 합니다.

최근에 Arduino의 멤버인 Banzi가 Getting Started with Arduino의 2nd 버젼도 거의 완성이 됐다는 트윗도 있습니다.

@bjepson(Brian Jepson)은 OReillyMedia의 에디터…