WizFi310 DNS TCP Helloworld library 2.0 version

Dependencies:   WizFi310Interface_Legacy 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

wizfi310.connect(SECURE, SSID, PASS);

Get information

const char *ip = wizfi310.getIPAddress();
const char *mac = wizfi310.getMACAddress();

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

Endpoint addr;
addr.set_address("mbed.org", 80);
printf("mbed.org resolved to: %s\r\n", addr.get_address());

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

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

Files at this revision

API Documentation at this revision

Comitter:
stkim92
Date:
Thu Apr 20 00:33:05 2017 +0000
Commit message:
WizFi310 DNS TCP Helloworld library 2.0 version

Changed in this revision

WizFi310Interface_Legacy.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
diff -r 000000000000 -r 5a020a26f32e WizFi310Interface_Legacy.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WizFi310Interface_Legacy.lib	Thu Apr 20 00:33:05 2017 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/teams/WIZnet/code/WizFi310Interface_Legacy/#774ff1e8b26b
diff -r 000000000000 -r 5a020a26f32e main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Apr 20 00:33:05 2017 +0000
@@ -0,0 +1,63 @@
+/* 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 "WizFi310Interface.h"
+
+
+#if defined(TARGET_NUCLEO_F411RE)
+Serial pc(USBTX, USBRX);
+WizFi310Internet wifi(PA_11, PA_12, D6, D7, D3, NC, 115200);
+#endif
+
+#if defined(TARGET_WIZwiki_W7500)
+Serial pc(USBTX, USBRX);
+WizFi310Interface wizfi310(D1, D0, D7, D6, D8, NC, 115200);
+#endif
+
+#define SECURE WizFi310::SEC_AUTO
+#define SSID "wizms1"
+#define PASS "maker0701"
+
+int main()
+{
+    pc.baud(115200);
+    printf("WizFi310 NetworkSocketAPI TCP Client Example\r\n");
+    wizfi310.init();
+    wizfi310.connect(SECURE, SSID, PASS);
+    
+    const char *ip = wizfi310.getIPAddress();
+    const char *mac = wizfi310.getMACAddress();
+    printf("IP address is: %s\r\n", ip ? ip : "No IP");
+    printf("MAC address is: %s\r\n", mac ? mac : "No MAC");
+
+    Endpoint addr;
+    addr.set_address("mbed.org", 80);
+    printf("mbed.org resolved to: %s\r\n", addr.get_address());
+    
+    TCPSocketConnection socket;
+    socket.connect("4.ifcfg.me", 23);
+ 
+    char buffer[64];
+    int count = socket.receive(buffer, sizeof(buffer));
+    printf("public IP address is: %.15s\r\n", &buffer[15]);
+    
+    socket.close();
+    wizfi310.disconnect();
+    
+    printf("Done\r\n");
+
+}
\ No newline at end of file
diff -r 000000000000 -r 5a020a26f32e mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Apr 20 00:33:05 2017 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/users/mbed_official/code/mbed/builds/97feb9bacc10
\ No newline at end of file