DIY Projects using WizFi250 or WizFi210

DIY Projects using WizFi250 or WizFi210

This posting introduces DIY projects using WIZnet’s Wi-Fi modules WizFi250 and WizFi210.

To Make Canon DSLR’s Remote controller using  WizFi250

This project explains how to make a Wi-Fi Remote Controller that controls a Canon Camera.

You need the following components of the device.

  • Camera
    • Connect the Receiver and 2.5pi Audio Cable
  • Receiver
    • Arduino Uno(MCU)+WizFi250 (Wi-Fi Module)
    • Use AP function of WizFi250 (directly connect to smartphone without wire/wireless router)
  • Remote Controller
    • Smart Phone
    • Simple Android App

Wiznet Museum : http://wiznetmuseum.com/portfolio-items/to-make-canon-dslrs-remote-controller-using-wizfi250/

Author’s Blog(KOR) : http://kaizen8501.tistory.com/86

Author’s Blog(ENG) : http://www.life4iot.com/2015/01/18/to-make-canon-dslrs-remote-controller-using-wizfi250/?lang=en

 

WiFi Electric Skateboard using WIZwiki-W7500ECO + WizFi250

This project explains how to make an electric skateboard using the WIZwiki-W7500ECO MCU board and the WizFi250 Wi-Fi Module.

The required components are as follows.

If you would like to purchase any, please click the name.

 

Wiznet Museum : http://wiznetmuseum.com/portfolio-items/to-make-canon-dslrs-remote-controller-using-wizfi250/

Author’s Blog(KOR) :

– http://kaizen8501.tistory.com/112

– http://kaizen8501.tistory.com/113

– http://kaizen8501.tistory.com/114

Author’s Blog(ENG) :

http://www.life4iot.com/2015/10/29/electric-skateboard-1-material/

– http://www.life4iot.com/2015/10/29/electric-skateboard2-servo-motor-test/

– http://www.life4iot.com/2015/10/29/electric-skateboard3-wi-fi-receiver-and-controller/

 

Hedgehog – Educational Robotics Controller

Hedgehog is a project for those who want to study and research using Robot. This project was posted on KickStarter in 2015, but failed at funding. However, I think this is a good example for learning the operation principle of embedded device and robotics. For reference, Hedgehog used the WizFi210 Wi-Fi Module for Wi-Fi communication.

For more details, please refer to the following links.

Wiznet Museum : http://wiznetmuseum.com/portfolio-items/hedgehog-educational-robotics-controller-2/

KickStarter : https://www.kickstarter.com/projects/priarobotics/hedgehog-educational-robotics-controller

 

Drainage tank of water purifier IoT

This project describes how to implement an idea that people might have thought about at least once when using a water purifier. The author implemented a device that sends e-mail notifications when the water in the drainage tank rises above a certain height after checking whether the drainage tank needs to be emptied. Arduino and WizFi250(Wi-Fi Module) was used in this project.
For more information, please refer to the following link.

Wiznet Museum : http://wiznetmuseum.com/portfolio-items/drainage-tank-of-water-purifier-iot/

Curator : Patrick in WIZnet
You can contact to kaizen@wiznet.co.kr

Visitor Tracking via Wi-Fi

Wi-Fi Probe request is used to actively seek any, or a particular access point.

wifi-probe-eng

For example, if you turn on the Wi-Fi of the smart phone, the smart phone will show all available AP list. At this time, the smart phone transmits the “Probe Request” packets to search the APs around. After then the phone will show a list of APs that sends the response packets to the phone.

The probe request packet includes MAC address information of the device. Therefore, if we can capture this probe request packet in any specific area, it is possible to collect the data about staying time of devices. In this posting, we will make a device to track Wi-Fi devices using probe request packets.

<Hardware>

We need below hardware

  • WIZwiki-W7500 (ARM Cortex-M0 Platform)
  • WizFi310 : Wi-Fi Module (This module has the function to capture the probe-request packet.)
  • SD CARD

probe-1

WizFi310 scans the probe request around and send the data to WIZwiki-W7500ECO. After parsing the data, WIZwiki-W7500 save the data in the SD Card.

The source code for this operation, can be downloadable from mbed.

https://developer.mbed.org/users/jehoon/code/WiFi_Tracker/

 

<Result>

We could get the below data.

probe-2

  • X4000 : Probe request packet
  • xx:xx:xx ~~ : MAC Address
  • -84:RSSI (Wireless Signal Sensitivity)

By analyzing above raw data, we could get below result

probe-3

probe-4

 

  • WizFi310 captured about 36,000 Probe request packets
  • Found 343 MAC addresses
  • Captured 15,000 probe requests from a MAC address
  • Captured more than 1000 probe requests from 5 MAC addresses
  • Captured more than 100 probe requests from 33 address

If we use this ‘probe request packet capture’ function, we may be able to make the device to search the visitors who often visit a specific area and sends various information such as restaurant, movies, parking places and etc.

How to Measure the Oil Usage using Axeda Service (WizFi250)

Axeda provides advanced cloud-based service and software for managing connected products and machines and implementing innovative Machine-to-Machine [M2M] and Internet of Things (IoT) applications

The Axeda IoT Cloud Service includes

  • Axeda Connect – IoT Connectivity Middleware
  • Axeda Build – IoT Application Enablement Platform
  • Axeda Manage – Connected Machine Management Applications

If you want to know more about AXEDA Cloud service, click here.

From this tutorial, you can learn the basic skills about how to use the AXEDA service and send the data from the device to the AXEDA cloud.

<Go to the staging page on your AXEDA Toolbox account>

Go to the page http://toolbox.axeda.com and register your account.

As you see below, click the AXEDA READY icon and select ‘mbed LPC1768 Device”

axeda-1

 

axeda-2

We are going to use the WIZwiki-W7500 board, but it’s not supported yet by AXEDA cloud. So, we are going to use the LPC1768 toolbox.

Input the “Device Name” and click “Go” button. You can see the web page as below. As the serial number is required to operate the AXEDA example code, you must remember it.

axeda-7

 

<Materials>

For this project, we need below hardware.

WIZwiki-W7500 (MCU Platform)

axeda-3

WizFi250-EVB (Wi-Fi Shield)

wizfi250

Sensor Shield

sensor

Hardware Configuration

sensor_250

 

<Compile AxedaGo-WizFi250 Example onto WIZwiki-W7500 Board>

Connect to below link and get the WizFi250 AXEDA example code.

Link for AxedaGo-WizFi250 Example

axeda-4

Before compiling the example, add the serial number that you got from AXEDA Tool box.

axeda-5

After compiling the code, upload the binary to WIZwiki-W7500 board.

 

<Source Code>

 

<Test Result>

Send data to the demo application

After performing the above code, WIZwiki-W7500 and WizFi250 will transmit the sensing data to AXEDA Tool box. With the sensing data, AXEDA Tool box will create the mbed widget. If you operate the A0 switch on the sensor shield, you can see the changes on the AXEDA mbed widget.

axeda-6

 

<Log message on Serial Terminal>

 

<Demonstration Video>

WIZnet Technology Online Store (www.shopwiznet.com)

In order to purchase the WIZnet Products using in this project, please visit the following links.

 

Wi-Fi Geolocation Watch

This posting explains how you can acquire the position information from Geolocation server and time information from NTP server using WizFi250 & WIZwiki-W7500.

Below is the system diagram.

geolo-1

 

Hardware

You need below hardware parts :

geolo-2

  • WizFi250-EVB :  WizFi250-EVB is the evaluation board for WizFi250 Wi-Fi module. As it is compatible with Arduino, it could be used for Wi-Fi Shield for Arduino boards.

geolo-3

  • Sensor Shield : On this sensor shied, various sensors are mounted. Just by plugging to the WIZwiki-W7500, you can test the all the peripherals of the W7500.

geolo-4

  • SSD1306  OLED : 128 x 64 dot matrix panel

 

Hardware Configuration

WIZwiki-W7500 board controls the WizFi250 using UART0 RX/TX/CTS/RTS pins and SSE1306 OLED using I2C SDA/SCL pins.

geolo-5

geolo-6

Compile the example codes of WizFi250 Geolocation and NTP

You can download the example code from below link.

WizFi250 Gelocation_NTP Example 

The libraries of the example are as below.

<SSD 1306 Library>

To use this SSD1306 OLED, we used the GFX Library provided by Adafruit. We also found some bugs in Display() function and sends the “Pull Request” to modify the code.

<HTTP Client>

HTTP Client library is used for transmitting or receiving the Web server request/Response messages. The example connects to the ‘ip-api.com’ server to acquire the geolocation information. If you try to connect the server with ‘ip-api.com/csv’ address, you can get the information of the country, address, latitude, longitude and Time zone in csv format.

Click below link to download the HTTP Client library.

HTTP Client

 

<NTP Client>

NTP Client library acquires the UTC information from Network Time server by using UDP protocol. The example code will connect to ‘kr.pool.ntp.org’ the Korean NTP server domain.

NTP Client

 

<Example Source Code>

WizFi250-Geolocation_NTP

 

Below is the demonstration.

WIZnet Technology Online Store (www.shopwiznet.com)

In order to purchase WIZnet produts, please visit the following links.

Wi-Fi-based lamp module WizFi250

Project Description

The author made lamp module using WizFi250. The lamp module is composed of Arduino, WizFi250, Relay Board, and Lamp.

People can use simple TCP/UDP Application from smartphone(iOS or Android) to control the lamp module.

The author didn’t make public the source code. However, it would be of help for people who would like to make wireless lamp module using DIY because the author provided details of schematic diagram in hardware and AT Command of WizFi250.

Original link:

WizFi250 Geolocation and NTP Example on WIZwiki-W7500 of mbed platform

System Diagram

I would make a watch that can check my location and time using WizFi250 and WIZwiki-W7500. I used Geolocation Server to get my location and NTP Server to get current time. The following picture is system diagram of this project.

20150626_171106

Materials

For more detailed information about following materials, please refer to the following link; http://www.life4iot.com/2015/06/30/wizfi250-hello-world-demo-on-wizwiki-w7500-of-mbed-platform/?lang=en.

WIZwiki-W7500 (MCU Platform)

wizwiki-w7500_main

WizFi250-EVB (Wi-Fi Module)

ShopDtl_1203_20140918154919

Sensor Shield

TB2wSGHaFXXXXcLXXXXXXXXXXXX_!!33841454

SSD1306 OLED

  • Features
    • Resolution: 128 x 64 dot matrix panel
    • Power supply
      • VDD = 1.65V to 3.3V for IC logic
      • VCC = 7V to 15V for Panel driving
    • For matrix display
      • OLED driving output voltage, 15V maximum
      • Segment maximum source current: 100uA
      • Common maximum sink current: 15mA
      • 256 step contrast brightness current control
    • Embedded 128 x 64 bit SRAM display buffer
    • Pin selectable MCU Interfaces:
      • 8-bit 6800/8080-series parallel interface
      • 3 /4 wire Serial Peripheral Interface
      • I2C Interface
    • Screen saving continuous scrolling function in both horizontal and vertical direction
    • RAM write synchronization signal
    • Programmable Frame Rate and Multiplexing Ratio
    • Row Re-mapping and Column Re-mapping
  • On-Chip Oscillator
  • Chip layout for COG & COF
  • Wide range of operating temperature: -40°C to 85°C

Hardware Configuartion

WIZwiki-W7500 Board uses UART0 RX/TX/CTS/RTS pins to control WizFi250 and I2C SDA/SCL pins to control SSD1306 OLED.

20150626_204959

WizFi250-EVB Sensor Shield WIZwiki-W7500 SSD1306
RX-TX RXD TXD
TX-RX TXD RXD
CTS-RTS CTS D8
RTS-CTS RTS D7
WizFi250-RESET JP10-2 PA12
I2C SCL SCL PA9 SCL
I2C SDA SDA PA10 SDA
VCC VCC VCC
GND GND

Compile WizFi250 Geolocation and NTP Example

You can use Geolocation and NTP Example for WizFi250 on WIZwiki-W7500 by entering the following site; https://developer.mbed.org/teams/WIZnet/code/WizFi250-Geolocation_NTP/.

SSD1306 Library

I used Adafruit GFX Library in order to use SSD1306 Library. I found there is some sort of bug in this Display function while I used this library. So, I modified them and sent the “Pull Request” message to original author.

Modified Adafruit GFX Library

Orignal Adafruit GFX Library

HTTP Client

HTTP Client Library is used for sending any request to the web server and receiving any response from the web server. In this example, we would contact the ip-api.com server to get the Geolocation. If connecting ip-api.com/csv sever, we would get all the information such as country name, address, latitude, longitude, and TimeZone in CSV format.

You would be able to download HTTP Client Library by clicking following link; https://developer.mbed.org/users/donatien/code/HTTPClient/.

NTP Client

NTP Client Library is used to gain UTC(Universal Time Coordinated) information at Network Time Server using UDP communication. In this example, we would use kr.pool.ntp.org as NTP Server Domain of South Korea. In order to get to know the time of South Korea, we should add 9 hours to the information from NTP Server because it is UTC.

NTP Client Library

Example Source Code

WizFi250-Geolocation NTP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#include "mbed.h"
#include "Adafruit_SSD1306.h"
#include "WizFi250Interface.h"
#include "NTPClient.h"
#include "HTTPClient.h"
#define SECURE WizFi250::SEC_AUTO
#define SSID "wizohp"
#define PASS "wiznet218"
#if defined(TARGET_WIZwiki_W7500)
    #define SDA                  PA_10
    #define SCL                  PA_9
    WizFi250Interface wizfi250(D1,D0,D7,D8,PA_12,NC,115200);
    Serial pc(USBTX,USBRX);
#endif
// an SPI sub-class that provides a constructed default
class I2CPreInit : public I2C
{
public:
    I2CPreInit(PinName sda, PinName scl) : I2C(sda, scl)
    {
        frequency(100000);
        start();
    };
};
I2CPreInit gI2C(SDA,SCL);
Adafruit_SSD1306_I2c gOled(gI2C,NC,0x78,64,128);
NTPClient ntpClient;
HTTPClient httpClient;
void parse(char buffer[], int *j, char *string); //FUNCTION TO PARSE HTTP GET DATA
char httpGetData[200]; //BUFFER TO HOLD DATA FROM HTTP GET REQUEST
int main()
{
    time_t ctTime; //system time structure
    char success[10]={0};  //success first
    char countryFull[20]={0}; //Full Country Name
    char countryAbrv[5]={0}; //Abbreviated Country Name or country Code
    char stateAbrv[5]={0}; //Abbreviated State or region code
    char stateFull[15]={0}; //Full State Name
    char city[15]={0}; //City Name
    char zip[6]={0}; //ZIP CODE
    char latitude[10]={0}; //latitude
    char longitude[10]={0}; //longitude
    char timeZone[30]={0}; //timeZone
    int j=0, returnCode;
    pc.baud(115200);
    gOled.begin();
    gOled.clearDisplay();
    wizfi250.init();
    returnCode = wizfi250.connect(SECURE, SSID, PASS);
    if ( returnCode == 0 )
    {
        printf(" - WiFi Ready\r\n");
        printf("IP Address is %s\r\n", wizfi250.getIPAddress());
    }
    else
    {
        printf(" - Could not initialize WiFi - ending\r\n");
        return 0;
    }
    //HANDLES THE HTTP GET REQUEST THE WAY THE FUNCTION IS CALLED HERE IS THE FOLLOWING
    // get(DOMAIN_NAME,BUFFER,TIMEOUT_VAL)
    //DOMAIN_NAME= domain name that get request is sent to
    //BUFFER= buffer to store data returned from the server
    //TIMEOUT_VAL= Time before the request times out
    HTTPResult r = httpClient.get("http://ip-api.com/csv",httpGetData,128); //GET GEOLOCATION DATA (CSV)
    if (r==HTTP_OK) { //IF THE DATA WAS RECIEVED
        j=0;
        //parse and display each of the API's location information strings on the LCD
        parse(httpGetData, &amp;j, success);
        parse(httpGetData,&amp;j,countryFull);
        parse(httpGetData,&amp;j,countryAbrv);
        parse(httpGetData,&amp;j,stateAbrv);
        parse(httpGetData,&amp;j,stateFull);
        parse(httpGetData,&amp;j,city);
        parse(httpGetData,&amp;j,zip);
        parse(httpGetData,&amp;j,latitude);
        parse(httpGetData,&amp;j,longitude);
        parse(httpGetData,&amp;j,timeZone);
        gOled.printf("HTTP Data Received\r\n");
        gOled.display();
    }
    else { //HTTP GET REQUEST ERRORED
        gOled.printf("HTTP Error %d\r\n", r);
        gOled.display();
        return -1;
    }
    printf("Reading Time...\r\n");
    char* domainName="kr.pool.ntp.org"; //SET TO DOMAIN NAME OF SERVER GETTING TIME FROM
    //GETS THE TIME FROM THE SERVER
    //setTime(DOMAIN_NAME,PORT_NUMBER,TIME_OUT)
    //DOMAIN_NAME= domain name
    //PORT NUMBER=port number (123 for NTP)
    //TIME_OUT= timeout value for request
    ntpClient.setTime(domainName,123,0x00005000);
    printf("Time Set\r\n");
    //Delay for human time to read LCD display
    wait(3.0);
    char buffer[80]; //BUFFER TO HOLD FORMATTED TIME DATA
    gOled.printf("%s, %s %s, %s\r\n",city,stateAbrv,zip,countryAbrv); //PRINT CITY STATE AND ZIP INFORMATION AND COUNTRY
    gOled.printf("LAT:%s\r\nLONG:%s\r\n",latitude,longitude); //PRINT LATITUDE AND LONGITUDE
    gOled.printf("Timezone:%s\r\n",timeZone); //PRINT TIMEZONE
    wizfi250.disconnect(); //DISCONNECT FROM THE NETWORK
    while (1) {
        //ctTime = time(NULL)-(3600*4);  //TIME with offset for eastern time US
        ctTime = time(NULL)+(3600*9);  //TIME with offset for eastern time KR
        //FORMAT TIME FOR DISPLAY AND STORE FORMATTED RESULT IN BUFFER
        strftime(buffer,80,"%a %b %d\r\n%T %p %z\r\n %Z\r\n",localtime(&amp;ctTime));
        gOled.printf("Univ Time Clock\r\n%s\r\n", buffer);
        gOled.display();
        gOled.setTextCursor(0,40);
        wait(1);
    }     
}
//SET FOR CSV FORMAT: NEEDS TO BE EDITED IF DIFFERENT FORMAT
void parse(char buffer[], int *j, char *string) {
//extracts next location string data item from buffer
    int i=0;
    for (i=0; i&lt;=strlen(buffer); i++) {  //TOTAL SIZE OF RETURNED DATA
        if ((buffer[*j+i] == ',')||(buffer[*j+i] == '' )) { //IF comma or end of string
            //comma is the string field delimiter
            string[i]=0; //SETS END OF SRTRING TO 0
            *j=*j+i+1; //UPDATES to 1 after comma seperated value
            break;
        } else string[i]=buffer[*j+i]; //Keep adding to the string
    }
}

Demo Video

WizFi250 Axeda Example on WIZwiki-W7500 of mbed platform

Axeda

Axeda Provides the Most Advanced Cloud-Based Service and Software for Managing Connected Products and Machines and Implementing Innovative Machine-to-Machine (M2M) and Internet of Things (IoT) Applications

  • We take the cost and complexity out of connecting and managing devices and machines and remotely servicing the products of the world’s leading companies.
  • We turn raw machine and sensor data into useful information for business insights and better decision making.
  • We make it easy to integrate machine and sensor data to business systems so companies can optimize their business processes with accurate real-time machine data.
  • We provide a platform and application services so companies can develop new innovative M2M and IoT applications that reinvent the customer and product experience and differentiate their product and service offerings.

Go to the staging page on your Axeda Toolbox account

Sign up for a membership at toolbox.axeda.com, then click the “AXEDA READY” icon, and choose the mbed LPC1768 device.

toolbox_landing_page mbedselect

We are using WIZwiki-W7500 board for the following example in this posting. However, we would use ToolBox of LPC1768 since WIZwiki-W7500 is not available at Axeda.

 

 

Enter the Device Name that you want and click “Go” button then, you will see the screen as shown in the picture below.

Remember the Serial Number because we will need it when we perform Axeda Example Code.

yourdevicepage

Materials

For more information about hardwares below, please refer to the following link; http://www.life4iot.com/2015/06/27/wizfi250-hello-world-demo-on-wizwiki-w7500-of-mbed-platform/.

WIZwiki-W7500 (MCU Platform)

wizwiki-w7500_main

WizFi250-EVB (Wi-Fi Module)

ShopDtl_1203_20140918154919

Sensor Shield

TB2wSGHaFXXXXcLXXXXXXXXXXXX_!!33841454

Hardware Configuartion

20150626_151253

WizFi250-EVB Sensor Shield WIZwiki-W7500
RX-TX RXD TXD
TX-RX TXD RXD
CTS-RTS CTS D8
RTS-CTS RTS D7
WizFi250-RESET JP10-2 PA12

Compile AxedaGo-WizFi250 Example onto Wizwiki-W7500 Board

You can use WizFi250 Axeda Example Code at the following link; AxedaGo-WizFi250 Example.

20150626_151744

Add the Serial Number from Axeda Tool box as shown in the picture below before compiling AxedaGo-WizFi250 Example.

line19serial

Upload the created binary on to WIZwiki-W7500 board after compiling code.

Source Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <stdio.h>
#include "mbed.h"
#include "WizFi250Interface.h"
#define SECURE WizFi250::SEC_AUTO
#define SSID "ssid"
#define PASS "key"
#if defined(TARGET_WIZwiki_W7500)
    WizFi250Interface wizfi250(D1,D0,D7,D8,PA_12,NC,115200);
    Serial pc(USBTX,USBRX);
#endif
AnalogIn pot1(A0);
TCPSocketConnection sock;
DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut led4(LED4);
int main()
{
    char *MODEL = "mbed";
    char *SERIAL_NUM = "serial number";
    float DEADBAND = 0.03;
    int http_cmd_sz=800;
    char http_cmd[http_cmd_sz];
    int buffer_sz=300;
    char buffer[buffer_sz];
    int returnCode = 0;
    led1 = 1;
    led2 = 1;
    led3 = 1;
    led4 = 1;
    pc.baud(115200);
    wizfi250.init();
    returnCode = wizfi250.connect(SECURE, SSID, PASS);
    if ( returnCode == 0 )
    {
        printf(" - WiFi Ready\r\n");
        printf("IP Address is %s\r\n", wizfi250.getIPAddress());
        led1 = returnCode;
    }
    else
    {
        printf(" - Could not initialize WiFi - ending\r\n");
        return 0;
    }
    float oil_level = 0.0;
    float oldPotVal = -2.0;
    while(1) {
        oil_level = pot1.read();
        if ( abs(oil_level - oldPotVal) < DEADBAND)
        {
            continue;
        }
        else
        {
            oldPotVal = oil_level;
            printf("Sending Value for well1 %.2f\n\r", oil_level);
            sock.connect("toolbox-connect.axeda.com", 80);
            snprintf(http_cmd, http_cmd_sz,  "POST /ammp/data/1/%s!%s HTTP/1.1\r\nContent-Type: application/json\r\nContent-Length: 65\r\n\r\n{\"data\":[{\"di\":{\"oil_level\":%.2f}}]}\r\n\r\n", MODEL, SERIAL_NUM, oil_level);
            sock.send_all(http_cmd, http_cmd_sz-1);
            while ( (returnCode = sock.receive(buffer, buffer_sz-1)) > 0)
            {
                buffer[returnCode] = '';
                printf("Received %d chars from server:\n\r%s\n", returnCode, buffer);
            }
            sock.close();
        }
     }
}

Test Result

Send data to the demo application

WIZwiki-W7500 would send the sensed data to Axeda Tool box by using WizFi250 if performing the code above.

Axeda Tool box would make a mbed widget with the data.

You can check that the mbed widget of Axeda is changing when you turn the A0 switch of Sensor Shield.

20150626_16013820150626_154710

Log message on Serial Terminal

[WizFi250: INFO]AT+MMAC=?
[WizFi250: INFO][OK]

[WizFi250: INFO]AT+WSET=0,wizohp
[WizFi250: INFO][OK]

[WizFi250: INFO]AT+WSEC=0,,wiznet218
[WizFi250: INFO][OK]

[WizFi250: INFO]AT+WJOIN
[WizFi250: INFO][OK]

[WizFi250: INFO]AT+WSTATUS
[WizFi250: INFO][OK]

[WizFi250: INFO]IP      : 192.168.13.29
[WizFi250: INFO]Gateway : 192.168.13.1
[WizFi250: INFO]WizFi250 is successfully join to AP
 - WiFi Ready
IP Address is 192.168.13.29
Sending Value for well1 0.54
[WizFi250: INFO]AT+FDNS=toolbox-connect.axeda.com,1000
[WizFi250: INFO][OK]

[WizFi250: DBG]216.34.120.52
[WizFi250: INFO]AT+SCON=O,TCN,216.34.120.52,80,,0
[WizFi250: INFO][OK]

[WizFi250: INFO]AT+SSEND=0,,,799
[WizFi250: INFO][OK]

[WizFi250: INFO]POST /ammp/data/1/mbed!nlr__kaizen8501_gmail_com___6245114 HTTP/1.1
Content-Type: application/json
Content-Length: 65

{"data":[{"di":{"oil_level":0.54}}]}



[WizFi250: DBG]receive readable : 1

Received 36 chars from server:
HTTP/1.1 200 
Content-Length: 0

Demo Video