아두이노 + wizFi250 사용자 가이드


Thing+ 연동가이드(아두이노 with WizFi250 & Non-SSL)

  1. 아두이노 IDE 설치
  2. 아두이노 단말 환경 세팅
  3. 아두이노 펌웨어 설치
  4. 게이트웨이 등록
  5. 펌웨어 빌드 및 실행



이 가이드는 교육용/테스트용도로 제작되었습니다. Arduino는 SSL을 사용할 수 없었기 때문에 ThingPlus Cloud와의 연동을 위해서는 PC와의 연결이 필요 했었습니다. 이에 대해 교육용으로 SSL 없이 Thingplus Cloud 와 연동을 할 수 있도록 버전을 배포합니다. SSL을 사용하지 않기 때문에 모든 정보는 노출됩니다. 절대 상용으로는 사용하시지 않기를 당부드립니다. Arduino None SSL 버전 사용을 위한 API KEY는 30일 사용가능한 key이며, 30일 이후에도 사용할 경우에는 30일 이전에 expire 기한을 연장 해야합니다.


Thingplus 아두이노 라이브러리 호환보드

  • Arduino Board / Orange Board
  • ESP8266 (without Arduino board)
  • Arduino WizFi250
  • ARM CORETEX-M chip을 사용하는 보드


1. 아두이노 IDE 설치

1) 사용하는 PC OS버전에 맞는 아두이노 IDE를 설치합니다. 1.6.9 이상의 버전을 권장 합니다.


2. 아두이노 단말 환경 세팅

1) 아두이노와 PC를 USB로 연결 합니다.

  • 아래와 같이 센서를 연결합니다. Arduino Select Port

  • 아래 그림이 wiznet WizFi250 chip이 있는 WizFi250 EVB입니다. 화살표로 모자이크 한 부분의 mac address를 확인합니다. Arduino Mac Address

  • Arduino Uno(Orange Board) 와 grove shield 연결 하고 그위에 wizFi250 EVB를 연결 합니다. Arduino Select Port


2) 아누이노 IDE를 실행합니다.


3) 아두이노 IDE에서 아두이노 포트를 USB로 선택합니다. (windows에서는 COMxx 입니다.)

  • Tools -> Port -> Arduino/Genuino Uno

    Arduino Select Port


3. 아두이노 펌웨어 설치

1) 아두이노에 다운로드 할 펌웨어를 선택합니다.

  • 설치할 펌웨어는 다음과 같습니다.
    • 아두이노 라이브러리
    • ArduinoJson
    • PubSubClient
    • Time
    • Timer
    • wizFi250
  • thingplus library (v1.0.7 이상)
    • Sketch -> Include Library -> Manage Libraries...

      - 검색 > thingplus > install

      Arduino_json Arduino Lib

  • ArduinoJson
    • Sketch -> Include Library -> Manage Libraries...

      - 검색 > ArduinoJson > install

      Arduino_json Search Arduino_json

  • PubSubClient
    • Sketch -> Include Library -> Manage Libraries...

      - 검색 > PubSubClient > install

      Arduino_json Search Arduino_Pubsub

  • Time
    • Sketch -> Include Library -> Manage Libraries...

      - 검색 > timekeep > install

      Arduino_json Search Arduino_Time

  • Timer
  • WizFi250
    • Sketch -> Include Library -> Manage Libraries...

      - 검색 > wizFi250 > install

      Arduino_json Search Arduino_Time


2) PubSubClient 의 header 파일 수정

  • Arduino Library Directory Path

    Windows : My Documents\Arduino\libraries\
    Mac : ~/Documents/Arduino/libraries/
    Linux : /home/<your user name>/sketchbook/libraries
    
  • LibraryPath/PubSubClient/src/PubSubClient.h 파일을 열어서 아래 부분을 수정합니다.

    • MQTT_MAX_PACKET_SIZE 196
    • MQTT_KEEPALIVE 120

    Arduino_Edit_Pubsub

주의 : 이 부분을 수정하지 않으면 actuator의 동작이 실행이 되지 않습니다.


4. 게이트웨이 등록

1) 게이트웨이 키 발급 및 센서등록

  • LibraryPath/Thingplus/examples/ 에 3개의 예제가 있습니다.(v1.0.7 기준)
    • ArduinoEthernet : Arduino를 ethernet shield를 이용해 연동하는 경우 사용
    • ArduinoWizFi250 : Wiznet의 wifi 모듈인 WizFi250을 Arduino와 함께 사용하는 경우
    • ESP8266 : ESP8266에 프로그램을 직접로드해서 사용하는 경우(without Arduino board)
  • 본 가이드에서는 Arduino board에 WizFi250 연결을 통한 wifi 연결 예제 이므로 LibraryPath/Thingplus/examples/ArduinoWizFi250/ArduinoWizFi250.ino 를 사용 합니다.
  • ArduinoWizFi250.ino 를 선택하면 arduino SDK에서 열립니다.
    • 예제 파일에 없는 다른 센서를 추가 하거나 다른 동작을 시키길 원하시면 해당 부분을 수정/추가 해주시면 됩니다.


  • Ethernet Shield에서 확인한 mac address를 사용하여 thingplus portal에서 APIKEY를 발급 받습니다.
    • 확인된 mac address가 11-FF-1F-F9-03-DF 라는 예로 설명을 드리겠습니다.

    • https://iot.thingplus.net/ > 로그인 > 설정 > 게이트웨이 관리 Arduino Register

    • Gateway Model은 Arduino-Developer 로 선택합니다. Arduino GW Model

    • Gateway ID에 확인된 mac address를 입력합니다.

    • API KEY 발급 받기 버튼을 선택합니다. Arduino Get APIKEY

    • 아래 30일 기한의 API KEY가 발급되었습니다. API KEY를 복사 합니다. Arduino APIKEY

    • 게이트웨이 등록 버튼을 선택합니다.

    • 게이트웨이 이름을 적습니다.

    • device model은 grove startkit for Arduino로 선택합니다.

    • device 이름을 적습니다. Arduino  Register

    • 하단의 게이트웨이 등록하기 버튼을 선택합니다. Arduino  Register Finish

    • 게이트웨이관리로 이동합니다.

    • 아래와 같이 센서 아이디가 보입니다. Arduino  Sensor ID

  • ArduinoWizFi250.ino 파일에 해당 내용을 업데이트 합니다.
    • ssid와 password 부분에 연결할 AP의 정보를 입력합니다. Arduino set wifi

    • 복사한 API KEY를 수정하던 ArduinoWizFi250.ino 파일에 붙여 넣습니다. Arduino APIKEY Register

    • 해당 센서 아이디를 변경 해줍니다. (00000000000 대신 mac address를 넣어줍니다.) Arduino Setting

주의 : 위 예제의 gatewayID와 api key 등을 노출 한것은 이해를 돕기 위한것입니다. 위의 ID와 key를 사용하시면 안됩니다.


5. 펌웨어 빌드 및 실행

1) 펌웨어를 빌드합니다.

Arduino Verify


2) 펌웨어를 아두이노에 업로드 합니다.

Arduino Download


3) 펌웨어가 정상적으로 다운로드 되면 IDE 하단에 아래와 같은 메세지가 나옵니다.

Arduino Download Success

4) 모든 설정이 끝났습니다.

  • PC 와의 연결을 종료 하고 전원을 연결해서 독립적으로 사용 가능합니다.