Development/Wiznet2012.12.17 15:51
  • H/W 설정

WizFi210의 F/W를 업데이트하기 위해서는 모듈을 RUN mode에서 PROGRAM mode로 설정을하고, UART를 이용해서 업데이트를 해야한다. 

아래 회로도를 보면 모듈의 37번핀을 Low로 하면 RUN mode이고, High로 하면 PROGRAM mode이다.

이 핀을 High로하고, UART핀 TX(40번), RX(42번)핀을 RS232 트랜시버를 거쳐서 PC의 시리얼 포트에 연결을 한다.



  • PC프로그램 설정

WIZSamrtScript 프로그램을 다운로드 받는다. 링크

SPI 용 F/W를 다운로르 받는다. 링크

WIZSamrtScript 프로그램의 압축을 풀면 다음과 같이 3개의 폴더가 생기는데, AppFWFiile 폴더에 SPI용 F/W를 copy하고, 각각 s2w-app1.bin, s2w-app2.bin, WFW.bin로 이름을 바꾼다.



WIZSmartScript를 실행하고, 보드와 연결된 PC의 COM 포트를 Manual로 정확하게 입력한다.

Group 항목을 U. JIG(User) 로 선택한다.

Script는 2. Flash Write(WLAN, APP, Clear) 를 선택한다.


  • F/W 업데이트

Start Script를 클릭하면 다음 그림처럼 자동으로 flash를  erase 하고 다시  write 한다.


업데이트가 끝나면, 전원을 끄고 보드를 Program mode 에서 Run  mode로 설정을 변경한다.

모듈의 37번 핀을 Low 상태로 하여, 모듈run mode로 설정을 한다. 


  • MAC 어드레스 입력

이와 같이 F/W를 업데이트를 하면 MAC가 초기화된다.  따라서 AT command를 사용해서 다시 입력을 해야한다.

아두이노를 이용해서 MAC 어드레스를 입력하기

필요한 라이브러리: WizFi 쉴드의 라이브러리.


TimerOne.zip


WizFi2x0.zip


이 파일들은 아두이노가 설치된 폴더의 libraries 폴더 아래에 압축을 풀어서 copy한다.

MAC 어드레스 입력을 위한 아두이노용 스케치를 아두이노에 다운로드를 하고, 실행을 한후 시리얼 터미널을 실행시키면 코드는 MAC 어드레스를 받을 준비를 하는데, 이때 'S'를 입력한다. ''R'이 리턴이 되며, 다음 그림과 같이 MAC 어드레스를 입력을 한다.


WizFiMacWriter.zip





Posted by Like the ocean
Open Source Hardware2012.04.14 22:41

아두이노 IDE의 한글화를 진행하기 위해 윈도우즈 환경에 아두이노 IDE 빌드 환경을 세팅을 했다. 


1. 개발툴 설치

필요한 사항: Cygwin, Java JDK, ant가 필요하다.


1) Cygwin : Cygwin 은 윈도우즈 환경에서 리눅스를 쓰기위한 툴이다. 이걸 다운로드 한다. http://www.cygwin.com/setup.exe

    다운받은 파일을 실행시키고, 필요한 패키지만 선택을 해서 다운로드 받는다.

    필요한 패키지는 git, make, gcc-mingw, g++, perl, unzip, zip, coreutils, gzip, tar 이다.

    각각의 이름을 search해서 바이너리만 받는다. 

    국내 미러사이트가 없는데, 위치상으로 가까운 일본쪽 미러사이트를 선택을 하면 빨리 다운로드 받을 수 있다.


2) ant :아파치 Ant는 자바라이브러리 및 command-line 툴인데 빌드할때 필요하다.  http://ant.apache.org/bindownload.cgi 에서 

   다운로드하고 설치를 한 다음에, apache-ant-xxx\bin 를 PATH에 추가한다.


3) Java JDK: 오라클 홈페이지에 가서 다운로드하고 설치한다.

    http://www.oracle.com/technetwork/java/javase/downloads/index.html

   시스템 환경 변수에  다음 그림과 같이 JAVA_HOME를 추가하고 설치한 JDK의 위치를 설정한다.

   만약 이 설정이 제대로 되지 않으면 빌드를 할때 "Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar" 이런 에러메시지가 뜬다.

    


2. Github에서 코드 가져오기

   Cygwin Terminal을 열고 다음과 같이소스를 가져온다.

   git clone git://github.com/arduino/Arduino.git

  위와 같이하면 Cygwin의 home 폴더 (따로 HOME을 지정을 하지 않았으면)에 Arduino라는 폴더 아래에 소스를 가져올 것이다. 


3. 빌드하기

  Cygwin Terminal에서 Arduino/build 로 이동한후 ant 라고 치면 빌드를 한다.    


  Arduino/build/windows/work 아래에 arduino.exe 파일이 생겼을 것이다.


'Open Source Hardware' 카테고리의 다른 글

Eagle CAD 3D 모델 만들기  (0) 2012.04.25
DIP TRACE - PCB 디자인 툴  (0) 2012.04.25
아두이노 IDE 빌드 환경 만들기  (0) 2012.04.14
Eagle CAD  (1) 2012.03.22
Fritzing에 Wiz820io 라이브러리 공식 등록  (0) 2012.01.24
Raspberry Pi  (0) 2012.01.05
Posted by Like the ocean
Development/Wiznet2011.12.12 18:59

아두이노의 공식 Ethernet 쉴드에는 WiznetW5100이 사용된다. 따라서 모든 Ethernet 라이브러리는 W5100을 이용하는 것으로 되어있는데 Wiznet의 신규칩인 W5200을 아두이노 보드에서 사용하기 위해서는 라이브러리를 일부 수정을 해야 한다. W5100과 비교해서 W5200의 장점은 대략 작은 패키지, 8 socket 지원(W5100의 경우 4 socket 지원), Power down mode, Wake on LAN 기능 지원 등이다. 
    W5100 to W5200 migration guide

Hardware 연결
간단한 테스트를 위해 Wiz820io를 사용을 해서 아래 그림처럼 테스트를 했다. 아래 그림은 Fritzing 이라는 툴로 Wiz820io 라이브러리를 만든 후 작성한 연결도이다. Fritzing관련해서는 이전 포스트 참고(Fritzing, Fritzing 라이브러리 만들기)
    Wiz820io의 Fritzing 라이브러리

* PWDN, nINT, 스위치를 통한 reset 입력은 연결을 안 해도 되고, VCC, GND도 하나의 선만 연결해도 된다.


라이브러리 수정
변경을 최소화하고 기존의 라이브러리와의 호환성을 위해 변경된 드라이버는 W5100과 같은 파일명을 쓴다. 즉 W5100.cpp와 W5100.h 파일만 수정해서 아두이노 IDE가 설치된 폴더에 덮어쓰면 된다. 즉 "/libraries/Ethernet/utility” 아래에 있는 W5100.cpp 및 W5100.h 파일을 아래 첨부한 파일로 변경하면 된다. 파일에 수정된 부분은 W5200으로 검색을 하면 쉽게 찾을 수 있다.


테스트
아두이노의 IDE에서 File > Examples >Ethernet > 에 있는 예제를 열어서 컴파일 후 아두이노보드에 다운로드를 하면 잘 동작한다. 
최근에 릴리즈한 Arduini 1.0 에서는 기존 Ethernet 라이브러리가 좀 더 확장이 되었다.  http://arduino.cc/en/Main/ReleaseNotes 참고

* Support for DHCP and DNS has been added to the Ethernet library, thanks to integration by Adrian McEwen. Most classes in the Ethernet library have been renamed to add a "Ethernet" prefix and avoid conflicts with other networking libraries. In particular, "Client" is now "EthernetClient", "Server" is "EthernetServer", and "UDP" is "EthernetUDP". A new IPAddress class makes it easier to manipulate those values.

* The UDP API has been changed to be more similar to other libraries. Outgoing packets are now constructed using calls to the standard write(), print(), and println() functions – bracketed by beginPacket() and  endPacket(). The parsePacket() function checks for and parses an incoming packet, which can then be read using available(), read(), and peek(). The remoteIP() and remotePort() functions provide information about the packet’s origin. (Again, thanks to Adrian McEwen for the implementation.)

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

 


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

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


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



Posted by Like the ocean
Open Source Hardware2011.09.27 20:27
독일의 오픈 소스툴.
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까지 제작을 할 수 있도록 해주는 툴이다.

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

'Open Source Hardware' 카테고리의 다른 글

오픈소스 커뮤니티에 대해...  (0) 2011.10.06
Visual diffs  (0) 2011.10.05
Fritzing  (0) 2011.09.27
아두이노의 미래  (0) 2011.09.22
아두이노의 신제품  (0) 2011.09.22
임베디드보드에서 트위터하기 2 - 아두이노를 이용한 트위터  (0) 2011.09.16
Posted by Like the ocean
Open Source Hardware2011.09.22 17:23

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 서밋에서 발표한 자료..




'Open Source Hardware' 카테고리의 다른 글

Visual diffs  (0) 2011.10.05
Fritzing  (0) 2011.09.27
아두이노의 미래  (0) 2011.09.22
아두이노의 신제품  (0) 2011.09.22
임베디드보드에서 트위터하기 2 - 아두이노를 이용한 트위터  (0) 2011.09.16
Nanode - An Open Hardware Success Story  (0) 2011.09.09
Posted by Like the ocean
Open Source Hardware2011.09.22 17:04

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.

'Open Source Hardware' 카테고리의 다른 글

Fritzing  (0) 2011.09.27
아두이노의 미래  (0) 2011.09.22
아두이노의 신제품  (0) 2011.09.22
임베디드보드에서 트위터하기 2 - 아두이노를 이용한 트위터  (0) 2011.09.16
Nanode - An Open Hardware Success Story  (0) 2011.09.09
Pachube 인수되다...  (0) 2011.09.08
Posted by Like the ocean
Open Source Hardware2011.09.16 15:35
이전에 올린 임베디드보드에서 트위터하기의 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같은 스니퍼로 패킷을 잡으면 내용이 그대로 노출이 된다. 아무튼 임베디드 보드에서도 간단히 트위터를 사용이 가능하다.
Posted by Like the ocean
Open Source Hardware2011.09.08 13:00

아두이노가 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의 에디터...





'Open Source Hardware' 카테고리의 다른 글

Nanode - An Open Hardware Success Story  (0) 2011.09.09
Pachube 인수되다...  (0) 2011.09.08
Arduino Education  (0) 2011.09.08
만화로 배우는 아두이노  (1) 2011.09.08
SDCC putchar 버그 수정  (0) 2011.06.01
마이크로칩 chipKIT for the Arduino™ Community  (0) 2011.05.24
Posted by Like the ocean
Open Source Hardware2011.09.08 12:35
아두이노의 영향력은 대단하다.
아두이노에 대한 소개가 만화로도 제작이 되었다.

PDF 버젼도 있다.

'Open Source Hardware' 카테고리의 다른 글

Pachube 인수되다...  (0) 2011.09.08
Arduino Education  (0) 2011.09.08
만화로 배우는 아두이노  (1) 2011.09.08
SDCC putchar 버그 수정  (0) 2011.06.01
마이크로칩 chipKIT for the Arduino™ Community  (0) 2011.05.24
이젠 오픈소스 하드웨어가 대세  (0) 2011.05.20
Posted by Like the ocean