WizFi310_DNS_TCP_HelloWorld edited with a new Interface

Dependencies:   NetworkSocketAPI WizFi310Interface mbed

Prerequisite

This example shows that Wizwiki-W7500 and WizFi310 connect to a DNS server and get a its ip address. And then, It connects to '4.ifcfg.me' that returns an ip addess as TCP client.

To implement this function, you need a Platform board and Wi-Fi board. Below are what we used.

  • WIZwiki-W7500 from WIZnet (Platform board)
  • WizFi310 from WIZnet (Wi-Fi board)

Hardware Configuration

WIZwiki-W7500 Pin map

pin map

  • D0 is for RXD, D1 is for TXD
  • D6 is for CTS, D7 is for RTS
  • D9 is for RESET

WizFi310 Pin map

pin map

  • J1 is for RXD, J3 is for TXD
  • SW6-1 is connected to D6 for RTS, SW6-2 is connected to D7 for CTS
  • SW5-3 is connected to D9 for RESET

Connect to Wi-Fi

wifi.connect(AP_SSID, AP_PASSWORD, AP_SECURITY);

Get information

const char *ip = wifi.get_ip_address();
const char *mac = wifi.get_mac_address();

Access to a 'mbed.org' website and get its ip addess

SocketAddress addr(&wifi, "mbed.org", 80);
printf("mbed.org resolved to: %s\r\n", addr.get_ip_address());

Access to a '4.ifcfg.me' as a TCP client and get its ip addess

TCPSocket socket(&wifi);
socket.connect("4.ifcfg.me", 23);
 
char buffer[64];
int count = socket.recv(buffer, sizeof buffer);
printf("public IP address is: %.15s\r\n", &buffer[15]);

Files at this revision

API Documentation at this revision

Comitter:
jehoon
Date:
Mon Nov 14 23:28:49 2016 +0000
Child:
1:7582323a5665
Commit message:
WizFi310 HelloWorld. This is a TCP Client Example.

Changed in this revision

NetworkSocketAPI.lib Show annotated file Show diff for this revision Revisions of this file
WizFi310Interface.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/NetworkSocketAPI.lib	Mon Nov 14 23:28:49 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/teams/NetworkSocketAPI/code/NetworkSocketAPI/#ea3a618e0818
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WizFi310Interface.lib	Mon Nov 14 23:28:49 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/jehoon/code/WizFi310Interface/#df571f8f8c03
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Nov 14 23:28:49 2016 +0000
@@ -0,0 +1,59 @@
+/* NetworkSocketAPI Example Program
+ * Copyright (c) 2015 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#include "mbed.h"
+#include "TCPSocket.h"
+#include "mbed.h"
+#include "WizFi310Interface.h"
+#include "TCPSocket.h"
+
+#if defined(TARGET_NUCLEO_F411RE)
+Serial pc(USBTX,USBRX);
+WizFi310Interface wifi(PA_11, PA_12, D6, D7, D3, NC, 115200);
+#endif
+
+#define AP_SSID "<AP SSID>"
+#define AP_PASSWORD "<AP Password>"
+#define AP_SECURITY NSAPI_SECURITY_WPA2
+
+int main()
+{
+    pc.baud(115200);
+    printf("WizFi310 NetworkSocketAPI TCP Client Example\r\n");
+    
+    wifi.connect(AP_SSID, AP_PASSWORD, AP_SECURITY);
+    
+    const char *ip = wifi.get_ip_address();
+    const char *mac = wifi.get_mac_address();
+    printf("IP address is: %s\r\n", ip ? ip : "No IP");
+    printf("MAC address is: %s\r\n", mac ? mac : "No MAC");
+
+    SocketAddress addr(&wifi, "mbed.org", 80);
+    printf("mbed.org resolved to: %s\r\n", addr.get_ip_address());
+    
+    TCPSocket socket(&wifi);
+    socket.connect("4.ifcfg.me", 23);
+ 
+    char buffer[64];
+    int count = socket.recv(buffer, sizeof buffer);
+    printf("public IP address is: %.15s\r\n", &buffer[15]);
+    
+    socket.close();
+    wifi.disconnect();
+    
+    printf("Done\r\n");
+
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Nov 14 23:28:49 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/c0f6e94411f5
\ No newline at end of file