위즈네트 아카데미

TUTORIAL

튜토리얼

Home  > 튜토리얼
이번 포스팅은 mbed 플랫폼인 LPC114FN28 보드에 이더넷 기능을 추가, Cloud 서비스의 하나인 AXEDA 에 연결하는 방법에 대해서 설명합니다.

LPC114FN28 보드의 특징은 아래와 같습니다.
The mbed LPC1114FN28 operates at CPU frequencies of 48 MHz. The LPC1114FN28 includes up to 32 kB of flash memory, up to 4 kB of data memory, one Fastmode Plus I2C-bus interface, one RS-485/EIA-485 UART, one SPI interface with SSP features, four general purpose counter/timers, a 10-bit ADC, and up to 22 general purpose I/O pins.

LPC1114_1

플래쉬 사이즈가 작아 RTOS 구동이 어렵기 때문에 본 플랫폼에 이더넷 연결을 위해서는 위즈네트의 솔루션이 가장 적합합니다. 이번 프로젝트에는 위즈네트의 WIZ550io 를 활용해 보겠습니다.

wiz550io_small_005

 

WIZ550io는 이더넷 관련 기본 설정이 자동으로 진행되는 모듈로 W5500 (PHY 내장 Hardware TCP/IP 칩) 칩을 기반으로 RJ-45와 Transforemer가 장착되어 있습니다. MCU와는 SPI (Serial Peripheral Interface) 를 통해 인터페이스 되기 때문에 최소의 핀으로 간단하게 하드웨어를 구현할 수 있습니다.

 

Hardware – mbed LPC1114FN28 + WIZ550io


아래는 Bread Board를 활용 LPC1114FN28과 WIZ550io를 연결한 그림입니다.

lpc-wiz550io

핀 연결은 아래의 표를 참고하세요.

  • WIZ550io: Ethernet Connectivity



































    pin name LPC1114FN28 direction WIZ550io
    miso dp1 J1:3
    sck dp6 —> J1:5
    scs dp26 —> J1:6
    RSTn dp25 —> J2:3


  • Potentiometer:

















    pin name LPC1114FN28 direction Potentiometer
    AnalogIn dp13 <— 2(OUT)




 
Software – AxedaGo-mbedNXP + W5500Interface


  1. Axeda 서비스에 연결하기 위한 소프트웨어를 가져옵니다.AxedaGo-mbedNXP

    • 링크를 클릭하시면 프로그램 다운로드가 가능합니다 : AxedaGo-mbedNXP

    • mbed-axeda-1





 

 

 

 

 

2.  플랫폼을 mbed LPC1114FN28로 변경합니다.

  • AxedaGo-mbedNXP 는 LPC1768을 기반으로 되어있습니다. 우리는 LPC1114FN28를 사용할 예정이기 때문에 플랫폼 변경이 필요합니다.

  • mbed-axeda-2


 

 

 

 

 

 

 

 

3. Ethernet Interface와 mbed-rtos를 제거합니다.

4. W5500 Interface 를 Import 합니다.

mbed-axeda-3

 

 

 

 

 

 

 

 

 

 

5. main.c 를 포팅합니다. WIZ550io를 사용하기 위해서는 EthernetInterface Init을 아래와 같이 변경합니다.
#if defined(TARGET_LPC1114)
SPI spi(dp2, dp1, dp6); // mosi, miso, sclk
EthernetInterface eth(&spi, dp25, dp26); // spi, cs, reset
AnalogIn pot1(dp13);
#else
EthernetInterface eth;
AnalogIn pot1(p19);
AnalogIn pot2(p20);
#endif

* AnalogIn ports should be also configured by depending on platform.

 

AXEDA


이제 AXEDA 서비스 활용 방법에 대해서 알아 보겠습니다.

1. AXEDA에서 Dashboard 만들기

  • "AXEDA READY" 클릭

  • axeda-1


 

 

 

 

 

 

 

  • 일단 LPC1768 선택하고 Device 이름 입력하기

  • axeda-2


 

 

 

 

 

 

 

 

  • Serial Number 카피하기axeda-3


 

 

 

 

 

 

 

 

 

  • 코드에 Serial Number 입력


char *SERIAL_NUM = "SerialNumber";

 
AXEDA with LPC1114FN24 + WIZ550io


AXEDA에 접속전, 각자 플랫폼에서 Compile Button 을 클릭하고 .bin을 다운로드 합니다.

  • 시리얼 터미널을 통해 DHCP로 부터 받은 IP 주소, Protentiometer 의 변경값 전송 메세지 등을 확인할 수 있습니다.


initializing Ethernet
- Ethernet ready
Ethernet.connecting
- connecting returned 0
Trying to get IP address..
- IP address:192.168.13.53 //&lt;--- DHCP IP address
Sending Value for well1 0.00 //&lt;--- Potentiometer value
Received 36 chars from server: //sending message
HTTP/1.1 200
Content-Lengtved 36 chars from server:
HTTP/1.1 200
Content-Length: 0

Sending Value for well1 0.14 //&lt;--- Potentiometer value
Received 36 chars from server: //sending message
HTTP/1.1 200
Content-Length: 0

Sending Value for well1 0.27
Received 36 chars from server:
HTTP/1.1 200
Content-Length: 0

Sending Value for well1 0.29
Received 36 chars from server:
HTTP/1.1 200
Content-Length: 0


  •  Axeda Developer Toolbox : 이제 mbed 보드가 Axeda Toolbox account에 연결됩니다. Dashboard 페이지로 가 mbed 위젯을 오픈합니다.axeda-4


 

 

 

 

 

 

 

  • Data Item 에 들어가면 mbed 보드에 연결된 Potentiameter 의 변경값 그래프 형태로 확인할 수 있습니다. axeda-5


 

 

 

 

 

 

 

아래는 AXEDA 연결을 위한 mbed LPC1768와 mbed LPC1114FN28의 코드 활용 현황 및 메모리 사용 비교표입니다.

comparison

 

위의 보시는 바와 같이 WIZ550io 를 사용하실 경우 훨씩 적은 메모리 사용으로 인터넷 기능 구현이 가능합니다.

출처 : Embeddist (본 포스팅은 위즈네트 김수환 연구원에 의해 테스트 및 작성되었습니다.)