WizFi250 Arduino Library

Posted by 카이젠8501 카이젠8501
2016.09.05 10:18 IT 개발/Arduino

기존 WizFi250 Arduino Library 개선 필요

이전에 있던 WizFi250 Arduino Library에 아래와 같은 문제 및 불편한 사항이 있었다.
Old Version WizFi250 Arduino Libary Download link

  1. API 함수들이 표준과 달라서, Arduino 예제들을 그대로 사용 할 수 없음
  2. 구조적으로 버퍼를 많이 사용하고 있어, Arduino Uno와 같이 RAM이 부족한 보드에서는 Memory Overflow가 발생

위와 같은 문제가 있어 WizFi250 Arduino Library를 다시 구현해야 겠다는 생각이 들었으며, 본 포스팅에서는 새로운 WizFi250 Arduino Library를 구현하는 과정과 예제 구동 방법에 대해 설명한다.

개발 환경

Arduino Library를 구현하기 위한 Eclipse 개발 환경 구축을 참고 하기 바란다.

WizFi250 Arduino Library 다운로드 링크

New Version WizFi250 Arduino Library Download link

WizFi250 Arduino Library 참고 사항

WizFi250 Arduino Library는 ESP-8266 기반의 아두이노 라이브러리를 참고 해서 개발하였다.
이미 일반적으로 많이 사용되고 있는 ESP-8266 라이브러리의 함수 포맷을 맞춰서, 이미 만들어져 있는 예제들을 그대로 사용 할 수 있도록 하는 것에 초점을 두고 개발 하였다. 그 결과 WizFi250 Arduino Library 예제에 있는 것과 같이 별도의 큰 수정 없이 MQTT, ThingPlus 및 Ubidot와 같은 클라우드 예제를 사용 할 수 있다.

WizFi250 Arduino Library 폴더 구조

파일및폴더명 내용
examples WizFi250 Library를 활용한 예제(.ino)
utility
WizFi250_spi_drv SPI 인터페이스로 WizFi250을 제어하는 드라이버 구현
WizFiRingBuffer WizFi250에서 사용하는 Ring Buffer 구현
general_parse Parsing을 위한 범용적인 함수들 구현
WizFi250 Wi-Fi 동작을 위한 기능 구현
WizFi250Client TCP Client 동작을 위한 기능 구현
WizFi250Server TCP Server 동작을 위한 기능 구현
WizFi250Udp UDP 동작을 위한 기능 구현
저작자 표시
신고
이 댓글을 비밀 댓글로

Arduino Library를 구현하기 위한 Eclipse 개발 환경 구축

Posted by 카이젠8501 카이젠8501
2016.09.05 10:02 IT 개발/Arduino

Arduino를 설치 하면 Sketch라는 별도의 IDE를 사용해서 코드를 수정, 컴파일 및 다운로드를 한다. 간단한 프로그램을 작성하거나, 사용하고 있는 라이브러리를 내부까지 확인 할 필요가 없는 경우 Sketch 프로그램만 이용해도 대부분의 Arduino의 기능을 사용 할 수 있다.

하지만 나와 같이 Arduino Library를 구현해야 하거나, Arduino Core 및 Library에서 제공하는 함수들의 내부를 확인하고 싶을 때는 Sketch 프로그램의 기능이 한 없이 부족함을 느낀다.

때문에 본 포스팅에서는 Eclipse IDE 환경에서 Arduino Library를 개발 하기 위한 환경 구축하는 방법을 설명한다.

Arduino Library를 구현하기 위한 Eclipse 개발 환경

Download Eclipse

본 포스팅에서는 Eclipse Mars 버전을 사용 하였다.

아래 주소를 이용하면 Eclipse Mars 버전을 다운로드 할 수 있다.

Eclipse IDE for C/C++ Developers

Install Arduino Plugin

Eclipse를 실행 한 후, [Help]-[Eclipse Marketplace]에서 Arduino Eclipse IDE V2를 설치 한다.

20160727_091520

정상적으로 설치가 완료되면, 아래와 같은 메뉴와 아이콘이 생성되는 것을 볼 수 있다.

20160727_092202

Install Arduino IDE

위에서 설치한 Arduino Plugin은 Arduino IDE version 1.6.5 이상을 지원하지 않는다. 때문에 최신 버전의 Arduino IDE 대신, 1.6.5 버전을 설치해야 되며 아래 주소를 이용하면 해당 버전을 다운로드 할 수 있다.

https://www.arduino.cc/en/Main/OldSoftwareReleases#previous

20160727_093141

Configure Arduino Plugin in Eclipse

Arduino IDE 설치가 완료되면, Eclipse에서 Arduino를 컴파일하기 위한 환경 설정이 필요하다. Eclipse에서는 Arduino IDE에 설치된 컴파일러와 다운로드 프로그램을 이용하여 컴파일 및 다운로드를 할 수 있으며, Arduino IDE가 설치 되어 있는 경로를 지정하는 간단한 환경 설정이 필요 하다.

[Window]-[Preferences]-[Arduino]에서 아래 표시되어 있는 정보를 설정하면 된다.

(일반적인 Arduino IDE를 설치 경로는 C:\Program Files (x86)\Arduino 이다.)

또한 개인적으로 사용하고 있는 Library가 있는 경우, 아래 Private Library path 에 설정하면 Arduino에서 지원하는 Library 이외의 개인적인 Library를 사용 할 수 있다.

20160727_093549

Create Arduino Project

새로운 Arduino Project를 생성하기 위해서는, Project Explorer에서 [New]-[Project]-[Arduino]-[New Arduino sketch]를 선택 하고 프로젝트 이름 및 간단한 옵션들을 선택 해야 한다.

20160727_092534 20160727_092606

20160727_094049 20160727_094102

20160727_094122

프로젝트가 정상적으로 만들어 지면 아래와 같은 폴더 구조를 볼 수 있으며, Test_Arduino.cpp 파일에 main 코드를 구현하면 된다.

20160727_094151

Import Library

내가 만든 새로운 라이브러리 혹은 별도의 외부 라이브러리를 사용하기 위해서는 라이브러리를 Import 해야 한다.

Import를 위한 방법은 프로젝트 이름을 선택 한 후, [마우스 우 클릭]-[Import]-[Arduino]-[Import Arduino libraries into the current project]를 선택 해서 원하는 라이브러리를 추가 한다.

20160727_095036

20160727_095149

20160727_095210

Compile and Download

코드를 작성한 후, 아래 표시된 화살표 아이콘을 누르면 컴파일과 다운로드가 동시에 된다. 다운로드가 정상적으로 완료 되면 Console 탭에서 아래와 같은 메시지를 확인 할 수 있다.

20160727_111425

Trouble Shooting

혹시, 컴파일이 안되거나 다운로드시 보드를 찾을 수 없다는 메시지가 나오면 아래와 같이 프로젝트 속성을 확인해서 컴포트 및 보드가 제대로 설정되어 있는지 확인 해야 한다.

20160727_111638

저작자 표시
신고
이 댓글을 비밀 댓글로