Arduino+WizFi250 User Guide

Thing+ Guide for Arduino(Arduino with WizFi250 & Non-SSL)

  1. Install Arduino IDE
  2. Environment Setting
  3. Arduino Firmware install
  4. Gateway Registration
  5. Firmware build and upload

This document is only for the purposes of the education and personal test. Arduino and/or H/W having similar specs with Arduino can’t support the SSL Encryption because they don’t have enough CPU Power for it. Because of that, An extra H/W which support the SSL Encryption is required to use Arduino with ThingPlus Cloud. For Arduino Users’ convenience, we’d like to introduce the new way to use Arduino Board as the ThingPlus IoT Gateway without any extra H/W. All of the communications between your Arduino board and ThingPlus Cloud can be disclosed because they are not encrypted.
API KEY for the non encrypted communication between Arduino and ThingPlus Cloud will be valid only for 30 days. If you want to use the API KEY over 30 days, please extend the valid duration before it is expired

Compatible Board for Thingplus Arduino Library

  • Arduino Board / Orange Board
  • ESP8266 (without Arduino board)
  • Arduino WizFi250
  • Board using ARM CORETEX-M chip

1. Install Arduino IDE

1) Install Arduino IDE upon PC OS environment. Please use above version. 1.6.9.

2. Environment Setting

1) Connect Arduino and PC.

  • Connect sensors as the following. Arduino Select Port

  • Below is WizFi250 EVB from wiznet. Check mac address at top of wizFi250 chip. Arduino Mac Address

  • Connect Arduino Uno(Orange Board) with grove shield and then Connect wizFi250 EVB on there. Arduino Select Port

2) Execute Arduino IDE.

3) Select USB for Arduino Port in IDE. (for windows, COMxx)

  • Tools -> Port -> Arduino/Genuino Uno

    Arduino Select Port

3. Arduino Firmware install

1) Select Firmware to download into Arduino.

  • Have to install Firmware is as the following.
    • Arduino Library
    • ArduinoJson
    • PubSubClient
    • Time
    • Timer
    • wizFi250
  • thingplus Library (above. v1.0.7)
    • Sketch -> Include Library -> Manage Libraries...

      - Search > thingplus > install

      Arduino_json Arduino Lib

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

      - Search > ArduinoJson > install

      Arduino_json Search Arduino_json

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

      - Search > PubSubClient > install

      Arduino_json Search Arduino_Pubsub

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

      - Search > timekeep > install

      Arduino_json Search Arduino_Time

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

      - Search > wizFi250 > install

      Arduino_json Search Arduino_Time

2) Modify header file in PubSubClient

  • Arduino Library Directory Path

    Windows : My Documents\Arduino\libraries\
    Mac : ~/Documents/Arduino/libraries/
    Linux : /home/<your user name>/sketchbook/libraries
  • open LibraryPath/PubSubClient/src/PubSubClient.h and modify as the following.



Notice : If you didn’t modify this part, actuator will be not works.

3) config setting

  • open LibraryPath/Thingplus/src/Thingplus.cpp and modify as the following.(at line: 230)
    • ->
void ThingplusClass::begin(Client& client, byte mac[], const char *apikey) {
	const char *server = "";
	const int port = 1883;

	this->mac = mac;
	snprintf(this->gatewayId, sizeof(this->gatewayId), PSTR("%02x%02x%02x%02x%02x%02x"),
			mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
	this->apikey = apikey;

	this->mqtt.setServer(server, port);

4. Gateway Registration

1) Get API key and register sensors

  • There are 3 examples in LibraryPath/Thingplus/examples/ (above thingplus library v1.0.7)
    • ArduinoEthernet : For Arduino + ethernet shield
    • ArduinoWizFi250 : For Arduino + WizFi250(wifi module of Wiznet)
    • ESP8266 : For ESP8266 (without Arduino board)
  • This guide is guide of Arduino+wizFi250, so we use LibraryPath/Thingplus/examples/ArduinoWizFi250/ArduinoWizFi250.ino.
  • If you want to add another sensors or another actions, then modify/add the scripts.

  • Get API KEY in thingplus portal using mac address. (you might checked mac address on Ethernet Shield)
    • Assumed mac address is 11-FF-1F-F9-03-DF

    • > sign in > Settings > Gateway Management Arduino Register

    • Select Arduino-Developer as Gateway Model. Arduino GW Model

    • Input mac address in Gateway ID field.

    • Select a Get API key button. Arduino Get APIKEY

    • API Key is issued. (The API key wil be expired in 30 days) copy ‘API KEY’ Arduino APIKEY

    • Select a Register Gateway button.

    • Input Gateway name.

    • Select grove startkit for Arduino as the device model.

    • Input a Device name. Arduino  Register

    • Select a Register a Gateway, Device and Sensors button. Arduino  Register Finish

    • Move to Gateway Management in thingplus portal

    • You can see the sensor ID. Arduino  Sensor ID

  • Update ArduinoWizFi250.ino file.
    • To connect WiFi, input ssid and password as the following. Arduino set wifi

    • Update api key : update using Copied API KEY. Arduino APIKEY Register

    • Update sensor ID (input mac address in place of 00000000000) Arduino Setting

Notice : The Gateway ID and API KEY is just for help to understand. Above ID and KEY is not available.

5. Firmware build and upload(execute)

1) build(compile) firmware.

Arduino Verify

2) Upload Firmware on Arduino.

Arduino Download

3) Check if the below message shown at IDE.

Arduino Download Success

4) Reay to use

  • now, you can use arduino Independently.