DNS, DHCPClient, Http Client, TCP Client, GET

Dependencies:   WIZnetInterface mbed

Files at this revision

API Documentation at this revision

Comitter:
embeddist
Date:
Mon Jul 06 05:14:41 2015 +0000
Commit message:
DNS Web Client

Changed in this revision

WIZnetInterface.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/WIZnetInterface.lib	Mon Jul 06 05:14:41 2015 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/teams/WIZnet/code/WIZnetInterface/#d8773cd4edc5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Jul 06 05:14:41 2015 +0000
@@ -0,0 +1,82 @@
+#include "mbed.h"
+#include "EthernetInterface.h"
+
+#define ECHO_SERVER_PORT   80 // HTTP defaults to port 80
+char serverName[] = "openweathermap.org";    
+#define BUFFER_SIZE 2048
+
+DigitalOut myled(LED1);
+
+// Initialize the Ethernet client library
+EthernetInterface eth;
+
+int main() {
+    char http_cmd[]= "GET / HTTP/1.0\r\n\r\n";    
+    char buffer[BUFFER_SIZE];  
+  
+    // Enter a MAC address for your controller below.
+    uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x1D, 0x62, 0x11}; 
+    
+    // initializing MAC address
+    eth.init(mac_addr);
+
+    // Check Ethenret Link
+    if(eth.link() == true)
+        printf("- Ethernet PHY Link-Done \r\n");
+    else
+        printf("- Ethernet PHY Link- Fail\r\n");
+
+    // Start Ethernet connecting: Trying to get an IP address using DHCP
+    if ( eth.connect() < 0 ){
+        printf("Fail - Ethernet Connecing");
+    }else{
+        // Print your local IP address:
+        printf("IP=%s\n\r",eth.getIPAddress());
+        printf("MASK=%s\n\r",eth.getNetworkMask());
+        printf("GW=%s\n\r",eth.getGateway());
+    }
+            
+    // Initialize the TCPSocketConnection
+    // with the IP address and port of the server 
+    // that you want to connect to (port 80 is default for HTTP):
+    TCPSocketConnection sock;
+    if(sock.connect(serverName, ECHO_SERVER_PORT)<0){
+       //you didn't get a connection to the server:
+        printf("- connection failed\r\n");
+    }else{
+        printf("- connected\r\n");
+        wait(3);
+        while( sock.is_connected()==false)
+        {
+            printf(".");
+        }
+        // Make & Send a HTTP request:
+        sock.send_all(http_cmd, sizeof(http_cmd));        
+    }
+    
+    while(true) {     
+       
+        int n = sock.receive_all(buffer, BUFFER_SIZE);
+        if(n<0) 
+        {
+            break;
+        }
+        else
+        {
+            for(int i=0; i<n; i++)  printf("%c",buffer[i]);
+        }        
+        
+        if(sock.is_connected()==false){
+            sock.close();
+            while(true)
+            {
+                //led blinky
+                myled = 1;
+                wait(0.2);
+                myled = 0;
+                wait(0.2);            
+            }        
+        }
+    }
+    sock.close();
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Jul 06 05:14:41 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/7cff1c4259d7
\ No newline at end of file